需求背景是这样的,在小程序里面,点击查看用户签定的协议,跳转到协议详情页,恰好协议详情页在另外一个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,看错误来源哪里。谨记在心。