如何在小程序端接收App传过来的参数

**

微信小程序

**

比如从抖音点击页面跳转到微信小程序,并携带参数传过来。

// app.js
onLaunch(options) {
    console.log('onLaunch', options)
    this.globalData.query = options.query || {}
    if (options.referrerInfo) {
      this.globalData.query = Object.assign(this.globalData.query, options.referrerInfo.extraData)
    }
  },
  onShow(options) {
    console.log('onShow', options)
    if (Object.keys(options.query).length > 0) {
      // 解决连续扫两次带参数的码,参数丢失的问题
      this.globalData.query = options.query || {}
      // 处理通过小程序码进来的参数,包括渠道码等,放置到全局数据中
      if (options.query.scene) {
        let queryObj = {}
        var strs = decodeURIComponent(options.query.scene).split('&') //以&分割
        for (var i = 0; i < strs.length; i++) {
          queryObj[strs[i].split('=')[0]] = unescape(strs[i].split('=')[1])
        }
        Object.assign(this.globalData.query, queryObj)
      }
    }
    if (options.referrerInfo) {
      this.globalData.query = Object.assign(this.globalData.query, options.referrerInfo.extraData)
    }
  },
globalData: {
  query: {}
}
// 页面js
onLoad(options) {
  this.setData({
     参数名: options.参数名 || app.globalData.query.参数名 || ''
  })
}

链接:
https://developers.weixin.qq.com/community/develop/doc/000a66716b09e0612dddc7efe59c00

**

uniapp小程序

**

在uniapp小程序中,接收App(实际上,在小程序的上下文中,我们通常指的是微信、支付宝等小程序平台,而不是原生App)传过来的参数,主要通过小程序的启动参数或页面路由参数来实现。不过,需要注意的是,小程序并不能直接接收来自另一个原生App的参数,除非这些参数是通过某种方式(如URL Scheme、剪贴板、服务器中转等)间接传递给小程序的。

对于小程序内部或从小程序外部(如小程序码、分享链接等)进入小程序时接收参数,通常有以下几种方式:

  1. 启动参数(App.onLaunch 或 App.onShow)
    当小程序启动时,可以通过App.onLaunch或App.onShow函数接收启动参数。这些参数通常是通过小程序码、分享链接等方式传递的。
// App.vue 或 app.js  
export default {  
  onLaunch: function (options) {  
    // options 中包含小程序启动时的参数  
    console.log('App Launch Options:', options);  
    // 注意:这里可能不包含页面路由参数  
  },  
  onShow: function (options) {  
    // 当小程序启动,或从后台进入前台显示时触发  
    // options 中也可能包含一些参数,但通常不包含页面路由参数  
    console.log('App Show Options:', options);  
  },  
  // ... 其他代码  
}

然而,需要注意的是,这些启动参数并不包括页面级的路由参数。

  1. 页面路由参数(Page.onLoad)
    当从一个小程序页面跳转到另一个页面时,可以通过URL传递参数,并在目标页面的onLoad函数中接收这些参数。
// 目标页面  
export default {  
  onLoad: function (options) {  
    // options 为页面跳转所带来的参数  
    console.log('Page Load Options:', options);  
    // 例如,如果跳转时URL为 pages/index/index?id=1,则 options.id 的值为 1  
  },  
  // ... 其他代码  
}

模拟

在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值