这是我作完第一个小程序项目后写下的项目总结。由于我当初进行开发时,没有仔细的了解小程序开发的注意事项,也没有老鸟给我讲一讲,只能一个人摸着石头过河。。。过程有多艰辛相信大家都明白。做小程序之前我是做前端的,对后台不是很了解,对购买服务器、申请域名、域名备案、SSL证书申请、网站部署这些东西除了懵逼还是懵逼。没办法,生活还是要继续,即使鼻青脸肿,也要继续踩坑。好了,废话不多说,有缘大家留言,我们再继续唠嗑。
开发之前须知
-
小程序开发规则
这个其实不用多说,我们进行小程序开发是基于微信的。类似于对微信的二次开发(张小龙还真是鸡贼,不但让我们这些程序员免费为他做开发,还要收审核费!)所以说,“一切命令听指挥”,咱们还是得老老实实的听龙哥掰乎。小程序开发官方文档大家最好仔细看一看,做到心中有逼数,别掉到坑里才发现。
有其是这个关于小程序中网络相关API的说明一定要仔细看,这个是个巨坑。
主要讲的是,微信小程序与第三方服务器通讯的域名5个必要条件
1、一个已备案的域名,不是localhost、也不是127.0.0.1,域名不能加端口
2、加ssl证书,也就是https://~~~
4、HTTPS 服务器的 TLS 版本支持1.2及以下版本,一般就是1.0、1.1、1.2要同时支持这三个版本,一个也不能少,要不然就会出现下面这种情况
5、微信小程序后台加上合法域名设置(一个月内改的次数是有限的,且行且珍惜)如下图
以上5个条件,必需全满足,要不然你手机预览的时候就会发现通讯不了~~~
需要解决的问题
- 域名备案
- SSL证书申请
- TLS 版本>1.2的问题
面前的坑
购买服务器时,系统选择一定要选择Windows Server R2版本以上的(其他系统我不知道)原因是:
- 申请的SSL证书安装后,提示TSL版本为1.0
下面我们一个一个讲讲,如何跳过这些坑。
问题一:购买服务器
不买服务器好像没法给域名备案,所以还是先买服务器吧。(阿里云备案多少天,服务器租期就会延后多少天,算是个小福利吧)这里需要注意的主要就是服务器系统的问题,要选择支持TSL1.2的操作系统 。比如:Windows Server 2008 R2其他的配置就取决于你的财力了,不过做小程序也不需要很高的配置,够用就行了。(服务器租1年大概在3000-5000元的样子)(服务器买好后,一定要先把补丁打上,不知道咋回事,我的服务器刚买就被黑了,被植入了矿机,重装了系统也无济于事,有哪位大哥知道怎么处理,给支个招呗!)
服务器-如何购买阿里云服务器
服务器-如何远程登陆阿里云windows版服务器
问题二:域名备案
前言:由于域名备案手续多,备案周期长,所以我们如果开发需要上线的小程序,应该先把域名备案的问题解决掉,以节省开发时间。(我当时就是因为不知道,所以程序开发一半的时候才想起备案,导致了程序开发中断)
域名申请,域名备案和服务器购买最好还是在同一个平台进行,在阿里云或者腾讯云都可以,我之前就是在花生壳申请的域名,结果备案的时候人家回复说“域名提供商没有备案资质”,是不是很搞笑?可以看看这个网站备案中“域名校验”常见问题,同一个平台也方便管理。
还是从头讲起吧,那是很久很久以前......
准备工作
- 企业营业执照(电子档)
- 企业法人身份证(电子档,正反面)
- 管理人身份证(电子档,正反面)
- 所在地邮编
- 一个联系电话(手机)< 谁负责备案留谁的,因为人家会打电话问些事情,保持畅通 >
- 一个联系电话(座机)
- 域名申请
准备域名是第一步,没域名我们拿啥备案呢?我是为企业开发的小程序,因此在购买域名时,填写的是企业信息。填写的信息一定要与域名备案信息一致,比如域名主体名字,一个字都不能错! - 域名实名认证
这个认证信息,最好还是用企业信息认证。需要的信息营业执照上都有,最好把营业执照上的信息整理成txt文件,方便来回复制粘贴。域名只有通过了实名认证才能进行域名备案(实名认证很快,一般1-2天) - 域名备案申请
这个其实不必多说,跟着别人的流程走就行了。不懂了查一查就行。(阿里云审核过程中有一个邮寄幕布拍照的环节,可能需要2-3天)
信息只要填的对,审核其实也挺快的,审核分两个阶段。拿阿里云来说,第一个阶段是阿里云自己的审核(信息没问题两三天就下来了,2-3天);第二个阶段是工信部的审核(第一个审核过了,这个基本没啥问题,等着就行了,一般1-2个星期就下来了)
问题三:申请微信小程序开发者帐号
- 如需特殊功能,请注册企业号;因为企业号提供更多接口权限,个人号功能相对受限。如获取用户手机号。
- 注册企业号需要认证
- 微信认证,需要300元的审核费
- 转帐的话会少点,不过比较麻烦,要跑一趟银行。
问题四:开发调试
到这里,你的域名应该正在备案,那么问题来了。我们要怎么进行开发呢?没有合法域名,无法进行请求通讯啊!别急,其实这里微信为我们提供了办法。
打开微信开发者工具 > 右上角详情 > 项目设置 > 勾上不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书即可。
好了,域名请求限制的问题解决了。接下来是没有服务器怎么运行后台程序?如何进行前后端联调的问题。
我是用ASP.net开发的后台,弄好后部署在IIS7上。
服务器-如何搭建IIS服务器
服务器-IIS服务如何部署网站
可能遇到的问题:
手机连接不上IIS网站(站点)
尚未配置为Web项目XXXX指定的本地IIS URL HTTP://localhost
.....
问题五:SSL证书申请
SSL证书真的很贵啊!但是以后好像还都得要这个证书才行,google以后会把http://列为不可信域名。但是呢,好消息是阿里云提供免费的SSL证书教大家怎么申请阿里云的免费版 SSL证书,这还真是阿里爸爸给的福利啊,可以开心的用一年。
至于怎么安装SSL证书,买了证书后会有相应的文档教程和视频教程,跟着做就行了。
问题六:后台网站部署
这个其实跟问题四中IIS服务搭建中的一样。我只会windows的后台部署,对Linux系统的还不了解,就不在这里献丑了。
这里需要注意的是,服务器刚租下来时IIS服务默认是不打开的。安装办法这里:Windows Server 2008 R2安装IIS7图文教程
问题六:域名解析
这里没啥需要注意的地方,唯一要说明的是在填写记录置时,填写的是我们服务器的公网IP
阿里云如何正确解析域名
问题七:TSL1.0转1.2版本
前面讲过,小程序要求必须TSL版本大于1.2,但是有点坑比的是我前面所有的东西都弄好了,试了一下,奶奶地还是不能用!!!找了半天才发现,我们刚安装好SSL证书后,TSL的版本默认是1.0版。所以这里我们需要把TSL从1.0转到1.2版。看这里如何解决:对应的服务器 tls 为 tls 1.0,小程序要求的TLS版本必须大于等于1.2问题,不要问我TSL是个啥,说实话我也不知道 (^_^)!!!
最后附上苹果ATS检测入口看看你的域名是否支持了TSL1.2
后记
一个人做开发真的很累,有问题只能孤军奋战,连个商量的人都没有。有时候调Bug真的调到崩溃。在此,希望我的文章能能够帮助那些孤军奋战的程序猿们,我和你们在一起。感谢大家的支持!