package model import "time" // User 管理员账号。 type User struct { ID uint `gorm:"primaryKey" json:"id"` Username string `gorm:"uniqueIndex;size:64" json:"username"` PasswordHash string `gorm:"size:255" json:"-"` Role string `gorm:"size:32" json:"role"` CreatedAt time.Time `json:"created_at"` } // Response 统一响应格式 {code, message, data}。 type Response struct { Code int `json:"code"` Message string `json:"message"` Data interface{} `json:"data,omitempty"` } // 业务错误码 const ( CodeOK = 0 CodeBadParam = 400 CodeUnauthorized = 401 CodeForbidden = 403 CodeNotFound = 404 CodeConflict = 409 CodeServerErr = 500 ) func OK(data interface{}) *Response { return &Response{Code: CodeOK, Message: "ok", Data: data} } func Err(code int, msg string) *Response { return &Response{Code: code, Message: msg} }