项目中有一个微信分享功能, 需要用到微信SDK,初始化代码如下

 //初始化sdk配置initJssdkShare: function(callback, url) {postRequest(global_.API_URLS.getJsConfig, {curUrl: url}).then((res) => {if (res.resultCode == "1") {jweixin.config({debug: false,appId: res.object.appId,timestamp: res.object.timestamp,nonceStr: res.object.nonceStr,signature: res.object.signature,jsApiList: ['checkJsApi','onMenuShareTimeline','onMenuShareAppMessage','getLocation','closeWindow','showMenuItems','showOptionMenu','hideMenuItems']});jweixin.ready(() => {console.log('wx ready')if (callback) {console.log("配置完成,执行功能")callback(res.data);}});} });

真机操作中发现, 安卓端可以正常初始化成功, IOS服务端一直出现签名认证失败,最后发现是IOS授权的URL导致的。
解决方案: 前端项目路由时 记录当前URL至缓存中, IOS只保留首次进入页面的URL,安卓端实时刷新,微信SDK初始化时, 认证URL从缓存中获取。

// 路由全局拦截器 在这里处理登录、授权等相关操作
router.beforeEach(function(to, from, next) {console.log('前置守卫')//1. 判断是否为刷新页面if(to.page){//2. 判断是否为ios 如果为ios且有缓存url 则不做处理var isIOS = /(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent);//var isIOS = trueconsole.log("当前系统: "+navigator.userAgent+", isIOS: "+isIOS)if(isIOS){var syncUrl = uni.getStorageSync("current_url")console.log("当前缓存链接:"+syncUrl)if(!syncUrl){console.log(global_.H5_URL+"/wx"+to.page)uni.setStorageSync("current_url",global_.H5_URL+"/wx"+to.page)}}else{console.log(global_.H5_URL+"/wx"+to.page)uni.setStorageSync("current_url",global_.H5_URL+"/wx"+to.page)}}else{//页面刷新 清除当前缓存urlconsole.log("首次进入: " + location.href.split('#')[0])uni.setStorageSync("current_url",location.href.split('#')[0])}next()
})

解决IOS微信SDK初始化失败相关推荐

  1. 解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转)

    解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转) 参考文章: (1)解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转) ( ...

  2. 解决IOS微信浏览器底部会出现向前向后返回按钮,返回不刷新的问题

    解决IOS微信浏览器底部会出现向前向后返回按钮,返回不刷新的问题 参考文章: (1)解决IOS微信浏览器底部会出现向前向后返回按钮,返回不刷新的问题 (2)https://www.cnblogs.co ...

  3. Flutter 集成umeng_common_sdk 1.2.4打包出现‘SDK初始化失败,请检查是否集成umeng-asms-1.2x.aar库’

    Flutter 集成umeng_common_sdk 1.2.4打包出现'SDK初始化失败,请检查是否集成umeng-asms-1.2x.aar库' 转载 https://blog.csdn.net/ ...

  4. 接入第三方SDK初始化失败原因

     接入第三方SDK初始化失败原因 最近在接联通计费SDK,出现了一些问题,大家可以看下.(Java大神可以自动略过,只对SDK新人有效) 各种权限以及配置文件全部做好了,但是老是提示SDK初始化失 ...

  5. 解决ios微信浏览器时间不兼容的问题

    解决ios微信浏览器时间格式不兼容的问题 由于ios在微信浏览器中无法识别"YYYY-MM-DD HH:MM:SS"格式的数据,所以在ios中页面将时间格式转换为"YYY ...

  6. HTML实现点击时的阴影(:active)(已解决iOS微信上无法使用)

    一般是用这个委类:active 参考:http://www.w3school.com.cn/cssref/selector_active.asp 但是业界上实现的效果中,今日头条的手机端网页却不是这样 ...

  7. 解决IOS微信中 HTML5 中audio的自动播放问题。

    2019独角兽企业重金招聘Python工程师标准>>> <!DOCTYPE html> <html lang="en"> <head ...

  8. Azure开发者任务之一:解决Azure Storage Emulator初始化失败

    初学Windows Azure: 我打算开始学习Windows Azure.我安装了Azure SDK,然后在"Cloud"标签下选择Windows Azure模板,创建了一个项目 ...

  9. Flutter关于IOSApp配置以及上架AppStore配置和IosApp上架第三方平台以及关于IOS微信Sdk配置

    IosApp基础配置 1.准备mac电脑安装flutter基本环境可在官网教程进行配置https://flutterchina.club/setup-macos/ 2.安装xcode 3.申请苹果开发 ...

  10. iOS 微信 唤醒客户端失败注册失败需要UniversalLink 的解决方案

    一.微信SDK1.8.6.1 更新之后 注册方法变更 + (BOOL)registerApp:(NSString *)appid universalLink:(NSString *)universal ...

最新文章

  1. 【硬件基础】个人感悟+C语言 引入头文件时引号括号的区别
  2. /etc/hosts/中HOSTNAME错误导致lsnrctl启动错误
  3. 进制转换问题---例如把26进制转为10进制
  4. SpringCloud学习笔记(6)----Spring Cloud Netflix之负载均衡-Ribbon的使用
  5. C++关于虚基类、构造函数、析构函数、成员对象的两个程序浅析
  6. C#.Net使用线程池(ThreadPool)与专用线程(Thread)
  7. 从零基础入门Tensorflow2.0 ----二、5.1 超参数搜索
  8. 暖心!阿里安全白帽挖漏洞做公益 连收2462封山区小孩感谢信
  9. 期权定价数值方法之蒙特卡洛模拟【python量化】
  10. java舆情分析_java毕业设计_springboot框架的舆情监测系统
  11. 学习笔记:SSM框架项目搭建
  12. PHP 调用金山词霸API获取音标和音频
  13. 物联网通信消息队列客户端-MQTT简介
  14. 词向量与词向量拼接_如何拥抱 embedding ?从词向量到句向量的技术详解-阿里云开发者社区...
  15. 苹果cms小程序服务器要求,苹果cmsV10最新版小程序插件
  16. 为什么工具类App,都要做一个社区?
  17. java基础类型判空_java基础类型判空
  18. QT笔记——Q_PROPERTY了解
  19. 关于asp输出json对象的方法及实例
  20. 对不起!你的程序员同事抛弃你时,可没空和你说再见。

热门文章

  1. 电脑硬件软件相关知识
  2. 关于WEB服务器硬件配置,你了解多少
  3. 香农-范诺算法(Shannon-Fano coding)原理
  4. DSL是什么意思?Mbps是什么意思?
  5. 台式计算机显卡驱动位置,台式电脑独立显卡怎么安装驱动的
  6. 京东QQ都没有的牛轰特效、两个ListView联动效果,不用stickyheaderlistview,
  7. 53.String的intern()方法、new String()到底创建了几个对象、intern()面试难题
  8. 【网络基础】通俗易懂的搞明白什么是IP地址(小白向)
  9. 2012年8月11日
  10. 软件开发管理之:编码负责人及标准代码库机制(转)--有同样的想法