最近帮人家做一个微信小程序,刚好想熟悉一下。由于牵扯到多用户使用系统,以及数据共享,所以自然架构选择了,客户端和服务器的方式。
后台服务器是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
微信小程序开发 (资料汇总,谁还没被坑过?希望助你绕过一些坑)的更多相关文章
-
微信小程序开发资料汇总
>> 微信小程序开发工具下载 社区推荐: >>蜂鸟-微信小程序开发者社区>> 很快-微信小程序开发者社区 博文推荐: >> 微信小程序开源Demo精选& ...
-
微信小程序开发参考资料汇总
不错的微信小程序入门教程:微信小程序入门二: 条件.遍历.网络请求.获取本地图片http://blog.csdn.net/lecepin/article/details/54016701 微信小程序入 ...
-
微信小程序开发问题汇总
前言 经过将近一个多月的开发,我们团队开发的微信小程序 "出发吧一起" 终于开发完成,现在的线上版本为 2.2.4-beta 版 本文档主要介绍该小程序在开发中所用到的技术,已经在 ...
-
微信小程序开发资料
微信开放平台:主要面向App开发者.通常是拥有成熟的应用程序后,通过开放平台将内容分享到朋友圈或发送给某个微信好友/群.例如QQ音乐分享,美图秀秀修改过的照片直接发朋友圈或聊天. 微信公众平台:强 ...
-
微信小程序开发资源汇总 &#128175;
目录 官方文档 工具 插件 讨论 教程 视频教程 文章 代码 * 置顶 WePY:组件化的小程序开发框架
-
[辅助软件] 微信小程序开发资源汇总 接入指南
https://github.com/justjavac/awesome-wechat-weapp https://github.com/justjavac/awesome-wechat-weapp ...
-
微信小程序--相关资料
微信小程序Demo https://github.com/zce/weapp-demojustjavac/awesomewechatweapp: 微信小程序开发资源汇总 https://gith ...
-
微信小程序开发工具使用与设计规范(二)
[未经作者本人同意,请勿以任何形式转载] 上一篇文章主要分析了微信小程序应用场景和优劣势.本篇你可以学习到: 如何使用小程序开发工具写一个Hello World 微信小程序设计规范 微信小程序项目结构 ...
-
剖析简易计算器带你入门微信小程序开发
写在前面,但是重点在后面 这是教程,也不是教程. 可以先看Demo的操作动图,看看是个什么玩意儿,GitHub地址(https://github.com/dunizb/wxapp-sCalc) 自从微 ...
随机推荐
-
Oralce 重建EM服务,OracleDBConsoleOracle
今天打开Oracle ,想进em看看,结果发现OracleDBConsoleOracle服务老是报错: OracleDBConsoleOracle 服务因 2 (0x2) 服务性错误而停止. 搞不懂, ...
-
应用程序框架实战三十六:CRUD实战演练介绍
从本篇开始,本系列将进入实战演练阶段. 前面主要介绍了一些应用程序框架的概念和基类,本来想把所有概念介绍完,再把框架内部实现都讲完了,再进入实战,这样可以让初学者基础牢靠.不过我的精力很有限,文章进度 ...
-
IO流知识点总结
IO流的使用:(Input OutPut) 输入输出流: 输入:将文件读到内存中 输出:将文件从内存输出到其他地方 IO技术的作用: 主要就是解决设备和设备之间的数据传输问题.比如: ...
-
[地图SkyLine二次开发]框架(1)
项目介绍: 项目是三维地理信息系统的开发,框架MVC4.0 + EF5.0 + Extjs4.2 + SkyLine + Arcgis,是对SkyLine的二次开发. 项目快结束了,先给大家看一眼效果 ...
-
【BZOJ-1670】Building the Moat护城河的挖掘 Graham扫描法 + 凸包
1670: [Usaco2006 Oct]Building the Moat护城河的挖掘 Time Limit: 3 Sec Memory Limit: 64 MBSubmit: 464 Solv ...
-
【iCore3 双核心板】例程六:IWDG看门狗实验——复位ARM
实验指导书及代码包下载: http://pan.baidu.com/s/1c0frjHm iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
-
(转)mysql中InnoDB表为什么要建议用自增列做主键
InnoDB引擎表的特点 1.InnoDB引擎表是基于B+树的索引组织表(IOT) 关于B+树 (图片来源于网上) B+ 树的特点: (1)所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关 ...
-
Linux编程return与exit区别
Linux编程return与exit区别 exit 是用来结束一个程序的执行的,而return只是用来从一个函数中返回. return return 表示从被调函数返回到主调函数继续执行,返回时可附 ...
-
Core Animation 文档翻译—附录C(KVC扩展)
前言 关于CAAnimation和CALayer类,核心动画扩展了NSKeyValueCoding协议.这个扩展为一些keys添加了默认值,扩大了封装协议,添加了为CGpoint.CGRect.C ...
-
使用 boost.asio 简单实现 异步Socket 通信
客户端: class IPCClient { public: IPCClient(); ~IPCClient(); bool run(); private: bool connect(); bool ...