vue spa项目调用微信jssdk,在iOS下报错invalid signature

在使用Vue开发的单页面应用中,调用微信语音功能时遇到在iOS系统上报错'invalidsignature'。解决方法是针对iOS和Android系统的不同处理:在iOS上获取config时,需去掉URL中的'#'及其后内容,而在Android上则使用完整的location.href。通过检查用户代理来区分系统并适配处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vue:调用微信jssdk,配置config在安卓系统下正常,ios系统报错invalid signature_mosowe-优快云博客框架:vue问题回顾:制作vue单页面,调用微信语音相关功能,配置config在ios端报错'invalid signature'解决办法:在给后端传当前url获取微信config的时候,要去掉路由#后面的内容,所以取url的方法为location.href.split('#')[0]。补充:由于在ios和android中,location.href在spa页面的机制不同(不同在于io...https://blog.youkuaiyun.com/skyblacktoday/article/details/88344096?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link

框架:vue

问题回顾:制作vue单页面,调用微信语音相关功能,配置config在ios端报错'invalid signature'

解决办法:

1. hash模式:在给后端传当前url获取微信config的时候,要去掉路由#后面的内容,所以取url的方法为location.href.split('#')[0]。

补充:由于在ios和android中,location.href在spa页面的机制不同(不同在于ios是只要不刷新页面,href就不会改变),所以你要对相应的系统做适配。

let url = '';
let ua = navigator.userAgent.toLowerCase();
if (/iphone|ipad|ipod/.test(ua)) {
  url = location.href.split('#')[0];
} else (/android/.test(ua)) {
  url = location.href;
}
2. history模式:

获取配置参数的路径为首页路径


————————————————
版权声明:本文为优快云博主「Mosowe」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/skyblacktoday/article/details/88344096

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值