运行流程
-
login页面进行表单验证,(login/index.vue)
-
然后验证成功点击按钮,将数据发送到vuex,有actions的方法(store/modules/user.js)
-
发送请求login,发送请求时会进行一个请求拦截,会在请求头header里加入X-Token,
-
(utils/request.js)返回res以及其他数据如权限等并存储在vuex和cookie,login会返回一个Promise对象,方便login页面调用then或catch操作。
来个流程图吧
vue-admin-template中的permission.js是作为路由拦截用的,判断是否有token是否需要登录页面,以及顶部的加载条
前端验证流程
- 首先经过permission.js路由钩子函数进行权限拦截判断是否有token
- 没有重定向登录页面进行登录,
- 通过handleLogin()函数,去store中的action找login()函数此函数返回一个permission
- 然后调用api。
- api进行request,response拦截,进行判断返回状态码和数据
- store中的action中login()拿到数据设置token和返回数据
- 登录界面handleLogin()中的.then()进行回调进行路由跳转
参考
vue-element-admin源码分析