位置: 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)

  • 小米的内存扩展在哪里(小米的内存扩展真的有用吗)

    小米的内存扩展在哪里(小米的内存扩展真的有用吗)

  • 支付宝如何 实名(支付宝如何实名认证)

    支付宝如何 实名(支付宝如何实名认证)

  • 微信怎么延迟转账时间(微信怎么延迟转款)

    微信怎么延迟转账时间(微信怎么延迟转款)

  • 移动宽带怎么更换户主(移动宽带怎么更改密码手机上怎么改)

    移动宽带怎么更换户主(移动宽带怎么更改密码手机上怎么改)

  • 微信后台为啥收不到消息(为什么微信收)

    微信后台为啥收不到消息(为什么微信收)

  • 快手列入黑名单有什么用(快手黑名单会自动解除吗)

    快手列入黑名单有什么用(快手黑名单会自动解除吗)

  • b站私信有红色的感叹号(b站私信有红色的感叹号 别着急发图啊)

    b站私信有红色的感叹号(b站私信有红色的感叹号 别着急发图啊)

  • 为什么苹果充值不了(为什么苹果充值显示付款方式被拒)

    为什么苹果充值不了(为什么苹果充值显示付款方式被拒)

  • 联想笔记本没有声音怎么回事(联想笔记本没有wifi连接选项)

    联想笔记本没有声音怎么回事(联想笔记本没有wifi连接选项)

  • ppt保存后再打开还是原来的(ppt保存后再打开图片旋转了)

    ppt保存后再打开还是原来的(ppt保存后再打开图片旋转了)

  • 为什么苹果手机连不上wifi显示密码错误(为什么苹果手机无线局域网打不开)

    为什么苹果手机连不上wifi显示密码错误(为什么苹果手机无线局域网打不开)

  • 荣耀v30pro上市时间(荣耀v30pro啥时候上市)

    荣耀v30pro上市时间(荣耀v30pro啥时候上市)

  • wps如何多个自动筛选(wps自动汇总多个文件)

    wps如何多个自动筛选(wps自动汇总多个文件)

  • 苹果x清理缓存怎么清理(苹果x清理缓存怎么清理方法)

    苹果x清理缓存怎么清理(苹果x清理缓存怎么清理方法)

  • iphonexs有超广角吗(苹果xs有超广角)

    iphonexs有超广角吗(苹果xs有超广角)

  • 小爱音响调音量的在哪(小爱音响调声音大小)

    小爱音响调音量的在哪(小爱音响调声音大小)

  • 电子名片有哪些特点(什么是电子名片)

    电子名片有哪些特点(什么是电子名片)

  • 苹果xsmax是几核处理器(苹果xsmax是a十几处理器)

    苹果xsmax是几核处理器(苹果xsmax是a十几处理器)

  • 酷狗怎样赠送专辑(酷狗赠送专辑的步骤)

    酷狗怎样赠送专辑(酷狗赠送专辑的步骤)

  • 如何快速绝对引用(如何快速绝对引用对应单元格的内容)

    如何快速绝对引用(如何快速绝对引用对应单元格的内容)

  • TypeScript选项‘importsNotUsedAsValues‘和‘preserveValueImports‘弃用(typescriptlang)

    TypeScript选项‘importsNotUsedAsValues‘和‘preserveValueImports‘弃用(typescriptlang)

  • uni-app组件-应用简单快速上线(uniapp组件使用)

    uni-app组件-应用简单快速上线(uniapp组件使用)

  • 详解帝国CMS图集字段的大图,小图,说明的调用方法(详解帝国cms图集大全)

    详解帝国CMS图集字段的大图,小图,说明的调用方法(详解帝国cms图集大全)

  • 车辆购置税退税计算
  • 车船使用税代扣怎么计算
  • 什么情况下进项税额需要转出
  • 只有增值税专用发票才能勾选抵扣吗
  • 所得税汇算清缴账务处理
  • 业务往来中接受礼品道德吗
  • 哪些行业不能开具增值税专用发票
  • 分期付款购买商品的会计分录
  • 发出商品是用进货吗
  • 土地增值税清算的条件
  • 企业奖励的目的
  • 可控费用包括工资吗
  • 商场返券活动300返220
  • 加油站固定资产折旧年限
  • 未确认融资租赁费用是什么类型科目
  • 亏损企业净资产负债率
  • 工程费用进项税率
  • 一般纳税人开6个点的票内容
  • 印花税计提比例是多少
  • 有一个公司能做多少事情
  • 财务报告报送与信息采集季报怎么填写
  • 固定资产取得方式A04代号
  • 财务软件操作指南
  • 统借统贷协议
  • 有进项税额转出怎么结转增值税
  • 索赔发票会计入账
  • 自产自用设备税务处理
  • 应付职工薪酬年末需要结转吗
  • 华硕笔记本预装win10改装win7,有图文教程
  • 鸿蒙工具箱巅峰模式有什么用
  • 连续亏损的公司还要去吗
  • 如何在旧的php系统中删除
  • mac补丁安装步骤
  • php字符串定义
  • PHP:apache_response_headers()的用法_Apache函数
  • php lee
  • PHP:pg_fetch_row()的用法_PostgreSQL函数
  • 应付债券到期偿还
  • 其他应付款转资本公积股东决议
  • 图森在哪
  • smiles查询
  • 蒙特城堡干红葡萄酒价格
  • 企业工会注销怎么办理
  • vue路由跳转的三种方法
  • 防伪税控开票系统安装
  • 工商银行代发工资多久到账
  • 多付款退回怎样写说明
  • js函数声明的提出者
  • 同一控制下企业合并发生的审计费用计入
  • 工地上购买的零食叫什么
  • 代扣代缴的社保为什么是其他应付款
  • 以设备投资入股的账务处理
  • 结转和结算
  • 不动产租赁如何避税
  • 小规模减免增值税政策
  • 房地产公司销售土地使用权
  • 金税盘清卡怎么弄
  • 连锁店的总部取名
  • 税务开票系统怎么开票
  • 主营业务成本包括哪些
  • 现销方式
  • 年初建账考虑要点有哪些
  • win10预览版21h2
  • sixtypopsix.exe - sixtypopsix是什么进程 有什么用
  • win8安全和维护在哪
  • eclipse win7
  • nodejs中art-template模板语法的引入及冲突解决方案
  • cocos内存管理
  • ExtJS4 表格的嵌套 rowExpander应用
  • perl读取文件内容逐行处理
  • unity游戏之友利拟收购《刀塔传奇》发行商中清龙图
  • Unity3d MonoDevelop格式化代码
  • U3DPlayer UnityWebPlayer动态改变src
  • 安卓判断横竖屏
  • Android Design Support Library
  • python tornado框架
  • 台资企业有什么
  • 智能财税证书含金量
  • 重庆电子税务局app下载
  • 浙江农村医保手机上怎么缴费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设