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

版权声明:本文为博主原创文章,未经博主允许不得转载。原文链接http://blog.csdn.net/adayabetter?viewmode=contents https://blog.csdn.net/adayabetter/article/details/82971582

【小程序】通过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中处理,可以在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类型,接收端解析的代码不变。

猜你喜欢

转载自blog.csdn.net/adayabetter/article/details/82971582
今日推荐