当前位置: 代码迷 >> 综合 >> 微信小程序——解决微信小程序B接口生成小程序码中scene参数的存放和获取问题
  详细解决方案

微信小程序——解决微信小程序B接口生成小程序码中scene参数的存放和获取问题

热度:4   发布时间:2024-01-20 21:30:38.0

scene参数存放与获取: 

1.如果只需要传一个参数 可以直接scene=参数值  例如:scene=123

    前端小程序也要进行操作来获取到scene中存放的参数。

onLoad:function(options){if(options.scene){// options 中的 scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scenevar scene = decodeURIComponent(options.scene)}
}

2.如果两个及两个以上的参数  可以是scene = "id/"+id+"*userId/"+userId;  例如:scene=id/1*userId/2

    这里自定义了scene的参数格式,以 / 代替 = ,以 * 代替 & 。

    因为如果用正常的格式(例如:id=1&userId=2)会导致参数识别一部分,因为小程序在识别二维码页面参数时,拿到的  参数列表是这样的scene=id=1&userId=2,这样就会导致只能识别id,id后的等号后面的参数全都无效了。所以这里用特殊字符代替常规字符,然后获取之后再用js去解析,从而拿到参数列表。 

    前端小程序也要进行操作来获取到scene中存放的参数。

onLoad:function(options){// options 中的 scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scenevar scene = decodeURIComponent(options.scene); var obj = {};for (var i = 0; i < scene.split('*').length;i++){var arr = scene.split('*')[i].split('/');obj[arr[0]] = arr[1];}return obj
}