H5跳轉小程序有四種方式:
1、使用wx-open-launch-weapp標籤跳轉
2、URL Scheme
3、URLLink
4、ShortLink
其中我感覺使用標籤是最好的,參數什麼的都是自定義可控的:
<wx-open-launch-weapp username="小程序原始id" path="小程序地址?query=123"> <script type="text/wxtag-template"> 這個部分寫樣式 </script> </wx-open-launch-weapp>
但是我還是選擇了使用URL Scheme,對於前端來說三中url方式大差不差,都是用location.href來跳轉
而且跳轉的鏈接也是後端獲取的,前端調接口就可以啦,很適合偷懶
但是url模式傳參遇到了難題:
URL Scheme模式裏面顯示了可以傳參,參數類型在URL Link的文檔裏纔有:
而且只能帶一個參數,很不巧我的項目需要多個參數,網上也沒有看到關於多個參數該如何定義。
經過測試,這個參數和路由一樣處理:
query:"aaaa=132&bbb=321"
需要注意的是,獲取到的參數都會變成string,所以如果是number類型的就需要轉一下。
參數傳遞ok啦,那麼就是獲取了,我使用的是uniapp開發的小程序,通常我使用onShow來處理數據(onLoad的話就是直接獲取option),但是除了onLoad似乎並沒有能夠直接獲取到路由參數的,這個時候就需要手動的去處理啦
let pagearr = getCurrentPages();//獲取應用頁面棧 let currentPage = pagearr[pagearr.length - 1];//獲取當前頁面信息 //currentPage.options就是query的數據啦 let query = currentPage.options; let aaa = query.aaa; let bbb = query.bbb;
完結,撒花