概述
小程序运营商可以一键授权第三方平台,通过第三方平台完成业务。小程序在第三方平台的前后端开发不同于直接开发小程序。API及其详细描述请参考第三方平台接口文档小程序开发系统,并请阅读下文的其余部分。
第三方平台小程序的开发具有一定的复杂性。首先支付宝小程序开发,需要确认三个概念:
第三方平台相关的小程序开发需要做一些特殊处理:
其他补充:
创建项目
与普通小程序开发一致,第三方平台开发者填写相关的3rdMiniProgramAppid,设置项目名称,选择项目目录创建项目。
对于第三方平台小程序,您可以在项目页面卡片上查看相关的open3rd信息和当前第三方3rdMiniProgramAppid。如果项目配置了相关的extAppid,项目页面卡片也会有相关信息。
小程序模板开发
与普通小程序开发一致,开发者在开发工具上开发好相关业务逻辑后,在项目页面卡片提交预览即可在微信中查看小程序的真实表现。
不同的是,第三方平台上小程序的提交和上传是上传到第三方平台开户下的第三方平台模板草稿箱。平台管理员需要相应地设置模板。, 详情请参考第三方平台的文档。
extAppid的开发与调试
为了方便第三方平台开发者引入extAppid的开发调试,需要引入ext.json的概念。
ext.json 是一个配置文件,放在小程序项目的根目录下。
这是一个包含所有配置选项的 ext.json:
{
"extEnable": true,
"extAppid": "wxf9c4501a76931b33",
"directCommit": false,
"ext": {
"name": "wechat",
"attr": {
"host": "open.weixin.qq.com",
"users": [
"user_1",
"user_2"
]
}
},
"extPages": {
"pages/logs/logs": {
"navigationBarTitleText": "logs"
}
},
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "Demo",
"navigationBarTextStyle":"black"
},
"tabBar": {
"list": [{
"pagePath": "pages/index/index",
"text": "首页"
}, {
"pagePath": "pages/logs/logs",
"text": "日志"
}]
},
"networkTimeout": {
"request": 10000,
"downloadFile": 10000
},
{
"plugins": {
"myPlugin": {
"version": "1.0.0",
"provider": "wxidxxxxxxxxxxxxxxxx"
}
}
}
}
补充
1、插件的使用请参考使用插件。
2、第三方开发小程序,如果已经在app.json中配置
{
"lazyCodeLoading": "requiredComponents"
}
那么小程序开发系统,通过commit接口提交代码的时候,还需要配置ext_json。
{
"lazyCodeLoading": "requiredComponents"
}
ext.json 中的配置字段分为两个唯一字段
属性类型 必填 描述
布尔值
是的
配置ext.json是否生效
细绳
是的
配置 extAppid
目的
不
开发自定义数据字段
字符串数组
不
分别为每个页面设置 json
布尔值
不
是否直接提交待审名单
扩展启用
extEnable 是一个布尔类型的字段,用于指定当前的 ext.json 文件是否有效。开发者可以修改该字段来启用和禁用extAppid的组合开发。
extAppid
extAppid 是授权调试的 AppID。比如这里开发者填写wxf9c4501a76931b33,那么如果extEnable为true小程序开发系统,后续的开发逻辑就会基于wxf9c4501a76931b33运行。
分机
ext字段为自定义数据字段,可通过小程序中的wx.getExtConfigSync或wx.getExtConfig获取。
比如上面例子中,ext字段的所有配置都可以通过wx.getExtConfigSync获取
{
"name": "wechat",
"attr": {
"host": "open.weixin.qq.com",
"users": [
"user_1",
"user_2"
]
}
}
扩展页
extPages 是一个对象,该对象中的每个key应该是小程序模板app.json中定义的页面,每个key对应的value就是在.xml中指定的配置。
开发者设置此配置后,小程序框架会相应修改相应页面的配置信息。
直接提交
directCommit是一个布尔类型的字段,指定当前的上传操作是否直接上传到extAppid的review列表。
当directCommit为true时,开发者在工具中的上传操作会直接上传到对应的extAppid审核列表中,第三方平台只需调用即可提交审核。更多信息请参考第三方平台文档
当directCommit为false或未定义时,开发者在工具中的上传操作会直接上传到对应的草稿箱。
Tips:可以使用该工具的命令行界面或者http界面来实现自动化的代码提交审核
与 app.json 相同的字段
当 ext.json 中的字段与 app.json 中的字段相同时,ext.json 中的字段会覆盖 app.json 中对应的字段微信小程序开发,例如下面的 ext.json
{
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "ext navigationBarTitleText",
"navigationBarTextStyle":"black"
}
}
那么小程序最终的navigationBarTitleText应该是ext navigationBarTitleText。
翻译由微信翻译提供,仅供参考。如中英文版本有任何不一致和差异,以中文版本为准。翻译不正确。
本站声明: 本文章内容来源于互联网,文章内容仅供用户参考。本公司不能完全保证文章内容的准备性、时效性。如果因本文章对用户造成了任何损失或者损害,本公司将不会承担任何法律责任。如果涉及到版权问题,请提交到wikins@nbyuyuan.com