宣告
這並不是掘金官方小程式(貌似沒有搜到掘金 APP
對應的官方小程式),完全為第三方開發者開發,僅用於學習交流,禁止用於其他用途。若要使用官方正版,可訪問掘金 官方網站,或下載掘金官方 APP,或訪問掘金官方其他途徑。
該小程式所有 API
均來自掘金官方 web
網站和官方 Android
版 APP
(以 web
為主),UI
是照抄參照的掘金官方 Android
版 APP(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] 下部列表
- [ ] 標籤展示相關
- [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、部分資料可能未完全覆蓋,比如:使用者訊息這塊,目前列舉出的
category
有collection
、comment
、follow
、comment-like
、pin-like
、pin-comment
,可能還會有其他訊息型別,遇到了會一一補上;還有動態頁,也是同樣的問題;可能還有其他沒有完全覆蓋的資料; - 8、點選某些文章進入詳情頁會提示
illegal token
,亦或文章沒有正常顯示出來,應該是請求引數需要略作調整,或者文章型別需要判斷。類似這樣的小問題,後續會調整補充; - 9、小程式(非小遊戲)在於一個 小 字,應該是一個應用的濃縮精華版,而不應該是一個內容豐富多彩的
APP
的100%
的複製版,這樣會顯得比較臃腫,此處應該有but
,該小程式僅僅是出於學習交流的目的,所以這個問題不在我們的考慮範圍內; 10、登入現在只能手機號登入,郵箱登入給忘記了,回頭一併加上;- 11、我也是有人生夢想的人;
轉載請註明出處