Blog

Keep up to date with the latest news

vue项目迁移到angular平台经验

angular项目是一个大的平台,架构是单页应用模式,平台每一个菜单页是一个angular项目。

vue老的项目导入为了避免麻烦,采用了一个项目的模式,打一个统一的包,build后上传MobaXterm_Personal 软件nginx目录html目录下对应的项目文件夹中。

因为引入的vue项目就是angular项目的一个菜单,所以是没有登录的。那么问题来了,怎么在不登录的状态下获取到token,还有点击的是哪个菜单,再进行路由跳转呢?angular平台点击任何菜单都是一个地址。

1.在router.js中进行拦截

const oldUrl = to.fullPath

localStorage.setItem('oldUrl', oldUrl)

这个url是angular项目的url,可以转义出一个code

通过这个code发起请求获取token

2.需要自己封装一个axios

service.interceptors.request.use(config => {}

在每次请求的时候 获取token

return getTokenServer().then(newToken => {

axiosInstanceOffice.defaults.headers['mti-authentication-user'] = newToken;

return getTokenServer().then(newToken => { 这么写避免了页面请求比axios快的问题