最近幫人家做一個微信小程序,剛好想熟悉一下。由於牽扯到多用戶使用系統,以及數據共享,所以自然架構選擇了,客戶端和服務器的方式。
后台服務器是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