【UWP】Gank 干货集中营 客户端

简介

一个偶然的机会,在网上看到了 《「代码家」的学习过程和学习经验分享》,知道了代码家做的Gank网站。

干货集中营
每日分享妹子图 和 技术干货,还有供大家中午休息的休闲视频

在看过一段时间分享的内容后,今年春节的时候就做了个Gank.io的UWP客户端。

开源地址和下载地址:

欢迎大家下载,系统兼容到10586版本,即2015年11月发布的Windows10。

软件功能和截图可以在GitHub上看到,有问题欢迎大家提issue。🙂

代码

本篇简单介绍代码结构,之后有时间再写一下开发中遇到的问题。

代码总共包含三个项目:

项目名称 描述
GankIO UI项目
GankIO.BackgroundTask 更新磁贴和通知
GankIO.Common 公共,Models和工具类

GankIO 项目

UI项目,因为之前没有想加磁贴和通知的功能,所以名称没有后缀。加了磁贴和通知功能后,公共部分只能抽离出来,就多了两个项目。

整个项目使用MVVM架构,所以包含了Views文件夹和ViewModels文件夹。而Models放到了公共项目(GankIO.Common)。

Resources文件夹都是些界面的资源字典(ResourceDictionary)。

路径 描述
/Resources/CategoryTemplate.xaml 列表中每条干货模板,根据类型不同使用不同模板
/Resources/Converters.xaml 值转换器
/Resources/Custom.xaml Template10的自定义样式
/Resources/Styles.xaml 自定义样式

Views:

路径 描述
/UserControls/CategoryUserControl.xaml 干货ItemTemplate
/UserControls/FuliUserControl.xaml 福利ItemTemplate
/UserControls/WebUserControl.xaml 为WebView添加了部分操作
/Views/CategorysPage.xaml 全部干货页
/Views/MainPage.xaml 主页,每日视图
/Views/Message.xaml 提示消息的显示
/Views/PhotosPage.xaml 福利页
/Views/PostGankDialog.xaml 提交干货
/Views/SettingsPage.xaml 设置页
/Views/Shell.xaml 汉堡菜单
/Views/Splash.xaml 启动动画
/Views/WebViewPage.xaml 浏览器页面

除些之外,因为项目并不大,很多内容都放在了App.xaml.cs启动文件中。主要包括:

  • 全局异常处理
  • 后台任务注册
  • 小娜功能注册

GankIO.Common

这个项目主要是一些工具类和模型。模型(Models文件夹)都是通过API返回的JSON直接生成的,所以有点乱,如果要了解模型结构,可直接查看 http://gank.io/api 的返回结构就行了。

路径 描述
Services/GankService.cs Gank.io API操作类
Services/SettingsService.cs 设置操作类
Utils/ExceptionHandlingSynchronizationContext.cs 同步上下文异常处理工具类
Utils/Exts.cs 扩展方法
Utils/TileAndToast.cs 通知和磁贴
Utils/Utils.cs 工具类

结语

项目使用 Template10UWPCommunityToolkit 这两个框架。

这两个框架可以说把UWP开发所需的而自身又没有的类或控件都实现了,虽然有些功能还不全,但因为都是开源的,都可以自己修改。

总体来说UWP的开发体验还是很好的,最后希望大家多多开发UWP应用了。


本文发表于博客园。 转载请注明源链接:http://www.cnblogs.com/hjklin/p/gank-uwp.html

posted @ 2017-03-06 13:17  忽见客来  阅读(1036)  评论(0编辑  收藏  举报