Files
tyapi-server/internal/shared/payment/user_auth_model.go
2025-12-12 15:27:15 +08:00

49 lines
1.6 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package payment
import (
"context"
"fmt"
)
// UserAuthModel 用户认证模型接口
// 用于存储和管理用户的第三方认证信息如微信OpenID
type UserAuthModel interface {
FindOneByUserIdAuthType(ctx context.Context, userID string, authType string) (*UserAuth, error)
UpsertUserAuth(ctx context.Context, userID, authType, authKey string) error
}
// UserAuth 用户认证信息
type UserAuth struct {
UserID string // 用户ID
AuthType string // 认证类型
AuthKey string // 认证密钥如OpenID
}
// Platform 支付平台常量
const (
PlatformWxMini = "wx_mini" // 微信小程序
PlatformWxH5 = "wx_h5" // 微信H5
PlatformApp = "app" // APP
PlatformWxNative = "wx_native" // 微信Native扫码
)
// UserAuthType 用户认证类型常量
const (
UserAuthTypeWxMiniOpenID = "wx_mini_openid" // 微信小程序OpenID
UserAuthTypeWxh5OpenID = "wx_h5_openid" // 微信H5 OpenID
)
// DefaultUserAuthModel 默认实现(如果不需要实际数据库查询,可以返回错误)
type DefaultUserAuthModel struct{}
// FindOneByUserIdAuthType 查找用户认证信息
// 注意:这是一个占位实现,实际使用时需要注入真实的实现
func (m *DefaultUserAuthModel) FindOneByUserIdAuthType(ctx context.Context, userID string, authType string) (*UserAuth, error) {
return nil, fmt.Errorf("UserAuthModel未实现请注入真实的实现")
}
// UpsertUserAuth 占位实现
func (m *DefaultUserAuthModel) UpsertUserAuth(ctx context.Context, userID, authType, authKey string) error {
return fmt.Errorf("UserAuthModel未实现请注入真实的实现")
}