Files
tyapi-server/.cursor/rules/global.mdc

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))
```