兩週擼一個掘金微信小程式

myvin發表於2018-08-20

宣告

這並不是掘金官方小程式(貌似沒有搜到掘金 APP 對應的官方小程式),完全為第三方開發者開發,僅用於學習交流,禁止用於其他用途。若要使用官方正版,可訪問掘金 官方網站,或下載掘金官方 APP,或訪問掘金官方其他途徑。

該小程式所有 API 均來自掘金官方 web 網站和官方 AndroidAPP(以 web 為主),UI照抄參照的掘金官方 AndroidAPP(ver 5.4.3)。部分靜態資源(icon、圖片等)直接從掘金官方 apk 裡拷出來的。

該小程式程式碼已開源,點選可檢視原始碼,可隨意 star。也可以先掃描下方的小程式碼直接體驗。

兩週擼一個掘金微信小程式

利益相關

不好意思,我改文章名字了

可能是由於文章名字的緣故,在某個平臺發的文章被判為垃圾資訊了,然後,然後,我就改名字了。。。

具體實現

前段時間寫了一個簡單的小程式 QuietWeather原始碼在這裡,具體實現相關可檢視這篇文章:兩天擼一個天氣應用微信小程式。但是這個 掘金小程式QuietWeather 完全不是一個數量級的,說完具體實現,天都黑了,這裡直接上效果圖,感興趣的可以 檢視原始碼 。實際體驗可掃描?上面的小程式碼。

效果圖

對應頁面可開啟掘金官方 APP 對比

PC 開發者工具錄製,會有些卡頓

兩週擼一個掘金微信小程式

兩週擼一個掘金微信小程式

兩週擼一個掘金微信小程式

兩週擼一個掘金微信小程式

兩週擼一個掘金微信小程式

兩週擼一個掘金微信小程式

兩週擼一個掘金微信小程式

兩週擼一個掘金微信小程式

兩週擼一個掘金微信小程式

兩週擼一個掘金微信小程式

文章資料入口調整了,也保留了動畫,請酌情忽略 gif 卡頓

兩週擼一個掘金微信小程式

兩週擼一個掘金微信小程式

兩週擼一個掘金微信小程式

兩週擼一個掘金微信小程式

兩週擼一個掘金微信小程式

兩週擼一個掘金微信小程式

兩週擼一個掘金微信小程式

兩週擼一個掘金微信小程式

完成度

APP 裡面的東西實在是不少,包括頁面和互動,要完全照抄實現確實需要一些時間和精力,UI 之類的都是簡單測量+肉眼除錯實現的,下面列出頁面和互動的完成度,這裡應該只是列出了絕大部分(還是上面那句話,APP 裡面的東西實在是不少),未列出、未實現的後續會根據時間、精力來實現。

實際完成度請以程式碼為主(線上小程式也會持續更新)。

頁面完成度

貌似不支援 markdown 待辦事宜寫法?QAQ

  • [x] 啟動頁
  • [x] 登入、未登入跳轉邏輯和頁面資料重新整理邏輯等
  • [x] HOME、搜尋、沸點、小冊 TAB 涉及到的上拉、下拉重新整理
  • [x] POST、ENTRY(文章型別不同) 詳情頁
  • [ ] HOME TAB
    • [x] 首頁
      • [x] 熱門推薦
      • [x] 下部列表
    • [ ] 標籤展示相關
  • [ ] 搜尋 TAB
    • [x] 頂部輪播
    • [x] 熱門文章
    • [ ] 搜尋功能相關
    • [ ] 本週最熱
    • [ ] 收藏集
      • [ ] ...
    • [ ] 活動
      • [ ] ...
  • [ ] 沸點 TAB
    • [ ] 推薦
      • [x] 頂部熱門沸點
      • [x] 沸點列表
      • [x] 沸點詳情
    • [ ] 話題
    • [ ] 動態
    • [ ] 釋出沸點
  • [ ] 小冊 TAB
    • [x] 小冊列表
    • [ ] 小冊詳情
  • [ ] 我的 TAB
    • [ ] 個人主頁
      • [x] 文章資料
      • [ ] 編輯
      • [ ] 關注、被關注列表
      • [x] 動態頁
      • [x] 沸點頁
      • [x] 原創文章頁
      • [x] 收藏集
        • [ ] 收藏集詳情頁
      • [x] 喜歡的文章
      • [x] 關注的標籤
        • [ ] 標籤詳情頁
    • [x] 我喜歡的
    • [x] 收藏集
    • [ ] 已購小冊
    • [x] 贊過的沸點
    • [x] 閱讀過的文章
    • [x] 標籤管理
      • [x] 已關注標籤
      • [x] 所有標籤
        • [x] 推薦標籤
        • [x] 所有標籤
    • [ ] 夜間模式
    • [x] 意見反饋(和官方 APP 有差異,這裡是個簡單的關於頁)
    • [ ] 設定
      • [ ] ...
  • [x] 登入頁
  • [ ] 註冊頁
  • [ ] 修改密碼頁
  • [x] 其他完成部分...
  • [ ] 未完待續部分...

互動完成度

評論、留言、關注、新增到收藏集、喜歡、發表沸點等暫時均沒有實現,因為 APP 裡面的東西實在是不少......

  • [ ] 評論
  • [ ] 留言
  • [ ] 關注
  • [ ] 喜歡
  • [ ] 未完待續部分...

說明

  • 1、話說掘金的 API 域名(二級)真是多啊,小程式後臺域名白名單最多隻能配 20 個,現在已經佔了 16 個了,感覺要完整抄完實現掘金 APP 版小程式,配額不夠啊。不行的話,就只能搭個 server 代理了;
  • 2、個別介面只有 APP 用到了,請求欄位需要按照 web 的略作調整;個別介面也要設定對應的 header
  • 3、文章詳情頁返回的是整片文章的 html 格式的 content,這裡使用的是開源的 wxParse 進行富文字解析;
  • 4、由於小程式的限制,第三方的 url 不能在 webview 中開啟,所以文章裡面的外鏈能點開算我輸;
  • 5、開發時,個別細節需要稍微注意,比如:沸點 tab 頁,如果已經滑到了頂部,onShow 獲取新資料,否則,不重新整理;未登入時,首頁 APP 呼叫的 API 是 get_recommended_entry就是懶為了方便小程式裡仍然使用 get_entry_by_timeline;其他的不一一贅述,詳情可 檢視原始碼
  • 6、由於賬號許可權等問題有些 API 需要天時地利人和,部分 API 返回的資料格式沒有拿到,所以對應的頁面也沒有寫,比如:系統訊息頁面(最近一直沒有系統訊息)等;
  • 7、部分資料可能未完全覆蓋,比如:使用者訊息這塊,目前列舉出的 categorycollectioncommentfollowcomment-likepin-likepin-comment,可能還會有其他訊息型別,遇到了會一一補上;還有動態頁,也是同樣的問題;可能還有其他沒有完全覆蓋的資料;
  • 8、點選某些文章進入詳情頁會提示 illegal token,亦或文章沒有正常顯示出來,應該是請求引數需要略作調整,或者文章型別需要判斷。類似這樣的小問題,後續會調整補充;
  • 9、小程式(非小遊戲)在於一個 字,應該是一個應用的濃縮精華版,而不應該是一個內容豐富多彩的 APP100% 的複製版,這樣會顯得比較臃腫,此處應該有 but,該小程式僅僅是出於學習交流的目的,所以這個問題不在我們的考慮範圍內;
  • 10、登入現在只能手機號登入,郵箱登入給忘記了,回頭一併加上;
  • 11、我也是有人生夢想的人;

轉載請註明出處


相關文章