小程序参数获取方式

页面跳转

页面与页面之间跳转并传递参数

js 复制代码
wx.navigateTo({
	url:'/pages/demo?age=12&name=tom'
})

接收参数

js 复制代码
// onLoad生命周期中获取
onLoad(options){
	console.log(options.age) // 12
	console.log(options.name) // tom
}

普通二维码

进入到微信小程序后台进行配置

扫描普通二维码打开小程序

获取参数

例如配置的小程序链接为:https://xxx/xxx?age=12&name=tom

js 复制代码
// 二维码链接内容会以参数 `q` 的形式带给页面,
// 微信传递进来会进行编码,需要进行decodeURIComponent解码
onLoad(options){
	const url = decodeURIComponent(options.q)
	console.log(url) // https://xxx/xxx?age=12&name=tom	
}

获取到的是完整的链接地址,我们需要通过?分隔,得到我们所需要的参数,改进上面代码。

js 复制代码
const queryURLParams = (url: string) => {
    const pattern = /(\w+)=(\w+)/gi; //定义正则表达式
    const parames: Record<string, any> = {}; // 定义参数对象
    url.replace(pattern, ($, $1, $2) => {
        parames[$1] = $2;
        return "";
    });
    return parames;
};
onLoad(options){
	const url = decodeURIComponent(options.q)
	const params = queryURLParams(url) // {age:12,name:'tom'}
}

小程序码

生成小程序码

小程序码可以通过微信后台手动生成,也可以通过请求服务端接口进行生成

获取小程序码

获取参数

例如配置的二维码地址为:pages/demo?scene=12|tom

小程序码传递参数有格式限制,例如中文字符等,最好自行使用encodeURIComponent进行编码后传递

js 复制代码
// 微信传递进来会进行编码,需要进行decodeURIComponent解码
onLoad(options){
	const params = decodeURIComponent(options.scene)
	console.log(params) // 12|tom
}
相关推荐
lifire_H1 小时前
Canvas在视频应用中的技术解析
前端·javascript·音视频
林涧泣1 小时前
【Uniapp-Vue3】开发userStore用户所需的相关操作
前端·vue.js·uni-app
SuperherRo3 小时前
自动化反编译微信小程序工具-e0e1-wx
微信小程序·自动化·hook·反编译
十八朵郁金香3 小时前
深入理解 JavaScript 中的 this 指向
开发语言·前端·javascript
R_yy4 小时前
微信小程序开发——视频播放实现(本地视频或者云端视频均可)
前端·微信小程序·小程序
linkcoco4 小时前
记录h5使用navigator.mediaDevices.getUserMedia录制音视频
前端·javascript·vue·音视频·js
Mh4 小时前
代码提交校验及提交规范的实践方案
前端·javascript·架构
昨日余光4 小时前
仅需三分钟,使用Vue3.x版本组件式风格实现一个消息提示组件!
前端·javascript·css·vue.js·typescript·html
容器( ु⁎ᴗ_ᴗ⁎)ु.。oO5 小时前
仿12306购票系统(3)
java·前端
Fri_5 小时前
CSS 实现波浪效果
前端·javascript·css