一款屬於本身的小程序

文章連接: https://mp.weixin.qq.com/s/QLJKWMe8t456xOI1QigGlA

今天介紹下本身作的一款小程序「衝頂課堂」,從0到1本身完成的一款小程序。
這是一款答題類的小程序,主要考察的是小學初中語文的一些知識,用戶答題每次答完計算分值,統計排行榜,同時記錄錯題,並對題目進行糾錯。 css

先上幾張效果圖,忽略粗糙的界面... 前端


小程序碼:
python

背景介紹

本身自己是作android開發的,這幾年移動端慢慢成了「夕陽行業」,再也不是那麼火熱,沉澱下來了,相對的小程序慢慢火起來了,畢竟是微信的親兒子。趁着這波浪潮,本身也學習了一波,相對上手仍是比較容易的,加上以前本身作網站,寫過接口,本着學以至用的原則,將這些「技能」 靈活運用,作一個完整的小程序。android

後臺數據

若是是本身出題目,那基本不可能的,若是要一條條的到網上覆制粘貼,這個工做量也是可想而知的,這裏就要用到python 爬蟲的技巧了。爬取的網站須要用戶登陸,這裏使用selenium來模擬登陸,爬取時經過加載Chrome配置來免登陸。web

driverOptions = webdriver.ChromeOptions()
driverOptions.add_argument(r"C:\Users\Administrator\AppData\Local\Google\Chrome\User Data")
driver = webdriver.Chrome("chromedriver", 0, driverOptions)

頁面解析,採用的BeautifulSoup,先把數據統一保存到excel文檔,後續寫個腳本寫入到數據庫。頁面解析這塊 以前有作過相關爬蟲的文章,這裏就不詳細描述了。 chrome

因爲題目衆多,小學的大概400多道,初中的1000道,本身無法一一測試,因此裏面有糾錯的功能,便於後續維護的。數據庫

後臺用的django自帶的後臺,接口用的django rest framework,寫起來也比較方便快捷。 比較麻煩的算是數據庫設計的,固然我這裏的數據結構算簡單的,沒什麼複雜性,表關聯下的就能夠了。用戶id 就是小程序提供的openId,跟其餘表加以關聯使用。django

小程序

小程序相關的方面的直接參考的官方文檔的,相關api仍是很齊全的,佈局採用的flex 佈局,加上css樣式的,整體是簡單的,後期會對應增長些卡通元素的,畢竟有面向小學的。 小程序

小程序裏面有個登陸受權的須要注意的,wx.getUserInfo直接調用再也不出現受權彈框,而須要<button open-type="getUserInfo"></button> 用戶主動受權獲取用戶信息的。這就意味着 用戶直接打開小程序再也不出現受權彈框,而須要用戶經過按鈕點擊主動去受權。 後端

另外小程序有一套本身的WXS 的腳本語言,通常渲染數據是直接經過setData 來渲染,若是遇到一些數據須要前端本身處理再顯示的,就可使用WXS 來處理,避免使用js 去處理再去setData的,相似過濾器的感受。固然WXS 也有注意事項的,官網也有這塊的介紹 WXS

一點感想

作這樣一款小程序,一是把本身學習的關於先後端的知識靈活運用起來,二是後續公司會讓移動端的接手些小程序,本身也算提早練個手的。
相對的作一款app時間週期比較長,並且要考慮到雙端,小程序的開發成本相對就低了。固然這款小程序是本身從0到1的開始 ,後續再慢慢優化的!

歡迎關注個人博客:https://blog.manjiexiang.cn/
更多精彩歡迎關注微信號:春風十里不如認識你

有個「佛系碼農圈」,歡迎你們加入暢聊,開心就好!

過時了,可加我微信 tx467220125 拉你入羣。

相關文章
相關標籤/搜索