微信小程序,生成小程序码中scene参数的存放和获取问题
我们在上一篇中 uni-app 微信小程序生成小程序码二维码带参数 分享个如何在小程序中生成带有参数的二维码,那么我们传递的参数应该怎么存放和获取呢?下面我们一起分享一下吧。
一、如果只需要传一个参数
如果只需要传一个参数 可以直接scene=参数值 例如:scene=123,前端小程序也要进行操作来获取到scene中存放的参数。
onLoad:function(options){ if(options.scene){ // options 中的 scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene var scene = decodeURIComponent(options.scene) } }
二、如果两个及两个以上的参数
可以是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 }
字符串截取其中的参数就可以回去到了。此方法也是我在网上看到的,很好用,分享给大家。下一篇我们一起分享怎么吧生成的二维码保存到手机相册。
—— 微信小程序学习资源下载—–
1、uni-app快速入门 从零开始实现新闻资讯类跨端应用(含源码)完整无秘
更多学习教程,小月博客持续更新…