合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
我们在上一篇中 [uni-app 微信小程序生成小程序码二维码带参数](https://www.aliyue.net/10291.html) 分享个如何在小程序中生成带有参数的二维码,那么我们传递的参数应该怎么存放和获取呢?下面我们一起分享一下吧。 ### 一、如果只需要传一个参数 如果只需要传一个参数 可以直接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 } ~~~ 字符串截取其中的参数就可以回去到了。此方法也是我在网上看到的,很好用,分享给大家。下一篇我们一起分享怎么吧生成的二维码保存到手机相册。