2022-02-23 uniapp掃小程序普通二維碼鏈接進入小程序,獲取二維碼鏈接的參數方法不一致問題

uniapp掃小程序普通二維碼鏈接進入小程序,獲取二維碼鏈接的參數方法不一致問題

微信小程序獲取參數方法?參考文檔:掃普通鏈接二維碼打開小程序 | 微信開放文檔

二維碼內容獲取

在小程序后臺配置二維碼跳轉小程序規則之后即可使用微信(6.5.6及其以上客戶端版本)掃碼打開小程序。

二維碼鏈接內容會以參數?q?的形式帶給頁面,在onLoad事件中提取?q?參數并自行?decodeURIComponent?一次(對于小游戲可使用 wx.getEnterOptionsSync 接口獲取),即可獲取原二維碼的完整內容。同時會附加一個參數 scancode_time(UNIX 時間戳,單位秒),表示用戶掃碼的時間。

Page({onLoad(query){constq=decodeURIComponent(query.q)// 獲取到二維碼原始鏈接內容constscancode_time=parseInt(query.scancode_time)// 獲取用戶掃碼時間 UNIX 時間戳}})

支付寶小程序獲取參數方法 參考文檔:關聯普通二維碼 | 小程序

獲取二維碼碼值請在小程序 app.js 文件的 app() 的 onLaunch() 方法中使用 options.query 獲取,代碼示例如下:

說明:代碼只能獲取二維碼碼值,自定義參數值請自行獲取。

onLaunch(options){my.alert({title:'app onLaunch',content:JSON.stringify(options),success: (res)=>{//成功處理代碼段? ? ? },? ? });//獲取關聯普通二維碼的碼值,放到全局變量qrCode中if(options.query&&options.query.qrCode) {this.qrCode=options.query.qrCode;? ? }? }

參數名描述

path當前路徑。若沒有填寫目標頁面,那么當前路徑為首頁(如下圖);若填寫則返回目標頁面的路徑。

qrCode二維碼碼值。

發布

測試完成后開發者可將二維碼跳轉規則發布上線,發布后掃描所有符合匹配規則的二維碼,將跳轉至指定的小程序頁面。

IDE 調試啟動參數

比如普通二維碼碼值是 http://商戶網站域名?bb=cc&dd=ff

對其做 URLENCODE ,得到 http%3a%2f%2f%e5%95%86%e6%88%b7%e7%bd%91%e7%ab%99%e5%9f%9f%e5%90%8d%3fbb%3dcc%26dd%3dff。

打開 IDE 頂部功能區中的添加編譯模式,選擇自定義編譯。

在之前得到的參數前面加上 “qrCode=” 后填入啟動參數并確認。

在模擬器中進行調試。


注意:支付寶小程序的二維碼鏈接只能通過app.vue頁面里的onLaunch中以參數options.query.qrCode帶進來,不能直接在頁面onLoad里獲取


實際項目運用

if (query.q) { // 掃碼進入微信小程序,微信小程序二維碼鏈接是以參數q傳進來的

let url = decodeURIComponent(query.q) //解碼url

this.serverOrderId = this.$getParams(url, 'serverOrderId')

this.txnType = this.$getParams(url, 'txnType')

} else if (query.serverOrderId) {//正常頁面跳轉

this.serverOrderId = query.serverOrderId

this.query = query

this.txnType = query.txnType

this.inviteRefundUserId = query.inviteRefundUserId //收銀員邀請管理員退款的收銀員userid

} else { //掃碼進入支付寶小程序,// 支付寶小程序的二維碼鏈接只能通過app.vue頁面里的onLaunch中以參數options.query.qrCode帶進來

this.txnType = this.$getParams(this.$store.state.orderDetail_qrcode, 'txnType')

this.serverOrderId = this.$getParams(this.$store.state.orderDetail_qrcode, 'serverOrderId')

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容