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

聲明

這並非掘金官方小程序(貌似沒有搜到掘金 APP 對應的官方小程序),徹底爲第三方開發者開發,僅用於學習交流,禁止用於其餘用途。若要使用官方正版,可訪問掘金 官方網站,或下載掘金官方 APP,或訪問掘金官方其餘途徑。html

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

該小程序代碼已開源,點擊可查看源碼,可隨意 star。也能夠先掃描下方的小程序碼直接體驗。github

利益相關

web

很差意思,我改文章名字了

多是因爲文章名字的緣故,在某個平臺發的文章被判爲垃圾信息了,而後,而後,我就更名字了。。。小程序

具體實現

前段時間寫了一個簡單的小程序 QuietWeather源碼在這裏,具體實現相關可查看這篇文章:兩天擼一個天氣應用微信小程序。可是這個 掘金小程序QuietWeather 徹底不是一個數量級的,說完具體實現,天都黑了,這裏直接上效果圖,感興趣的能夠 查看源碼 。實際體驗可掃描👆上面的小程序碼。微信小程序

效果圖

對應頁面可打開掘金官方 APP 對比微信

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

文章數據入口調整了,也保留了動畫,請酌情忽略 gif 卡頓工具

完成度

APP 裏面的東西實在是很多,包括頁面和交互,要徹底照抄實現確實須要一些時間和精力,UI 之類的都是簡單測量+肉眼調試實現的,下面列出頁面和交互的完成度,這裏應該只是列出了絕大部分(仍是上面那句話,APP 裏面的東西實在是很多),未列出、未實現的後續會根據時間、精力來實現。post

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

頁面完成度

貌似不支持 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 裏面的東西實在是很多......

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

說明

  • 一、話說掘金的 API 域名(二級)真是多啊,小程序後臺域名白名單最多隻能配 20 個,如今已經佔了 16 個了,感受要完整抄完實現掘金 APP 版小程序,配額不夠啊。不行的話,就只能搭個 server 代理了;
  • 二、個別接口只有 APP 用到了,請求字段須要按照 web 的略做調整;個別接口也要設置對應的 header
  • 三、文章詳情頁返回的是整片文章的 html 格式的 content,這裏使用的是開源的 wxParse 進行富文本解析;
  • 四、因爲小程序的限制,第三方的 url 不能在 webview 中打開,因此文章裏面的外鏈能點開算我輸;
  • 五、開發時,個別細節須要稍微注意,好比:沸點 tab 頁,若是已經滑到了頂部,onShow 獲取新數據,不然,不刷新;未登陸時,首頁 APP 調用的 API 是 get_recommended_entry就是懶爲了方便小程序裏仍然使用 get_entry_by_timeline;其餘的不一一贅述,詳情可 查看源碼
  • 六、因爲帳號權限等問題有些 API 須要天時地利人和,部分 API 返回的數據格式沒有拿到,因此對應的頁面也沒有寫,好比:系統消息頁面(最近一直沒有系統消息)等;
  • 七、部分數據可能未徹底覆蓋,好比:用戶消息這塊,目前列舉出的 categorycollectioncommentfollowcomment-likepin-likepin-comment,可能還會有其餘消息類型,遇到了會一一補上;還有動態頁,也是一樣的問題;可能還有其餘沒有徹底覆蓋的數據;
  • 八、點擊某些文章進入詳情頁會提示 illegal token,亦或文章沒有正常顯示出來,應該是請求參數須要略做調整,或者文章類型須要判斷。相似這樣的小問題,後續會調整補充;
  • 九、小程序(非小遊戲)在於一個 字,應該是一個應用的濃縮精華版,而不該該是一個內容豐富多彩的 APP100% 的複製版,這樣會顯得比較臃腫,此處應該有 but,該小程序僅僅是出於學習交流的目的,因此這個問題不在咱們的考慮範圍內;
  • 十、登陸如今只能手機號登陸,郵箱登陸給忘記了,回頭一併加上;
  • 十一、我也是有人生夢想的人;

轉載請註明出處

相關文章
相關標籤/搜索