fix: 统一API响应格式并修复前端测试

- 所有Handler方法使用标准{code:0,message:"success",data:...}响应格式
- 修复Cursor分页响应包装(GetAllDevices,GetLoginLogs,ListUsers等)
- 修复AuthHandler和SMSHandler认证方法响应格式
- 修复operation_log.go admin用户operation_type前缀问题
- 修复DashboardPage嵌套stats结构
- 修复LoginLogsPage reset功能stale closure问题
- 修复UsersPage批量操作API调用
- 修复多个前端测试(mock格式、按钮选择、断言逻辑)
- 添加OAuth测试域名白名单
- 新增代码审查流程文档
This commit is contained in:
2026-04-08 20:06:54 +08:00
parent 26c5def4d7
commit a85d822419
33 changed files with 2108 additions and 206 deletions

View File

@@ -19,17 +19,21 @@ describe('stats service', () => {
it('gets dashboard stats', async () => {
const mockData = {
total_users: 100,
active_users: 80,
inactive_users: 10,
locked_users: 5,
disabled_users: 5,
today_new_users: 3,
week_new_users: 15,
month_new_users: 50,
today_success_logins: 50,
today_failed_logins: 2,
week_success_logins: 300,
users: {
total_users: 100,
active_users: 80,
inactive_users: 10,
locked_users: 5,
disabled_users: 5,
new_users_today: 3,
new_users_week: 15,
new_users_month: 50,
},
logins: {
logins_today_success: 50,
logins_today_failed: 2,
logins_week: 300,
},
}
getMock.mockResolvedValue(mockData)
@@ -38,8 +42,8 @@ describe('stats service', () => {
expect(getMock).toHaveBeenCalledWith('/admin/stats/dashboard')
expect(result).toEqual(mockData)
expect(result.total_users).toBe(100)
expect(result.active_users).toBe(80)
expect(result.users.total_users).toBe(100)
expect(result.users.active_users).toBe(80)
})
it('gets user stats', async () => {