开发十年,就只剩下这套架构体系了! >>>
小程序之间跳转可以利用组件navigator进行跳转,但是需要navigateToMiniProgramAppIdList才能,
由于是第三方代小程序管理,看不到源码,所以没法手动配置.开放平台提供自动配置方法.
navigator
页面链接。
属性名 | 类型 | 默认值 | 说明 | 最低版本 |
---|---|---|---|---|
target | String | self | 在哪个目标上发生跳转,默认当前小程序,可选值self/miniProgram | 2.0.7 |
url | String | 当前小程序内的跳转链接 | ||
open-type | String | navigate | 跳转方式 | |
delta | Number | 当 open-type 为 'navigateBack' 时有效,表示回退的层数 | ||
app-id | String | 当target="miniProgram"时有效,要打开的小程序 appId | 2.0.7 | |
path | String | 当target="miniProgram"时有效,打开的页面路径,如果为空则打开首页 | 2.0.7 | |
extra-data | Object | 当target="miniProgram"时有效,需要传递给目标小程序的数据,目标小程序可在 App.onLaunch() ,App.onShow() 中获取到这份数据。详情 |
2.0.7 | |
version | version | release | 当target="miniProgram"时有效,要打开的小程序版本,有效值 develop(开发版),trial(体验版),release(正式版),仅在当前小程序为开发版或体验版时此参数有效;如果当前小程序是正式版,则打开的小程序必定是正式版。 | 2.0.7 |
hover-class | String | navigator-hover | 指定点击时的样式类,当hover-class="none" 时,没有点击态效果 |
|
hover-stop-propagation | Boolean | false | 指定是否阻止本节点的祖先节点出现点击态 | 1.5.0 |
hover-start-time | Number | 50 | 按住后多久出现点击态,单位毫秒 | |
hover-stay-time | Number | 600 | 手指松开后点击态保留时间,单位毫秒 | |
bindsuccess | String | 当target="miniProgram"时有效,跳转小程序成功 | 2.0.7 | |
bindfail | String | 当target="miniProgram"时有效,跳转小程序失败 | 2.0.7 | |
bindcomplete | String | 当target="miniProgram"时有效,跳转小程序完成 | 2.0.7 |
open-type 有效值:
值 | 说明 | 最低版本 |
---|---|---|
navigate | 对应 wx.navigateTo 或 wx.navigateToMiniProgram 的功能 |
|
redirect | 对应 wx.redirectTo 的功能 |
|
switchTab | 对应 wx.switchTab 的功能 |
|
reLaunch | 对应 wx.reLaunch 的功能 |
1.1.0 |
navigateBack | 对应 wx.navigateBack 的功能 |
1.1.0 |
exit | 退出小程序,target="miniProgram"时生效 | 2.1.0 |
使用限制
需要用户确认跳转
从 2.3.0 版本开始,在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 fail cancel
。
每个小程序可跳转的其他小程序数量限制为不超过 10 个
从 2.4.0 版本以及指定日期(具体待定)开始,开发者提交新版小程序代码时,如使用了跳转其他小程序功能,则需要在代码配置中声明将要跳转的小程序名单,限定不超过 10 个,否则将无法通过审核。该名单可在发布新版时更新,不支持动态修改。配置方法详见 配置。调用此接口时,所跳转的 appId 必须在配置列表中,否则回调 fail appId "${appId}" is not in navigateToMiniProgramAppIdList
。
第三方平台在开发者工具上开发完成后,可点击上传,代码将上传到开放平台草稿箱中,第三方平台可选择将代码添加到模板中,获得代码模版ID后,可调用以下接口进行代码管理。
1、为授权的小程序帐号上传小程序代码
请求方式: POST(请使用https协议)
https://api.weixin.qq.com/wxa/commit?access_token=TOKEN
POST数据示例:
{
"template_id":0,
"ext_json":"JSON_STRING", //*ext_json需为string类型,请参考下面的格式*
"user_version":"V1.0",
"user_desc":"test",
}
参数说明:
参数 | 说明 |
---|---|
access_token | 请使用第三方平台获取到的该小程序授权的authorizer_access_token |
template_id | 代码库中的代码模版ID |
ext_json | 第三方自定义的配置 |
user_version | 代码版本号,开发者可自定义 |
user_desc | 代码描述,开发者可自定义 |
ext_json需为string类型,格式示例如下 :
{
extAppid:"",
ext:{
"attr1":"value1",
"attr2":"value2",
},
extPages:{
"index":{
},
"search/index":{
},
},
pages:["index","search/index"],
"window":{
},
"networkTimeout":{
},
"tabBar":{
},
}
(1)为了便于第三方平台使用同一个小程序模版为不同的小程序提供服务,第三方可以将自定义信息放置在ext_json中,在模版小程序中,可以使用接口获取自定义信息,从而区分不同的小程序。详见:小程序模版开发
(2)ext_json中的参数可选,参数详见https://mp.weixin.qq.com/debug/wxadoc/dev/framework/config.html
期中就有navigateToMiniProgramAppIdList
(3)如果代码中已经有配置,则配置的合并规则为:除了pages和tabBar.list直接覆盖原配置,其他都为插入或同级覆盖。
特殊字段说明:
参数 | 说明 |
---|---|
ext | 自定义字段仅允许在这里定义,可在小程序中调用 |
extPages | 页面配置 |
extAppid | 授权方Appid,可填入商户AppID,以区分不同商户 |
返回说明(正常时返回的json示例):
{
"errcode":0,
"errmsg":"ok",
}