要從H5跳轉(zhuǎn)到小程序里面谴古,這種場(chǎng)景很常見(jiàn),我們要怎么來(lái)做呢稠歉?
為了這個(gè)問(wèn)題掰担,于是我就去看了下微信的文檔,發(fā)現(xiàn)微信有這個(gè)接口的怒炸,可以讓微信瀏覽器下的H5跳轉(zhuǎn)到小程序內(nèi)带饱。
微信相關(guān)文檔在這邊:
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html
注意:用的是JS-SDK的接口,需要使用到j(luò)s-sdk-1.6.0的版本才有支持阅羹,https://res.wx.qq.com/open/js/jweixin-1.6.0.js
在h5界面中的配置
wx.config({
debug: true, // 開(kāi)啟調(diào)試模式,調(diào)用的所有api的返回值會(huì)在客戶端alert出來(lái)勺疼,若要查看傳入的參數(shù),可以在pc端打開(kāi)捏鱼,參數(shù)信息會(huì)通過(guò)log打出执庐,僅在pc端時(shí)才會(huì)打印
appId: '', // 必填,公眾號(hào)的唯一標(biāo)識(shí)
timestamp: , // 必填导梆,生成簽名的時(shí)間戳
nonceStr: '', // 必填轨淌,生成簽名的隨機(jī)串
signature: '',// 必填,簽名
jsApiList: [], // 必填看尼,需要使用的JS接口列表
openTagList: [] // 可選递鹉,需要使用的開(kāi)放標(biāo)簽列表,例如['wx-open-launch-app']
});
在wx.config下面多了一項(xiàng)openTagList狡忙,開(kāi)放標(biāo)簽列表梳虽,目前支持配置wx-open-launch-weapp,wx-open-launch-app
1灾茁,wx-open-launch-weapp 指H5跳轉(zhuǎn)小程序
2窜觉,wx-open-launch-app 指H5跳轉(zhuǎn)app
我們主要介紹的是wx-open-launch-weapp H5跳轉(zhuǎn)小程序
username為小程序的原始id,path對(duì)應(yīng)的是小程序的鏈接地址北专。之前有寫過(guò)微信H5的應(yīng)該會(huì)知道怎么把這段代碼嵌入到之前的代碼里面禀挫。
目前此功能僅開(kāi)放給已認(rèn)證的服務(wù)號(hào),網(wǎng)頁(yè)的域名要在服務(wù)號(hào)的“JS接口安全域名”下拓颓。
親測(cè)可以跳轉(zhuǎn)到任意合法合規(guī)的小程序语婴,是任意的小程序都能跳轉(zhuǎn)!!E樽蟆匿醒!這個(gè)接口真開(kāi)放(不怕人干壞事?)
看看效果
下面是源碼
坑點(diǎn)
PS:
有個(gè)坑缠导,官方文件說(shuō)的path是/a/b/c?d=1&e=2#fg廉羔,類似的這樣的鏈接格式,但是我自己親測(cè)如果直接使用/a/b/c?d=1&e=2#fg這樣格式的鏈接會(huì)報(bào)頁(yè)面不存在僻造,然后我想到了小程序那邊復(fù)制鏈接的時(shí)候會(huì)在鏈接后面加上.html憋他,于是挖槽的事情發(fā)生了,把path鏈接格式換成/a/b/c.html?d=1&e=2#fg這樣就能正常訪問(wèn)髓削,不知道是微信故意這樣設(shè)計(jì)的還是bug竹挡,有待考證。
然后這個(gè)接口真的可以干好多壞事立膛,希望大家能用正確的價(jià)值觀來(lái)正確使用此接口揪罕。
微信開(kāi)放標(biāo)簽有最低的微信版本要求,以及最低的系統(tǒng)版本要求旧巾。
如果開(kāi)發(fā)過(guò)程中出現(xiàn)以下情況的耸序,要確認(rèn)一下尿孔,微信版本要求為:7.0.12及以上细燎。 系統(tǒng)版本要求為:iOS 10.3及以上憔古、Android 5.0及以上。