实现个人客户微信认证和短信验证功能
- 添加个人客户微信登录和手机验证码登录接口 - 实现个人客户设备、ICCID、手机号关联管理 - 添加短信发送服务(HTTP 客户端) - 添加微信认证服务(含 mock 实现) - 添加 JWT Token 生成和验证工具 - 创建数据库迁移脚本(personal_customer 关联表) - 修复测试文件中的路由注册参数错误 - 重构 scripts 目录结构(分离独立脚本到子目录) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
37
pkg/sms/error.go
Normal file
37
pkg/sms/error.go
Normal file
@@ -0,0 +1,37 @@
|
||||
package sms
|
||||
|
||||
import "fmt"
|
||||
|
||||
// SMSError 短信服务错误
|
||||
type SMSError struct {
|
||||
Code int // 错误码
|
||||
Message string // 错误消息
|
||||
}
|
||||
|
||||
// Error 实现 error 接口
|
||||
func (e *SMSError) Error() string {
|
||||
return fmt.Sprintf("SMS error (code=%d): %s", e.Code, e.Message)
|
||||
}
|
||||
|
||||
// NewSMSError 创建短信服务错误
|
||||
func NewSMSError(code int, message string) *SMSError {
|
||||
return &SMSError{
|
||||
Code: code,
|
||||
Message: message,
|
||||
}
|
||||
}
|
||||
|
||||
// IsInsufficientBalance 判断是否为余额不足错误
|
||||
func (e *SMSError) IsInsufficientBalance() bool {
|
||||
return e.Code == CodeInsufficientBalance
|
||||
}
|
||||
|
||||
// IsAuthError 判断是否为认证错误
|
||||
func (e *SMSError) IsAuthError() bool {
|
||||
return e.Code == CodeAuthFailed || e.Code == CodeAccountLocked || e.Code == CodeBusinessNotOpened
|
||||
}
|
||||
|
||||
// IsTimestampError 判断是否为时间戳错误
|
||||
func (e *SMSError) IsTimestampError() bool {
|
||||
return e.Code == CodeTimestampError
|
||||
}
|
||||
Reference in New Issue
Block a user