微信小程序开发填坑指南V1

近期用了一星期的时间,开发了一个小程序。小程序名称是:小特Jarvis,取自钢铁侠的管家。

后台采用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不匹配。继续分析,

我在申请证书时,我申请的域名是一级域名,而小程序用的是我的二级域名,这就是差别。

难道一级域名有个证书后,不能被二级域用?

答案是的

在申请证书时,有个通配符的名词,意思就是如果支持通配符,就可以一级域名只申请一个即可,二级域名可以不申请。不支持通配符的话,二级域名就要再申请一个。

因为我申请的是阿里云免费证书,所以不支持通配符,因此才报上面的那个错误

后来,我给小程序用到的二级域名再申请一个证书,绑定好就可以了。最后一个坑也顺利解决

这里要说下,阿里云的免费证书是可以申请多个的,可以被微信小程序使用

好了,我在开发和部署的时候,遇到了上面这些问题,留坑纪念

这是我的小程序,欢迎关注

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏帘卷西风的专栏

关于linux系统端口查看和占用的解决方案

转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog)

11920
来自专栏F-Stack的专栏

F-Stack Q&A 第一期

Q1:F-Stack有中断模式吗,有计划支持吗?在计算密集型的应用中,轮询模式会占用更多的CPU资源? A1:F-Stack暂时只支持轮询模式,后续会支持中断+...

83050
来自专栏程序员叨叨叨

【9】全民博客时代的到来——20分钟简要教程

很久以前就想搭建一个个人技术博客的网站了,但是那时候接触的东西不多,没有听说过hexo、jekyll、wordpress等快速blog生成工具,自己在网上找了博...

14830
来自专栏ChaMd5安全团队

文件上传漏洞的一些总结

0x00 前言 在跟p猫的py交易后,写下了这篇文章,根据之前写文章后表哥给予的一些改进建议,尽量在这篇文章中写得更加详细。因为本人技术水平有限菜的要死,所以...

1K60
来自专栏IT大咖说

MongoDB技术分享:WiredTiger存储引擎

内容来源:2018 年 10 月 27 日,MongoDB中文社区联席主席郭远威在“2018年MongoDB中文社区 广州大会”进行《WiredTiger存储引...

25820
来自专栏Java帮帮-微信公众号-技术文章全总结

Web-第二十七天 SVN使用【悟空教程】

为保障团队开发过程中人员沟通各方面成本的降低,必须使用一种有效的方式减少沟通环节,提高开发效率,对资源的共享进行管理。

22310
来自专栏实用工具入门教程

如何部署 ftp 文件服务

文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协...

87530
来自专栏Java架构沉思录

10分钟了解ZooKeeper

ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。

12520
来自专栏linux运维学习

linux学习第六十篇:Linux监控平台介绍,zabbix监控介绍,安装zabbix,忘记Admin密码如何做

Linux监控平台介绍 常见开源监控软件:cacti、nagios、zabbix、smokeping、open-falcon等等 cacti、smokeping...

42240
来自专栏云计算教程系列

如何在Ubuntu 16.04上为匿名下载设置vsftpd

FTP是文件传输协议的缩写,是一种曾经广泛用于在客户端和服务器之间移动文件的网络协议。它已被更快,更安全,更方便的文件传输方式所取代。许多休闲网民希望直接从他们...

27600

扫码关注云+社区

领取腾讯云代金券