【原】博客园第三方客户端

  • 时间:
  • 浏览:5
  • 来源:大发uu快3_uu快3开奖历史_大发uu快3开奖历史

本文转载请注明出处 —— polobymulberry-博客园


1.前言


目前i博客园App原困 更新到2.0.0版本了,使用了最新的博客园Web API。相比于第有另三个白版本,加进去去了好多好多 新的功能,也修改了好多好多 功能。整体来说改动比较大,代码也比较混乱。好多好多 趁着清明假期,把代码好好分派了一番。目前基本的架构已成型(当然,后期还须要不断优化),但App基本功能方面还有好多好多 须要加进去去的,底下会集中把App功能完善。

底下简单介绍了下目前App的情况报告,回到开源搞笑的话题来。开源你类式App源码实在是我从一开始英文英文都有的愿景,不过当初代码很混乱,好多好多 一个劲拖啊拖,底下都有好多好多 实验室的事情,不过我一个劲也没放弃过要开源的你类式想法。开源对我来说利大于弊的:

  1. 实在我都有哪几种大牛,开源的代码也都有哪几种牛逼的项目。可是我实在成为大牛一个劲有过程的,若果我写博客原困 开源代码都都能不能记录下哪几种过程。好多好多 牛人,比如说郭曜源大神(YYKit),等项目早熟的句子的句子图片 期期期图片 图片 期图片 期期了再同時 发布出来。可是我观念不一样,我实在开源代码也是有另三个白产品,原困 从做产品的思维来说,有点儿要的许多可是我迭代开发,当我完成产品的基本功能后,让我想要去上线,和用户交流,再继续迭代开发下一版本的产品。目前我实在我的代码整体架构差不多了,好多好多 我实在都都能不能装在 GitHub上了。
  2. 开源代码的目的主要还是为了想更多的人参与进来,本质也是为了督促大家学习。目前App功能还不完善,大家的力量都有限,希望能有更多的人加入进来,众人拾柴火焰高。
  3. 另外将大家的代码暴露出来,让大家批评指正,也是增强大家技术的有效途径。原困 有幸能得到大神指点,那就一日千里了,哈哈(做梦吧你)!实在我实在大家以前一个劲蒙头做大家的事,不和外界交流,曾经不好,容易成为井底之蛙。
  4. 最后有另三个白也是比较重要的——满足我的虚荣心(大家不多吝啬,多给我点小星星。哈哈,我可是我都都能不能了不多脸!不多脸!要脸!脸!)

2.新版本i博客园App效果


以前版本的i博客园请移步《博客园第三方客户端-i博客园正式发布App Store》。原困 换了新的Web API,好多好多 增加了好多好多 新功能,比如文库、登录等等。

3. i博客园代码形状简介


3.1 代码整体形状

整体代码是按功能模块来划分的,而每个功能模块是按MVC来的(下面会介绍)。这里我一共分为7个模块:1.博客(Blog)  2.新闻(News) 3.文库(知识库Library) 4.闪存(暂时未实现,Flash) 5当当当我们 (Me) 6.引导页(Guide) 7.主要(Main)

3.2 各模块介绍

3.2.1 博客

博客的内容主要包括两每项,有另三个白是首页,曾经精选

首页每项使用的是简单的tableView,每个cell的类型可是我装在 BlogHomeTableViewCell目录下的ICBlogHomeTableViewCell。其中动态计算cell深度图是使用了UITableView+FDTemplateLayoutCell你类式库。精选每项使用了自定义collectionViewLayout,叫青 ICBlogPickedCollectionViewLayout。另外,这有另三个白每项装在 了有另三个白scrollView(ICBlogScrollView)中。

至于每个Blog的内容呈现,我使用的是KINWebBrowser库,而非使用从服务器端获取的JSON数据来解析,原困 JSON解析的效果很差,还不如直接用Web浏览器显示好看。使用KINWebBrowser时,你只需双击页面,即可放大到最佳阅读模式,使用UIWebView无法做到你类式点。

3.2.2 新闻

新闻的内容主要包括有另三个白每项:最新(ICNewsNewestTableView)、推荐(ICNewsRecommendTableView)、热门(ICNewsHotTableView)。

三者都使用了tableView,装在 有另三个白scrollView(ICNewsScrollView)中。每个tableViewCell都有ICNewsTableViewCell类型。大家比较喜欢简洁风格。

不过新闻的内容显示,我是大家解析JSON数据进行排版的。自定义了有另三个白ContentHTMLTemplateWithArgs的宏函数来构建HTML数据。

3.2.3 文库

基本同新闻,不过tableViewCell使用的是ICLibraryTableViewCell。

3.2.4 闪存(暂时未实现)

你类式块底下会重点做一下,原困 这是用户交流比较重度的一每项。

3.2.5当当当我们

你类式块做的比较久,UI相对来说比较繁复,另外也涉及到OAuth的知识。OAuth每项推荐dudu的OAuth系列博客。

Me你类式块实在是由有另三个白两每项组成,有另三个白是登录每项,有另三个白是大家中心每项

**登录每项**

1.获取用户名和密码

2.将用户名和密码使用openssl进行rsa加密

3.再利用grant_type为password的OAuth认证土办法来登录。

**大家中心**

我的博客和我的收藏都很简单,可是我简单的tableView,连cell都没自定义。

设置每项功能就比较杂:

①清除缓存使用的是SDWebImage,异步清除,代码如下:

ICLog(@"size count : %ld",[[SDImageCache sharedImageCache] getSize]);
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    [[SDImageCache sharedImageCache] clearDiskOnCompletion:^{
        ICLog(@"清除成功");
        ICLog(@"size count : %ld",[[SDImageCache sharedImageCache] getSize]);
        cell.textLabel.text = [self getCacheSize];
    }];
});

②关于每项是使用了CNPPopupController,未必你类式简单的功能也使用第三方库,原困 我还没想好为什么我么我做你类式弹窗后背景模糊的效果,底下会更加进去大家的库。

③评价就很简单了,不赘述了。

④退出账号实在可是我删除了本地存储的账号信息文件。

3.2.6 引导页

请参考我以前的博客《博客园第三方客户端-i博客园正式发布App Store》,此处就不赘述了。

3.2.7 主要(Main)

这每项内容好多好多 ,好多好多 我分开来说,至于这里Helper和Tool有哪几种区别,大家请无视,大家经验尚浅,还回答不了。

3.2.7.1 Vender

存放的是openssl的rsa加密的算法。具体都都能不能参见博客《RSA加密》。

3.2.7.2 Category

你类式存放的东西就比较多了。我一个劲很认同田伟宇的搞笑的话,category是典型的化继承为组合的土办法。可是我这里我尽量不多把强业务装在 category中,我实在category应该放许多弱业务的东西。

3.2.7.3 Helper

将dataSource从ViewController中分离,做到light View Controller。参考文章《更轻量的 View Controllers》。

3.2.7.4 Tool

**ICControllerTool**

主可是我防止第一次安装,原困 更新App后,应该先启动引导界面的大大问题。

**ICNetworkTool**

在AFNetworking底下分装了一层,不过此处我实在设计的都有很好。暂时先曾经,底下尝试下离散型API调用。

**ICOAuthTool/ICClientCredentialsOAuthTool**

原困 网络请求的以都会用到各种access_token,比如grant_type为client credentials和grant_type为password/refresh_token的access token就不一样。

可是我定义了这有另三个白Tool来管理相对的请求。对应的Model可是我ICOAuth和ICClientCredentialsOAuth。

3.2.7.5 Controller

**ICLeftMenuViewController/ICLeftSideMenu**

原困 使用了RESideMenu,好多好多 ICLeftSideMenu实在可是我RESideMenu的子类,而ICLeftMenuViewController实在可是我RESideMenu的LeftMenuViewController。

3.2.7.6 Other

放AppDelegate和main。

3.2.7.7 View

ICLeftMenuHeaderView实在可是我ICLeftSideMenu上的你类式:

4.开源的相关事项


4.1 开源地址

GitHub:https://github.com/polobymulberry/iCnblogs

4.2 开源后的工作

  • 闪存每项
  • 目前许多每项都都能不能了查看,还都都能不能了评论,删除
  • 搜索每项
  • 分享功能
  • refresh token不起作用
  • 还有好多好多 ,想到了让我加到GitHub页面上……

4.3 开源注意事项

原困 许多地方涉及到隐私,好多好多 我会将代码进行脱敏(ClientID和ClientSecret)。大家下载以前不一定能直接运行。原困 你感兴趣搞笑的话,都都能不能去博客园申请有另三个白ClientID和ClientSecret。

5. 感谢


感谢博客园的管理员的帮助和指导。

猜你喜欢

法国创建G7加密货币特别工作组 以研究监管Facebook Libra等加密项目

今日块讯(ChinaZ.com)6月24日消息:据外媒报道,在Facebook发布Libra加密货币项目后的几天,法国央行行长表态创建G7加密货币特别工作组,以探讨各国央行怎样

2020-01-24

一场文创展,让越南掀起了“南京热”

核心提示:金绿色的真丝面料上,15只五彩缤纷的蝴蝶簇拥着大观园日常生活场景和各色人物,勾勒出亦真亦幻的亲们族盛世景象。在越南首都河内举办的中国南京文创展上,这条名为“红楼梦蝶”

2020-01-24

深度内幕丨揭秘App推广之积分墙最新反作弊

本文作者:爱盈利溪姐,ASO-ASM专栏作者。 “全新太极up+,极码,横空出世!XX收徒有奖励了,太极牛逼,半小时之内稳到账”,刷子群最常见的对话,刷的就说 积分墙,

2020-01-24

英特尔开始对Ice Lake CPU认证,10nm低压处理器第四季度上市

IT之家4月26日消息在第一季度的财报电话会议上,英特尔提供了有关其10纳米工艺技术的最新信息,该公司首批10纳米CPU将大规模生产并广泛应用,新处理器的认证已于本季度以后始于

2020-01-24

中国电信已实现多省多地跨域联通5G规模试验网

在今日举行的“中国电信5G创新战略相互合作大会”上,C114获悉,中国电信在北京等八城市开展了5GSA+NSA混合组网的扩大试点,目前已实现多省多地跨域联通(大湾区大陆城市、成

2020-01-24