微信第三方平台研究总结
一、背景
- 客户反馈小程序更新不及时导致用户体验不好
- 客户不想自己审核发布一系列麻烦操作
现阶段小程序采用的是微信ci工具文档,通过Jenkins打包后使用命令上传到微信指定版本服务,然后开发者或管理员需扫码登录公众平台去审核再发布
二、研究
针对客户反馈问题,第二次深入研究微信第三方平台配置
第三方平台的开放,让公众号或小程序运营者在面向垂直行业需求时,可以通过一键登录授权给第三方开发者,来完成相关能力。
经初步研究,发现可以实现我们的替客户审核发布流程,但是没有批量发布功能,只能一个客户一个客户配置,确实,批量发布不太可能实现,因为每个小程序配置项不一致,所以既然能替客户审核发布,也成为了我们的一个卖点。
综上开始申请和配置第三方平台
三、配置第三方平台
一、通过开发者资质认证
我们微信快捷登录功能已经注册了第三方的开发者资质(需300元)
二、创建第三方平台
平台创建步骤
1、完善基本信息、确认基本信息、提交审核
2、开发环境搭建、使用云服务模式并一键搭建开发环境
云服务模式:第三方平台后端服务选择官方云服务并部署于微信云托管的模式,可免开发一键完成部署与配置,降低服务商基于第三方平台开展业务的成本。
注意:首个环境赠送3个月的免费额度,按实际使用量计费
3、代开发小程序、绑定小程序、上传代码、提审发布
绑定开发的小程序以Taro小程序测试为例子:
代开发小程序步骤说明
如上图所示,第三方平台帮助旗下已授权的小程序进行代码管理时,需先开发完成小程序模板,再将小程序模板部署到旗下小程序帐号中,具体流程如下:
1、绑定开发小程序
(1)第三方平台的开发人员需先到微信公众平台(mp.weixin.qq.com)申请一个普通的小程序并完善小程序的头像、昵称、简介、服务类目等信息。
(2)进入微信开放平台,在第三方平台详情中,将该小程序添加为开发小程序。(注意,绑定为开发小程序后,该小程序在开发工具中上传,代码会直接上传到开放平台,不会上传到公众平台)
2、小程序模板的开发和上传
使用开发小程序的开发者微信号登录微信开发者工具,开发者工具中按照正常的小程序开发流程进行代码开发和调试。开发完成后,在开发工具中点击上传。使用详见:第三方平台代开发小程序
3、添加到小程序模板库,获得模板 ID
从开发者工具中上传的代码,会先存在草稿箱中,每个开发小程序只保留最新一份上传记录。开发者可将草稿箱中的代码添加到小程序模板库中,小程序模板库中的模板不会被覆盖。最多可以有200个代码模板,添加后可以获得模板 ID(TemplateID)。
小程序模板库分为普通模板库和标准模板库,关于两者的区别可以查看小程序模板库管理
4、调用接口,为旗下授权的小程序部署代码
重点提示:
小程序授权托管之后,只能使用第三方平台的在微信开放平台登记的服务器域名和业务域名。所以第三方平台在帮助旗下小程序发布代码之前,需先把服务器域名和业务域名设置到小程序的服务器域名和业务域名中
代开发模式提交小程序代码方式说明
注,绑定开发小程序的操作,请查看绑定开发小程序
更多关于第三方平台代开发小程序介绍可查看:官方文档
上述流程是将代码提交到草稿箱,再到模板库再提交到小程序。如果想实现直接将代码提交到小程序,则可以通过使用 directCommit 直接提交至待审核列表。directCommit是 ext.json 里的一个参数,详情可查看extAppid 的开发调试
除了通过开发者工具提交代码,还可以通过miniprogram-ci提交代码,directCommit同样适用于 ci 工具;
基于文档,改造项目配置文件
本公司项目是Taro框架打包生成的小程序,所以要做ext.json自定义字段的兼容,修改原先代码的引用路径,实现sass化可配置项目
1、新增第三方配置项
2、修改打包配置文件
修改项目中的文件,每次打包把ext.json配置到根目录下,实现自定义覆盖
3、修改配置项
修改项目中所有页面打包后使用的单独配置项,如storeId和appId,全局替换。
使用方法截图:
4、测试功能
测试修改ext.json实现不同商家单独项切换,测试功能
三方服务脑图
小程序授权、发布流程
三、测试第三方平台
创建并实现第三方平台的功能后,需进行测试,确保授权托管有效
四、申请全网发布
在测试完成后,需为第三方平台提交全网发布,全网发布后,才能被其他公众号或小程序授权
四、配置授权平台
第三方授权平台地址:采用微信云服务会自动分配地址、账号和密码,等待通知消息即可。
一、自动生成授权链接
二、授权帐号管理
1、版本管理
测试小程序例子ext.json配置json:
extAppid 是授权调试的 AppID ,例如开发者在此处填写的是wxf9c4501a76931b33那么在 extEnable 为真的情况下,后续的开发逻辑都会基于 wxf9c4501a76931b33 来运行。
ext 字段是开发自定义的数据字段,在小程序中可以通过 wx.getExtConfigSync 或者 wx.getExtConfig 获取到这些配置信息。
例如上面的例子中,通过 wx.getExtConfigSync 就可以获得 ext 字段的所有配置
2、提交审核
1、提交代码审核前的前置检查项补充说明:
除了提到的名称、简介、类目和头像,还需检查用户隐私保护指引是否已经配置好,相关配置指引可查看《配置小程序用户隐私保护指引》;公告详情可查看《关于补充小程序、插件用户隐私保护指引说明》
此外,如果小程序还涉及申请地理位置等相关隐私接口,还需对相关 api 进行权限申请、在代码中进行声明,相关公告详情可分别查看小程序地理位置相关接口调整、地理位置接口新增与相关流程调整
上传代码以及提交代码审核接口的注意事项,可查看对应的接口文档。
2、遇到的审核问题及解决方法:
3、审核通过后发布
五、总结
针对这次研究和发掘,也反映出知识的空缺、第一次研究的疏忽,虽然微信服务端三个月后会收费,但是实现了替客户审核发布的流程,间接可以增加我们系统的多样性。
最后引用一句话:想都是问题,做才是答案,站着不动,永远都会是观众。