# resource-manage
## Project setup
```
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
```
### Compiles and minifies for production
```
npm run build
```
### Lints and fixes files
```
npm run lint
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
## 部分业务逻辑
### 登录流程
```mermaid
graph TD;
A[前置路由守卫] --> B{ query.token 是否存在?}
%% TAPD 登录流程
B -->|是| C[清除本地 token]
C --> D[调用 fetchToken]
D --> E{获取 token 成功?}
E -->|是| F[保存 token 到 localStorage
重定向并移除 URL token 参数]
E -->|否| G[处理登录失败]
%% 无 token 流程
B -->|否| H{检查 Vuex 和 localStorage
是否有 token?}
H -->|都没有| I[显示 token 错误
中断导航]
%% 恢复 token 流程
H -->|localStorage 有 Vuex 没有| J[恢复 token 到 Vuex]
J --> L
%% 加载路由流程
H -->|Vuex 有| L{检查动态路由是否为空?}
L -->|是| M[获取路由资源]
M --> N[生成动态路由]
N --> O{是否为管理员?}
O -->|是| P[添加系统设置路由]
O -->|否| Q[继续导航]
P --> Q
L -->|否| Q
%% 登录失败处理
G --> R{是否不在白名单?}
R -->|是| S[跳转到登录失败页面
中断导航]
R -->|否| T[提示点击TAPD导航栏刷新
中断导航]
```