前端中间件问题
来源:8-4 增加前端微信二跳中间件
鸡肋2016
2019-04-23
老师,你好!
通过middleware下的wechat-auth.js,来权鉴,决定是否return redirect(/wechat-redirect?visit=${fullPath}
)。通过访问wechat-redirect来跳转微信验证页,用户通过验证,再跳oauth页面。
这个我有一个问题,这里的redirect在我这边只是一个前端路由跳转,并不会向服务端发起请求,跳转过去后需要手动刷新才可以,所以我改成了window.location = http://vuessr.vipgz1.idcfengye.com/wechat-redirect?visit=${fullPath}
。
为什么老师那边可以直接向服务端发起请求??
另外还有就是,跳转有点慢,跳转之前index页面已经渲染出来了。感觉就是middleware的wechat-auth.js 执行 和 页面渲染是同步进行的,这个是正常的吗?
写回答
1回答
-
Scott
2019-04-28
window.location 这样也是可以的,简单粗暴。
跳转的确会比较慢一些,因为跳转的背后是服务器有在获取到二跳中的参数进行一些用户持久化的处理,这个过程也可以做成异步的,也就是到你前端路由后,这时候异步把一些参数传给后端,让后端进行异步的处理,前端这里此时不用强刷,等到后端异步任务进行后,再与前端之间进行一次用户态的刷新就行。
00
相似问题