需求背景是這樣的,在小程序裏面,點擊查看用戶簽定的協議,跳轉到協議詳情頁,恰好協議詳情頁在另外一個H5項目的已經有,因此就想直接跳轉過去,避免再開發小程序版本的協議詳情頁html
小程序裏面運行H5頁面,須要嵌在web-view裏面,注意:一個項目只能有一個。 Demo:在小程序裏面打開百度網頁 在小程序項目裏面src/pages/新建一個webview的文件夾,含有wxml/wxss/json/jsvue
wxml:
<web-view src="{{ src }}"></web-view>
複製代碼
js:在onLoad裏面獲取到url這個參數,而後賦值給data,這樣在wxml裏面就能取到src的值。
Page({
data: {
url: '',
},
onLoad: function (param) {
this.setData({
url: decodeURIComponent(param.url),
})
}
});
複製代碼
json/wxss是空文件就能夠了。
在小程序的頁面跳轉到H5頁面的寫法web
wx.navigateTo({
url: '../webview/index?url=https://www.baidu.com/'
});
複製代碼
這樣就成功實現從小程序跳轉到H5頁面。json
從H5頁面返回小程序頁面,須要使用微信SDK提供的跳轉方法。小程序
window.wx.miniProgram.navigateTo({
url: `/page/account/index`,
});
複製代碼
使用微信的SDK方法,須要先發送簽名驗證wx.config。瀏覽器
window.wx.miniProgram.reLaunch(url)
總結:若是url在app.json已定義,則使用reLaunch跳轉,若是沒有,則使用miniProgram.navigateTo(url)bash
try {await request('logout.cgi')} catch(e) {console.log('error')}
複製代碼
記下問題2,是想跟本身說,bugger常常有,遇到了就一個個地看debugger,看錯誤來源哪裏。謹記在心。