feat():learning后台管理项目初始化
This commit is contained in:
133
pkg/utils/README.md
Normal file
133
pkg/utils/README.md
Normal file
@@ -0,0 +1,133 @@
|
||||
# 工具包
|
||||
|
||||
本模块提供各种实用工具函数和类。
|
||||
|
||||
## 功能特性
|
||||
|
||||
- 加密工具(MD5、SHA256、密码哈希)
|
||||
- JWT token管理
|
||||
- 统一响应处理
|
||||
- 数据验证
|
||||
- 日志管理
|
||||
|
||||
## 模块结构
|
||||
|
||||
```
|
||||
utils/
|
||||
├── crypto.go # 加密工具
|
||||
├── jwt.go # JWT管理
|
||||
├── response.go # 响应处理
|
||||
├── validator.go # 数据验证
|
||||
├── logger.go # 日志管理
|
||||
└── README.md # 说明文档
|
||||
```
|
||||
|
||||
## 使用方法
|
||||
|
||||
### 加密工具
|
||||
|
||||
```go
|
||||
import "goalfymax-admin/pkg/utils"
|
||||
|
||||
// MD5哈希
|
||||
hash := utils.MD5Hash("password")
|
||||
|
||||
// SHA256哈希
|
||||
hash := utils.SHA256Hash("password")
|
||||
|
||||
// 生成盐值
|
||||
salt, err := utils.GenerateSalt()
|
||||
|
||||
// 哈希密码
|
||||
hashedPassword := utils.HashPassword("password", salt)
|
||||
|
||||
// 验证密码
|
||||
isValid := utils.VerifyPassword("password", salt, hashedPassword)
|
||||
```
|
||||
|
||||
### JWT管理
|
||||
|
||||
```go
|
||||
// 创建JWT管理器
|
||||
jwtManager := utils.NewJWTManager("your-secret-key")
|
||||
|
||||
// 生成token
|
||||
token, err := jwtManager.GenerateToken(1, "admin", "admin")
|
||||
|
||||
// 解析token
|
||||
claims, err := jwtManager.ParseToken(token)
|
||||
|
||||
// 刷新token
|
||||
newToken, err := jwtManager.RefreshToken(token)
|
||||
```
|
||||
|
||||
### 响应处理
|
||||
|
||||
```go
|
||||
// 创建响应实例
|
||||
resp := utils.NewResponse()
|
||||
|
||||
// 成功响应
|
||||
resp.Success(c, data)
|
||||
|
||||
// 错误响应
|
||||
resp.Error(c, 400, "参数错误")
|
||||
resp.BadRequest(c, "请求参数错误")
|
||||
resp.Unauthorized(c, "未授权")
|
||||
resp.Forbidden(c, "禁止访问")
|
||||
resp.NotFound(c, "资源不存在")
|
||||
resp.InternalServerError(c, "服务器内部错误")
|
||||
|
||||
// 分页响应
|
||||
resp.Page(c, data, total, page, size)
|
||||
```
|
||||
|
||||
### 数据验证
|
||||
|
||||
```go
|
||||
// 创建验证器
|
||||
validator := utils.NewValidator()
|
||||
|
||||
// 验证邮箱
|
||||
isValid := validator.IsEmail("user@example.com")
|
||||
|
||||
// 验证手机号
|
||||
isValid := validator.IsPhone("13800138000")
|
||||
|
||||
// 验证用户名
|
||||
isValid := validator.IsUsername("admin")
|
||||
|
||||
// 验证密码强度
|
||||
isValid := validator.IsPassword("password123")
|
||||
|
||||
// 验证URL
|
||||
isValid := validator.IsURL("https://example.com")
|
||||
|
||||
// 检查是否为空
|
||||
isEmpty := validator.IsEmpty("")
|
||||
|
||||
// 验证角色
|
||||
isValid := validator.IsValidRole("admin")
|
||||
```
|
||||
|
||||
### 日志管理
|
||||
|
||||
```go
|
||||
// 创建日志实例
|
||||
logger, err := utils.NewLogger("info", "json", "stdout")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// 记录日志
|
||||
logger.Info("用户登录", zap.String("username", "admin"))
|
||||
logger.Error("登录失败", zap.String("error", "密码错误"))
|
||||
|
||||
// 添加字段
|
||||
logger.WithField("user_id", 1).Info("用户操作")
|
||||
logger.WithFields(map[string]interface{}{
|
||||
"user_id": 1,
|
||||
"action": "login",
|
||||
}).Info("用户登录")
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user