小程序
小游戏
企业微信
微信支付
扫描小程序码分享
- 当前 Bug 的表现(可附上截图)
- 预期表现
- 复现路径
公众号:
郑州大学第五附属医院
- 提供一个最简复现 Demo
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
如果不带任何 query 是否可以成功?
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
应该跟代码没关系了的,上周的时候我在自家公众号设置时是有问题的。昨天我在自己公众号看了ios和android都能打开了。现在还存在的问题是客户的公众号上面的菜单会有这个ios点击无效的问题,已经协商让客户公众号重新设置一次了看是否能解决。
根据options 也就是路径后面的url来设置webview的路径
问题解决了吗?具体要怎么复现?
没有解决,
代码上来讲,这是webview里嵌套的一个 h5链接,在小程序路径里后加上了webview的url路径(pages/map/mapView?url=https%3A%2F%2Fhis.ipalmap.com%2Fsend-template-v3%2Fv3.1%2Findex.html%23%2Fsearch%3Fname%3Dzhengzhoudaxuedierfushuyiyuanz)。然后把webview页面的小程序路径配置在公众号的菜单上。 操作上来讲,郑州大学第五附属医院的公众号导航里门诊导航就是这样的。
其实就是webview的链接跳转问题是么?给下完整的代码片段
上面楼里回复的有代码片段了。就是webview的链接跳转问题
这个链接不可以哦https%3A%2F%2Fhis.ipalmap.com%2Fsend-template-v3%2Fv3.1%2Findex.html%23%2Fsearch%3Fname%3Dzhengzhoudaxuedierfushuyiyuanz
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let _openId, _userInfo;
this._options = options;
const { url, buildId } = options;
const info = app.globalData.userInfo;
const openId = app.globalData.openid;
if (!info || !openId) {
wx.navigateTo({
url: `../getUserInfo/getUserInfo?url=${url}&buildId=${buildId}`,
})
} else {
console.log(url);
this.setUrl(url, info, openId, buildId)
}
},
setUrl: function (url, _userInfo, _openId, buildId) {
let dataUrl = decodeURIComponent(url);
let token = buildId ? buildId.slice(0, 4) : '';
if (dataUrl.indexOf('?') !== -1) {
if (_userInfo) {
dataUrl = `${dataUrl}&openId=${_openId}&token=${token}&wxHeader=${_userInfo.avatarUrl}`;
dataUrl = `${dataUrl}&openId=${_openId}&token=${token}`;
dataUrl = `${dataUrl}?openId=${_openId}&token=${token}&wxHeader=${_userInfo.avatarUrl}`;
dataUrl = `${dataUrl}?openId=${_openId}&token=${token}`;
// console.log(dataUrl);
this.setData({
url: dataUrl,
});
这个是设置web-view url的页面代码。 上面代码有个判断跳转授权页面,做的是授权后携带者url再转回这个页面。
this.url = url;
this.buildId = buildId;
// console.log(url);
toMapView() {
const [url, buildId] = [this.url, this.buildId];
if (url) {
wx.reLaunch({
url: `../map/mapView?url=${url}&buildId=${buildId}`,
wx.navigateBack({
delta: 1,
onGotUserInfo: function (e){
// console.log(e.detail.errMsg)
// console.log(e.detail.userInfo)
// console.log(e.detail.rawData);
if (e.detail.userInfo) {
app.globalData.userInfo = e.detail.userInfo;
if (!app.globalData.openid) {
wx.login({
success: (res) => {
const { code } = res;
// 获取openid
api.queryOpenId(code).then((res) => {
const { openid } = res.data;
app.globalData.openid = openid;
this.toMapView();
}, (err) => {
wx.showToast({
title: '获取openId失败, 请退出后重进',
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
如果不带任何 query 是否可以成功?
应该跟代码没关系了的,上周的时候我在自家公众号设置时是有问题的。昨天我在自己公众号看了ios和android都能打开了。现在还存在的问题是客户的公众号上面的菜单会有这个ios点击无效的问题,已经协商让客户公众号重新设置一次了看是否能解决。
根据options 也就是路径后面的url来设置webview的路径
问题解决了吗?具体要怎么复现?
没有解决,
代码上来讲,这是webview里嵌套的一个 h5链接,在小程序路径里后加上了webview的url路径(pages/map/mapView?url=https%3A%2F%2Fhis.ipalmap.com%2Fsend-template-v3%2Fv3.1%2Findex.html%23%2Fsearch%3Fname%3Dzhengzhoudaxuedierfushuyiyuanz)。然后把webview页面的小程序路径配置在公众号的菜单上。 操作上来讲,郑州大学第五附属医院的公众号导航里门诊导航就是这样的。
其实就是webview的链接跳转问题是么?给下完整的代码片段
上面楼里回复的有代码片段了。就是webview的链接跳转问题
这个链接不可以哦https%3A%2F%2Fhis.ipalmap.com%2Fsend-template-v3%2Fv3.1%2Findex.html%23%2Fsearch%3Fname%3Dzhengzhoudaxuedierfushuyiyuanz
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let _openId, _userInfo;
this._options = options;
const { url, buildId } = options;
const info = app.globalData.userInfo;
const openId = app.globalData.openid;
if (!info || !openId) {
wx.navigateTo({
url: `../getUserInfo/getUserInfo?url=${url}&buildId=${buildId}`,
})
} else {
console.log(url);
this.setUrl(url, info, openId, buildId)
}
},
setUrl: function (url, _userInfo, _openId, buildId) {
let dataUrl = decodeURIComponent(url);
let token = buildId ? buildId.slice(0, 4) : '';
if (dataUrl.indexOf('?') !== -1) {
if (_userInfo) {
dataUrl = `${dataUrl}&openId=${_openId}&token=${token}&wxHeader=${_userInfo.avatarUrl}`;
} else {
dataUrl = `${dataUrl}&openId=${_openId}&token=${token}`;
}
} else {
if (_userInfo) {
dataUrl = `${dataUrl}?openId=${_openId}&token=${token}&wxHeader=${_userInfo.avatarUrl}`;
} else {
dataUrl = `${dataUrl}?openId=${_openId}&token=${token}`;
}
}
// console.log(dataUrl);
this.setData({
url: dataUrl,
});
},
这个是设置web-view url的页面代码。 上面代码有个判断跳转授权页面,做的是授权后携带者url再转回这个页面。
onLoad: function (options) {
const { url, buildId } = options;
this.url = url;
this.buildId = buildId;
// console.log(url);
},
toMapView() {
const [url, buildId] = [this.url, this.buildId];
if (url) {
wx.reLaunch({
url: `../map/mapView?url=${url}&buildId=${buildId}`,
});
} else {
wx.navigateBack({
delta: 1,
});
}
},
onGotUserInfo: function (e){
// console.log(e.detail.errMsg)
// console.log(e.detail.userInfo)
// console.log(e.detail.rawData);
if (e.detail.userInfo) {
app.globalData.userInfo = e.detail.userInfo;
if (!app.globalData.openid) {
wx.login({
success: (res) => {
const { code } = res;
// 获取openid
api.queryOpenId(code).then((res) => {
const { openid } = res.data;
app.globalData.openid = openid;
this.toMapView();
}, (err) => {
wx.showToast({
title: '获取openId失败, 请退出后重进',
});
})
}
})
} else {
this.toMapView();
}
}
},