config

package
v1.0.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 22, 2024 License: GPL-3.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type App

type App struct {
	Server   *Server              // 服务配置
	Log      *Logger              // 日志配置
	Logging  *Logging             // 日志白名单配置
	Database map[string]*Database // 数据库配置
	Redis    map[string]*Redis    // redis配置
	Jwt      *JWT                 // Jwt配置
	Loader   map[string]string    // 文件load配置
}

type Config

type Config interface {
	Load() error
	Scan(v interface{}) error
	Value(key string) Value
	Close() error
	App() *App
}

func Instance

func Instance() Config

Instance 回去配置实例

func New

func New(source kc.Source) Config

type Cors

type Cors struct {
	AllowCredentials    bool          // 跨域请求中允许传递身份验证凭据
	AllowOrigins        []string      // 允许的跨域请求的来源
	AllowMethods        []string      // 允许的请求方式
	AllowHeaders        []string      // 请求头
	ExposeHeaders       []string      // 在跨域请求中允许暴露哪些头信息
	MaxAge              time.Duration // 超时
	AllowPrivateNetwork bool
}

Cors 跨域设置

type Database

type Database struct {
	Enable        bool          // 是否启用数据库
	TablePrefix   string        // 表的前缀
	Drive         string        // 驱动
	Dsn           string        // 数据库链接
	MaxLifetime   time.Duration // 最大生存时间 例如: 2h
	MaxOpenConn   int           // 最大连接数量
	MaxIdleConn   int           // 最大空闲数量
	LogLevel      int           // 日志级别
	PrepareStmt   bool
	DryRun        bool
	SlowThreshold time.Duration // 慢sql阈值
}

Database 数据库配置

type GrpcService

type GrpcService struct {
	Network string        // 配置服务端的 network 协议,如 tcp
	Addr    string        // 配置服务端监听的地址 例如: 0.0.0.0:8080
	Timeout time.Duration // 配置服务端的超时设置 例如: 10s
}

GrpcService grpc服务

type HttpService

type HttpService struct {
	Network        string
	Addr           string        // 配置服务端的 network 协议,如 tcp
	Timeout        time.Duration // 配置服务端的超时设置 例如: 10s
	FormatResponse bool          // 默认格式化返回值
	Cors           *Cors         // 跨域
	Marshal        *Marshal
}

HttpService http服务

type JWT added in v1.0.4

type JWT struct {
	Redis     string          // redis
	Header    string          //
	Secret    string          // 秘钥
	Expire    time.Duration   // 过期时间
	Renewal   time.Duration   // 续期时间
	Whitelist map[string]bool // 白名单
}

JWT jwt配置项

type Logger

type Logger struct {
	Level  int8     // 日志级别
	Output []string // 输出形式,stdout:输出到控制台,file:输出到文件
	File   *struct {
		Path      string // 文件输出的目录文件,例: ./logs/output.log
		MaxSize   int    // 日志文件最大保留(M)
		MaxBackup int    // 日志文件最多保存个数
		MaxAge    int    // 日志最多保存的天数
		Compress  bool   // 是否要进行日志压缩,using gzip
		LocalTime bool   // 是否使用本地的时间
	}
}

Logger 日志配置项

type Logging

type Logging struct {
	Enable    bool            // 是否开启白名单
	Whitelist map[string]bool // 路由 -> 是否为白名单 白名单不记录
}

type Marshal

type Marshal struct {
	ForceUseJson    bool // 是否强制使用 JSON 格式进行序列化
	EmitUnpopulated bool // 是否在编组时包含未赋值的字段
	UseProtoNames   bool // 否使用 Protocol Buffers 中定义的字段名进行序列化
}

Marshal 序列化设置

type Redis added in v1.0.3

type Redis struct {
	Enable   bool   // 是否启用
	Host     string // url
	Username string // 用户名
	Password string // 密码
	DB       int    // DB库制定
}

Redis Nosql数据库Redis

type Server

type Server struct {
	// Http服务配置
	Http *HttpService
	// Grpc服务配置
	Grpc *GrpcService
}

Server 服务配置

type Value

type Value interface {
	kc.Value
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL