通过三方模版构建商户小程序
基于三方模版构建小程序版本接口引导
接口名: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
是一个配置文件,放置在小程序项目的根目录下。
{
"extEnable": true,
"ext": {
"shopId": "2018050xxxxxx975978",
"miniShopId": "1112xxxxxx9766",
"appId": "201xxxxxx108305"
},
"extPages": {
"pages/face/index":{
"defaultTitle": "功能演示页面"
}
},
"window":{
"defaultTitle": "支付宝接口功能演示"
},
"tabBar": {
"textColor": "#dddddd",
"selectedColor": "#49a9ee",
"backgroundColor": "#ffffff",
"items": [
{
"pagePath": "pages/index/index",
"name": "首页"
},
{
"pagePath": "pages/logs/logs",
"name": "日志"
}
]
}
}
ext.json
中的配置字段分为两种
- 特有的字段
- 同
app.json
相同的字段
extEnable 是一个 Boolean 类型的字段,用于规定当前的 ext.json 文件是否生效,开发者可以通过修改这个字段来开启和关闭 extAppid 的结合开发。ext 字段是开发自定义的数据字段,在小程序中可以通过 my.getExtConfigSync进行获取。【自定义参数,实例化的小程序会生成一个ext.json的文件,该文件会覆盖小程序中的app.json文件。】
例如上面的例子中,通过 my.getExtConfigSync
就可以获得 ext
字段的所有配置
{
"shopId": "2018050xxxxxx975978",
"miniShopId": "1112xxxxxx9766",
"appId": "201xxxxxx108305"
}
const extJson = my.getExtConfigSync();
let shopId = extJson.shopId;
let miniShopId = extJson.miniShopId;
let appId = extJson.appId;
extPages 是一个对象,对象中的每个 key 应该是该小程序模版 app.json 中定义的页面,每个 key 对应的 value 是 page.json 中所规定的各项配置。当开发者设置这个配置以后,小程序框架会对应的修改相对应的 page 的配置信息。