最近帮人家做一个微信小程序,刚好想熟悉一下。由于牵扯到多用户使用系统,以及数据共享,所以自然架构选择了,客户端和服务器的方式。
后台服务器是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