后台采用C#编写,WebAPI接口。其实开发时间并不多,小程序本身提供的API,相比公众号的API来说,已经封装了好多东西,我们只负责简单调用即可。而且,提供的开发工具也很方便,开发环境和VisualStudio很类似,包括快捷键(不知道Java的开发员是不是也有这感觉?)
好了说重点。今天是个总结,把这一星期开发时遇到的坑整理下,希望其他人遇到时能有个参考。其实开发的坑不多,部署的坑最多。开始咯
1,多看文档
多翻翻官方教程是很有必要的。还有官方社区,里面有一些不错的开源小程序源码,可以直接下载参考
2,代码布局
前台项目的布局建议使用默认即可,不要自己加些特殊的文件夹。如:Page文件夹里就加页面、Image文件夹里就加图片
3,如何联调
后台地址就是我们在小程序后台配置的那个Https地址串。我最开始的做法是把后台程序直接部署至这个地址上,发现提示TSL版本没达到要求什么的。可以在这个页面里,这个选项勾选即可,后台程序通过写日志方式调试程序,感觉不是很方便。有人说可以用远程调试?可以尝试下,但小编没用这个方法。
用的是直接把调用地址改成本地,就是https://localhost开头即可,相当和本机的程序直接调试,方便很多的。
基本开发的时候,遇到的就是这些问题,基本都很顺利。
部署时遇到的问题有点多
1,API地址切换至小程序后台设置的Https地址,发现提示TSL版本过低不支持。这个问题问别人,都说没有出现过。看来是和环境有关,而实际上确实和服务器的环境有关。
我之前是Win2008,网上查资料说这个版本的操作系统只支持TSL低版本,不支持高版本。而小程序要求的是高版本。好像最低是2008R2版本
小编后来换成2012操作系统,此问题解决
2,报:fail hostname certificate
这个问题就是一个原因:你申请的证书有问题。要么你是免费的,要么就是不符合小程序的要求。但这都不是事儿,正规渠道购买的证书都没有问题
3,uploadFile:fail Error: Hostname/IP doesn't match certificate's altnames: 'Host: xxx1. is not in the cert's altnames: DNS:xxx2, DNS:xxx2'
这个问题不容易遇到,问了几个人都说没遇到过,碰巧又被我遇到了。
从字面含义的解释看,是说我证书绑定的域名B,和我小程序调用的地址A不匹配。继续分析,
我在申请证书时,我申请的域名是一级域名,而小程序用的是我的二级域名,这就是差别。
难道一级域名有个证书后,不能被二级域用?
答案是的
在申请证书时,有个通配符的名词,意思就是如果支持通配符,就可以一级域名只申请一个即可,二级域名可以不申请。不支持通配符的话,二级域名就要再申请一个。
因为我申请的是阿里云免费证书,所以不支持通配符,因此才报上面的那个错误
后来,我给小程序用到的二级域名再申请一个证书,绑定好就可以了。最后一个坑也顺利解决
这里要说下,阿里云的免费证书是可以申请多个的,可以被微信小程序使用
好了,我在开发和部署的时候,遇到了上面这些问题,留坑纪念
这是我的小程序,欢迎关注