大发快3_快3app苹果_大发快3app苹果 - 大发快3,快3app苹果,大发快3app苹果是一个基于本地城市资讯管理的应用,里面汇集了所在城市最热门的民生资讯和便民服务功能,想知道你的家乡发生了什么,打开大发快3,快3app苹果,大发快3app苹果尽在掌握!

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

  • 时间:
  • 浏览:1

本文转载请注明出处 —— 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. 感谢


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