【完全开源】知乎日报UWP版(上篇):界面设计、官方API分析

时间:2021-04-12 15:44:01

目录

说明

在做博客园UWP版的时候其实就有做知乎日报的打算了,前段时间一直出差,在酒店里用Fiddler简单的分析了一下Android官方版本使用到的API,刚开始以为很复杂,后来发现其实很简单。windows商店里知乎日报的应用有好几个,但是网上基本没有什么开源的,这篇文章将介绍一下知乎日报用到的API(Android版)以及目前已经完成的部分界面(为了测试效果,我还特意买了一部lumia 535,399元还送一部移动电源,当天就升级到了Windows 10 Mobile)。等所有的功能都做完了之后我再将源码传上来。

注:后来上网查了一下,发现其实早有人分析了知乎日报的API。

使用Fiddler分析Android版API

首先要准备的工具:

  • android手机+知乎日报APP;
  • Fiddler(大名鼎鼎Telerik出的,Telerik);
  • 局域网。

原理很简单,打开Fiddler,将它设置成为一个代理,然后将同一局域网中的Android手机代理设置为Fiddler所在的电脑。

【完全开源】知乎日报UWP版(上篇):界面设计、官方API分析

之后Android手机所有的HTTP请求都会先经过代理(Fiddler所在的电脑),Fiddler当然也能捕获到请求的各种数据。(注意如果捕获的回话过多,请通过Fiddler右侧的Filter进行过滤)。

如果对Fiddler不熟悉的童鞋可以看这里:http://kb.cnblogs.com/page/130367/

之后,打开Android手机中的知乎日报APP,你就会看到所有的HTTP请求:

【完全开源】知乎日报UWP版(上篇):界面设计、官方API分析

如上图,注意一定要使用filter进行过滤(图中右侧)。可以看到,知乎日报APP中各种操作都能看到对应的API,大概有以下:

  • Android APP版本更新检查;
  • APP启动图片
  • 日报主题列表抓取
  • 首页最近文章
  • 首页分页文章(按天)
  • 主题页面文章
  • 主题页面分页文章
  • 文章正文
  • 文章额外信息(评论数、点赞数等等)
  • 获取短评论
  • 分页获取短评论
  • 获取长评论
  • 分页获取长评论

(有关登录的API本人没有分析)

每个API都是通过Get方式请求的,返回的大部分都是Json格式的数据(有一部分是HTML)。下图是我整理出来的一些API:

【完全开源】知乎日报UWP版(上篇):界面设计、官方API分析

等源码传上来之后,大家可以下下去看看。每个API返回的格式如下(以抓取主题日报列表为例):

【完全开源】知乎日报UWP版(上篇):界面设计、官方API分析

返回的JSON数据很好处理,使用Windows.Data.Json命名空间的类型就可以全部解决。这是获取API部分的准备。

以上。

部分效果图

功能还没有做完,先看几张图:

【完全开源】知乎日报UWP版(上篇):界面设计、官方API分析

【完全开源】知乎日报UWP版(上篇):界面设计、官方API分析

【完全开源】知乎日报UWP版(上篇):界面设计、官方API分析

【完全开源】知乎日报UWP版(上篇):界面设计、官方API分析

关于源码

等做完之后上传全部源码(这次项目结构稍微设计了一下:))。

12年的时候我买了一部Lumia 800(WP7的系统),发现系统很差劲,后来没怎么用了,花了我3000块。之后Wp8/8.1一直没怎么关注,现在用了一段时间的Win 10 Mobile,发现进步相当大,应用商店里的一些大厂开发的APP体验也很好吧,要是开发者给点力,还是可以做出好的APP的。就我目前个人认为,认真做出来的APP还是可以让一些本已适应了Android、IOS的人接受的,昨晚把我做的半成品给我媳妇用,她也没感觉出来跟IOS哪里差了。

开源有益,多谢点赞。