微信公众号注册JSSDK

在VUE项目中,微信IOS端无法响应路由改变时对地址的变化,所以每次注册只能使用最初的url地址。那么可以设置一个标记位,如果是IOS且首次注册成功就缓存该地址到localStorage,进行注册的时候就进行判定,如果signflag为真的话,就直接采用缓存的url地址,否者采用当前url地址

let signflag = false;
function getWxSign(jsApiList = []) {
  let url = encodeURIComponent(window.location.href);
  if (signflag) {
    url = localStorage.getItem('initialUrl');
  } else {
    url = encodeURIComponent(window.location.href);
  }
  if (!signflag) {
    wx.ready(function () {
      if (!signflag && utils.isIOS()) {
        signflag = true; // todo 取消注释
        localStorage.setItem('initialUrl', url)
      }
    })
  }
  this.$ajax.postUrl(
    this.$API.GETJSSDK(url),
    {url},
    res => {
      const {result} = res;
      const {appId, nonceStr, signature, timestamp} = result;
      wx.config({
        //debug: true,
        appId,
        timestamp,
        nonceStr,
        signature,
        jsApiList: jsApiList
      });
    },
    err => console.log(err), false
  );
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,799评论 1 32
  • 刚进入公司的时候,参与了一个公司较为复杂的项目,我们公司大部分都只是一些活动页面,复杂一点的项目并不多,我运气比较...
    愿你如夏日清凉的风阅读 10,468评论 1 13
  • 响应式布局的理解 响应式开发目的是一套代码可以在多种终端运行,适应不同屏幕的大小,其原理是运用媒体查询,在不同屏幕...
    懒猫_6500阅读 4,172评论 0 0
  • 33、JS中的本地存储 把一些信息存储在当前浏览器指定域下的某一个地方(存储到物理硬盘中)1、不能跨浏览器传输:在...
    萌妹撒阅读 6,384评论 0 2
  • 需求 微信授权登录(基于公众号的登录方案) 接入JS-SDK实现图片上传,分享等功能 现状及难点 采用的Vue框架...
    imwty阅读 10,653评论 1 19