import type { MockMethod } from 'vite-plugin-mock' import type { requestParams } from '../_util' import { getRequestToken, resultError, resultSuccess } from '../_util' import { ResultEnum } from '@/enums/httpEnum' const fakeUserList = [ { userId: 1, username: 'admin', password: '123456', nickname: '一条咸鱼', realname: 'administrator', avatar: 'https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg', cover: '', sign: '一年精通三年熟练五年入门', industry: 4, gender: 0, phone: '15758791450', token: 'fakeToken1', }, { userId: 2, username: 'test', password: '123456', nickname: '萝卜头', realname: 'test user', avatar: 'https://link.jscdn.cn/1drv/aHR0cHM6Ly8xZHJ2Lm1zL3UvcyFBaFhWN0U3bHBTaWtsbkNaWjYxY0lLczdEUGlpP2U9Yldkd0Fp.jpg', cover: '', sign: '这个家伙很懒,什么都没有写~', industry: 7, gender: 1, phone: '18822137893', token: 'fakeToken2', }, ] export default [ { url: '/api/login', timeout: 1000, method: 'post', response: ({ body }) => { const { username, password } = body const checkUser = fakeUserList.find( item => item.username === username && password === item.password, ) if (!checkUser) { return resultError('帐号或密码不正确') } const { userId, username: _username, token, realname, sign } = checkUser return resultSuccess({ userId, username: _username, token, realname, sign, }) }, }, { url: '/api/getUserInfo', timeout: 1000, method: 'get', response: (request: requestParams) => { const token = getRequestToken(request) if (!token) { return resultError('无效令牌') } const checkUser = fakeUserList.find(item => item.token === token) if (!checkUser) { return resultError('没有获取到对应的用户信息', { code: ResultEnum.TOKEN_EXPIRED, }) } return resultSuccess(checkUser) }, }, { url: '/api/logout', timeout: 1000, method: 'post', response: (request: requestParams) => { const token = getRequestToken(request) if (!token) { return resultError('无效令牌') } const checkUser = fakeUserList.find(item => item.token === token) if (!checkUser) { return resultError('无效令牌') } return resultSuccess(undefined, { message: '令牌已被销毁' }) }, }, ] as MockMethod[]