configs

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2023 License: MIT Imports: 3 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 {
	Name    string `env:"APP_NAME" envDefault:"Gower"`
	Cli     string `env:"APP_CLI" envDefault:"gower"`
	Version string `env:"APP_VERSION" envDefault:"v0.0.1"`
	Key     string `env:"APP_KEY,required"`
	Mode    string `env:"APP_MODE" envDefault:"test"`
	Url     string `env:"APP_URL" envDefault:"http://localhost:8080"`
	Domain  string `env:"APP_DOMAIN" envDefault:"localhost"`
}

type Cache

type Cache struct {
	Expire   time.Duration `env:"CACHE_EXPIRE" envDefault:"5m"`
	Clean    time.Duration `env:"CACHE_CLEAN" envDefault:"10m"`
	Interval time.Duration `env:"CACHE_INTERVAL" envDefault:"10m"`
	Dir      string        `env:"CACHE_DIR" envDefault:"storage/caches"`
	FILE     string        `env:"CACHE_FILE" envDefault:"go.cache"`
}

type Config

type Config struct {
	*config.Service
	App
	Log
	Cache
	DB
	Passwd
	Jwt
	Res
	Cors
	Upload
	View
}

Config 总配置

func (*Config) Set

func (c *Config) Set(arg any) services.Config

Set 通用设置内容

type Cors

type Cors struct {
	AllowOrigins  []string      `env:"CORS_ALLOW_ORIGINS" envSeparator:"," envDefault:"*"`
	AllowMethods  []string      `env:"CORS_ALLOW_METHODS" envSeparator:"," envDefault:"*"`
	AllowHeaders  []string      `env:"CORS_ALLOW_HEADERS" envSeparator:"," envDefault:"*"`
	ExposeHeaders []string      `env:"CORS_EXPOSE_HEADERS" envSeparator:"," envDefault:"*"`
	MaxAge        time.Duration `env:"CORS_MAX_AGE" envDefault:"12h"`
}

type DB

type DB struct {
	Driver                 string        `env:"DB_DRIVER" envDefault:"mysql"`
	User                   string        `env:"DB_USER" envDefault:"root"`
	Passwd                 string        `env:"DB_PASSWD" envDefault:"root"`
	Net                    string        `env:"DB_NET" envDefault:"tcp"`
	Host                   string        `env:"DB_HOST" envDefault:"localhost"`
	Port                   int           `env:"DB_PORT" envDefault:"3306"`
	Name                   string        `env:"DB_NAME" envDefault:"gower"`
	MaxOpen                int           `env:"DB_MAX_OPEN" envDefault:"100"`
	MaxIdleCount           int           `env:"DB_MAX_IDLE_COUNT" envDefault:"25"`
	MaxLifeTime            time.Duration `env:"DB_MAX_LIFE_TIME" envDefault:"30m"`
	MaxIdleTime            time.Duration `env:"DB_MAX_IDLE_TIME" envDefault:"10m"`
	DisableForeignKey      bool          `env:"DB_DISABLE_FOREIGN_KEY" envDefault:"true"`
	SkipDefaultTransaction bool          `env:"DB_SKIP_DEFAULT_TRANSACTION" envDefault:"true"`
	Timezone               string        `env:"DB_TIMEZONE" envDefault:"sys"`
	PrepareStmt            bool          `env:"DB_PREPARE_STMT" envDefault:"true"`
	Mysql                  struct {
		AllowNativePasswords bool `env:"DB_MYSQL_NATIVE_PASSWORDS" envDefault:"true"`
	}
}

type Jwt

type Jwt struct {
	Key    string        `env:"JWT_KEY,required"`
	Upd    time.Duration `env:"JWT_UPD" envDefault:"5m"`
	Exp    time.Duration `env:"JWT_EXP" envDefault:"10m"`
	Method string        `env:"JWT_METHOD" envDefault:"HS256"`
}

type Log

type Log struct {
	Dir            string   `env:"LOG_DIR" envDefault:"storage/logs"`
	Channel        string   `env:"LOG_CHANNEL" envDefault:"stack"`
	SkipPaths      []string `env:"LOG_SKIP_PATHS" envSeparator:","`
	Paths          []string `env:"LOG_PATHS" envSeparator:","`
	MsgKey         string   `env:"LOG_MSG_KEY" envDefault:"msg"`
	LevelKey       string   `env:"LOG_LEVEL_KEY" envDefault:"level"`
	TimeKey        string   `env:"LOG_TIME_KEY" envDefault:"ts"`
	NameKey        string   `env:"LOG_NAME_KEY" envDefault:"logger"`
	CallerKey      string   `env:"LOG_CALLER_KEY" envDefault:"caller"`
	StackKey       string   `env:"LOG_STACK_KEY" envDefault:"stack"`
	TimeFormat     string   `env:"LOG_TIME_FORMAT" envDefault:"2006-01-02 15:04:05"`
	DurationFormat string   `env:"LOG_DURATION_FORMAT" envDefault:"seconds"`
	ConsoleSep     string   `env:"LOG_CONSOLE_SEP" envDefault:""`
}

type Passwd

type Passwd struct {
	Mode string `env:"PASSWD_MODE" envDefault:"argon2id"`
}

type Res

type Res struct {
	KeyType string   `env:"RES_KEY_TYPE" envDefault:"snake_type"`
	Mimes   []string `` /* 135-byte string literal not displayed */
}

type Upload

type Upload struct {
	Storage string `env:"UPLOAD_STORAGE" envDefault:"local"`
	Local   struct {
		Host string `env:"UPLOAD_LOCAL_HOST" envDefault:"https://localhost"`
		Path string `env:"UPLOAD_LOCAL_PATH" envDefault:"storage/app"`
	}
}

type View added in v0.2.2

type View struct {
	Theme string `env:"VIEW_THEME" envDefault:"lofi"`
}

Jump to

Keyboard shortcuts

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