77 lines
2.3 KiB
Plaintext
77 lines
2.3 KiB
Plaintext
---
|
|
description:
|
|
globs:
|
|
alwaysApply: true
|
|
---
|
|
# 语言规范
|
|
-- 对于用户端输出和前端响应看到的文字内容部分,尽量使用中文
|
|
|
|
## 中文化规则
|
|
|
|
### 1. 面向用户的内容
|
|
- 所有面向用户的响应消息必须使用中文
|
|
- HTTP API 响应中的消息字段(`message`)必须使用中文
|
|
- 错误提示信息必须使用中文
|
|
- 用户界面上的所有文本必须使用中文
|
|
|
|
### 2. 错误和验证信息
|
|
- 所有验证错误提示必须使用中文
|
|
- 字段验证规则的错误消息必须使用中文
|
|
- 业务逻辑错误提示必须使用中文
|
|
- HTTP状态码对应的消息必须使用中文
|
|
|
|
### 3. 日志信息
|
|
- 业务操作相关的日志消息应使用中文
|
|
- 系统状态和生命周期相关的日志应使用中文
|
|
- 错误和警告日志消息应使用中文
|
|
- 日志中的上下文信息(字段名)可使用英文
|
|
|
|
### 4. 代码规范
|
|
- 代码注释可以使用中文,提高可读性
|
|
- 变量名、函数名、类名等标识符仍使用英文
|
|
- 中文字符串应使用双引号,不使用反引号
|
|
- 避免在代码中使用特殊中文标点符号
|
|
|
|
### 5. 中文规范示例
|
|
|
|
#### HTTP 响应示例:
|
|
```go
|
|
// 成功响应
|
|
h.response.Success(c, data, "操作成功")
|
|
h.response.Created(c, user, "用户创建成功")
|
|
|
|
// 错误响应
|
|
h.response.BadRequest(c, "请求参数错误")
|
|
h.response.Unauthorized(c, "用户未认证或登录已过期")
|
|
h.response.NotFound(c, "请求的资源不存在")
|
|
h.response.TooManyRequests(c, "请求过于频繁,请稍后再试")
|
|
```
|
|
|
|
#### 验证错误示例:
|
|
```go
|
|
// 字段验证错误
|
|
"手机号格式不正确"
|
|
"密码强度不足,必须包含大小写字母和数字"
|
|
"两次输入的密码不一致"
|
|
|
|
// 注册自定义验证器
|
|
v.RegisterTranslation("phone", trans, func(ut ut.Translator) error {
|
|
return ut.Add("phone", "{0}必须是有效的手机号", true)
|
|
})
|
|
```
|
|
|
|
#### 日志消息示例:
|
|
```go
|
|
// 成功日志
|
|
logger.Info("用户注册成功", zap.String("user_id", user.ID))
|
|
logger.Info("支付订单已完成", zap.String("order_id", order.ID))
|
|
|
|
// 错误日志
|
|
logger.Error("创建用户失败", zap.Error(err))
|
|
logger.Error("数据库连接失败", zap.Error(err))
|
|
|
|
// 警告日志
|
|
logger.Warn("用户多次登录失败", zap.String("phone", phone))
|
|
logger.Warn("接口调用频率异常", zap.String("client_ip", clientIP))
|
|
```
|