通過掃描二維碼并攜帶參數(shù)進(jìn)入小程序

簡(jiǎn)介與實(shí)現(xiàn)

通過分享二維碼實(shí)現(xiàn)小程序的推廣運(yùn)營(yíng)和建立關(guān)聯(lián)關(guān)系。前端提供小程序首頁(yè)路徑,后端根據(jù)提供的路徑和唯一id創(chuàng)建一個(gè)二維碼圖片,用戶在通過使用微信app掃描二維碼啟動(dòng)小程序并且會(huì)獲取到唯一id,后續(xù)攜帶唯一id進(jìn)行登錄或者注冊(cè)成功后,就算是完成了整個(gè)推廣大體的業(yè)務(wù)流程。

具體實(shí)現(xiàn)

//使用onLoad生命周期函數(shù)
onLoad(opt) {
        sceneOpt = this.getQueryFromOption(opt);
        if (sceneOpt.scene) {
            //這里寫獲取到唯一標(biāo)識(shí)后的業(yè)務(wù)邏輯
        }
}
// 判斷用戶是否是通過掃碼進(jìn)入的
getQueryFromOption(opt) {
            if (opt.q) {
      //把獲取到的二維碼消息編碼,分割,得到自己需要的數(shù)據(jù)
                const url = decodeURIComponent(opt.q);
                const search = url.split('?')[1];
                return { opt, source: 'qrcode' /* 來源二維碼掃碼 */, ...parseQuery(search) };
            }
            return opt;
        },
*parseQuery:函數(shù),可以將拼接的參數(shù)轉(zhuǎn)化成對(duì)象。例如: parseQuery("name=tom&age=99") => {name: "tom", age: "99"}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容