一象对、項(xiàng)目需求
最近公司項(xiàng)目有個(gè)需求,在PC端掃描二維碼進(jìn)入小程序的指定頁面宴抚,一開始以為沒這個(gè)方法勒魔,畢竟將近一年沒做小程序了甫煞,試著到官方文檔查看了一下,確實(shí)提供了掃普通二維碼進(jìn)入小程序冠绢,官方文檔:掃普通二維碼進(jìn)入小程序
二抚吠、實(shí)現(xiàn)步驟
通讀了兩三遍文檔,個(gè)人覺得大體分三步弟胀,來實(shí)現(xiàn)項(xiàng)目需求楷力。
step1:開啟掃描二維碼打開小程序
登錄小程序后臺,進(jìn)入“開發(fā)-開發(fā)設(shè)置-掃普通鏈接二維碼打開小程序”孵户,開啟功能后即可配置二維碼規(guī)則萧朝。
step2:配置二維碼
1、填寫二維碼
二維碼規(guī)則:
- 二維碼規(guī)則的域名須通過ICP備案的驗(yàn)證夏哭。
- 支持http检柬、https、ftp開頭的鏈接(如:http://wx.qq.com竖配、https://wx.qq.com/mp/何址、https://wx.qq.com/mp?id=123)
- 一個(gè)小程序帳號可配置不多于10個(gè)二維碼前綴規(guī)則。
2进胯、校驗(yàn)文件
下載隨機(jī)校驗(yàn)文件用爪,并將文件上傳至服務(wù)器指定位置的目錄下,方可通過所屬權(quán)校驗(yàn)胁镐。
我是在服務(wù)器指定目錄新建一個(gè)文件夾偎血,然后把隨機(jī)生成的xxx.txt文件上傳到這個(gè)目錄,然后根據(jù)二維碼規(guī)則配置希停,例如:http://ok2etest.xinyusoft.com/weShare/test/?id=111烁巫。
注意:上線時(shí)需要配置https開頭的鏈接。配置時(shí)可使用原來的xxx.txt校驗(yàn)文件宠能,因?yàn)樯傻奈募且粯拥摹?/p>
3亚隙、小程序功能頁面
小程序功能頁面可打開指定頁面,掃描二維碼可打開對應(yīng)頁面违崇。
step3:掃描二維碼打開小程序
配置二維碼時(shí)可配置測試鏈接阿弃,利用第三方二維碼生成工具,使用測試鏈接生成二維碼羞延,利用微信“掃一掃”或微信內(nèi)長按識別二維碼跳轉(zhuǎn)小程序渣淳。
鏈接?后為參數(shù)部分,可在onLoad事件中提取q
參數(shù)并自行decodeURIComponent
一次伴箩,即可獲取原二維碼的完整內(nèi)容入愧。
onLoad: function (options) {
if (options.q) {
let queryAll = decodeURIComponent(options.q);
let id = gup('id', queryAll);
//console.log(queryAll);
//console.log(id);
}
},
/**
* 獲取URL中某個(gè)字符串字段
* gup('id', 'https://www.lubanso.com/wx/home/?id=bHViYW5zb7W7DJI=&jhkfdhkjfda')
* //===> bHViYW5zb7W7DJI=
*/
function gup(name, url) {
if (!url) url = location.href;
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(url);
return results == null ? null : results[1];
}
三、注意事項(xiàng)
- 開放范圍:企業(yè)、媒體棺蛛、政府及其他組織類型小程序怔蚌。
- 對于普通鏈接二維碼,目前支持使用微信“掃一掃”或微信內(nèi)長按識別二維碼跳轉(zhuǎn)小程序旁赊。
- 上線時(shí)需要配置https開頭的鏈接桦踊,并且配置指定域名。
- 上線時(shí)终畅,需要發(fā)布二維碼規(guī)則才可使用籍胯。
- 填寫符合二維碼前綴匹配規(guī)則的二維碼完整鏈接用于測試,如包括參數(shù)离福,請完整填寫杖狼。
GitHub地址,歡迎start:
掃描普通二維碼打開小程序?qū)嵗?/a>
參考文章:
掃描普通二維碼打開小程序