一、事前准备:Https(干货)
首先要说明的一点是,正式上线后的网络请求的域名只能是申请时填写的域名,而且必须是https的。
一看到https估计很多开发者就苦脑了:这玩意没这么容易搞到。
不过我们有办法,我们有https://letsencrypt.org/,完全免费可用的https,用go语言开发的,github地址:https://github.com/certbot/certbot。用它来生成证书,导入到nginx里就可以用了。github里有它的使用方式,可能对于大部分读者来说,还是太复杂,为了方便大家使用,我把它打包成docker镜像了,通过:
sudo docker pull jsongo/certbot:latest
可以把镜像拉取下来,然后运行:
sudo docker run -it --rm -v /data/www:/data/www -v /etc/letsencrypt:/etc/letsencrypt jsongo/certbot certonly --webroot -w /data/www -d .com
注意,把上面的换成你的域名,/data/www都换成你的root路径就可以了。非常简单,用docker一步就可以搞定一个https证书。(如果读者没接触过docker,可以到网上搜索下如何安装到相应的linux系统上,然后再执行pull操作及上面生成证书的操作)
接下去把上面生成的证书导入nginx,方法也很简单,在相应的配置文件里加上:
listen 443 ssl;ssl_certificate /etc/letsencrypt/live/.com/cert.pem;ssl_certificate_key /etc/letsencrypt/live/.com/privkey.pem;
另外,用这个方法生成的https证书,也可以用在自己的网站上,让自己的网站更安全一些,关键是还不用钱。证书在大部分主流的浏览器上都测过没问题,至少比国内的大部分证书靠谱(国内的不少https证书都被谷歌等公司的浏览器封锁了)。加上这三个代码就ok了,重启nginx生效。
(这是作者本人探索的方法,有什么法律问题作者概不负责。不过letsencrypt声称是开源的,大胆用)
二、预览及调试
1、预览
开发者开发完一个应用时,为了查看有没有问题,或想看看真实的体验怎么样,都会选择在手机上先预览一下再发布。
如图,选择项目,再点击预览。如果你的appId没问题的话,这里就会先帮你打包上传代码,打包完之后的代码非常小,我们本例中的demo,只有20k左右。上传完之后,会弹出一个二维码。
只能用登录这个开发工具的账号扫描才可能预览。而且25分钟过期。
前几次扫描,由于要加载一些资源文件,所以会出现一个界面:
然后进入主页面,长这个样子:
看起来跟网页H5应用差别不大,主要还是在体验上(反应速度、流畅度等等)
2、调试
右上角"…"弹出来的菜单:
大家可能会注意到,它可以直接在手机上调试,点击"打开调试"可以先看下它的效果,会有一个提示:
需要你重新扫码进入。接着会有右下角显示一个按钮:
点击它就可以进入控制台,如下:
有两个主要的tab,一个记录程序打出来的普通日志,包含Info、Warn、Error等;另一个是系统的信息:
这里主要是查看系统及网络相关的一些信息
开发者在调试的时候,打出来的日志可以在第一个tab上查看,之所以需要这个控制台,可能还是因为小程序不支持alert,调试时不方便看数据。
三、发布
1、上传
开发完之后,确认没问题,就可以点击上图中的"上传"按钮,上传到微信后台,这里也只有管理员和开发者才能进行操作。可以看到上传的编译包大小其实是很小的,只有24k,这里主要是没有本地图片的原因,有图片的话会大些。
2、提交前准备
登录微信小程序的后台,如图:
上传完之后,下一步就是提交审核。
不过在这之前,需要我们做几个操作:
(1)补充小程序的基本信息,如名称、图标、描述等
(2)如果发布者不是管理员,则必须要在这里添加开发者,进行代码上传和发布
(3)配置服务器域名,如果你的小程序用到了网络请求,那么这里要先在"设置"-"开发设置"里添加域名。
(4)提交审核
小程序的基础信息,如名称、图标等是这个账号全局的信息。logo图标一个月内可申请修改5次。而名称一旦设置,就不能再修改了,而且不得与公众平台已有的订阅号、服务号重复,这里有详细说明。
如果开发者本人就是管理员,则上面的第(2)步可以忽略,因为管理员"自动拥有开发者的所有权限,无需重复绑定"。
一个邮箱账号只能申请一个小程序,如果想开发多个小程序怎么办?平台这里有说明:除个体工商户类型可认证5个小程序外,其他类型一个主体可认证50个小程序。也就是说,如果你是企业主体,你可以弄50个邮箱,申请50个账号,开发50个小程序,而且每个都必须认证才能发布。
所以设置名称要谨慎,一旦设置了一个,你就少了一次机会。
另外,对于服务器域名,再次强调一下,一定要配置https,否则你是没办法用api进行网络数据请求的。
3、提交审核
前面的准备工作做完后,点击左侧的"开发管理"菜单,就可以看到之前我们上传的包:
点击提交审核,弹出二维码:
扫码通过之后,进入补充审核信息的页面:
这里可以绑定测试微信号,这个号最好是用户不常用的账号,因为微信的审核人员要登录你的这个账号进行审核。当然不提供这个测试账号也没事,这个功能感觉有点鸡肋。
下方区域要配置添加功能页面:
这些功能页面,主要是为了方便用户快速搜索到你的应用。可以添加多个功能页面,增加被搜索到的概率。
填写完之后,提交审核。
上图,提交后会显示"审核中",大概两三个工作日会通过(这是作者的小程序审核的时间,这个时间不一定,看具体情况)。右边有个"详情"链接,点击可查看版本详情:
最后通过审核时,就可以看到如下界面:
这里的"提交发布"按钮还不能点,微信还没有开放上线的操作,所以目前也只能到这一步。等微信放开的时候,再提交发布就可以了。