52 lines
1.0 KiB
TypeScript
52 lines
1.0 KiB
TypeScript
import { http, HttpResponse, delay } from 'msw'
|
|
|
|
// ---- 私有 mock 数据 ----
|
|
|
|
const mockUser = {
|
|
id: 1,
|
|
phone: '13800138000',
|
|
nickName: '测试用户',
|
|
avatar: '',
|
|
}
|
|
|
|
const MOCK_TOKEN = 'mock-token-dev-only'
|
|
|
|
// ---- handlers ----
|
|
|
|
export const userHandlers = [
|
|
// 登录
|
|
http.post('/auth/login', async ({ request }) => {
|
|
await delay(300)
|
|
const { phone, password } = await request.json() as { phone: string; password: string }
|
|
|
|
if (phone === mockUser.phone && password === '123456') {
|
|
return HttpResponse.json({
|
|
code: '0',
|
|
msg: 'ok',
|
|
time: Date.now(),
|
|
ok: true,
|
|
data: { token: MOCK_TOKEN },
|
|
})
|
|
}
|
|
|
|
return HttpResponse.json({
|
|
code: '401',
|
|
msg: '手机号或密码错误',
|
|
time: Date.now(),
|
|
ok: false,
|
|
})
|
|
}),
|
|
|
|
// 获取用户信息
|
|
http.get('/user/info', async () => {
|
|
await delay(200)
|
|
return HttpResponse.json({
|
|
code: '0',
|
|
msg: 'ok',
|
|
time: Date.now(),
|
|
ok: true,
|
|
data: mockUser,
|
|
})
|
|
}),
|
|
]
|