第三方平台文档指引:点击检察微信开放平台 - 第三方平台(简称第三方平台),由微信团队面向一切经过开辟者天资认证的第三方开辟者供给供给的官方平台。
在获得公众号或小法式治理员授权后,基于该平台,第三方办事商可以经过挪用官方接口才能,为商家供给公众号代运营、小法式代注册、代开辟等办事以及供给公众号和小法式相关的行业计划、活动营销、插件才能等全方位办事。 获得小法式授权后,基于该平台可以为营业方供给代开辟等办事。接下来,本文将为大师先容下第三方平台以及若何基于第三方平台实现自界说公布计划。
平台型第三方平台焦点上风
平安牢靠的授权
- 就办事商而言,此种授权方式加倍平安和便利,办事商无需治理多个商家的账号密码大概 appid 和secret;
- 就商家而言,此种授权方式也加倍平安和便利,商家只需要将部分权限授权给办事商即可;无需将公众号/小法式的账号密码大概 appid 和secret都交由办事商;且商家可以随时停止消除授权;
可基于官方接口才能批量为商家供给办事
- 获得商家授权后,即可经过官方接口才能批量代商家的公众号和小法式停止批量治理,大大提升效力。
- 且,假如是小法式,则可以将小法式代码上传托管到第三方平台的小法式模板库中。操纵第三方平台的才能,可基于一个模板停止公布多个小法式,有益于办事商批量为商家开辟小法式。
一、第三方代开辟概念先容
为了帮助读者更快了解第三方平台计划,撤销授权到三方平台的疑虑,这里先先容下根基概念。
1.1 、授权 vs 绑定
首先营业方为了将公众号和小法式的用户身份买通要将营业方的公众号、小法式绑定到营业方同一个开放平台帐号下,才能实现,这与第三方平台的授权行为是完全不抵触的。
- “绑定”指的是将商家的公众号大概小法式帐号绑定到商家的开放平台下
绑定
- “授权”是指商家将其公众号大概小法式扫码授权给办事商的第三方平台帐号
授权
具体关系以下图所示:营业方只需要授权到第三方平台即可,不影响原本的绑定行为。
绑定vs授权
1.2、小法式权限集
- 权限集是一个大概多个接口的权限的调集,当小法式或公众号治理员将某权限集授权给办事商,则办事商就获得了该权限集包括的接口的挪用权限。
- 权限集有能否互斥之分,权限集互斥指的是该权限集只可同时授权给一个第三方平台。
小法式权限集部分截图
同一权限集没法细分拆开零丁接口停止授权。
开辟治理与数据分析权限
1.3、分歧范例的token
.token称号 | 说明 | access_token | - 是利用公众号、小法式、网站利用大概移动利用的 Appid 和 secretKey 天生的。- 利用 access_token 挪用官方接口,指的是利用商家身份挪用接口,常用于自研形式。- 公众号、小法式、网站利用、移动利用的接口均支持利用 access_token 挪用。 | component_access_token | - 是利用第三方平台帐号的 Appid 和 secretKey 以及 component_verify_ticket 天生的。- 利用 component_access_token 挪用官方接口,指的是利用办事商身份挪用只开放给办事商的接口。- 第三方平台的部分接口支持利用 component_access_token 挪用。 | authorizer_access_token | - 是在获得商家授权的情况下,利用 component_access_token 和授权帐号 authorizer_appid 天生的。- 利用 authorizer_access_token 挪用官方接口,指的是办事商代商家(办事商以商家身份)挪用接口,常用于第三方开辟形式。- 公众号、小法式的接口以及第三方平台的部分接口支持利用 authorizer_access_token 挪用。- 网站利用、移动利用的接口不支持利用 authorizer_access_token 挪用。 |
指导商家完成授权后,办事商即可获得权限代营业方(商家)挪用公众号大概小法式的接口,只是办事商挪用的时辰要利用authorizer_access_token,而不是access_token
二、第三方代开辟理论
2.1、商家授权办事商
医疗云第三方平台
2.2、授权小法式与开辟小法式
小法式称号 | 说明 | 授权小法式(别名商家小法式) | - 商家可以有小法式,办事商也可以有小法式,为了高效相同,凡是将商家主体的小法式称为商家小法式;- 当商家将其小法式授权给办事商以后,则称之为授权小法式。- 但是,商家可以将公众号和小法式都授权给办事商,统称为授权帐号,指的是已经授权给办事商的帐号(含公众号和小法式帐号)- 与授权帐号相对的是办事商帐号,凡是是利用第三方平台帐号来代指办事商帐号。 | 开辟小法式(别名模板小法式) | - 商家小法式凡是是终极会公布上线,成为一个可用的利用为 C 端用户供给办事的。- 而开辟小法式只是办事商用于停止小法式代码的编写、用于小法式的调试等工作,凡是不会公布上线。- 由于一份小法式的代码可以批量复制于无数个商家小法式,这份母版小法式代码又称小法式模板代码,用于开辟该母版小法式代码的小法式帐号则是“开辟小法式”帐号,也称之为“模板小法式”帐号。- “开辟小法式”实在也是一个普通的小法式帐号,只需要将普通小法式绑定到第三方平台帐号中即为“开辟小法式”。 |
- open3rd:第三方平台账号,是认证的第三方开辟者账号 详情
- 3rdMiniProgramAppid:第三方平台申请的并绑定在该平台上的小法式,指的是“开辟小法式”的appid (营业方无需关注)
- extAppid: 授权给第三方平台的营业方(商家)小法式的appid
第三方平台相关的小法式开辟需要做一些特别的处置:
- 小法式模板的开辟
- 小法式模板连系 extAppid 的开辟调试
- 利用 directCommit 间接提交至待考核列表
2.3、代营业方开辟小法式
官方给出的代开辟小法式流程比力复杂,涵盖了代小法式开辟、提交接码、提交接码考核、公布上线的全进程。
但是对我们场景来说,不干与营业方小法式的开辟,只触及开辟完成后代营业小法式提交接码、提审、公布的场景。 也就是我们只关注下图场景:
图中先容了两种代上传小法式代码的形式,在具体先容这两种形式之前,我们先看下第三方形式下新增的ext.json设置文件。
前文先容概念时提到过3rdMiniProgramAppid 和extAppid, 我们都晓得小法式的project.config.json中声了然appid, 授权到三方平台后,代营业方小法式操纵提交接码、提审公布时,这个appid需要被替换成3rdMiniProgramAppid,是以需要一个设置来治理营业方实在的appid即extAppid。 ext.json就是这样的一个设置文件,用来设置代开辟后相关信息。- {
- "extEnable":true,
- "extAppid":"wxbfdd416fcdf80be5",
- "directCommit":true// 能否间接提交到考核列表
- }
复制代码 其中directCommit用来指定能否间接提交到考核列表,上传代码至草稿箱的形式,适用于经过代码模版,开辟治理多个授权小法式的形式。再次重申,不干与营业方小法式的开辟,只触及开辟完成后代营业小法式提交接码、提审、公布的场景。是以非论是从方针还是计划的可行性斟酌,经过directCommit计划间接提交小法式代码到考核列表都是加倍公道的挑选。
三、第三方代开辟公布平台搭建
前文先容了第三方平台相关的根基概念,若何基于第三方平台代开辟小法式,下面将具体先容下第三方代开辟公布平台是若何基于第三方平台实现平台的自界说授权公布计划。
3.1、计划先容
第三方代开辟平台的授权公布计划整体流程以下图所示。 与未授权计划相比,营业小法式当地开辟、特征分支push触发开辟版二维码天生的流程没有任何变化。区分在于上传代码天生体验版 及后续的小法式提交考核、公布、上线的流程。后续流程不再基于mp平台停止,而是经过三方平台挪用api实现。
为实现上图的结果平台需要实现下述几点才能:
- 供给小法式授权到第三方平台进口
- 小法式上传流水线革新
- 增加版本治理才能
- 管控域名、隐私协议
下面也将从这几个方面先容计划的具体实现。
3.2、api办事层封装
前文说起过,三方平台想挪用api接口操纵小法式,需要营业方授权,而且供给authorizer_access_token,而不是access_token。
3.3、小法式上传流水线革新
前文先容ext.json中的 directCommit 是一个 Boolean 范例的字段,用于规定当前的上传操纵能否是间接上传到 extAppid 的考核列表中。 当 directCommit 为 true 真时,开辟者在工具中的上传操纵,会间接上传到对应的 extAppid 的考核列表,第三方平台只需要挪用 https://api.weixin.qq.com/wxa/submit_audit?access_token=TOKEN 即可以提交考核。
directCommit可以经过miniprogram-ci ci工具停止上传,ci工具利用说明以下:
miniprogram-ci 从 1.0.28 起头支持第三方平台开辟的上传和预览,挪用方式与普通开辟形式无异。 利用第三方平台开辟形式时,应留意:请确保项目中存在正确的 ext.json
密钥文件是第三方平台绑定的开辟小法式 appid 的密钥文件
ip白名单是第三方平台绑定的开辟小法式 appid 的 ip 白名单
挪用传入的 appid 是第三方平台绑定的开辟小法式 appid 关于第三方平台开辟形式 也就是说利用miniprogram-ci 配合directCommit配合小法式上传,需要项目具有正确设置的ext.json文件。
- 经过ext.json设置的extAppid字段声明营业小法式的实在appid
- 项目project.config.json中的appid需要替换成第三方平台开辟小法式的appid
- 上传凭据也需要替换成开辟小法式的上传凭据。
由于要让营业方无需关心上述转换流程,需要对小法式上传代码天生体验版的ci流程停止革新。
- 增加ext.json文件,文件中extAppid为营业小法式appid
- 点窜project.config.json文件中appid为开辟小法式appid
- 经过miniprogram-ci 上传下法式代码至第三方平台
流程图以下所示:
3.4、 体验版二维码获得
由于前文先容,对上传小法式代码停止了革新上传至第三方平台,也没法再利用原有miniprogram-ci的方式获得体验版二维码,获得到的会是开辟版小法式的体验二维码而不是营业小法式。
是以需要零丁供给营业小法式的体验版二维码的获得方式。 经过openAPI获得体验版二维码接口:https://api.weixin.qq.com/wxa/get_qrcode?access_token=ACCESS_TOKEN 获得体验版二维码并经过流水线推送至开辟者。
3.5、 版本治理才能
营业小法式授权到三方平台后原mp平台的版本治理页面将没法再利用。
需要为营业方供给新的版本治理页面。
并经过部属openApi实现小法式版本的提审、公布、灰度、全量。
- submitAudit 提交接码考核
- getAuditStatus 查询考核状态
- release 公布已经过考核的小法式
- revertCodeRelease 版本回退
可扩大功用点:
1.毗连生产办事器的体验版才允许提审。
2.公布前增加审批流。比如必须经过自动化测试/野生测试审批后才可以公布。
3.6、 域名治理
营业小法式授权第三方平台后,需要由第三方平台治理小法式的营业域名和办事器域名,为了避免营业方反复设置,实现无缝切换,前文的授权后流程中也先容了授权后会小法式域名的同步设备,小法式的域名的设备方式以下图。
不管是营业域名还是办事器域名都支持下面两种方式设备。
方式一
- 将营业域名/办事器域名设置到第三方平台中,再经过挪用接口setwebviewdomain大概接口modifyServerDomain将域名设置给营业小法式。
留意:
- 需要先将域名挂号到第三方平台的小法式营业/办事器域名中,才可以挪用接口停止设置
- 营业域名平台最多增加200个
- 域名设备每月可提交点窜申请50次
- 支持经过接口modifyServerDomainDirectly快速设置小法式办事器域名
留意:
该接口用于设置小法式办事器域名,不再需要先将域名设置到第三方平台,可经过该接口间接停止设置到授权小法式。可是,设置成功后,需要提交接码大概公布上线后才会真正生效经过该接口设置的域名。
方式二
- 支持经过接口modifyJumpDomainDirectly快速设置小法式营业域名
留意:
- 挪用该接口前需要先挪用接口get_webviewdomain_confirmfile用于获得设置小法式营业域名的校验文件,需要将该校验文件放置在根域项目录下, 以后再挪用接口modifyJumpDomainDirectly才能挪用成功(与mp平先获得校验文件再设置营业域名逻辑分歧)。
- 营业小法式在原mp平台下载并上传到域名根目录下的校验文件仍然生效,对于这部分域名,间接挪用modifyJumpDomainDirectly接口设备即可成功。
- 设置成功后,需要提交接码大概公布上线后才会真正生效经过该接口设置的域名。
3.7、 隐私协议设备
授权到第三方平台后,授权主体从小法式主体变成第三方平台的主体,是以mp上的隐私设备 设置无效,需要重新填写隐私设备设置
倡议: 授权前先前往mp平台 》设备 》根基设备 》功用设备 》用户隐私庇护指引设备 保存原有设置,便于授权后重新填写隐私设备设置。
留意: 需要在上传过一次体验版以后再去设备隐私协议
设备隐私协议接口:setPrivacySetting
- 设置后,需重新提交接码考核,考核经过且需要重新公布上线后才会在小法式端生效。
- 设置后,可经过查询最新一次提交的考核状态接口查询考核的状态,假如是采纳了则可以检察采纳缘由。
获得隐私协议接口:getPrivacySetting
- 本接口用于查询第三方代开辟小法式的用户隐私庇护指引,也可以用来查询有哪些privacy_key可以停止设置
|