微信小程序动态码传参获取参数

需求

分享活动,截图保存到相册,图片上包含小程序码,扫码可进入该活动详情

实现

使用小程序云函数动态生成小程序码:

  • scene: 扫码进入页面需要的参数
  • page: 扫码进入的页面,必须是已经发布的小程序存在的页面(否则报错)
  • width: 生成码的宽度
  • is_hyaline: 是否需要透明底色
// 云函数入口函数
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.wxacode.getUnlimited({
      scene: 'id=' + event.id,
      page: 'pages/activityInfo/activityInfo',
      width: 280,
      isHyaline: true,
    })
    return result
  } catch (err) {
    return err
  }
}

其余参数参考文档链接:云函数生成小程序码

注意事项

  • page传参问题:page传入的参数必须是已发布的小程序存在的页面,初次发布或旧版本中没有的页面,生成会报错。可以先不传page参数,测试云函数和显示是否正常,上线前加上参数即可。
  • scene传参问题:scene传参在页面上获取参数的方式为:

比如在云函数中传入的sceneid=1,那在onLoad中获取sceneoptions.sceneid%3D1decodeURIComponent(options.scene)id=1,所以想要获取1就要自己处理一下了。

也可以直接设置scene传入id,不拼接字符串,这种适合只有一个参数的情况。

onLoad: function (options) {
    let scene = options.scene;
    let decodeScene = decodeURIComponent(options.scene)
  },

你可能感兴趣的:(微信小程序动态码传参获取参数)