vue 项目应用于微信公众号,分享时带上#/path/123456 等自定义路径的解决方案

问题描述:

后台框架thinkphp,一次在vue编译的项目中,在微信公众号内直接打开【众所周知,在微信公众号内需要授权码access_token】,此时授权完成回调时跳转到页面通过后台无法获取到 #号之后的所有参数,如图:

后台输出:

这个不用查找,因为php是真的无法获取,这是规则问题

 

因此为了解决必须这样的方式访问,我们必须理清思路

1、访问时先把地址存起来(怎么才可以获取到#的地址)

2、授权完毕,跳转到存起来的地址就完成了

 

解决方法:

相对于第2点来说,后台操作不用说了,就一句跳转代码,太简单了,主要说是第1点。

我那时直接提供两种方法给后台人员(虽然我写过后台代码,但现在安排我做前端,后台就不是我的工作范围内了,呵呵)

第一种:没授权访问时,直接渲染一个页面,页面使用js获取地址,例如:localtion.href ,然后存储在本地或存放后台接口等【session,cookies等都可以】,然后由前端发起微信授权请求,授权完成回调,后台获取或直接渲染vue项目(这种情况,先获取本地是否存在存储路径,存在则前端直接重新跳转,否则正常启动),这种情况非常不友好,在我的预料之内,直接让我说第二种,哈哈

第二种:路由替换,访问时直接采用这种方式:www****/index/index.html?wxkey=/share/1,后台可以获取,然后直接wxkey=替换成 # 然后存储起来,授权完成,跳转到该存储地址方可【简单点就是后台格式化地址】

 

其他的,我的水平有限,无法想到,所以直接让后台按照我的思路来,他不干也得干,不然要么history路由模式和后台路由冲突(改动更大),要么后台想办法解决,就是这么简单。。。

 

 

欢迎留言啊!!!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值