通过三方模版构建商户小程序

基于三方模版构建小程序版本接口引导

接口名:alipay.open.mini.version.upload 根据模版帮助商户上传小程序版本接口文档:https://docs.open.alipay.com/api_49/alipay.open.mini.version.upload注:该接口的结果返回10000表示调用成功,接着使用构建查询接口轮询(建议3-5秒)。

注意点

这个方法,是让第三方基于模版小程序创建自己的小程序。主要介绍两个请求参数,app_id和ext。app_id是三方应用的appID,template_id是三方应用创建的模版小程序的appID。


ext

自定义参数,实例化的小程序会生成一个ext.json的文件,该文件会覆盖小程序中的app.json文件。

在小程序可以通过my.getExtConfigSync().key获取字段。

template_id

模版ID,获取地址: https://openhome.alipay.com/platform/isvAppPage.htm#/app/{写成三方应用appid}/mini

app_version

每次实例化的版本号不可小于已有版本&不可重复。

为了方便第三方平台的开发者引入 appId 的开发调试工作,需要引入 ext.json 的概念。

ext.json 是一个配置文件,放置在小程序项目的根目录下。

  1. {
  2. "extEnable": true,
  3. "ext": {
  4. "shopId": "2018050xxxxxx975978",
  5. "miniShopId": "1112xxxxxx9766",
  6. "appId": "201xxxxxx108305"
  7. },
  8. "extPages": {
  9. "​pages/face/index":{
  10. "defaultTitle": "功能演示页面"
  11. }
  12. },
  13. "window":{
  14. "defaultTitle": "支付宝接口功能演示"
  15. },
  16. "tabBar": {
  17. "textColor": "#dddddd",
  18. "selectedColor": "#49a9ee",
  19. "backgroundColor": "#ffffff",
  20. "items": [
  21. {
  22. "pagePath": "pages/index/index",
  23. "name": "首页"
  24. },
  25. {
  26. "pagePath": "pages/logs/logs",
  27. "name": "日志"
  28. }
  29. ]
  30. }
  31. }

ext.json中的配置字段分为两种

  • 特有的字段
  • app.json 相同的字段
    extEnable 是一个 Boolean 类型的字段,用于规定当前的 ext.json 文件是否生效,开发者可以通过修改这个字段来开启和关闭 extAppid 的结合开发。ext 字段是开发自定义的数据字段,在小程序中可以通过 my.getExtConfigSync进行获取。【自定义参数,实例化的小程序会生成一个ext.json的文件,该文件会覆盖小程序中的app.json文件。】

例如上面的例子中,通过 my.getExtConfigSync 就可以获得 ext 字段的所有配置

  1. {
  2. "shopId": "2018050xxxxxx975978",
  3. "miniShopId": "1112xxxxxx9766",
  4. "appId": "201xxxxxx108305"
  5. }
  1. const extJson = my.getExtConfigSync();
  2. let shopId = extJson.shopId;
  3. let miniShopId = extJson.miniShopId;
  4. let appId = extJson.appId;

extPages 是一个对象,对象中的每个 key 应该是该小程序模版 app.json 中定义的页面,每个 key 对应的 value 是 page.json 中所规定的各项配置。当开发者设置这个配置以后,小程序框架会对应的修改相对应的 page 的配置信息。