appbox

package module
v1.1.8 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2023 License: MIT Imports: 20 Imported by: 0

README

go-blackbox

======= go集成常用开发框架-快速开发 目前已集成:

  1. iris web服务端
  2. gorm 数据库持久化操作
  3. redis 缓存客户端
  4. MongoDB客户端
  5. RabiitMq 工具类
  6. RSA非对称加密工具类
  7. 邮件发送服务
  8. 定时任务Cronjob
  9. Zaplog 日志框架
  10. WebToken身份验证
赞助商

Documentation

Index

Constants

View Source
const AfterSecond = time.Second * 2

AfterSecond 默认时长后开始执行 后置函数

View Source
const (
	// TimeFormat 日期格式
	TimeFormat = "2006-01-02 15:04:05"
)

Variables

This section is empty.

Functions

func CronJobSingle added in v1.0.7

func CronJobSingle() *cron.Cron

CronJobSingle 获取定时任务执行器实例

func GlobalCtx added in v1.0.4

func GlobalCtx() *simpleioc.GlobalContext

GlobalCtx 获取context上下文

func GormDb added in v1.0.4

func GormDb() *gorm.DB

GormDb 获取操作数据库-Gorm实例

func MongoDb added in v1.0.8

func MongoDb() *mongodb.Client

MongoDb 获取MongoDB实例

func RedisCache added in v1.0.4

func RedisCache() cache.Rediser

RedisCache 获取Redis缓存实例

Types

type Application

type Application interface {
	// Start 用于读取配置文件、启动所有服务
	Start(builder func(ctx context.Context, builder *ApplicationBuild) error) error
}

Application app启动器接口

func New

func New() Application

New 创建app-starter启动器

type ApplicationBuild

type ApplicationBuild struct {

	//=========================================》 启动标识
	// 是否启动定时服务,在enableCronjob后为true,会自动start(),即开始调用定时Cron表达式函数
	IsRunningCronJob bool

	// 静态服务文件系统
	StaticFs http.FileSystem
	// 是否开启web
	IsEnableWeb bool
	// 是否开启数据库
	IsEnableDB bool
	// 是否开启redis
	IsEnableCache bool
	// 是否开始RabbitMq
	IsEnableRabbitMq bool
	// 是否开始定时任务
	IsEnableCronTask bool
	// 是否开启mongoDB
	IsEnableMongoDB bool
	// 是否开启静态服务文件
	IsEnableStaticFileServe bool
	// 是否开启日志zapLogs
	IsEnableZapLogs bool
	// contains filtered or unexported fields
}

func (*ApplicationBuild) EnableCache

func (app *ApplicationBuild) EnableCache(redConfig cache.RedisOptions) *ApplicationBuild

EnableCache 启动缓存

func (*ApplicationBuild) EnableDb

func (app *ApplicationBuild) EnableDb(dbConfig *datasource.PostgresConfig, models ...interface{}) *ApplicationBuild

EnableDb 启动数据库操作对象

func (*ApplicationBuild) EnableMongoDB added in v1.0.7

func (app *ApplicationBuild) EnableMongoDB(dbConfig *mongodb.MongoDBConfig) *ApplicationBuild

EnableMongoDB 启动MongoDB客户端

func (*ApplicationBuild) EnableStaticSource added in v1.1.1

func (app *ApplicationBuild) EnableStaticSource(file embed.FS) *ApplicationBuild

EnableStaticSource 加载web服务静态资源文件

func (*ApplicationBuild) EnableWeb

func (app *ApplicationBuild) EnableWeb(timeFormat, port, logLevel string, components webiris.PartyComponent) *ApplicationBuild

EnableWeb 启动Web服务

func (*ApplicationBuild) InitCronJob added in v1.0.7

func (app *ApplicationBuild) InitCronJob() *ApplicationBuild

InitCronJob 初始化定时任务对象,存放入IOC

func (*ApplicationBuild) InitLog added in v1.0.7

func (app *ApplicationBuild) InitLog(outDirPath, level string) *ApplicationBuild

InitLog 初始化自定义日志

func (*ApplicationBuild) LoadConfig

func (app *ApplicationBuild) LoadConfig(configStruct interface{}, loaderFun func(loadconf.Loader)) error

LoadConfig 加载配置文件、环境变量值

func (*ApplicationBuild) SetSeeds added in v1.0.7

func (app *ApplicationBuild) SetSeeds(seedFuncs ...seed.SeedFunc) *ApplicationBuild

SetSeeds 设置启动项目时,要执行的一些钩子函数

func (*ApplicationBuild) SetupToken added in v1.0.8

func (app *ApplicationBuild) SetupToken(AMinute, RHour time.Duration, TokenIssuer string) *ApplicationBuild

SetupToken 设置系统token有效期

type ApplicationBuilder

type ApplicationBuilder interface {
	EnableWeb(timeFormat, port, logLevel string, components webiris.PartyComponent) *ApplicationBuild // 启动web服务
	EnableDb(dbConfig *datasource.PostgresConfig, models ...interface{}) *ApplicationBuild            // 启动数据库
	EnableCache(redConfig cache.RedisOptions) *ApplicationBuild                                       // 启动缓存
	LoadConfig(configStruct interface{}, loaderFun func(loadconf.Loader)) error                       // 加载配置文件、环境变量等
	InitLog(outDirPath, level string) *ApplicationBuild                                               // 初始化日志打印
	EnableMongoDB(dbConfig *mongodb.MongoDBConfig) *ApplicationBuild                                  // 启动缓存数据库
	InitCronJob() *ApplicationBuild                                                                   // 初始化定时任务
	SetupToken(AMinute, RHour time.Duration, TokenIssuer string) *ApplicationBuild                    // 配置wen-token属性
	EnableStaticSource(file embed.FS) *ApplicationBuild                                               // 加载静态资源
}

ApplicationBuilder app builder接口提供系统初始化服务基础功能

Jump to

Keyboard shortcuts

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