Files
x_admin/server/util/aj-captcha-go/config/config.go
2025-07-26 00:56:50 +08:00

76 lines
2.0 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 config
import (
"image/color"
"x_admin/util/aj-captcha-go/constant"
)
// WatermarkConfig 水印设置
type WatermarkConfig struct {
FontSize int `yaml:"fontSize"`
Color color.RGBA `yaml:"color"`
Text string `yaml:"text"`
}
type BlockPuzzleConfig struct {
// 校验时 容错偏移量
Offset int `yaml:"offset"`
}
type ClickWordConfig struct {
FontSize int `yaml:"fontSize"`
FontNum int `yaml:"fontNum"`
}
// RedisConfig redis配置选项
type RedisConfig struct {
//redis单机或者集群访问地址
DBAddress []string `yaml:"dbAddress"`
//最大空闲连接数
DBMaxIdle int `yaml:"dbMaxIdle"`
//最大连接数
DBMaxActive int `yaml:"dbMaxActive"`
//redis表示空闲连接保活时间
DBIdleTimeout int `yaml:"dbIdleTimeout"`
//redis用户
DBUserName string `yaml:"dbUserName"`
//redis密码
DBPassWord string `yaml:"dbPassWord"`
//是否使用redis集群
EnableCluster bool `yaml:"enableCluster"`
//单机模式下使用redis的指定库比如0123等等默认为0
DB int `yaml:"db"`
}
type Config struct {
// 验证码使用的缓存类型
CacheType string `yaml:"cacheType"`
CacheExpireSec int `yaml:"cacheExpireSec"`
Watermark *WatermarkConfig `yaml:"watermark"`
ClickWord *ClickWordConfig `yaml:"clickWord"`
BlockPuzzle *BlockPuzzleConfig `yaml:"blockPuzzle"`
}
// 默认验证码配置
func NewConfig() *Config {
return &Config{
//可以为redis类型缓存RedisCacheKey也可以为内存MemCacheKey
CacheType: constant.MemCacheKey,
// 水印配置
Watermark: &WatermarkConfig{
FontSize: 12,
Color: color.RGBA{R: 255, G: 255, B: 255, A: 255},
Text: "我的水印",
},
// 点击文字配置(参数可从业务系统自定义)
ClickWord: &ClickWordConfig{
FontSize: 25,
FontNum: 4,
},
// 滑动模块配置(参数可从业务系统自定义)
BlockPuzzle: &BlockPuzzleConfig{Offset: 10},
CacheExpireSec: 2 * 60, // 缓存有效时间
}
}