1. 程式人生 > 其它 >微信小程式太陽碼傳入引數解析

微信小程式太陽碼傳入引數解析

技術標籤:小程式javascript

通過二維碼進入小程式的時候,可以在 onload 函式裡面獲取引數。

onLoad(options) {
	console.log(options)
}

這個是打印出來的結果。所以,在這裡我們需要用到的是 options.scene。
傳入的原始資料

第一步,使用 decodeURIComponent 解析一下,就可以得到傳入的引數。

post_id=74413&category_id=360

但這是字串,不方便後面的取值、存值。

第二步,可以將 options.scene 裡面的普通字串拼接修改成 json 字串,再使用 JSON.parse 轉換成物件。

最後獲得的結果
這樣就變成方便操作的資料了。

合起來就是: 在需要獲取引數的地方,呼叫函式 this.sceneToObj() 就可以了

onLoad(options) {
	if (options.scene) {  // 掃碼進來
		let query = this.sceneToObj(options.scene)
        this.setData({
        	postID: query.post_id || '',
        	categoryID: query.category_id || ''
        })
    }
},
sceneToObj(str) {
	const
scene = decodeURIComponent(str) let str1 = scene.replace(/=/g, '":') let str2 = str1.replace(/&/g, ',"') let obj = JSON.parse('{"' + str2 + '}') return obj }