【原】部落格園第三方用戶端-i部落格園App開源,-iapp

來源:互聯網
上載者:User

【原】部落格園第三方用戶端-i部落格園App開源,-iapp
【原】部落格園第三方用戶端-i部落格園App開源

本文轉載請註明出處 —— polobymulberry-部落格園

1.前言

目前i部落格園App已經更新到2.0.0版本了,使用了最新的部落格園Web API。相比於第一個版本,添加了很多新的功能,也修改了很多功能。整體來說改動比較大,代碼也比較混亂。所以趁著清明假期,把代碼好好整理了一番。目前基本的架構已成型(當然,後期還需要不斷最佳化),但App準系統方面還有很多需要添加的,後面會集中把App功能完善。

上面簡單介紹了下目前App的情況,回到開源的話題來。開源這個App源碼其實是我從一開始就有的願景,不過當初代碼很混亂,所以一直拖啊拖,中間也有很多實驗室的事情,不過我一直也沒放棄過要開源的這個想法。開源對我來說利大於弊的:

2.新版本i部落格園App效果

之前版本的i部落格園請移步《部落格園第三方用戶端-i部落格園正式發布App Store》。因為換了新的Web API,所以增加了很多新功能,比如文庫、登入等等。

部落格 新聞 文庫
我-登入 我-非登入  
 
3. i部落格園代碼結構簡介3.1 代碼整體結構

首頁精選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. 感謝

感謝部落格園的管理員的協助和指導。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.