溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

小程序掃描普通鏈接二維碼跳轉(zhuǎn)小程序指定界面方法

發(fā)布時(shí)間:2020-10-04 04:55:55 來源:腳本之家 閱讀:253 作者:xiejunna 欄目:web開發(fā)

微信官方文檔https://developers.weixin.qq.com/miniprogram/introduction/qrcode.html

看了官方文檔之后,還是存在很多困惑,微信小程序是托管到微信服務(wù)器上的,要想掃描普通鏈接跳轉(zhuǎn)指定界面,首先要知道微信把小程序放的服務(wù)器的訪問路徑,這些最初想法,可是看微信官方文檔,感覺不是我想的這樣的

小程序掃描普通鏈接二維碼跳轉(zhuǎn)小程序指定界面方法

文檔上:“二維碼規(guī)則的域名須通過ICP備案的驗(yàn)證?!比绻俏⑿诺姆?wù)器,那他們就不必這么寫了,

可是小程序是托管微信服務(wù)器上的,為什么掃碼自己服務(wù)器上的url能跳轉(zhuǎn)呢?困惑反倒是多了,然后各種查資料,最后還是在微信官方文檔上找到答案了

 小程序掃描普通鏈接二維碼跳轉(zhuǎn)小程序指定界面方法

原來是這樣!恍然大悟!微信會(huì)掃描所有自己配置的url,如果匹配上了,就跳轉(zhuǎn)至指定界面,還有個(gè)前提,小程序必須先發(fā)布代碼,才可以。

小程序掃描普通鏈接二維碼跳轉(zhuǎn)小程序指定界面方法

 下面記錄一下詳情:

1.二維碼規(guī)則,這里需要下載微信提供的驗(yàn)證文件,放到指定目錄,驗(yàn)證不過會(huì)有提示,驗(yàn)證過了如圖所示,配置幾層目錄根據(jù)自己的需求而定,上圖這個(gè):https://www.aaa.com/a/b/c/ 驗(yàn)證文件放置到c目錄同層

2.測(cè)試鏈接,這里的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)小程序指定界面詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI