小程序掃描普通鏈接二維碼跳轉(zhuǎn)小程序指定界面方法
微信官方文檔https://developers.weixin.qq.com/miniprogram/introduction/qrcode.html
看了官方文檔之后,還是存在很多困惑,微信小程序是托管到微信服務(wù)器上的,要想掃描普通鏈接跳轉(zhuǎn)指定界面,首先要知道微信把小程序放的服務(wù)器的訪問路徑,這些最初想法,可是看微信官方文檔,感覺不是我想的這樣的
文檔上:“二維碼規(guī)則的域名須通過ICP備案的驗(yàn)證。”如果是微信的服務(wù)器,那他們就不必這么寫了,
可是小程序是托管微信服務(wù)器上的,為什么掃碼自己服務(wù)器上的url能跳轉(zhuǎn)呢?困惑反倒是多了,然后各種查資料,最后還是在微信官方文檔上找到答案了
原來是這樣!恍然大悟!微信會(huì)掃描所有自己配置的url,如果匹配上了,就跳轉(zhuǎn)至指定界面,還有個(gè)前提,小程序必須先發(fā)布代碼,才可以。
下面記錄一下詳情:
1.二維碼規(guī)則,這里需要下載微信提供的驗(yàn)證文件,放到指定目錄,驗(yàn)證不過會(huì)有提示,驗(yàn)證過了如圖所示,配置幾層目錄根據(jù)自己的需求而定,上圖這個(gè):https://www.aaa.com/a/b/c/ 驗(yàn)證文件放置到c目錄同層
2.測試鏈接,這里的url就是掃碼之后,跳轉(zhuǎn)到你指定界面里,可以獲取到你此處配置這個(gè)完整的url包括參數(shù),當(dāng)然,這個(gè)參數(shù)是一個(gè)動(dòng)態(tài)參數(shù),配置的時(shí)候是寫死了一個(gè),你的應(yīng)用中,自己動(dòng)態(tài)生成這個(gè)參數(shù),
https://www.aaa.com/a/b/c/d/service?flag=123 目錄a/b/c/d/是在你的服務(wù)器上真實(shí)存在的目錄,在d目錄里面有個(gè)腳本service,當(dāng)然目錄名稱腳本名稱換成你自己的,flag這個(gè)key值不能改變,123換成你的實(shí)際生成的動(dòng)態(tài)參數(shù)
3.在app.js中這樣獲取參數(shù)
util.js
/**
* 獲取url參數(shù)
*/
let getQueryString = function (url,name) { console.log("url = "+url) console.log("name = " + name) var reg = new RegExp('(^|&|/?)' + name + '=([^&|/?]*)(&|/?|$)', 'i') var r = url.substr(1).match(reg) if (r != null) { console.log("r = " + r) console.log("r[2] = " + r[2]) return r[2] } return null; } module.exports = { getQueryString: getQueryString, }
//app.js文件如下:
var utils = require('./utils/util') App({ onLaunch: function (options) { console.log("全局onLaunch options==" + JSON.stringify(options)) let q = decodeURIComponent(options.query.q) if (q){ console.log("全局onLaunch onload url=" + q) console.log("全局onLaunch onload 參數(shù) flag=" + utils.getQueryString(q, 'flag')) } } })
在其它的界面中的js腳本中這樣獲取參數(shù)
Page({ /** * 頁面的初始數(shù)據(jù) */ data: { }, /** * 生命周期函數(shù)--監(jiān)聽頁面加載 */ onLoad: function (options) { console.log("index 生命周期 onload"+JSON.stringify(options)) //在此函數(shù)中獲取掃描普通鏈接二維碼參數(shù) let q = decodeURIComponent(options.q) if(q){ console.log("index 生命周期 onload url=" + q) console.log("index 生命周期 onload 參數(shù) flag=" + utils.getQueryString(q, 'flag')) } } })
以上所述是小編給大家介紹的小程序掃描普通鏈接二維碼跳轉(zhuǎn)小程序指定界面詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- 微信小程序?qū)崿F(xiàn)時(shí)間預(yù)約功能
- 微信小程序掃描普通二維碼跳轉(zhuǎn)到小程序指定頁面操作方法
- 微信小程序點(diǎn)擊圖片實(shí)現(xiàn)長按預(yù)覽、保存、識(shí)別帶參數(shù)二維碼、轉(zhuǎn)發(fā)等功能
- 微信小程序如何使用canvas二維碼保存至手機(jī)相冊
- 微信小程序云開發(fā)如何使用云函數(shù)生成二維碼
- 微信小程序掃描二維碼獲取信息實(shí)例詳解
- 微信小程序?qū)崿F(xiàn)獲取小程序碼和二維碼java接口開發(fā)
- 微信小程序生成分享海報(bào)方法(附帶二維碼生成)
- 微信小程序?qū)崿F(xiàn)預(yù)約生成二維碼功能
相關(guān)文章
使用bat打開多個(gè)cmd窗口執(zhí)行g(shù)ulp、node
本文主要介紹了使用bat打開多個(gè)cmd窗口執(zhí)行g(shù)ulp、node的方法。具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02JavaScript?新提案optional?chaining可選鏈屬性原理詳解
這篇文章主要為大家介紹了JavaScript?新提案optional?chaining可選鏈屬性原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05JavaScript高級程序設(shè)計(jì) 客戶端存儲(chǔ)學(xué)習(xí)筆記
JavaScript高級程序設(shè)計(jì) 客戶端存儲(chǔ)學(xué)習(xí)筆記,在客戶端用于存儲(chǔ)會(huì)話信息2011-09-09Javascript實(shí)現(xiàn)購物車功能的詳細(xì)代碼
這篇文章使用js實(shí)現(xiàn)購物車的價(jià)格計(jì)算,商品數(shù)量更換,商品刪除等功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05JavaScript實(shí)現(xiàn)五子棋游戲的方法詳解
這篇文章主要介紹了JavaScript實(shí)現(xiàn)五子棋游戲的方法,結(jié)合實(shí)例形式詳細(xì)分析了javascript實(shí)現(xiàn)五子棋游戲的具體步驟、原理與相關(guān)操作技巧,需要的朋友可以參考下2019-07-07