【小程序】通过navigateToMiniProgram或者navigator实现小程序间传递大量文字信息

【小程序】通过navigateToMiniProgram或者navigator实现小程序间传递大量文字信息

有时候需要在小程序之间传递大量文字信息,如几百字甚至上千字的数据;亲测有如下两种方式可以实现。

  1. 方式一 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中。建议保存在内存中。

  1. 方式二 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类型,接收端解析的代码不变。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值