客戶端伺服器架構:微信小程式開發 (資料彙總,誰還沒被坑過?希望助你繞過一些坑) ...
最近幫人家做一個微信小程式,剛好想熟悉一下。由於牽扯到多用戶使用系統,以及數據共用,所以自然架構選擇了,客戶端和伺服器的方式。
後臺伺服器是windows server,後臺程式是.Net WebApi,跑在IIS下麵,因為不想系統太重,數據量不大,所以選擇了xml 作為資料庫
客戶端,伺服器架構的微信小程式坑如下
第一坑:(五項條件請具備)
1、一個已備案的功能變數名稱(二級功能變數名稱可以的),不是localhost、也不是127.0.0.1,功能變數名稱不能加埠 (所以不要夢想可以搭在區域網里使用了,那是不可能的)
2、加ssl證書,也就是https://~~~
4、HTTPS 伺服器的 TLS 版本支持1.2及以下版本,一般就是1.0、1.1、1.2要同時支持這三個版本,一個也不能少,要不然就會出現下麵這種情況
5、微信小程式後臺加上合法功能變數名稱設置(一個月內改的次數是有限的,且行且珍惜)
文章請參考: https://blog.csdn.net/abc123434/article/details/76570111
第二坑:(申請免費CA證書)
網上有文章說可以在下麵網站申請免費證書,然而我申請了,感覺格式不對(尾碼名)
申請證書
後來還好我有一臺騰訊雲伺服器,在騰訊雲伺服器管理登錄之後,可以申請免費的證書。最終生成證書是一個壓縮包,各種伺服器都有(很好很強大,格式也對)
IIS下的
我參考的的下麵這篇文章
證書安裝指引(騰訊雲)
http://www.mamicode.com/info-detail-1991699.html
還有另外一篇
配置IIS 證書 請參考:
https://www.cnblogs.com/dudu/p/iis_https_ca.html?utm_source=tuicool&utm_medium=referral
第三坑:(配置訪問許可權)
記得要在微信公眾號里配置小程式可以訪問的,合法功能變數名稱,如下圖
第四坑:(系統名稱不要有 敏感字眼)
什麼互動答題啥的 都是封殺對象。還有第一名字記得想好了,因為以後小程式改名都是要 收費的
第五坑:(小程式是不支持退出的!!!)
不要天真的以為點擊小程式右上角的小叉叉可以退出程式,不是的!!! 它還在後臺運行!!!
下次進去還是上次關閉時的頁面。
而且小程式現在還沒有直接退出的API !!! 巨坑!!!
第六坑:(有些功能在編譯器里是調試不了的)
比方有上交的叉叉點擊,你想測試退出功能或事件。
實際上出來的是文章搜索界面。
第七坑:(發佈流程)
1.先要提交代碼審核
2.審核一般一到兩個小時(應該是人工手動測試的,註意如果系統需要密碼登錄的話,要提交審核的時候附加 用戶名,密碼信息,我就因為這個原因被審核不過~~ 再提交一把,2小時時間過去了。。。。。。)
3.審核完了,就可以點擊發佈來發佈你的小程式了。(需要配置小程式的進入主頁面)
還有一些坑,想到了再添加吧。
其他的整體用起來還行:)
下麵是微信小程式開發會用到的一些功能參考文檔
微信小程式端
微信小程式:如何利用navigateBack退出小程式
https://www.imooc.com/article/43682
小程式退出後仍在後臺運行,
http://www.wxapp-union.com/thread-3279-1-1.html
微信小程式退出重啟
https://blog.csdn.net/u014570569/article/details/77478761?utm_medium=referral
【總結】微信小程式 - 用戶授權時被拒絕的解決辦法(授權失敗場景處理)
From <https://blog.csdn.net/sinat_22014829/article/details/77719663>
添加圖片
https://developers.weixin.qq.com/miniprogram/dev/component/image.html?t=1476197485892
微信小程式 延時執行 定時執行
setTimeout(function () {
//要延時執行的代碼
}, 1000) //延遲時間 這裡是1秒
微信小程式頁面跳轉三種方式
https://blog.csdn.net/zgmu/article/details/72123329
Picker (下拉選擇)
從底部彈起的滾動選擇器,現支持五種選擇器,通過mode來區分,分別是普通選擇器,多列選擇器,時間選擇器,日期選擇器,省市區選擇器,預設是普通選擇器。
https://developers.weixin.qq.com/miniprogram/dev/component/picker.html
UI 佈局
https://www.jb51.net/article/99130.htm
微信獲取登錄用戶信息
https://blog.csdn.net/YanzYan/article/details/76854177
js取值
https://www.cnblogs.com/LoveQin/p/7153427.html
http://www.51xuediannao.com/xiaochengxu/xiaochengxu-chuanzhi.html
頁面間 傳值 取值
https://www.jianshu.com/p/b2d912920a6a
微信小程式六(數據請求 表單的創建 提交 與接收)
https://blog.csdn.net/wujiangwei567/article/details/52795656
Radio button (單選按鈕)
https://blog.csdn.net/u014360817/article/details/52668808
頁面跳轉
https://www.cnblogs.com/yaoyuqian/p/7967472.html
伺服器端
路由設置(WebApi)
https://www.cnblogs.com/landeanfen/p/5501490.html
提高生產性工具(四) - XML資料庫的嘗試,
https://www.cnblogs.com/TextEditor/p/4195361.html
c# webapi POST 參數解決方法
https://blog.csdn.net/wyqlxy/article/details/49303345