2019 — 中國高校計算機大賽 微信小程序應用開發賽 參賽做品。前端
部分真實信息已經隱藏。web
前端採用小程序原生開發
後端採用小程序雲開發
部分組件化,自定義組件較多數據庫
在以前的開發中,通常都是用ThinkPHP去開發一個後端api,而後給小程序調用。這是最傳統的作法,可是對於我的開發者來說,一個月的時間去兼職完成一個完整的小程序,仍是很是累的。因此小程序雲開發可以極大加快我的開發者的進度。(官方發過一篇文: 1個開發如何撐起一個過億用戶的小程序)小程序
小程序提供的後端
微信小程序
例若有這麼一個需求:甲發送了一篇文章,除了全部用戶能夠查看以外,她的女友乙能夠刪除或者修改這篇文章的內容,這就涉及到修改其餘人建立的數據,這個時候上圖中雲數據庫的權限是徹底不夠用的。可是在雲函數中能夠實現上述功能。api
另外若是我須要發送模板消息,或者調用其餘微信公衆平臺官方api。這個時候若是在小程序中直接網絡請求會被限制。因此能夠在雲函數中去操做。服務器
同時雲函數支持定時任務。微信
在詳細閱讀開發文檔以後,基本就能夠總結出來。網絡
我的開發者不容許使用支付功能。
我的開發者不容許使用web-view組件 (相似iframe功能)。
上述功能對企業開發帳號不作限制。
另外,在產品上架的時候也會遇到一些侷限。
好比在下方個人做品中,我涉及到了我的日記功能,還有添加習慣,添加獎勵等功能,這些在上架的時候,我的開發者是會受到限制的,下面是小程序官方發來的審覈信息。
你好,你的小程序涉及用戶自行生成內容的發佈/分享/交流,屬社交範疇,爲我的主體小程序未開放類目,建議申請企業主體小程序。
另外個人打卡功能很是依賴推送功能,可是小程序自己很侷限。原本想參考其餘打卡提醒類小程序的作法,經過微信公衆號的方式去提醒,結果發現我的只能申請訂閱號,訂閱號的推送通知都被摺疊起來了,因此基本起不到提醒的做用。
經過官方的方式自定義tabBar時會發現存在 tabBar 跳動的問題,並且大部分時候會錯位,也須要在每一個頁面的 onShow() 裏面去設置參數。
能夠經過components的方式去自定義tabBar,這裏我模仿了某APP,實現了一個自定義tabBar,沒有出現上述問題。

自定義toast相對簡單,經過components的方式便可。可是須要注意一個問題就是,當頁面中出現textarea等官方控件時,自定義組件的層級永遠都比這些特殊組件低。很難解決覆蓋問題。
推送功能:
這是我目前實現的推送功能:
一開始我對這種模板消息充滿了各類期待,後來發現對於小程序它是一個基本無關緊要的東西。
首先要在用戶點擊form表單裏面的按鈕時,獲取一個formID, 而後經過用戶的openID和formID去給用戶發送模板消息。
這裏有幾個問題:
目前網上有提供小程序推送的服務商,看了看作法,大部分就是經過在頁面中藏表單,或者項目中的大部分按鈕在都換成form表單的方式,在點按的同時獲取一個formID, 而後在合適的時機將收集到的formID上傳到服務器存儲。
個人作法是在天天初次打開的時候,出現一個早上好的提示,用戶點擊按鈕獲取formID,而後在小程序進入後臺的時候,將收集到的formID上傳到服務器。
xxxxx Daily
「中文別名: xx平常」
xxxxx Daily 是一款提供
與目前市場上存在的大部分習慣平常類應用不一樣的是,咱們更但願互相綁定的兩個用戶之間去完成一些平常活動。例如在完成本身的每日任務時,能夠查看對方的打卡進度,提醒對方及時完成任務;或者能夠根據任務爲對方制訂一套獎勵計劃,鼓勵對方按時完成任務。另外,你能夠在廣場記錄當天完成的任務,發生的故事,這能夠只在你與同伴之間分享,也能夠設置容許其餘人閱讀。
另外,xxxxx Daily 雖然更側重於兩個用戶完成綁定後使用,可是其中的全部功能也均可以一我的完成。你能夠本身打卡,本身給本身設置獎勵。
在第一次使用本小程序時,你能夠設置一個分享海報,邀請小夥伴與你進行綁定。綁定的雙方也能夠隨時解除關係。
打卡
查看打卡記錄
學校: xxx
組員:
由於本小程序既可單人運行,又可雙人交互,因此在下方的介紹中,除特殊說明外,全部功能都是在雙人綁定的狀態下運行。
習慣操做
廣場
獎勵

新用戶使用指南




對方收到的樣子

點擊中間添加按鈕,選擇添加習慣

能夠爲習慣選擇圖標,設置名稱, 設置每週何時打卡,下方能夠選擇截至時間。

選擇截止時間
在 「今天」 頁面點擊習慣名可打卡

再次點擊則取消打卡

在「今天」頁面頂部點擊對方可切換視角
點擊後,下方變成對方的習慣列表。

切換到對方視角,點擊對方未完成的任務,便可發送提醒。


小程序卡片消息提醒

當沒法發送卡片消息時,須要手動分享給對方


當點擊對方已完成的任務時,能夠查看對方打卡記錄

點擊查看詳情


能夠上傳照片
設置查看權限 (咱們: 只容許本身和對方查看。 全部人: 任何人可見)





能夠給本身或者對方添加獎勵

無期限習慣能夠設置打卡次數。

有期限習慣會自動計算剩餘天數。


查看獎勵詳情。(打卡記錄僅從獎勵設置當天開始)