| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- 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);
- });
- },
- });
|