refactor: 全面重构代码并加白话注释,移动全局并行,去掉去向/重复记录
- 重构后端与前端,全程大白话注释(不懂程序也能看懂) - 移动阶段改为全局并行(MoveAll,工人数=CPU核心数) - 去掉记录每个文件搬去哪了(删除去向回填,解决写库卡顿) - 去掉重复文件标记与统计:重复判定改为 MD5+路径都相同才算,重复则原地忽略不移动;MD5 相同但路径不同仍照常搬 - 媒体库去掉归类目录列,看板去掉重复/归类分布统计
This commit is contained in:
@@ -1,4 +1,8 @@
|
||||
// Package api 提供 Web 管理接口(Gin),遵循统一响应与分页约定。
|
||||
// Package api 是程序的"门面"——所有网页请求都先到这里,再转给背后的服务。
|
||||
//
|
||||
// 大白话理解:这是前台接待处。页面上的每个按钮、每次查询,
|
||||
// 都会变成一个"请求"发到这里;这里分发给对应的办事窗口(controller),
|
||||
// 办完再用统一的格式回话。
|
||||
package api
|
||||
|
||||
import (
|
||||
@@ -7,14 +11,17 @@ import (
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// Response 统一响应结构
|
||||
// Response 所有接口的统一回话格式:
|
||||
// - code:成功 200,出错 400/500
|
||||
// - message:一句话说明(成功就是 success,出错就是原因)
|
||||
// - data:真正要返回的数据
|
||||
type Response struct {
|
||||
Code int `json:"code"`
|
||||
Message string `json:"message"`
|
||||
Data interface{} `json:"data"`
|
||||
}
|
||||
|
||||
// Success 成功响应
|
||||
// Success 返回成功回话(code=200)。
|
||||
func Success(c *gin.Context, data interface{}) {
|
||||
c.JSON(http.StatusOK, Response{
|
||||
Code: http.StatusOK,
|
||||
@@ -23,7 +30,7 @@ func Success(c *gin.Context, data interface{}) {
|
||||
})
|
||||
}
|
||||
|
||||
// Error 失败响应(仅允许 400 / 500)
|
||||
// Error 返回失败回话。statusCode 只允许 400(参数不对)/ 500(服务器出错)。
|
||||
func Error(c *gin.Context, statusCode int, message string) {
|
||||
c.JSON(statusCode, Response{
|
||||
Code: statusCode,
|
||||
@@ -32,7 +39,7 @@ func Error(c *gin.Context, statusCode int, message string) {
|
||||
})
|
||||
}
|
||||
|
||||
// PageResult 分页响应体
|
||||
// PageResult 分页列表的统一格式:list 是这一页的数据,total 是总条数。
|
||||
type PageResult struct {
|
||||
List []interface{} `json:"list"`
|
||||
Total int64 `json:"total"`
|
||||
|
||||
Reference in New Issue
Block a user