微信小程序从开发到上线

前言

最近个人开发的小程序要上线了,这里写篇汇总了下从开发到上线的流程和一些注意点,笔者前后台一共花了大概4,5天时间完成开发,但是最后上线时间却delay了一周,文中会介绍为啥delay了那么长时间,也给其它朋友一些经验。

注册开发者帐号

要从事微信小程序开发,第一步当然是注册为小程序开发者,还没注册的同学请通过微信公众平台进行注册,具体注册和实名流程这里就不详细介绍了,非常简单,照着流程做就可以了。

注册好了需要新建一个小程序,跟着guide做就好了,会让你设置小程序名称、图标、分类、描述等等信息,在新建完成后可以看到会生成appid和app secrect,appid在后续登录ide和在开发的工程中都会用到,appsecrect暂时用不到。
运行


Screenshot 2018-05-01 19.14.54

这里需要提醒下,对于小程序的一些基本信息修改的次数是有限的,例如:

1)小程序名称在发布前只能修改两次,每次修改都需要等待1-2个工作日de审核,小程序的名称是不能和其他人重复,如果想要已经被抢注的名称,那就只能和之前抢注的人协商了;

2)小程序的头像每个月可以修改5次,小程序头像的修改次数还是比较多的,而且大家一般也不会没事修改头像;

3)服务类别、介绍等也是每个月限制了修改次数,每个月可以修改5次。

注:这里介绍的都是个人开发者的一些流程,对于企业开发者流程会复杂一些,企业的实名过程需要上传证照等信息。

下载IDE开发

腾讯官方提供了微信小程序、小游戏开发的IDE工具,这个工具整体使用起来还算比较方便,基本功能也是比较全的,从开发到调试到测试基本都涵盖了,不过对于有经验的前端开发者还是擅长使用webstorm或者sublime加插件的方式开发。微信IDE可以比较方便的和腾讯云集成,不过因为我的服务器不是腾讯云所以没有尝试相关功能。


Screenshot 2018-06-07 10.42.48

微信小程序IDE下载地址

申请域名、配置https

以前开发

Screenshot 2018-05-01 19.23.01

因为小程序要求必须是在ICP备案过的域名,这就要求大家必须到ICP进行备案,常见的有以下几种情况:
1)如果是国内几大空间服务商的用户会比较方便,通管局都授权了这些网站可以不用面签并且不用专用幕布拍照就可以在线申请备案,一般只要用当地的备案app手持身份证拍照并上传相关证件信息就可以了,一般云服务商会先进行简单的初审并提出一些修改意见,一般来说这个过程1天就能搞定。


Screenshot 2018-05-04 08.42.38

2)如果服务器是自己的或者买的境外的云资源,那就会麻烦点,如果域名是通管局认可的例如.cn.com.gov.me.club之类的一般去通管局网站按照流程申请就可以了,但是如果是一些国外域名公司申请的一些比较诡异的域名可能无法申请通过,这样的话只能换域名了。自行申请的话流程会比较复杂一些,建议按照官网流程来实施。
3)因为各省的通管局都是独立运作,各省也是各家服务层次不齐,所以建议还是通过国内几大云服务商进行代理备案会方便很多,但是各家代理备案都是要买入它们的云资源的,不然无法进行代理备案。

在备案这个环节我就折腾了比较长的时间,笔者原先的域名是在境外域名服务商那申请的,服务器也是境外的,所以以前做的一些blog或者网站域名都没经过备案,这次小程序必须要ICP备案,以为只是上传一些证件信息就可以了,还是too young too simple 谁知道直接找通管局申请是这么麻烦,首先在上海的通管局官网上愣是没找到申请入口,其它省的通管局不清楚,后来网上查了下流程比较麻烦,还要去当地通管局现场拍照什么的,算了还是为了小程序找个国内的云资源吧,找了台阿里云的资源,登录阿里云的代理备案但是发现我在国外申请的域名没办法国内实名。。。,没办法那就只能申请个国内便宜的域名去申请备案了,在阿里云买了个很便宜的.club域名然后就照着流程走,很快3天就全部搞完。
我的惨痛经验告诉大家,如果要快速上架小程序,最好是国内申请的域名+国内的云资源。

申请好域名后就简单多了,只要服务器提供的服务是https就可以设置到小程序的访问url白名单里。一般来说公司都会使用verisign或者其它一些大的CA证书服务商提供的域名,但是这里因为是个人小程序为了成本考虑,那几只能使用免费的了,简单通过openssl的自定义ssl证书微信是不认可的没法加入白名单,这里推荐大家使用https全球公益组织提供的免费的SSL证书-let's encrypt https://github.com/letsencrypt/letsencrypt, let's encrypt最大的问题就是每次申请的效期只有3个月,到期后需要自己续期,网上很多人写了自动续期脚本可以参考,其实也比较简单,因为还没到3个月所以懒癌发作还没来得及写自动续期脚本,这里先列下手工生成SSL证书的步骤。

//首先下载letsencrypt
git clone https://github.com/letsencrypt/letsencrypt
//下载下来后cd到letsencrypt的根目录执行安装
./letsencrypt-auto

安装成功后会提示

完毕!
Creating virtual environment...
Installing Python packages...
Installation succeeded.

下面就开始生产证书

./letsencrypt-auto certonly --standalone --email monkey01@XXX.com -d www.monkey01.club

这里有几个参数各位要自行修改,一个是email地址,一个是-d参数后的证书对应的域名,域名一定不要弄错了,弄错了后面小程序发起请求的时候会校验不过,不要问我为什么知道。

生成成功后会有一大段提示,大概的意思就是祝贺你生成成功了,默认会把4把秘钥放到/etc/letsencrypt/live/www.monkey01.club 这个目录下,会为每个域名生成一个目录。因为letsencrypt生成的证书是pem格式的,目前很多web服务器需要的都是jks或者p12,所以我们还需要进行一个格式转换,这里个是转换可以直接使用openssl,我的服务端是springboot写的服务器用的是tomcat所以直接生成p12就可以了,下面我先说下pem转p12的命令:

openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out mk_letsencrypt.p12 -name tomcat_letsencrypt

这里也有几个参数要改下,fullchain.pem和privkey.pem是之前用letsencrypt。

证书生成之后只要配置到服务端应用服务器中就可以对外提供https服务访问了。

发布体验版

前端开发完成,服务端开发部署完并配置https证书后,就可以进行体验版发布了,这里的体验版发布阶段有点类似于我们日常的灰度发布前的内部灰度测试,可以指定白名单用户进行生产测试体验。发布的动作其实很简单,就是在微信的开发IDE中上面工具栏上点击上传按钮即可发布到微信服务器,提交后就可以在mp管理端查看到新的开发版本,可以发布二维码白名单用户扫码后进行体验。


Screenshot 2018-06-07 10.48.51

上线审核

体验版本验证没问题后就可以发布,点击开发版本右边的提交审核按钮就可以发布到腾讯进行小程序审核,第一次发布审核时间会比较长,大约3-5个工作日左右,日后的升级版本审核就很快了,基本上可以做到半天就审核通过。


Screenshot 2018-06-07 11.00.351

上线

审核通过后就会出现在审核版本的栏位,点击右边的发布即可,对于即将发布的小程序也可以选择是按比例灰度发布或者是全量发布,对于用户量不大的小程序直接全量发布就可以了,对于用户量比较大的小程序建议还是先按比例灰度发布,发布后监控一段后台服务情况,如果发现问题可以紧急回退版本,小程序mp管理端也提供了前端版本回退的功能。
总体来说小程序在版本管理、发布回退的体验方面做得还是很好的,能够满足基本需求,不需要额外的开发。


Screenshot 2018-06-07 10.59.07

总结

本文介绍了小程序从开发到上线的一个全流程,希望对大家有一定的帮助。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,423评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,339评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,241评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,503评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,824评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,262评论 1 207
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,615评论 2 309
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,337评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,989评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,300评论 2 240
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,829评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,193评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,753评论 3 230
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,970评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,708评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,295评论 2 267
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,207评论 2 258

推荐阅读更多精彩内容

  • 转载链接 注:本文转载知乎上的回答 作者:初雪 链接:https://www.zhihu.com/question...
    pengshuangta阅读 28,303评论 9 295
  • 之前通过几何分形学学习了一下缓存机制,今天来学习一下“字词分割学”吧,哈哈,我自己瞎造的词,主要是为了学习一下CS...
    心彻阅读 1,326评论 0 1
  • 大理之行在火车的摇摇晃晃中落幕,这次来和上次来大有不同,如果说上次的旅行是一次新鲜而又冲动的体验,那么这一次则是一...
    波斯猫猫阅读 166评论 0 1
  • 每个人有每个人的态度和生活方式,没有必要非强迫自己,压缩进一样正方形的盒子里。 每种选择都意味着相应的放弃,也都有...
    没头脑小姐吖阅读 159评论 0 0