scene参数存放与获取:
1.如果只需要传一个参数 可以直接scene=参数值 例如:scene=123
前端小程序也要进行操作来获取到scene中存放的参数。
onLoad:function(options){ if(options.scene){ // options 中的 scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene var 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 才能获取到生成二维码时传入的 scene var 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 }