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:
@@ -33,7 +33,11 @@ func (h *CustomFieldHandler) CreateField(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusCreated, field)
|
||||
c.JSON(http.StatusCreated, gin.H{
|
||||
"code": 0,
|
||||
"message": "success",
|
||||
"data": field,
|
||||
})
|
||||
}
|
||||
|
||||
// UpdateField 更新自定义字段
|
||||
@@ -56,7 +60,11 @@ func (h *CustomFieldHandler) UpdateField(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, field)
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"message": "success",
|
||||
"data": field,
|
||||
})
|
||||
}
|
||||
|
||||
// DeleteField 删除自定义字段
|
||||
@@ -72,7 +80,10 @@ func (h *CustomFieldHandler) DeleteField(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{"message": "field deleted"})
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"message": "field deleted",
|
||||
})
|
||||
}
|
||||
|
||||
// GetField 获取自定义字段
|
||||
@@ -89,7 +100,11 @@ func (h *CustomFieldHandler) GetField(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, field)
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"message": "success",
|
||||
"data": field,
|
||||
})
|
||||
}
|
||||
|
||||
// ListFields 获取所有自定义字段
|
||||
@@ -100,7 +115,11 @@ func (h *CustomFieldHandler) ListFields(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{"fields": fields})
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"message": "success",
|
||||
"data": fields,
|
||||
})
|
||||
}
|
||||
|
||||
// SetUserFieldValues 设置用户自定义字段值
|
||||
@@ -125,7 +144,10 @@ func (h *CustomFieldHandler) SetUserFieldValues(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{"message": "field values set"})
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"message": "field values set",
|
||||
})
|
||||
}
|
||||
|
||||
// GetUserFieldValues 获取用户自定义字段值
|
||||
@@ -142,5 +164,9 @@ func (h *CustomFieldHandler) GetUserFieldValues(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{"fields": values})
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"message": "success",
|
||||
"data": values,
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user