微信公众号网页,微信jssdk需要刷新页面才可以使用

文章发布于2021年05月11日 18:36, 归类于: 前端

问题

使用 uniapp 开发微信公众号h5时,遇到需要刷新页面才可以使用 微信jssdk,问题只在苹果手机上出现。

我的网页是 vue 单页面,hash 模式。

解决

请求配置参数时,需要传页面 url,如果是苹果手机,url 不可以带有 # 号。

let url = window.location.href
uni.getSystemInfo({
  success: function(res) {
    if(res.errMsg ==='getSystemInfo:ok' && res.platform.toLowerCase() === 'ios') {
      url = url.split("#")[0]
    }
    console.log('res',res.platform.toLowerCase())
  }
});

// 请求后台,获取jsssdk配置
uni.request({
  // 仅为示例,并非真实接口地址
  url: 'https://www.example.com/wechat/index/getJssdk/appid/wxf05aa982712fs421',
  data: {
    // 页面 url,后台需要的数据
    url
  },
  success: result => {
    // 注入配置信息,同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用
    jweixin.config({
      debug: false,
      appId: result.appId,
      timestamp: result.timestamp,
      nonceStr: result.nonceStr,
      signature: result.signature,
      jsApiList,
      // 跳转小程序时必填
      openTagList: ['wx-open-launch-weapp']
    });

    jweixin.ready(function(res) {

    });

    jweixin.error(function(res) {

    });
  }
});


转载请注明来源:《 微信公众号网页,微信jssdk需要刷新页面才可以使用》- rojerYong's Blog

文章链接:https://www.eoway.cn /article/1620729413.html

如果此文摘取了你的原创,请联系本站管理员,将对此文修改、删除处理。

--END--
上一篇:微信小程序打包,主包和分包都小于2m,却上传失败 下一篇:uniapp 微信小程序背景音频播放 uni.getBackgroundAudioManager()