English | 简体中文
「YourWeather」是一个跨平台的天气应用,可以使用网页、Windows应用、Android应用、iOS应用运行。
也可以将它作为一个学习Blazor和MAUI Blazor的demo(当然由于水平有限,可能写的不是很标准)。
- 一个纯前端的项目
- 使用了C#、HTML、CSS、JS
- 该项目使用Blazor构建,Blazor WebAssembly和MAUI Blazor共享Razor类库 。Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架。
- Web端(Blazor WebAssembly)使用了Blazored.LocalStorage把数据存储在localStorage,其他平台(MAUI Blazor)以Json文件形式存储在AppData
- 左右滑动使用了Swiper
- 下拉刷新使用了PulltoRefresh.js
- 快捷键使用了Toolbelt.Blazor.HotKeys
- Web
- Windows
- Android
iOS/Mac(由于没有苹果设备可以测试,能否运行未知)
- 安卓系统栏颜色无法随主题变化(MAUI中暂时未集成相应的api)
- 日志功能未实现(水平不足)
- 多语言功能未实现(MAUI中实现较困难)
- iOS未支持(没有iOS设备可以测试)
- 整体结构上有些混乱
- 城市搜索只有中国的城市
- 天气源的key在程序中无法自由更改(未来会完善)
- YourWeather.IService 服务接口,由客户端服务实现
- YourWeather.Service 共用的服务
- YourWeather.BlazorWasm Blazor Webassembly客户端
- Extend 扩展方法
- Service 服务
- YourWeather.MAUIBlazor MAUI客户端
- Extend 扩展方法
- Platforms MAUI各平台的配置及启动
- Resources 资源
- Service 服务
- YourWeather.Model 模型
- Enum 枚举
- Extend 扩展方法
- Item 选项相关
- Location 位置相关
- Result 返回值封装
- Weather 天气相关
- WeatherResult 转换天气api返回的json
- WeatherSource 天气源相关
- YourWeather.Razor UI界面
- Extend 扩展方法
- Pages 页面
- Shared 组件
