package config import ( "time" "github.com/zeromicro/go-zero/core/stores/cache" "github.com/zeromicro/go-zero/core/stores/redis" "github.com/zeromicro/go-zero/rest" ) type Config struct { rest.RestConf // Redis 配置 RedisConf redis.RedisConf // Redis Cluster (Cache) Cache cache.CacheConf CacheExpireTime time.Duration CacheWithNotFoundExpiry time.Duration Mongo struct { Schema string User string Password string Host string Port string Database string ReplicaName string MaxStaleness time.Duration MaxPoolSize uint64 MinPoolSize uint64 MaxConnIdleTime time.Duration Compressors []string EnableStandardReadWriteSplitMode bool ConnectTimeoutMs int64 } // 密碼加密層數 Bcrypt struct { Cost int } GoogleAuth struct { ClientID string AuthURL string } LineAuth struct { ClientID string ClientSecret string RedirectURI string } // JWT Token 配置 Token struct { AccessSecret string RefreshSecret string AccessTokenExpiry time.Duration RefreshTokenExpiry time.Duration OneTimeTokenExpiry time.Duration MaxTokensPerUser int MaxTokensPerDevice int } // RoleConfig 角色配置 RoleConfig struct { // UID 前綴 (例如: AM, RL) UIDPrefix string // UID 數字長度 UIDLength int // 管理員角色 UID AdminRoleUID string // 管理員用戶 UID AdminUserUID string // 預設角色名稱 DefaultRoleName string } }