1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
| import Mock from 'mockjs';
| import setupMock, {
| successResponseWrap,
| failResponseWrap,
| } from '@/utils/setup-mock';
|
| import { MockParams } from '@/types/mock';
| import { isLogin } from '@/utils/auth';
|
| setupMock({
| setup() {
| // Mock.XHR.prototype.withCredentials = true;
|
| // 用户信息
| Mock.mock(new RegExp('/api/user/info'), () => {
| if (isLogin()) {
| const role = window.localStorage.getItem('userRole') || 'admin';
| return successResponseWrap({
| name: 'admin',
| avatar:
| '//lf1-xgcdn-tos.pstatp.com/obj/vcloud/vadmin/start.8e0e4855ee346a46ccff8ff3e24db27b.png',
| email: 'wangliqun@email.com',
| job: 'frontend',
| jobName: '前端艺术家',
| organization: 'Frontend',
| organizationName: '前端',
| location: 'beijing',
| locationName: '北京',
| introduction: '人潇洒,性温存',
| personalWebsite: 'https://www.arco.design',
| phone: '150****0000',
| registrationDate: '2013-05-10 12:10:00',
| accountId: '15012312300',
| certification: 1,
| role,
| });
| }
| return failResponseWrap(null, '未登录', 50008);
| });
|
| // 登录
| Mock.mock(new RegExp('/api/user/login'), (params: MockParams) => {
| const { username, password } = JSON.parse(params.body);
| if (!username) {
| return failResponseWrap(null, '用户名不能为空', 50000);
| }
| if (!password) {
| return failResponseWrap(null, '密码不能为空', 50000);
| }
| if (username === 'admin' && password === 'admin') {
| window.localStorage.setItem('userRole', 'admin');
| return successResponseWrap({
| token: '12345',
| });
| }
| if (username === 'user' && password === 'user') {
| window.localStorage.setItem('userRole', 'user');
| return successResponseWrap({
| token: '54321',
| });
| }
| return failResponseWrap(null, '账号或者密码错误', 50000);
| });
|
| // 登出
| Mock.mock(new RegExp('/api/user/logout'), () => {
| return successResponseWrap(null);
| });
|
| // 用户的服务端菜单
| Mock.mock(new RegExp('/api/user/menu'), () => {
| const menuList = [
| {
| path: '/dashboard',
| name: 'dashboard',
| meta: {
| locale: 'menu.server.dashboard',
| requiresAuth: true,
| icon: 'icon-dashboard',
| order: 1,
| },
| children: [
| {
| path: 'workplace',
| name: 'Workplace',
| meta: {
| locale: 'menu.server.workplace',
| requiresAuth: true,
| },
| },
| {
| path: 'https://arco.design',
| name: 'arcoWebsite',
| meta: {
| locale: 'menu.arcoWebsite',
| requiresAuth: true,
| },
| },
| ],
| },
| ];
| return successResponseWrap(menuList);
| });
| },
| });
|
|