vue 使用微信JSSDK,在IOS端会授权出错_dongfuxin6152的博客-程序员宅基地

技术标签: ViewUI  操作系统  后端  javascript  

原因:

vue-router切换的时候操作的都是浏览器的历史记录,iOS会把第一次刚进入时的URL作为真实URL,安卓会把当前URL作为真实URL。

所以导致后端在配置好的授权参数获得的config参数和微信sdk获取的参数是不一样的。

 

解决方案: 修改路由  index.js

{
   
path: '/namecheck',
component: NameCheck,
beforeEnter:(to,from,next)=>{
var u = navigator.userAgent;
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
// XXX: 修复iOS版微信HTML5 History兼容性问题
if (isiOS && to.path !== location.pathname) {
// 此处不可使用location.replace
location.assign(to.fullPath)
} else {
next()
}
},
name: 'namecheck',
meta: {
requireAuth: true,
}
},


window.location.assign(url) : 加载 URL 指定的新的 HTML 文档。 就相当于一个链接,跳转到指定的url,当前页面会转为新页面内容,可以点击后退返回上一个页面。
window.location.replace(url) : 通过加载 URL 指定的文档来替换当前文档 ,这个方法是替换当前窗口页面,前后两个页面共用一个
窗口,所以是没有后退返回上一页的

转载于:https://www.cnblogs.com/tengrl/p/10429278.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dongfuxin6152/article/details/101945473

智能推荐

cmp bne 以及sub指令的详解-程序员宅基地

之前看到过一个延时函数段:delay: ldr r2, =7000000 ldr r3, =0x0 delay_loop: sub r2, r2, #1 //r2=r2-1 cmp r2, r3 //cmp会影响z标志位,如果r2=r3,则Z=1;下一句中eq就会成立 bne del..._sub指令用法

QNetwork封装的一个get/post类-程序员宅基地

此代码应该是从Github上借鉴过来的类,封装的不错,可以直接使用get和post请求。也可以实现一些简单的下载请求。NetworkHelper.h#ifndef NetworkHelper_h_#define NetworkHelper_h_#include #include #include #define LimitTim

el-form 表单校验,根据下拉内容 v-if 动态展示字段,校验不清空/不重置问题_Shimeng_1989的博客-程序员宅基地

问题:v-if切换前,如果有校验错误提示,则v-if切换后,不清空,仍旧会显示切换前的校验错误信息。场景:会根据”供应商分类“的选择,动态展示不同的填写内容。

更换Homebrew的更新源_homebrew更新源-程序员宅基地

欢迎参与讨论,转载请注明出处。   本文转载自https://musoucrow.github.io/2017/03/29/brew_changing/前言  更换Homebrew的更新源的教程,在网上数不胜数,然内容大多大同小异且述之不详,且未提及版本上的差异。故作此文,以正视听。   在阅读此文之前,你需要了解Homebrew和Git并安装了它们。并且对于Homebrew官方更新源的速度赶到_homebrew更新源

JSP自定义分页标签库_jsp连接数据库自定义分页标签-程序员宅基地

目的:分页在查询页面几乎哪里都要用到,代码繁琐,_jsp连接数据库自定义分页标签

Python的静态方法、类方法、实例方法理解-程序员宅基地

Python的类中有常见的三种方法类型:静态方法,实例方法,类方法。实例方法只有实例的对象才能调用,其余两种方法类和实例斗可以调用。1.实例方法:实例方法是最为常见以及应用最广的一种方法,默认约定这个方法的第一个参数为self。class B(object): def __init__(self): self.a = "aaaa" self.b...

随便推点

Kettle实战100篇 第3篇 转换核心对象JSON Input组件_kettle mongodb jsoninput 转化标准格式-程序员宅基地

随着目前微服务的普及,JSON格式已经成为大家公认的数据交换的标准的格式,我们在网页调用接口或者API接口都是通过JSON来操作业务.在ETL过程中,不管是接口的调用或者文件的输入,遇到JSON格式的源数据,我们最终都需要通过JSON Input组件来帮助我们完成相应的转换.示例从文件读入JSON输出到Excel在Kettle的安装文件下有files.js文件,文件格式如下:..._kettle mongodb jsoninput 转化标准格式

计算机网络——传输层(TCP\UDP)-程序员宅基地

目录传输层两个协议TCP(Transmission Control Protocol , 传输控制协议)协议UDP(User Data Protocol,用户数据报协议)协议UDP首部TCP报文段的格式主机和网页的交互过程TCP如何实现可靠性传输TCP协议如何实现流量控制TCP协议如何避免网络拥塞可靠性传输工作原理——停止等待协议可靠通信的实现连续A...

php多层数组与对象的转换 3 种实现方式_php 多层object转array-程序员宅基地

1. //PHPstdClassObject转array functionobject_array($array){ if(is_object($array)){ $array=(array)$array; } if(is_array($array)){ foreach($arrayas$key=>$value){ $array[$key]=object_ar..._php 多层object转array

团队建设之做好技术团队管理-程序员宅基地

博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved ! 做过团队管理,知道团队管理的麻烦,所以收集资料加上个人认识整理如下,欢迎批评指正!怎样才能做好技术团队管理经常看到有人问程序员适合做管理吗,或者手底下有牛人比我技术更好怎么办,或者感叹一下做管理好难啊之类的。同时,相当大的一部分程

SMB(Server Message Block,又称Common Internet File System(CIFS))-程序员宅基地

SMB(Server Message Block,又称Common Internet File System(CIFS))是由微软开发的一种软件程序级的网络传输协议,主要用来使得一个网络上的机器共享计算机文件、打印机、串行端口和通讯等资源。它也提供认证的行程间通讯机能。它主要用在装有Microsoft Windows的机器上,在这样的机器上被称为Microsoft Windows Networ