bootstrap

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 28, 2023 License: GPL-3.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Module = fx.Module("bootstrap",
	fx.Provide(
		NewLogger,

		NewDB,
		NewApplication,
	),
)

Module exports dependency

Functions

func GetMessage

func GetMessage(code int) string

func GlobalErrorMiddleware

func GlobalErrorMiddleware() gin.HandlerFunc

func LoadConfig

func LoadConfig[T any](yamlFile string) (*T, error)

LoadConfig 从指定的YAML文件中加载配置信息

func NewHttpServer

func NewHttpServer(app *Application, logger *AppLogger) *http.Server

func SaveConfig

func SaveConfig[T any](cfg *T, yamlFile string) error

SaveConfig 将配置信息保存到指定的YAML文件中

func SetErrorInfo

func SetErrorInfo(ei map[int]string)

Types

type AppLogger

type AppLogger struct {
	// fx.In
	RawLogger *slog.Logger

	Params LoggerParams
}

func NewLogger

func NewLogger(params LoggerParams, lc fx.Lifecycle) *AppLogger

func (*AppLogger) Debug

func (logger *AppLogger) Debug(msg string, args ...any)

func (*AppLogger) DebugContext

func (logger *AppLogger) DebugContext(ctx context.Context, msg string, args ...any)

func (*AppLogger) Enabled

func (logger *AppLogger) Enabled(ctx context.Context, level slog.Level) bool

func (*AppLogger) Error

func (logger *AppLogger) Error(msg string, args ...any)

func (*AppLogger) ErrorContext

func (logger *AppLogger) ErrorContext(ctx context.Context, msg string, args ...any)

func (*AppLogger) Handler

func (logger *AppLogger) Handler() slog.Handler

func (*AppLogger) Info

func (logger *AppLogger) Info(msg string, args ...any)

func (*AppLogger) InfoContext

func (logger *AppLogger) InfoContext(ctx context.Context, msg string, args ...any)

func (*AppLogger) Log

func (logger *AppLogger) Log(ctx context.Context, level slog.Level, msg string, args ...any)

func (*AppLogger) LogAttrs

func (logger *AppLogger) LogAttrs(ctx context.Context, level slog.Level, msg string, attrs ...slog.Attr)

func (*AppLogger) Warn

func (logger *AppLogger) Warn(msg string, args ...any)

func (*AppLogger) WarnContext

func (logger *AppLogger) WarnContext(ctx context.Context, msg string, args ...any)

type Application

type Application struct {
	// Configuration
	Config *ApplicationConfig
	// contains filtered or unexported fields
}

func NewApplication

func NewApplication(logger *AppLogger, cfg *ApplicationConfig, lc fx.Lifecycle) *Application

func (*Application) RunServer

func (app *Application) RunServer(logger *AppLogger) error

type ApplicationConfig

type ApplicationConfig struct {
	// Configuration of server trusted proxies
	TrustedProxies string

	// Configuration of server address
	ServerAddr string

	// verbose flag
	Verbose bool
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

type DBParams

type DBParams struct {
	Type     string
	Host     string
	Port     int
	Database string
	User     string
	Password string
}

func NewDBParams

func NewDBParams(dbtype string, dbhost string, dbport int, dbdatabase string, dbuser string, dbpassword string) DBParams

func (DBParams) GetConnectionString

func (param DBParams) GetConnectionString() (string, error)

type DBToolKit

type DBToolKit struct {
	*sqlx.DB
}

func NewDB

func NewDB(param DBParams) (*DBToolKit, error)

type LoggerParams

type LoggerParams struct {
	LogFileName  string
	DefaultLevel slog.Level
	Config       sloggin.Config
}

type Result

type Result struct {
	Code    int         `json:"code"`    // 状态码
	Message string      `json:"message"` // 响应消息
	Data    interface{} `json:"data"`    // 响应数据
}

Result 表示统一响应的JSON格式

func NewQuickResult

func NewQuickResult(code int, data interface{}) Result

func NewResult

func NewResult(code int, message string, data interface{}) Result

func (Result) Fail

func (result Result) Fail(c *gin.Context)

func (Result) OK

func (result Result) OK(c *gin.Context)

接口执行正常 需要返回数据 data

Jump to

Keyboard shortcuts

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