基於Corova的博客園APP

来源:http://www.cnblogs.com/FourLeafCloverZc/archive/2016/12/07/6143139.html
-Advertisement-
Play Games

背景: 自從今年下半年接觸一個基於ReactJS 的手機APP項目。開始瞭解到了Corodva這個神奇的東西。後續自己也自作了一些小的APP放到了應用寶上。8月份開始想做一個博客園APP。於是就私聊博客園團隊申請了博客園API訪問許可權(當然其實應用寶裡面也有博客園APP了。而且用fiddler抓取了 ...


       背景: 自從今年下半年接觸一個基於ReactJS 的手機APP項目。開始瞭解到了Corodva這個神奇的東西。後續自己也自作了一些小的APP放到了應用寶上。8月份開始想做一個博客園APP。於是就私聊博客園團隊申請了博客園API訪問許可權(當然其實應用寶裡面也有博客園APP了。而且用fiddler抓取了一下。發現API還很完善。說實話比博客園團隊提供的API完善多了。我想應該是開發者用爬蟲軟體爬的頁面然後自己解析的吧。)

       第一步: 申請API:

        私聊博客園,獲取了OAuth的ClientId和ClientSerect。

           

        第二步: 調用API:

         以前沒用過OAuth2.0,然後惡補了一下OAuth2.0的知識。這裡就不介紹具體概覽了。就來看看怎麼去掉用API。我選擇的工具是Postman(自我感覺一款不錯的Chrome擴展),當然需要FQ了。

        下麵測試新聞的鏈接. Type選擇OAuth2.0

        

         博客園的OAuth2.0的Token地址是https://api.cnblogs.com/token 地址. 獲取後會返回token和expiretime,然後點擊UserToken就可以訪問了.

          

         

          第三步: 技術選擇

               本次項目只是作為個人業餘練習,想學習一下Angular2, 再加上Ionic是一款不錯的框架。而且也出來了Ionic2的beta版本。(Ionic因該是迄今為止與Angular合作最好的H5 APP框架了吧,個人認為)。所以果斷選擇Ionic2來開發。Ionic2的風格我也很喜歡。

          第四步: 開發階段

               開發都是用的這個月的業餘時間,雖然API很早就申請了。前面公司有其他項目一直沒時間做。剛好本月有空就在上班業餘時間完成了這個小APP第一版。

               此處省略一大波不好的代碼(因為前期的對Angular2的不熟,代碼結構很亂.)

          第五: 產品展示:

                功能點: 1. 支持新聞和博客的查詢。支持分享,評論。點擊頭像進入博主空間查看博客文章

                                  

              第六: 遇到的坑

                      1. Ionic2不熟悉,Angular2不熟悉, 需要花時間去看API

                      2. 以前在美國某蛋電商成都分公司上班主要做.net後端系統做得多。雖然現在在某海淘小公司從事前端。JS功底還是比較自信(因為感覺跟C#沒啥區別,尤其是現在的typescript)。可是對於一個不愛畫畫的男IT。連PS都不會的, CSS 功底太差(因為現在的公司有專門寫HTML和css的UI妹紙)。有的地方還是要用到css比如列表的tab是自己寫的。雖然只需要10多行css不過自己還是花了很多時間 。包括Logo還是擺脫UI妹紙花幾分鐘弄點(可是我自己估計要弄很久)

                      3. 對OAuth不熟悉,去瞭解OAuth還是花了一些時間。

                      4.本地開發瀏覽器localhost服務跨越調試很不方便。對於博客園的非登錄API 瀏覽器localhost設置代理是可以解決跨越問題的。可是有關登錄。比如評論功能就卡了很長一段時間。在調用了登錄API後。返回了True,Response的header裡面也返回回來的登錄後的cookie. 可是在調用評論介面的時候header裡面的cookie就丟失了,然後博客園服務端就返回提示信息(用戶未登錄)。不過在打包成APP在手機裡面後是正常的。個人認為是因為登錄和評論API不是一個基地址。而在localhost訪問的時候我給瀏覽器設置了兩個代理。

 

             第七:總結

       用一個月的零碎時間搞了這麼一個小玩意。代碼我自己都在吐槽,確實有很多問題。後面有空會考慮再做一個CNode的客戶端。看了CNode提供的API,相對要比博客園更合理。到時候會好好設計一下項目結構。再做代碼分享吧。

                       https://github.com/FourLeafClover/CNBlogApp

                       由於版權問題,應用寶上架提示我侵權。雖然我已經把申請博客園的聊天記錄發給了客服還是不行。所以博客打包後的APP 我會放到github上。家裡的台式沒有開發環境。等明天到了公司在把APP放到github上。(不多說了。看會兒電視就洗洗睡睡了。)

                       這裡在推薦一個給予RN(React native)的博客園APP,確實不錯。UI和流暢度都很好。忘記是哪位博友做的。只是無意間在一個博客評論裡面看見是一個博友做的。        

                        http://sj.qq.com/myapp/detail.htm?apkName=com.google.android.apps.blogger

 

         


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 常見的位元組序(Endianness)主要有大端(big-endian)和小端(little-endian)兩種。big-endian **大**在高位元組(most significant byte)放在記憶體的低地址,little-endian **小**在低位元組(least significant ... ...
  • 隨著**CPU速度**的不斷提高和**軟體規模**的不斷擴大,人們當然希望存儲器能同時滿足**速度快、容量大、價格低**的要求。但實際上這一點很難辦到,解決這一問題的較好方法是設計一個**快慢搭配**、具有層次結構的存儲系統。 ...
  • 摘要: 介紹各平臺下的圖形化界面git客戶端(本人並沒有全部使用過),歡迎大家補充新的軟體或者使用感受~ 一、TortoiseGit - The coolest Interface to Git Version Control TortoiseGit 是 TortoiseSVN 的 Git 版本,T ...
  • 1、nginx相對於apache的優點: 輕量級,同樣起web 服務,比apache 占用更少的記憶體及資源 抗併發,nginx 處理請求是非同步非阻塞的,而apache 則是阻塞型的,在高併發下nginx 能保持低資源低消耗高性能 高度模塊化的設計,編寫模塊相對簡單 社區活躍,各種高性能模塊出品迅速啊 ...
  • 最近因公司項目原因,去了趟昆明出差,其中第一次接觸安裝redis,配置sentinel,學習到不少,但也都是皮毛而已,本隨筆記下所學知識。 1、首先介紹下redis,來源自百度百科 redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括stri ...
  • 剛學了js的一些函數,所以做了一個太極的旋轉。做完之後是上面這個樣子的,是可以旋轉的。 思路: 1.先做一個基準轉盤,之後將元素都放在轉盤上,跟隨轉盤動。 2.畫兩個半圓,主要屬性是border-top-right-radius: 250px; 像素值為長邊的一半。 3.然後畫4個圓,以基準轉盤為父 ...
  • JavaScript組成: ECMAscript 瀏覽器對象模型 BOM 文檔對象模型 DOM // ecmascript bom dom dom (文檔對象模型) 用來訪問和操縱html文檔 bom (瀏覽器對象模型) js 是瀏覽器語言 JavaScript引入: 1 <script src=“ ...
  • 背景(background)是css中很重要的一部分,也是css的基礎知道之一,現在來回顧css2中5個屬性與css3中新增的3個屬性和2個功能。 CSS2_背景(background)前傳 家族成員 背景(background)家族在css2中由5個主要的背景屬性組成,分別是: 想知道家族五大成員 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...