Files
odboy 8979c744a8 refactor: 全面重构代码并加白话注释,移动全局并行,去掉去向/重复记录
- 重构后端与前端,全程大白话注释(不懂程序也能看懂)
- 移动阶段改为全局并行(MoveAll,工人数=CPU核心数)
- 去掉记录每个文件搬去哪了(删除去向回填,解决写库卡顿)
- 去掉重复文件标记与统计:重复判定改为 MD5+路径都相同才算,重复则原地忽略不移动;MD5 相同但路径不同仍照常搬
- 媒体库去掉归类目录列,看板去掉重复/归类分布统计
2025-05-11 21:05:35 +08:00

47 lines
1.4 KiB
Go

// Package api 是程序的"门面"——所有网页请求都先到这里,再转给背后的服务。
//
// 大白话理解:这是前台接待处。页面上的每个按钮、每次查询,
// 都会变成一个"请求"发到这里;这里分发给对应的办事窗口(controller),
// 办完再用统一的格式回话。
package api
import (
"net/http"
"github.com/gin-gonic/gin"
)
// Response 所有接口的统一回话格式:
// - code:成功 200,出错 400/500
// - message:一句话说明(成功就是 success,出错就是原因)
// - data:真正要返回的数据
type Response struct {
Code int `json:"code"`
Message string `json:"message"`
Data interface{} `json:"data"`
}
// Success 返回成功回话(code=200)。
func Success(c *gin.Context, data interface{}) {
c.JSON(http.StatusOK, Response{
Code: http.StatusOK,
Message: "success",
Data: data,
})
}
// Error 返回失败回话。statusCode 只允许 400(参数不对)/ 500(服务器出错)。
func Error(c *gin.Context, statusCode int, message string) {
c.JSON(statusCode, Response{
Code: statusCode,
Message: message,
Data: nil,
})
}
// PageResult 分页列表的统一格式:list 是这一页的数据,total 是总条数。
type PageResult struct {
List []interface{} `json:"list"`
Total int64 `json:"total"`
}