微信公众号+Vue+JS-SDK配置注册失败,显示config:fail,Error: 系统错误,错误码:63002,invalid signature等解决方法

2023-10-27

用vue做微信公众号调用js-sdk遇到的问题

问题1(JS-SDK在IOS中报签名无效invalid signature)

解决办法
在VUE路由进去你要操作的页面时进行config接口注入
首先打开工程文件中的router/index.js

IOS系统的config接口注入
在这里插入图片描述
关于isIOS 和requestWxStr方法说明

import wx from 'weixin-js-sdk' // 这个时JS-SDK的一个插件具体使用百度下
import api from '../../../API/API'// 接口

// 提取出来的公共方法
/*
* 判断是否IOS环境
* */
export default {
  isIOS () {
    let isIphone = navigator.userAgent.includes('iPhone')
    let isIpad = navigator.userAgent.includes('iPad')
    return isIphone || isIpad
  },
  requestWxStr (topath) {
    // alert(location.href)
    // 需要用到接口的页面
    var params = {
      // 'urlName': `${location.href.split('.com')[0]}.com${topath}`
      'urlName': location.href.split('#')[0]
    }
    // alert(params.urlName)
    api.WechatAPI.WechatPayPageDate(params).then(res => {
      wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
        appId: res.data.appId, // 必填,公众号的唯一标识
        timestamp: res.data.timestamp, // 必填,生成签名的时间戳
        nonceStr: res.data.noncestr, // 必填,生成签名的随机串
        signature: res.data.signature, // 必填,签名,见附录1
        jsApiList: [
          'openLocation',
          'chooseWXPay',
          'chooseImage',
          'uploadImage'
        ]
      })
      wx.error(function (res) {
        // 注册失败
        console.log('注册失败')
        this.$toast.fail('请返回上一层')
        alert('请返回上一层')
      })
    })
  }
}

安卓项目的Confing接口注入
(吐槽下,安卓感觉直接在页面注入没有一点毛病,比IOS好用多了)
安卓机型的话 直接在created中进行confing接口注入就行了,做个判断就行了是IOS就不用做了

methods: {
    // 跳转页面
    GOpage (toUrl) {
      if (toUrl !== null) {
        if (toUrl === 'TakingPictures') {
          console.log('进来拍照了')
          this.TakingPictures()
          return
        }
        this.$router.push({path: toUrl})
      }
    },
    // 拍照
    TakingPictures () {
      this.$toast('拍照')
      let _this = this
      this.$wx.ready(function () {
        _this.$wx.chooseImage({
          count: 1, // 默认9
          sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
          sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有
          success: function (res) {
            var localIds = res.localIds // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
            console.log(localIds)
          },
          cancel: function (res) {
          },
          fail: function (res) {
            // _this.$toast.fail(res.msg)
            _this.$toast.fail('加载中。。。')
            _this.reload() // 调用假JS-SDK 失败重新刷新页面,则会congfig会注入成功
          }
        })
      })
    },
    // 注入配置
    wechatconfig () {
      let params = {urlName: window.location.href.split('#')[0]}
      // 该接口在那个页面使用
      // let params = {urlName: window.location.href}
      this.$api.WechatAPI.WechatPayPageDate(params).then(res => {
        this.$wx.config({
          debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
          appId: res.data.appId, // 必填,公众号的唯一标识
          timestamp: res.data.timestamp, // 必填,生成签名的时间戳
          nonceStr: res.data.noncestr, // 必填,生成签名的随机串
          signature: res.data.signature, // 必填,签名,见附录1
          jsApiList: ['chooseImage']
        })
      })
    }
  },
  created () {
    // 是不是IOS端 就开始注入配置
    if (!JSSDKHlep.isIOS()) {
      console.log('我不是IOS用户,我在注册需要的接口')
      this.wechatconfig() // 注入微信配置
    }
  }

就算这样写 ,IOS系统的手机中的微信公众号有时候也会抽风,突然就签名无效的错误,JS-SDK就不能用了

发现刷新当前页面后,就正常了。于是我就想到了如果调用JS-SDK时失败了,就刷新页面。就可以重新调用了

刷新页面的 参考资料点击

亲自测试了没效果。。。这个刷新

—2020年6月17日更新
最后发现是async 异步搞得。 不用就好了。。。
–2020年7月30日更新
上述操作太麻烦了。而且有几率性报错。目前使用的方法是IOS微信公众号签名报错

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信公众号+Vue+JS-SDK配置注册失败,显示config:fail,Error: 系统错误,错误码:63002,invalid signature等解决方法 的相关文章

随机推荐

  • Python到底有多强?双十一的时候带你领略它的强大之处!

    双十一第一波付尾款已经开始啦 怎么样 不过很烦的事情就是 手速不够快 抢不过人家 总是错过优惠券 看到好东西 稍微犹豫了下 然后也没了 哭唧唧 成天忙得晕头转向 忘记付尾款 不仅东西没抢到 定金也没了 还有啊 双十一的优惠攻略真的是看得人头
  • 大文件切片上传、视频切片上传转m3u8播放

    一 故事 前不久干项目 涉及到在线学习 简单来说就是对文章 视频进行在线学习 这个时候问题出现了 就是在上传视频的时候 速度很是慢 除此之外 视频播放也是卡的鸭皮 然后就开始疯狂网上搜刮知识 最终解决方案如下 二 解决方案 1 视频采用切片
  • gtest各项参数

    1 测试部分 1 gtest list tests 列出所有测试的名字而不是运行它们 例如TEST fun add 输出就是fun add 2 gtest filter positive patterns 过滤作用 仅仅运行那些名字匹配po
  • docker安装RabbitMQ及安装延迟插件

    我这个安装攻略首先得保证服务器上安装过docker了 如果没安装docker请先去安装docker 1 首先说一下什么是MQ MQ message queue 字面意思上来说消息队列 FIFO先入先出 队列中存入的内容是message 是一
  • Docker 无法使用Vi/Vim/Gedit

    当在ubuntu下 使用docker container 时 想要编辑一些文件 但是docker登陆后 无法安装vim 无法使用apt get命令 所以可以考虑另一种方法 即在本地修改好文件 把文件拷贝覆盖到docker 使用以下命令 do
  • 记录第一篇被”华为开发者联盟鸿蒙专区 “收录的文章

    记录第一篇被 华为开发者联盟鸿蒙专区 社区收录的文章 坚持写作的动力是什么 是记录 分享 以及更好的思考
  • Qt自学笔记-自定义信号和槽(传智教育)

    一 新建项目 1 项目名称 02 SignalAndSlot 建立一个空窗口 基类 Qwidget 名称Widget 先运行一下第一个空窗口 检查一下代码 2 根据需求在项目上创建新文件 2 1 第一个文件 Teacher 不是一个控件 因
  • LeetCode(Python)——回文数(简单)

    回文数 概述 给你一个整数 x 如果 x 是一个回文整数 返回 true 否则 返回 false 回文数是指正序 从左向右 和倒序 从右向左 读都是一样的整数 输入 x 121 输出 true 输入 x 121 输出 false 输入 x
  • PAT 7 三羊献瑞(dfs)

    三羊献瑞 观察下面的加法算式 祥 瑞 生 辉 三 羊 献 瑞 三 羊 生 瑞 气 其中 相同的汉字代表相同的数字 不同的汉字代表不同的数字 请你填写 三羊献瑞 所代表的4位数字 答案唯一 不要填写任何多余内容 答案 9分 f1
  • SPSS实现Fleiss Kappa与分析(也可利用公式计算)

    1 简单介绍 机器学习中涉及新数据集发布的论文通常会描述数据集的构建过程 一份数据集往往由多位标注员共同完成 不同标注员对数据的理解很容易存在偏差 这极大程度上会影响数据集的一致性 从而限制算法的性能 因此在构建数据集的标注过程中 大多数构
  • 解决:selenium.common.exceptions.WebDriverException: Message: 'chromedriver' execu

    在准备写个脚本去爬取网易云歌曲信息时 用selenium去戳 这里采用的是chrome浏览器 链接网页时报错 File C Python37 lib site packages selenium webdriver chrome webdr
  • python日志文件

    version 1 disable existing loggers False root level ERROR handlers console propagate False loggers infoFileLogger level
  • windows任务计划程序拒绝访问

    问题现象 在windows任务计划程序中添加脚本程序 执行相应脚本 报了拒绝访问和创建目录需要输入参数问题 问题分析 没有权限执行脚本 问题解决 除了填写相应位置的脚本之外 还需要填写起始于的脚本所在路径
  • Qt系列文章之 Qt Model Class

    Qt Model Class Qt提供了一些列相互继承的Model类体系 Qt的Model类是对用户数据进行体系化封装并提供统一操作接口的一大类模块 Qt提供的模型类十分多 大致可以分为三种 不可实例化的抽象基类 代理模型类和可实例化模型类
  • 【Python习题集5】函数的设计

    函数的设计 一 实验内容 二 实验总结 一 实验内容 1 编写两个函数分别按单利和复利计算利息 根据本金 年利率 存款年限得到本息和和利息 调用这两个函数计算1000元在银行存3年 在年利率是6 的情况下 单利和复利分别获得的本息和和利息
  • 首次使用阿里云云效拉取代码

    首先 需要公司给权限 把你加入公司项目团队 其次 使用公司给的阿里云账号 密码去登录 登录https codeup aliyun com 通过公司人员给开的权限点击加入团队 使用RAM用户登录 输入阿里云账号 点击下一步3 输入阿里云密码
  • Unity与VisualStudio关联配置

    默认已经正确安装UnityHub和VisualStudio 本文环境为Unity2020 3 4f1c1 和 VisualStudio2019 简略 VisualStudio安装VisualStudio Tools for Unity Un
  • jquery 页面刷新

    页面加载时绑定按钮点击事件 function 按钮id click function refresh 点击按钮调用的方法 function refresh window location reload 刷新当前页面 或者下方刷新方法 par
  • SpringBoot——加载测试专用属性

    简单介绍 在之前的时候我们使用过配置文件添加配置 使用过IDEA添加属性配置 使用过命令行添加临时属性配置 在测试中 也可以设置专用于测试的临时配置属性 使用方法 首先打开SpringBoot中默认创建好的测试类 打开之后会在主类上看到一个
  • 微信公众号+Vue+JS-SDK配置注册失败,显示config:fail,Error: 系统错误,错误码:63002,invalid signature等解决方法

    用vue做微信公众号调用js sdk遇到的问题 问题1 JS SDK在IOS中报签名无效invalid signature 解决办法 在VUE路由进去你要操作的页面时进行config接口注入 首先打开工程文件中的router index j