feat: init
This commit is contained in:
24
src/mock/index.ts
Normal file
24
src/mock/index.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import Mock from 'mockjs'
|
||||
|
||||
import './user'
|
||||
import './message-box'
|
||||
|
||||
import '@/views/dashboard/workplace/mock'
|
||||
/** simple */
|
||||
import '@/views/dashboard/monitor/mock'
|
||||
|
||||
import '@/views/list/card/mock'
|
||||
import '@/views/list/search-table/mock'
|
||||
|
||||
import '@/views/profile/basic/mock'
|
||||
|
||||
import '@/views/visualization/data-analysis/mock'
|
||||
import '@/views/visualization/multi-dimension-data-analysis/mock'
|
||||
|
||||
import '@/views/user/info/mock'
|
||||
import '@/views/user/setting/mock'
|
||||
/** simple end */
|
||||
|
||||
Mock.setup({
|
||||
timeout: '600-1000',
|
||||
})
|
||||
82
src/mock/message-box.ts
Normal file
82
src/mock/message-box.ts
Normal file
@@ -0,0 +1,82 @@
|
||||
import Mock from 'mockjs'
|
||||
import setupMock, { successResponseWrap } from '@/utils/setup-mock'
|
||||
|
||||
const haveReadIds: number[] = []
|
||||
const getMessageList = () => {
|
||||
return [
|
||||
{
|
||||
id: 1,
|
||||
type: 'message',
|
||||
title: '郑曦月',
|
||||
subTitle: '的私信',
|
||||
avatar: '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/8361eeb82904210b4f55fab888fe8416.png~tplv-uwbnlip3yd-webp.webp',
|
||||
content: '审批请求已发送,请查收',
|
||||
time: '今天 12:30:01',
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
type: 'message',
|
||||
title: '宁波',
|
||||
subTitle: '的回复',
|
||||
avatar: '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/3ee5f13fb09879ecb5185e440cef6eb9.png~tplv-uwbnlip3yd-webp.webp',
|
||||
content: '此处 bug 已经修复',
|
||||
time: '今天 12:30:01',
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
type: 'message',
|
||||
title: '宁波',
|
||||
subTitle: '的回复',
|
||||
avatar: '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/3ee5f13fb09879ecb5185e440cef6eb9.png~tplv-uwbnlip3yd-webp.webp',
|
||||
content: '此处 bug 已经修复',
|
||||
time: '今天 12:20:01',
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
type: 'notice',
|
||||
title: '续费通知',
|
||||
subTitle: '',
|
||||
avatar: '',
|
||||
content: '您的产品使用期限即将截止,如需继续使用产品请前往购…',
|
||||
time: '今天 12:20:01',
|
||||
messageType: 3,
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
type: 'notice',
|
||||
title: '规则开通成功',
|
||||
subTitle: '',
|
||||
avatar: '',
|
||||
content: '内容屏蔽规则于 2021-12-01 开通成功并生效',
|
||||
time: '今天 12:20:01',
|
||||
messageType: 1,
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
type: 'todo',
|
||||
title: '质检队列变更',
|
||||
subTitle: '',
|
||||
avatar: '',
|
||||
content: '内容质检队列于 2021-12-01 19:50:23 进行变更,请重新…',
|
||||
time: '今天 12:20:01',
|
||||
messageType: 0,
|
||||
},
|
||||
].map((item) => ({
|
||||
...item,
|
||||
status: haveReadIds.indexOf(item.id) === -1 ? 0 : 1,
|
||||
}))
|
||||
}
|
||||
|
||||
setupMock({
|
||||
setup: () => {
|
||||
Mock.mock(new RegExp('/api/message/list'), () => {
|
||||
return successResponseWrap(getMessageList())
|
||||
})
|
||||
|
||||
Mock.mock(new RegExp('/api/message/read'), (params: { body: string }) => {
|
||||
const { ids } = JSON.parse(params.body)
|
||||
haveReadIds.push(...(ids || []))
|
||||
return successResponseWrap(true)
|
||||
})
|
||||
},
|
||||
})
|
||||
101
src/mock/user.ts
Normal file
101
src/mock/user.ts
Normal file
@@ -0,0 +1,101 @@
|
||||
import setupMock, { failResponseWrap, successResponseWrap } from '@/utils/setup-mock'
|
||||
import Mock from 'mockjs'
|
||||
|
||||
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: '王立群',
|
||||
avatar: 'https://i.gtimg.cn/club/item/face/img/2/15922_100.gif',
|
||||
email: 'xxx.com',
|
||||
job: 'frontend',
|
||||
jobName: 'xxx',
|
||||
organization: 'Frontend',
|
||||
organizationName: 'xx',
|
||||
location: 'beijing',
|
||||
locationName: '北京',
|
||||
introduction: '人潇洒,性温存',
|
||||
personalWebsite: 'wwww.baidu.com',
|
||||
phone: '150****0000',
|
||||
registrationDate: '2013-05-10 12:10:00',
|
||||
accountId: 'xxxxx',
|
||||
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)
|
||||
})
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user