小程序通过navigateToMiniProgram或者navigator实现小程序间传递大量文字信息
目录
【小程序】通过navigateToMiniProgram或者navigator实现小程序间传递大量文字信息
【小程序】通过navigateToMiniProgram或者navigator实现小程序间传递大量文字信息
有时候需要在小程序之间传递大量文字信息,如几百字甚至上千字的数据;亲测有如下两种方式可以实现。
方式一 wx.navigateToMiniProgram
注意:此方式官方已废弃,不再建议使用,但运行依然有效。
代码如下:
发送端:
wx.navigateToMiniProgram({
appId: 'wxcaeff85138f9****',
extraData: {
recommend: '两晚南部海滨免费升级入住5星酒店,享受印度洋海滨气息,饱览西南海岸线的美丽风景;\n' +
'被马可波罗誉为“最美丽的海岛:古老神秘的国度、辉煌的寺庙、曲折的海岸线、原始质朴的南亚风情\n' +
'米内日亚森林公园,近距离拍摄野生动物,和野生动物亲密接触!\n' +
'斯里兰卡特色(高翘渔夫)+赠送《千与千寻》海滨小火车+康提舞表演' +
'两晚南部海滨免费升级入住5星酒店,享受印度洋海滨气息,饱览西南海岸线的美丽风景;\n' +
'被马可波罗誉为“最美丽的海岛:古老神秘的国度、辉煌的寺庙、曲折的海岸线、原始质朴的南亚风情\n' +
'米内日亚森林公园,近距离拍摄野生动物,和野生动物亲密接触!\n'
},
envVersion: 'develop'
})
注意:extraData为Object类型
@1. 接收端可以存储到Storage中:
接收端:
app解析参数
onLaunch(options) {
console.log('--wmb--poster--onlaunch--' + JSON.stringify(options))
if(options && options.referrerInfo.extraData && options.referrerInfo.extraData.recommend){
utils.storage.setStorageSync('recommend-f',options.referrerInfo.extraData.recommend)
}
console.log('--wmb--recommend--' + options.referrerInfo.extraData.recommend)
this.testAsync()
}
page 使用参数
let temp = utils.storage.getStorageSync('recommend-f')
console.log('--wmb--temp' + JSON.stringify(temp))
this.recommend = temp
console.log('--wmb--recommend--' + this.recommend)
this.$apply()
@2. 还可以通过globalData保存到内存中:
App解析参数:
onShow(options) {
console.log('--wmb--onshow--' + JSON.stringify(options))
if (options && options.referrerInfo && options.referrerInfo.extraData && options.referrerInfo.extraData.recommend) {
this.globalData.recommend = options.referrerInfo.extraData.recommend
// 保存数据到globalData中
}
console.log('--wmb--onshow--globalData.recommend--' + JSON.stringify(this.globalData.recommend))
}
page使用参数:
this.recommend = wepy.$instance.globalData.recommend
// 使用globalData中的数据
console.log('--wmb-onload-recommend--' + this.recommend)
this.$apply()
在App.onShow(options)方法中打印输出如下:
--app--onshow--{"path":"pages/index","query":{"productId":"210561493","p":"33333"},"scene":1037,"referrerInfo":{"appId":"wxcaeff****8f91239","extraData":{"recommend":"推荐理由是"}}}
注意: 接收端需要在App中处理,可以在App.onLaunch(),App.onShow()中解析。 建议在App.onShow()中解析 。解析到的数据可以保存在内存中,也可以存储到Storage中。 建议保存在内存中。
- 方式二 navigator组件
代码如下:
<navigator target="miniProgram" app-id="wxcaeff85138f9****" open-type="navigate" extra-data="{{extra}}" version="develop">跳转到海报</navigator>
data中定义extra:
extra: {
recommend: 'start 两晚南部海滨免费升级入住5星酒店,享受印度洋海滨气息,饱览西南海岸线的美丽风景;\n' +
'被马可波罗誉为“最美丽的海岛:古老神秘的国度、辉煌的寺庙、曲折的海岸线、原始质朴的南亚风情\n' +
'米内日亚森林公园,近距离拍摄野生动物,和野生动物亲密接触!\n' +
'斯里兰卡特色(高翘渔夫)+赠送《千与千寻》海滨小火车+康提舞表演' +
'两晚南部海滨免费升级入住5星酒店,享受印度洋海滨气息,饱览西南海岸线的美丽风景;\n' +
'被马可波罗誉为“最美丽的海岛:古老神秘的国度、辉煌的寺庙、曲折的海岸线、原始质朴的南亚风情\n' +
'米内日亚森林公园,近距离拍摄野生动物,和野生动物亲密接触!\n' +
'斯里兰卡特色(高翘渔夫)+赠送《千与千寻》海滨小火车+康提舞表演' +
'两晚南部海滨免费升级入住5星酒店,享受印度洋海滨气息,饱览西南海岸线的美丽风景;\n' +
'被马可波罗誉为“最美丽的海岛:古老神秘的国度、辉煌的寺庙、曲折的海岸线、原始质朴的南亚风情\n' +
'米内日亚森林公园,近距离拍摄野生动物,和野生动物亲密接触!\n' +
'两晚南部海滨免费升级入住5星酒店,享受印度洋海滨气息,饱览西南海岸线的美丽风景;\n' +
'被马可波罗誉为“最美丽的海岛:古老神秘的国度、辉煌的寺庙、曲折的海岸线、原始质朴的南亚风情\n' +
'米内日亚森林公园,近距离拍摄野生动物,和野生动物亲密接触!\n' +
'斯里兰卡特色(高翘渔夫)+赠送《千与千寻》海滨小火车+康提舞表演' +
'两晚南部海滨免费升级入住5星酒店,享受印度洋海滨气息,饱览西南海岸线的美丽风景;\n' +
'被马可波罗誉为“最美丽的海岛:古老神秘的国度、辉煌的寺庙、曲折的海岸线、原始质朴的南亚风情\n' +
'米内日亚森林公园,近距离拍摄野生动物,和野生动物亲密接触!\n' +
'斯里兰卡特色(高翘渔夫)+赠送《千与千寻》海滨小火车+康提舞表演' +
'两晚南部海滨免费升级入住5星酒店,享受印度洋海滨气息,饱览西南海岸线的美丽风景;\n' +
'被马可波罗誉为“最美丽的海岛:古老神秘的国度、辉煌的寺庙、曲折的海岸线、原始质朴的南亚风情\n' +
'米内日亚森林公园,近距离拍摄野生动物,和野生动物亲密接触!\n' +
'两晚南部海滨免费升级入住5星酒店,享受印度洋海滨气息,饱览西南海岸线的美丽风景;\n' +
'被马可波罗誉为“最美丽的海岛:古老神秘的国度、辉煌的寺庙、曲折的海岸线、原始质朴的南亚风情\n' +
'米内日亚森林公园,近距离拍摄野生动物,和野生动物亲密接触!\n' +
'斯里兰卡特色(高翘渔夫)+赠送《千与千寻》海滨小火车+康提舞表演' +
'两晚南部海滨免费升级入住5星酒店,享受印度洋海滨气息,饱览西南海岸线的美丽风景;\n' +
'被马可波罗誉为“最美丽的海岛:古老神秘的国度、辉煌的寺庙、曲折的海岸线、原始质朴的南亚风情\n' +
'米内日亚森林公园,近距离拍摄野生动物,和野生动物亲密接触!\n' +
'斯里兰卡特色(高翘渔夫)+赠送《千与千寻》海滨小火车+康提舞表演' +
'两晚南部海滨免费升级入住5星酒店,享受印度洋海滨气息,饱览西南海岸线的美丽风景;\n' +
'被马可波罗誉为“最美丽的海岛:古老神秘的国度、辉煌的寺庙、曲折的海岸线、原始质朴的南亚风情\n' +
'米内日亚森林公园,近距离拍摄野生动物,和野生动物亲密接触!end \n'
}
注意:extra为Object类型 ,接收端解析的代码不变。