位置: IT常识 - 正文

微信公众号 H5 JS-SDK wx.config 报错 invalid url domain 及 invalid signature 错误原因及解决方式(微信公众号 h5 保存openid)

编辑:rootadmin
微信公众号 H5 JS-SDK wx.config 报错 invalid url domain 及 invalid signature 错误原因及解决方式

推荐整理分享微信公众号 H5 JS-SDK wx.config 报错 invalid url domain 及 invalid signature 错误原因及解决方式(微信公众号 h5 保存openid),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:微信公众号h5js直接下载文件,微信公众号 h5 分享,微信公众号 h5触发分享,微信公众号 h5页面缓存,微信公众号h5js直接下载文件,微信公众号 h5下载,微信公众号 h5页面缓存,微信公众号h5js直接下载文件,内容如对您有帮助,希望把文章链接给更多的朋友!

在项目进行JSSDK使用的过程中,出现了很多问题,其中报错invalid url domain 以及 invalid signature最多,也最头疼,部分坑在文档里也并没有写清楚,这里就简单说下这两个报错的原因和解决方式

一、 invalid url domain

当报错invalid url domain时 其实离成功不远了,错误原因也很直白,就是url并没有在公众号设置里正确绑定,需要重点检查几个东西

1. appid 是否是公众号appid(查看在 微信公众平台-> 登陆公众号后台 -> 基本配置-> 开发者ID(AppID))

2. 域名绑定是否正确(查看在 微信公众平台-> 登陆公众号后台 -> 公众号设置-> 功能设置 -> JS接口安全域名)

注意:在域名绑定时,请确定绑定域名与你H5进行wx.config发起域名一致,http与https一致

二、 invalid signature微信公众号 H5 JS-SDK wx.config 报错 invalid url domain 及 invalid signature 错误原因及解决方式(微信公众号 h5 保存openid)

invalid signature是开发是碰到最多也是真的有大坑的一个报错,基本的错误在文档里都有写清楚,按照官方文档(https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#62) 配置基本能够完成,我这里说一个文档里并没有描述,但是却很容易或者让人很疑惑的坑。

在这个报错的信息里会伴随一个realAuthUrl,我们在开发的时候发现这个报错的realAuthUrl在ios以及安卓里表现不一样,而且在ios中是否刷新也会表现不一样,在查阅了很多文章后终于大概明白了坑点,主要表现如下:

1. ios端微信浏览器进入H5页面时,realAuthUrl是从微信跳进H5的第一个url,也就是说如果在微信公众号点击XXX.com/aa/bb 跳进了H5, 那么H5的realAuthUrl 就是 XXX.com/aa/bb ,也就是我们需要使用去进行signature签名的url, 无论我们在哪个其它路径发起wx.config,都只能传 XXX.com/aa/bb ,这一点就和官方文档写的让我们动态location.href.split(‘#’)[0] 获取地址有冲突了,因为动态获取的路径不一定是初始化进入H5的路径XXX.com/aa/bb 但是有两个例外的情况:

(1)比如我们从 XXX.com/aa/bb 进入H5,但是停留在了 XXX.com/aa/bb/cc 路径下,此时如果我们点击浏览器右上方的操作按钮进行刷新操作, 此时的realAuthUrl又会变成 XXX.com/aa/bb/cc 而不是我们初始进入页面的url

(2)如果我们从 XXX.com/aa/bb 进入H5,然后跳转至 XXX.com/aa/bb/cc 跳转的方式是通过window.location.href跳转而不是框架路由跳转,此时真正的realAuthUrl也会变成 XXX.com/aa/bb/cc

2. 安卓微信浏览器进入H5页面,你在哪个路径发起了wx.config,那么realAuthUrl就是你发起请求的路径,这一点和ios完全不一样,比如是从 XXX.com/aa/bb 进入的H5,但是你真正进行wx.config的路径是 XXX.com/aa/bb/cc/dd?z=xxx 那么 realAuthUrl 就是 XXX.com/aa/bb/cc/dd?z=xxx ,这就和官方文档一致,我们通过动态js获取路径url总能匹配正确的realAuthUrl

原因分析: IOS端微信浏览器,在我们进入H5后,如果使用框架路由跳转,如navigate,link等跳转,不会真正的修改我们SPA项目的url,所以在wx.config的时候他认定的realAuthUrl是进入H5的第一个url或者进行window.location.href跳转后的url 安卓端微信浏览器,进入H5后无论是框架路由跳转还是其它跳转方式,都会真正的修改SPA项目的url

解决方式:

1.在进入H5后保存进入H5的第一个url,在发起wx.config的时候如果是ios端则使用保存的第一个url,如果是安卓的则动态获取,但是请注意ios的使用保存的第一个url的时候一定要确保过程中没有window.location.href跳转,如果有那么要修改对应保存的url

2.如果我们只在特定的页面需要进行接入JSSDK进行wx.config,我们可以在进入这个页面路径的时候使用window.location.href的方式跳转,这样就保证无论是ios还是安卓端我们的realAuthUrl都是当前发起wx.config的url,直接按照官方文档方式使用

本文链接地址:https://www.jiuchutong.com/zhishi/280067.html 转载请保留说明!

上一篇:ddhelper32.exe进程安全吗.是病毒吗 ddhelper32是什么进程(tdxcef.exe进程)

下一篇:OpenEuler安装保姆级教程 | 附可视化界面(openeuler安装gnome)

  • 红米note8pro电池能用多久(红米note8pro电池多少钱)

    红米note8pro电池能用多久(红米note8pro电池多少钱)

  • qq转发怎么屏蔽部分人(qq转发怎么屏蔽微信好友)

    qq转发怎么屏蔽部分人(qq转发怎么屏蔽微信好友)

  • 微信两个手机登录聊天记录同步吗(微信两个手机登录会不会封号)

    微信两个手机登录聊天记录同步吗(微信两个手机登录会不会封号)

  • iphone双卡双待副号没信号(iphone副卡怎么接收短信)

    iphone双卡双待副号没信号(iphone副卡怎么接收短信)

  • 腾讯会议录屏时怎么录不了视频原声(腾讯会议录屏时间限制)

    腾讯会议录屏时怎么录不了视频原声(腾讯会议录屏时间限制)

  • 微博信用积分80在哪里看(微博信用积分怎么看)

    微博信用积分80在哪里看(微博信用积分怎么看)

  • win+d是什么快捷键(win+e是什么快捷键)

    win+d是什么快捷键(win+e是什么快捷键)

  • 钉钉观看回放时长怎么算(钉钉观看回放时间)

    钉钉观看回放时长怎么算(钉钉观看回放时间)

  • excel和office是一个软件吗(excel和office有什么区别)

    excel和office是一个软件吗(excel和office有什么区别)

  • 运行在哪(win11的开始运行在哪)

    运行在哪(win11的开始运行在哪)

  • 描述文件会不会有病毒(描述文件安全嘛)

    描述文件会不会有病毒(描述文件安全嘛)

  • 芒果tv清晰度在哪里调(芒果tv清晰度在哪里)

    芒果tv清晰度在哪里调(芒果tv清晰度在哪里)

  • 如何关闭微信收款语音提醒(如何关闭微信收款语音播报)

    如何关闭微信收款语音提醒(如何关闭微信收款语音播报)

  • wps做完没保存怎么找回来(wps做完的文档没保存能找到吗)

    wps做完没保存怎么找回来(wps做完的文档没保存能找到吗)

  • 所选内容无效怎么处理(word所选内容无效是怎么回事)

    所选内容无效怎么处理(word所选内容无效是怎么回事)

  • 淘宝双11什么时候开始(淘宝双11什么时候结束)

    淘宝双11什么时候开始(淘宝双11什么时候结束)

  • 苹果系统13.1.2更新了什么(苹果系统13.2更新)

    苹果系统13.1.2更新了什么(苹果系统13.2更新)

  • 华为手机黑屏怎么打开手电筒(华为手机黑屏怎么强制重启)

    华为手机黑屏怎么打开手电筒(华为手机黑屏怎么强制重启)

  • 快手文件夹在哪里(快手文件在哪里)

    快手文件夹在哪里(快手文件在哪里)

  • 蚂蚁森林公益林有证书吗     (蚂蚁森林公益林浇水感想)

    蚂蚁森林公益林有证书吗    (蚂蚁森林公益林浇水感想)

  • 路由器不用电脑怎么设置(路由器不用电脑可以连接吗)

    路由器不用电脑怎么设置(路由器不用电脑可以连接吗)

  • 蜻蜓翅膀特写 (© Azwar Thaufeeq/500px/Getty Images)(蜻蜓翅膀特写怎么画)

    蜻蜓翅膀特写 (© Azwar Thaufeeq/500px/Getty Images)(蜻蜓翅膀特写怎么画)

  • [vue 进阶] 关于dicts字典的用法(vue相关)

    [vue 进阶] 关于dicts字典的用法(vue相关)

  • 印花税处罚适用征管法吗
  • 购买土地的契税怎么计算
  • 我国现行的增值税属于什么
  • 有限责任公司的股东人数为多少
  • 增值税税率调整为9%
  • 车辆购置税计入成本吗
  • 社保公积金计提是本月计提下月
  • 员工报销没有发票怎么入账
  • 混凝土开票的型号规格
  • 物业费专用发票税率
  • 小企业货币资金1710元正常吗
  • 代扣代缴车船税手续费比例
  • 外购固定资产的计税基础
  • 未开票收入已缴税额怎么入账
  • 出口产品报关单上保险费与实际不符可以丿退税吗
  • 消费税的计税方法
  • 发票冲红增值税怎么申报
  • 限制性股票科目
  • 金税设备维护费账务处理
  • 建筑业交税会计分录
  • 法院拍卖破产企业房产,税费问题
  • 保险代理的佣金怎么算
  • 超市买的日用品没消毒直接用
  • 一般纳税人进货收到普票怎么做账
  • 文件夹怎么发送不了
  • 小规模纳税人取得防伪税控系统普通发票
  • 进销存账本怎么做
  • 财政拨款收入是指行政单位从哪里取得的预算资金
  • 补交以前年度的城建税会计分录
  • 对于接受捐赠的固定资产,其成本应当依次按照
  • 移民美国怎样加入医疗保险
  • css样式修改
  • php 用户
  • 奖金没有做到工资里怎么入账
  • 以前年度盈余调整对应科目
  • 增值税品种
  • 跨月发票红字冲销有影响吗
  • 商品流通企业存货计价方法
  • 固定资产投资额怎么计算
  • 购买软件使用费计入什么科目
  • 工会经费通过应交税费核算吗
  • 研究费用记入什么费用
  • 增值税专用发票丢了怎么补救
  • 无形资产当年提摊销嘛
  • 汽车以租代售合法吗
  • 打官司收到对方的款,如何做账
  • 股东追加投资如不追加会怎样
  • 用友t3普及版价格
  • 一年以内到期的长期借款属于
  • 生产性生物资产折旧计入什么科目
  • 应收账款坏账准备的会计分录
  • 工会经费按照什么计算缴纳
  • 吸收的三种方式
  • 银行本票具体操作流程
  • mysql完整教程
  • sql server字段
  • centos7配置tomcat
  • ubuntu注册用户
  • mac os x 10.12.2 Beta1怎么升级?macOS Sierra 10.12.2 Beta升级图文教程
  • FreeBSD, Debian, CentOS一个网卡绑定多个IP
  • 如何安装win7系统教程
  • centos 操作
  • cocos2dx怎么安装
  • python中判断数值类型
  • 标签栏切换代码js
  • Python+Wordpress制作小说站
  • Node.js中的全局变量有哪些
  • linux 部署
  • 在unity中单例的主要作用
  • 在bash shell环境下
  • jQuery插件在使用前都需要引入jQuery的js文件
  • unity 开发游戏
  • JavaScript中的方法名不区分大小写
  • 深入理解新发展理念
  • 如何在js中实现输入
  • 四川税务局发票下载
  • 江西省国家税务局电子税务局
  • 辽宁事业单位职测考试时间多长
  • 微信密码忘记了,手机号也没有用了,怎么办
  • 车辆购置税多久能退回来
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设