69 lines
1.4 KiB
Markdown
69 lines
1.4 KiB
Markdown
# 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<br/>重定向并移除 URL token 参数]
|
|
E -->|否| G[处理登录失败]
|
|
|
|
%% 无 token 流程
|
|
B -->|否| H{检查 Vuex 和 localStorage<br/>是否有 token?}
|
|
H -->|都没有| I[显示 token 错误<br/>中断导航]
|
|
|
|
%% 恢复 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[跳转到登录失败页面<br/>中断导航]
|
|
R -->|否| T[提示点击TAPD导航栏刷新<br/>中断导航]
|
|
```
|