- 前端: 所有界面显示、i18n 文本、组件中的品牌名称 - 后端: 服务层、设置默认值、邮件模板、安装向导 - 数据库: 迁移脚本注释 - 保持功能完全一致,仅更改品牌名称 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
22 lines
550 B
Go
22 lines
550 B
Go
package errors
|
|
|
|
import "net/http"
|
|
|
|
// ToHTTP converts an error into an HTTP status code and a JSON-serializable body.
|
|
//
|
|
// The returned body matches the project's Status shape:
|
|
// { code, reason, message, metadata }.
|
|
func ToHTTP(err error) (statusCode int, body Status) {
|
|
if err == nil {
|
|
return http.StatusOK, Status{Code: int32(http.StatusOK)}
|
|
}
|
|
|
|
appErr := FromError(err)
|
|
if appErr == nil {
|
|
return http.StatusOK, Status{Code: int32(http.StatusOK)}
|
|
}
|
|
|
|
cloned := Clone(appErr)
|
|
return int(cloned.Code), cloned.Status
|
|
}
|