uniApp开发微信公众号H5的时候,使用微信开放标签wx-open-subscribe, 在ios手机端环境第一次运行时,使用的wx-open-subscribe开放标签按钮不显示,手动刷新页面后才出现按钮,安卓手机端没问题
记录解决办法
1.首先判断是否是ios环境,
IOS:每次切换路由,SPA的url是不会变的,发起签名请求的url参数必须是当前页面的url(就是最初进入页面时的url)
Android:每次切换路由,SPA的url是会变的,发起签名请求的url参数必须是当前页面的url(不是最初进入页面时的)
接着想应该是iOS路由的问题,所以就用原生的页面跳转
在进入这个页面的时候把uni.navigateTo换成window.location.href
这里需要注意的是,window.location.href里的路径需要用全路径,包含域名的路径
function getIOS(){
let u = navigator.userAgent, app = navigator.appVersion;
let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
return isIOS
}
页面引入方法
import apiUrl from "@/api/wxPay.js"
使用方法
// conf.domain 域名
// this.list[index].url 页面地址
if(isIOS){
window.location.href = conf.domain + this.list[index].url
}else{
//安卓环境
}