Documentation ¶
Index ¶
- type AliyunOSS
- type Autocode
- type AwsS3
- type CORS
- type CORSWhitelist
- type Captcha
- type CloudflareR2
- type Disk
- type DiskList
- type DsnProvider
- type Email
- type Excel
- type GeneralDB
- type HuaWeiObs
- type JWT
- type Local
- type Minio
- type Mongo
- type MongoHost
- type Mssql
- type Mysql
- type Oracle
- type Pgsql
- type Qiniu
- type Redis
- type Server
- type SpecializedDB
- type Sqlite
- type System
- type TencentCOS
- type Zap
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AliyunOSS ¶
type AliyunOSS struct { Endpoint string `mapstructure:"endpoint" json:"endpoint" yaml:"endpoint"` AccessKeyId string `mapstructure:"access-key-id" json:"access-key-id" yaml:"access-key-id"` AccessKeySecret string `mapstructure:"access-key-secret" json:"access-key-secret" yaml:"access-key-secret"` BucketName string `mapstructure:"bucket-name" json:"bucket-name" yaml:"bucket-name"` BucketUrl string `mapstructure:"bucket-url" json:"bucket-url" yaml:"bucket-url"` BasePath string `mapstructure:"base-path" json:"base-path" yaml:"base-path"` }
type Autocode ¶
type Autocode struct { Web string `mapstructure:"web" json:"web" yaml:"web"` Root string `mapstructure:"root" json:"root" yaml:"root"` Server string `mapstructure:"server" json:"server" yaml:"server"` Module string `mapstructure:"module" json:"module" yaml:"module"` AiPath string `mapstructure:"ai-path" json:"ai-path" yaml:"ai-path"` }
type AwsS3 ¶
type AwsS3 struct { Bucket string `mapstructure:"bucket" json:"bucket" yaml:"bucket"` Region string `mapstructure:"region" json:"region" yaml:"region"` Endpoint string `mapstructure:"endpoint" json:"endpoint" yaml:"endpoint"` SecretID string `mapstructure:"secret-id" json:"secret-id" yaml:"secret-id"` SecretKey string `mapstructure:"secret-key" json:"secret-key" yaml:"secret-key"` BaseURL string `mapstructure:"base-url" json:"base-url" yaml:"base-url"` PathPrefix string `mapstructure:"path-prefix" json:"path-prefix" yaml:"path-prefix"` S3ForcePathStyle bool `mapstructure:"s3-force-path-style" json:"s3-force-path-style" yaml:"s3-force-path-style"` DisableSSL bool `mapstructure:"disable-ssl" json:"disable-ssl" yaml:"disable-ssl"` }
type CORS ¶
type CORS struct { Mode string `mapstructure:"mode" json:"mode" yaml:"mode"` Whitelist []CORSWhitelist `mapstructure:"whitelist" json:"whitelist" yaml:"whitelist"` }
type CORSWhitelist ¶
type CORSWhitelist struct { AllowOrigin string `mapstructure:"allow-origin" json:"allow-origin" yaml:"allow-origin"` AllowMethods string `mapstructure:"allow-methods" json:"allow-methods" yaml:"allow-methods"` AllowHeaders string `mapstructure:"allow-headers" json:"allow-headers" yaml:"allow-headers"` ExposeHeaders string `mapstructure:"expose-headers" json:"expose-headers" yaml:"expose-headers"` AllowCredentials bool `mapstructure:"allow-credentials" json:"allow-credentials" yaml:"allow-credentials"` }
type Captcha ¶
type Captcha struct { KeyLong int `mapstructure:"key-long" json:"key-long" yaml:"key-long"` // 验证码长度 ImgWidth int `mapstructure:"img-width" json:"img-width" yaml:"img-width"` // 验证码宽度 ImgHeight int `mapstructure:"img-height" json:"img-height" yaml:"img-height"` // 验证码高度 OpenCaptcha int `mapstructure:"open-captcha" json:"open-captcha" yaml:"open-captcha"` // 防爆破验证码开启此数,0代表每次登录都需要验证码,其他数字代表错误密码此数,如3代表错误三次后出现验证码 OpenCaptchaTimeOut int `mapstructure:"open-captcha-timeout" json:"open-captcha-timeout" yaml:"open-captcha-timeout"` // 防爆破验证码超时时间,单位:s(秒) }
type CloudflareR2 ¶
type CloudflareR2 struct { Bucket string `mapstructure:"bucket" json:"bucket" yaml:"bucket"` BaseURL string `mapstructure:"base-url" json:"base-url" yaml:"base-url"` Path string `mapstructure:"path" json:"path" yaml:"path"` AccountID string `mapstructure:"account-id" json:"account-id" yaml:"account-id"` AccessKeyID string `mapstructure:"access-key-id" json:"access-key-id" yaml:"access-key-id"` SecretAccessKey string `mapstructure:"secret-access-key" json:"secret-access-key" yaml:"secret-access-key"` }
type Disk ¶
type Disk struct {
MountPoint string `mapstructure:"mount-point" json:"mount-point" yaml:"mount-point"`
}
type DsnProvider ¶
type DsnProvider interface {
Dsn() string
}
type Email ¶
type Email struct { To string `mapstructure:"to" json:"to" yaml:"to"` // 收件人:多个以英文逗号分隔 例:a@qq.com b@qq.com 正式开发中请把此项目作为参数使用 From string `mapstructure:"from" json:"from" yaml:"from"` // 发件人 你自己要发邮件的邮箱 Host string `mapstructure:"host" json:"host" yaml:"host"` // 服务器地址 例如 smtp.qq.com 请前往QQ或者你要发邮件的邮箱查看其smtp协议 Secret string `mapstructure:"secret" json:"secret" yaml:"secret"` // 密钥 用于登录的密钥 最好不要用邮箱密码 去邮箱smtp申请一个用于登录的密钥 Nickname string `mapstructure:"nickname" json:"nickname" yaml:"nickname"` // 昵称 发件人昵称 通常为自己的邮箱 Port int `mapstructure:"port" json:"port" yaml:"port"` // 端口 请前往QQ或者你要发邮件的邮箱查看其smtp协议 大多为 465 IsSSL bool `mapstructure:"is-ssl" json:"is-ssl" yaml:"is-ssl"` // 是否SSL 是否开启SSL }
type GeneralDB ¶
type GeneralDB struct { Prefix string `mapstructure:"prefix" json:"prefix" yaml:"prefix"` // 数据库前缀 Port string `mapstructure:"port" json:"port" yaml:"port"` // 数据库端口 Config string `mapstructure:"config" json:"config" yaml:"config"` // 高级配置 Dbname string `mapstructure:"db-name" json:"db-name" yaml:"db-name"` // 数据库名 Username string `mapstructure:"username" json:"username" yaml:"username"` // 数据库账号 Password string `mapstructure:"password" json:"password" yaml:"password"` // 数据库密码 Path string `mapstructure:"path" json:"path" yaml:"path"` // 数据库地址 Engine string `mapstructure:"engine" json:"engine" yaml:"engine" default:"InnoDB"` // 数据库引擎,默认InnoDB LogMode string `mapstructure:"log-mode" json:"log-mode" yaml:"log-mode"` // 是否开启Gorm全局日志 MaxIdleConns int `mapstructure:"max-idle-conns" json:"max-idle-conns" yaml:"max-idle-conns"` // 空闲中的最大连接数 MaxOpenConns int `mapstructure:"max-open-conns" json:"max-open-conns" yaml:"max-open-conns"` // 打开到数据库的最大连接数 Singular bool `mapstructure:"singular" json:"singular" yaml:"singular"` // 是否开启全局禁用复数,true表示开启 LogZap bool `mapstructure:"log-zap" json:"log-zap" yaml:"log-zap"` // 是否通过zap写入日志文件 }
GeneralDB 也被 Pgsql 和 Mysql 原样使用
type HuaWeiObs ¶
type HuaWeiObs struct { Path string `mapstructure:"path" json:"path" yaml:"path"` Bucket string `mapstructure:"bucket" json:"bucket" yaml:"bucket"` Endpoint string `mapstructure:"endpoint" json:"endpoint" yaml:"endpoint"` AccessKey string `mapstructure:"access-key" json:"access-key" yaml:"access-key"` SecretKey string `mapstructure:"secret-key" json:"secret-key" yaml:"secret-key"` }
type JWT ¶
type JWT struct { SigningKey string `mapstructure:"signing-key" json:"signing-key" yaml:"signing-key"` // jwt签名 ExpiresTime string `mapstructure:"expires-time" json:"expires-time" yaml:"expires-time"` // 过期时间 BufferTime string `mapstructure:"buffer-time" json:"buffer-time" yaml:"buffer-time"` // 缓冲时间 Issuer string `mapstructure:"issuer" json:"issuer" yaml:"issuer"` // 签发者 }
type Minio ¶
type Minio struct { Endpoint string `mapstructure:"endpoint" json:"endpoint" yaml:"endpoint"` AccessKeyId string `mapstructure:"access-key-id" json:"access-key-id" yaml:"access-key-id"` AccessKeySecret string `mapstructure:"access-key-secret" json:"access-key-secret" yaml:"access-key-secret"` BucketName string `mapstructure:"bucket-name" json:"bucket-name" yaml:"bucket-name"` UseSSL bool `mapstructure:"use-ssl" json:"use-ssl" yaml:"use-ssl"` BasePath string `mapstructure:"base-path" json:"base-path" yaml:"base-path"` BucketUrl string `mapstructure:"bucket-url" json:"bucket-url" yaml:"bucket-url"` }
type Mongo ¶
type Mongo struct { Coll string `json:"coll" yaml:"coll" mapstructure:"coll"` // collection name Options string `json:"options" yaml:"options" mapstructure:"options"` // mongodb options Database string `json:"database" yaml:"database" mapstructure:"database"` // database name Username string `json:"username" yaml:"username" mapstructure:"username"` // 用户名 Password string `json:"password" yaml:"password" mapstructure:"password"` // 密码 AuthSource string `json:"auth-source" yaml:"auth-source" mapstructure:"auth-source"` // 验证数据库 MinPoolSize uint64 `json:"min-pool-size" yaml:"min-pool-size" mapstructure:"min-pool-size"` // 最小连接池 MaxPoolSize uint64 `json:"max-pool-size" yaml:"max-pool-size" mapstructure:"max-pool-size"` // 最大连接池 SocketTimeoutMs int64 `json:"socket-timeout-ms" yaml:"socket-timeout-ms" mapstructure:"socket-timeout-ms"` // socket超时时间 ConnectTimeoutMs int64 `json:"connect-timeout-ms" yaml:"connect-timeout-ms" mapstructure:"connect-timeout-ms"` // 连接超时时间 IsZap bool `json:"is-zap" yaml:"is-zap" mapstructure:"is-zap"` // 是否开启zap日志 Hosts []*MongoHost `json:"hosts" yaml:"hosts" mapstructure:"hosts"` // 主机列表 }
type Pgsql ¶
type Pgsql struct {
GeneralDB `yaml:",inline" mapstructure:",squash"`
}
func (*Pgsql) Dsn ¶
Dsn 基于配置文件获取 dsn Author [SliverHorn](https://github.com/SliverHorn)
type Qiniu ¶
type Qiniu struct { Zone string `mapstructure:"zone" json:"zone" yaml:"zone"` // 存储区域 Bucket string `mapstructure:"bucket" json:"bucket" yaml:"bucket"` // 空间名称 ImgPath string `mapstructure:"img-path" json:"img-path" yaml:"img-path"` // CDN加速域名 AccessKey string `mapstructure:"access-key" json:"access-key" yaml:"access-key"` // 秘钥AK SecretKey string `mapstructure:"secret-key" json:"secret-key" yaml:"secret-key"` // 秘钥SK UseHTTPS bool `mapstructure:"use-https" json:"use-https" yaml:"use-https"` // 是否使用https UseCdnDomains bool `mapstructure:"use-cdn-domains" json:"use-cdn-domains" yaml:"use-cdn-domains"` // 上传是否使用CDN上传加速 }
type Redis ¶
type Redis struct { Name string `mapstructure:"name" json:"name" yaml:"name"` // 代表当前实例的名字 Addr string `mapstructure:"addr" json:"addr" yaml:"addr"` // 服务器地址:端口 Password string `mapstructure:"password" json:"password" yaml:"password"` // 密码 DB int `mapstructure:"db" json:"db" yaml:"db"` // 单实例模式下redis的哪个数据库 UseCluster bool `mapstructure:"useCluster" json:"useCluster" yaml:"useCluster"` // 是否使用集群模式 ClusterAddrs []string `mapstructure:"clusterAddrs" json:"clusterAddrs" yaml:"clusterAddrs"` // 集群模式下的节点地址列表 }
type Server ¶
type Server struct { JWT JWT `mapstructure:"jwt" json:"jwt" yaml:"jwt"` Zap Zap `mapstructure:"zap" json:"zap" yaml:"zap"` Redis Redis `mapstructure:"redis" json:"redis" yaml:"redis"` RedisList []Redis `mapstructure:"redis-list" json:"redis-list" yaml:"redis-list"` Mongo Mongo `mapstructure:"mongo" json:"mongo" yaml:"mongo"` Email Email `mapstructure:"email" json:"email" yaml:"email"` System System `mapstructure:"system" json:"system" yaml:"system"` Captcha Captcha `mapstructure:"captcha" json:"captcha" yaml:"captcha"` // auto AutoCode Autocode `mapstructure:"autocode" json:"autocode" yaml:"autocode"` // gorm Mysql Mysql `mapstructure:"mysql" json:"mysql" yaml:"mysql"` Mssql Mssql `mapstructure:"mssql" json:"mssql" yaml:"mssql"` Pgsql Pgsql `mapstructure:"pgsql" json:"pgsql" yaml:"pgsql"` Oracle Oracle `mapstructure:"oracle" json:"oracle" yaml:"oracle"` Sqlite Sqlite `mapstructure:"sqlite" json:"sqlite" yaml:"sqlite"` DBList []SpecializedDB `mapstructure:"db-list" json:"db-list" yaml:"db-list"` // oss Local Local `mapstructure:"local" json:"local" yaml:"local"` Qiniu Qiniu `mapstructure:"qiniu" json:"qiniu" yaml:"qiniu"` AliyunOSS AliyunOSS `mapstructure:"aliyun-oss" json:"aliyun-oss" yaml:"aliyun-oss"` HuaWeiObs HuaWeiObs `mapstructure:"hua-wei-obs" json:"hua-wei-obs" yaml:"hua-wei-obs"` TencentCOS TencentCOS `mapstructure:"tencent-cos" json:"tencent-cos" yaml:"tencent-cos"` AwsS3 AwsS3 `mapstructure:"aws-s3" json:"aws-s3" yaml:"aws-s3"` CloudflareR2 CloudflareR2 `mapstructure:"cloudflare-r2" json:"cloudflare-r2" yaml:"cloudflare-r2"` Minio Minio `mapstructure:"minio" json:"minio" yaml:"minio"` Excel Excel `mapstructure:"excel" json:"excel" yaml:"excel"` DiskList []DiskList `mapstructure:"disk-list" json:"disk-list" yaml:"disk-list"` // 跨域配置 Cors CORS `mapstructure:"cors" json:"cors" yaml:"cors"` }
type SpecializedDB ¶
type System ¶
type System struct { DbType string `mapstructure:"db-type" json:"db-type" yaml:"db-type"` // 数据库类型:mysql(默认)|sqlite|sqlserver|postgresql OssType string `mapstructure:"oss-type" json:"oss-type" yaml:"oss-type"` // Oss类型 RouterPrefix string `mapstructure:"router-prefix" json:"router-prefix" yaml:"router-prefix"` Addr int `mapstructure:"addr" json:"addr" yaml:"addr"` // 端口值 LimitCountIP int `mapstructure:"iplimit-count" json:"iplimit-count" yaml:"iplimit-count"` LimitTimeIP int `mapstructure:"iplimit-time" json:"iplimit-time" yaml:"iplimit-time"` UseMultipoint bool `mapstructure:"use-multipoint" json:"use-multipoint" yaml:"use-multipoint"` // 多点登录拦截 UseRedis bool `mapstructure:"use-redis" json:"use-redis" yaml:"use-redis"` // 使用redis UseMongo bool `mapstructure:"use-mongo" json:"use-mongo" yaml:"use-mongo"` // 使用mongo UseStrictAuth bool `mapstructure:"use-strict-auth" json:"use-strict-auth" yaml:"use-strict-auth"` // 使用树形角色分配模式 }
type TencentCOS ¶
type TencentCOS struct { Bucket string `mapstructure:"bucket" json:"bucket" yaml:"bucket"` Region string `mapstructure:"region" json:"region" yaml:"region"` SecretID string `mapstructure:"secret-id" json:"secret-id" yaml:"secret-id"` SecretKey string `mapstructure:"secret-key" json:"secret-key" yaml:"secret-key"` BaseURL string `mapstructure:"base-url" json:"base-url" yaml:"base-url"` PathPrefix string `mapstructure:"path-prefix" json:"path-prefix" yaml:"path-prefix"` }
type Zap ¶
type Zap struct { Level string `mapstructure:"level" json:"level" yaml:"level"` // 级别 Prefix string `mapstructure:"prefix" json:"prefix" yaml:"prefix"` // 日志前缀 Format string `mapstructure:"format" json:"format" yaml:"format"` // 输出 Director string `mapstructure:"director" json:"director" yaml:"director"` // 日志文件夹 EncodeLevel string `mapstructure:"encode-level" json:"encode-level" yaml:"encode-level"` // 编码级 StacktraceKey string `mapstructure:"stacktrace-key" json:"stacktrace-key" yaml:"stacktrace-key"` // 栈名 ShowLine bool `mapstructure:"show-line" json:"show-line" yaml:"show-line"` // 显示行 LogInConsole bool `mapstructure:"log-in-console" json:"log-in-console" yaml:"log-in-console"` // 输出控制台 RetentionDay int `mapstructure:"retention-day" json:"retention-day" yaml:"retention-day"` // 日志保留天数 }
func (*Zap) LevelEncoder ¶
func (c *Zap) LevelEncoder() zapcore.LevelEncoder
LevelEncoder 根据 EncodeLevel 返回 zapcore.LevelEncoder Author [SliverHorn](https://github.com/SliverHorn)
Source Files ¶
- auto_code.go
- captcha.go
- config.go
- cors.go
- db_list.go
- disk.go
- email.go
- excel.go
- gorm_mssql.go
- gorm_mysql.go
- gorm_oracle.go
- gorm_pgsql.go
- gorm_sqlite.go
- jwt.go
- mongo.go
- oss_aliyun.go
- oss_aws.go
- oss_cloudflare.go
- oss_huawei.go
- oss_local.go
- oss_minio.go
- oss_qiniu.go
- oss_tencent.go
- redis.go
- system.go
- zap.go
Click to show internal directories.
Click to hide internal directories.