小程序第三方平台管理方案
接收推送授权相关通知
微信文档地址:微信开放平台 步骤5中9
当公众号对第三方平台进行授权、取消授权、更新授权后,微信服务器会向第三方平台方的授权事件接收URL(https://xxx.xxxx.com/index.php/MiniApp/Auth/get_component_verify_ticket)推送相关通知
- 接到授权通知后:
- 获取小程序的基本信息
- 获取小程序码
- 修改小程序服务器地址
- 代码发布并提交审核
- 接收到审核成功的通知后发布
- 接到取消授权通知后:
将该授权小程序状态标为取消授权,前端页面做相应处理,用户可在该页面进行重新授权
获取小程序的基本信息
微信文档地址:微信开放平台 步骤5中6
- 微信平台API:
https://api.weixin.qq.com/cgi-bin/component/api_get_authorizer_info?component_access_token=xxxx(POST) - 美秒平台API:https://xxx.xxxx.com/index.php/H5/Info/getMiniAppS?ip=xx&uid=xx(GET)
获取小程序的小程序码
微信文档地址:获取二维码 · 小程序
- 微信平台API:
https://api.weixin.qq.com/wxa/getwxacode?access_token=Component_Access_Token(POST) - 美秒平台API:https://xxx.xxxx.com/index.php/MiniApp/Code/getwxacode(POST)
参数:appid path
修改小程序服务器地址
微信文档地址:微信开放平台
设置小程序服务器域名
微信平台API:https://api.weixin.qq.com/wxa/modify_domain?access_token=TOKEN(POST)
美秒平台API: https://xxx.xxxx.com/index.php/MiniApp/Code/modify_domain (POST)
参数:appid paramJson
设置小程序业务域名(小程序内web-view域名)
微信平台API:
https://api.weixin.qq.com/wxa/setwebviewdomain?access_token=TOKEN(POST)
- 美秒平台API: 未完成
代码发布(暂定)
- 获取代码模版库中的所有小程序代码模版
微信文档地址:微信开放平台微信平台API:https://api.weixin.qq.com/wxa/gettemplatelist?access_token=TOKEN(POST)- 美秒平台API: https://xxx.xxxx.com/index.php/MiniApp/Code/getTemplateList (GET)
选择模版库中user_desc字段中带有‘release’的template_id,同时user_version为模版版本即小程序版本,该字段可用于前端展示(比如线上版本,版本审核通过、不通过等)::
- 为授权的小程序帐号上传小程序代码
微信文档地址:微信开放平台微信平台API:https://api.weixin.qq.com/wxa/commit?access_token=TOKEN(POST)- 美秒平台API:https://xxx.xxxx.com//index.php/MiniApp/Code/commitCode(GET)
参数中template_id、user_version、user_desc来自上一步的结果,ext_json应该是实时生成的
1 | const request = require("request"); |
- ext_json模版
1 | { |
- 获取体验小程序的体验二维码
微信文档地址:微信开放平台
该接口按需求调用,开发用小程序需要,其他小程序看客户是否需要在发布之前体验
- 微信平台API:
https://api.weixin.qq.com/wxa/get_qrcode?access_token=TOKEN&path=page%2Findex%3Faction%3D1 (GET) - 美秒平台API:
https://xxx.xxxx.com/index.php/MiniApp/Code/get_qrcode/appid/wx9193c9463e051965 (GET)
提交审核
微信文档:微信开放平台 3、4、5
- 获取授权小程序帐号的可选类目
- 微信平台API:https://api.weixin.qq.com/wxa/get_category?access_token=TOKEN(GET)
- 美秒平台API:
https://xxx.xxxx.com/index.php/MiniApp/Code/getCategory?appid=xxx(GET)
通过微信API获取到的category_list在提交审核时需要用::
- 获取小程序的第三方提交代码的页面配置(可不调用)
- 微信平台API:
https://api.weixin.qq.com/wxa/get_qrcode?access_token=TOKEN&path=page%2Findex%3Faction%3D1 (GET) - 美秒平台API: 未完成
- 微信平台API:
- 将第三方提交的代码包提交审核
1 | const request = require("request"); |
- category_list模版
1 | [ |
- item_list模版
1 | [ |
撤回审核
微信文档:微信开放平台 16
- 微信平台API:https://api.weixin.qq.com/wxa/undocodeaudit?access_token=TOKEN (GET)
- 美秒平台API:https://xxx.xxxx.com/index.php/MiniApp/Code/recallAudit?appid=xxx (GET)
发布
微信文档:微信开放平台 6、7、8、9
当小程序有审核结果后,第三方平台将可以通过开放平台上填写的回调地址(https://xxx.xxxx.com/index.php/MiniApp/Code/dealWxCb/apppid/$APPID$),获得审核结果通知。
审核通过时:直接执行发布
审核失败时:记录失败原因反馈给前端
- 获取审核结果
- 微信平台API:https://api.weixin.qq.com/wxa/get_auditstatus?access_token=TOKEN(POST)
- 美秒平台API:
https://xxx.xxxx.com/index.php/MiniApp/Code/get_auditstatus?appid=xxx&auditid=xxx(GET)
参数auditid为提交审核时获得的审核id
- 发布
开发
成员管理
微信文档:微信开放平台
- 绑定微信用户为小程序体验者
- 解除绑定小程序的体验者
- 获取体验者列表
获取分享小程序码
微信文档:获取二维码 · 小程序
- 微信平台API:
https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN(POST) - 美秒平台API:
https://xxx.xxxx.com/index.php/MiniApp/Code/getwxacodeRt?appid=xxx&scene=encodeURIComponent(xxx)&page=encodeURIComponent(xxx)(GET)
微信用户登录
微信文档:开放接口 · 小程序 微信开放平台
登录流程时序
小程序调用wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。
开发者服务器以code换取 用户唯一标识openid 和 会话密钥session_key。
之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。
客服消息
微信文档:客服消息 · 小程序 转发消息 · 小程序
一种是有程序接管,另一种是转发到网页版客服工具(先选择这一种)
所有客服消息会推送到 https://xxx.xxxx.com/index.php/MiniApp/Code/dealWxCb/apppid/$APPID$
如果小程序设置了消息推送,普通微信用户向小程序客服发消息时,微信服务器会先将消息 POST 到开发者填写的 url 上,如果希望将消息转发到网页版客服工具,则需要开发者在响应包中返回 MsgType 为 transfer_customer_service 的消息,微信服务器收到响应后会把当次发送的消息转发至客服系统。
模版消息
微信文档:模板消息 · 小程序
小程序微信支付
微信文档:【微信支付】微信小程序支付开发者文档 微信支付 · 小程序
业务流程时序图
商户系统和微信支付系统主要交互:
