feat: 添加 msw 支持 API 模拟
This commit is contained in:
51
frontend/src/mock/handlers/user.ts
Normal file
51
frontend/src/mock/handlers/user.ts
Normal file
@@ -0,0 +1,51 @@
|
||||
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,
|
||||
})
|
||||
}),
|
||||
]
|
||||
Reference in New Issue
Block a user