Documentation
¶
Index ¶
- Constants
- Variables
- func GetCache() (c cache.C)
- func GetMqtt() (session mqtt.Session)
- func GetNamedOrm(aliaName string) *persistence.OrmContext
- func GetOrm() *persistence.OrmContext
- func GetRedisClient() *redis.Client
- func GetWebServer() (s *server.Server)
- func InjectEnv(key, value string)
- func InjectEnvStr(s string)
- func Query(h func(ctx persistence.OrmContext) (err error)) (err error)
- func QueryPage[Model any, Dto any](pager *SimplePager[Model, Dto]) (err error)
- func Transaction(h func(ctx persistence.TxContext) error) (err error)
- func WithEmbed(fs embed.FS) func() http.FileSystem
- func WithEmbedRoot(fsys fs.FS, root string) func() http.FileSystem
- type Application
- type ApplicationBuilder
- func (h *ApplicationBuilder) ComponentAfter(component func(context.Context) (err error)) *ApplicationBuilder
- func (h *ApplicationBuilder) ComponentBefore(component func(context.Context) (err error)) *ApplicationBuilder
- func (h *ApplicationBuilder) DisableAdmin() *ApplicationBuilder
- func (h *ApplicationBuilder) EnableAdmin() *ApplicationBuilder
- func (h *ApplicationBuilder) EnableAdminRoutes(setup server.AdminSetup) *ApplicationBuilder
- func (h *ApplicationBuilder) EnableCache(cacheOpts cache.Options) *ApplicationBuilder
- func (h *ApplicationBuilder) EnableDatabase(config persistence.BaseConfig, models ...interface{}) *ApplicationBuilder
- func (h *ApplicationBuilder) EnableDatabaseLog() *ApplicationBuilder
- func (h *ApplicationBuilder) EnableDatabaseView(views ...interface{}) *ApplicationBuilder
- func (h *ApplicationBuilder) EnableEmbedStaticWeb(fsys fs.FS, root ...string) *ApplicationBuilder
- func (h *ApplicationBuilder) EnableMqtt(options ...mqtt.ClientOption) *ApplicationBuilder
- func (h *ApplicationBuilder) EnableOrmLog() *ApplicationBuilder
- func (h *ApplicationBuilder) EnableRedis(opts redis.Options) *ApplicationBuilder
- func (h *ApplicationBuilder) EnableStaticWeb(assetFile func() http.FileSystem) *ApplicationBuilder
- func (h *ApplicationBuilder) EnableStripTrailingSlash() *ApplicationBuilder
- func (h *ApplicationBuilder) EnableTokenValidator(builder TokenValidatorBuilder) *ApplicationBuilder
- func (h *ApplicationBuilder) EnableWeb(listen string, components ...server.Component) *ApplicationBuilder
- func (h *ApplicationBuilder) HealthyHandler(handler func() int) *ApplicationBuilder
- func (h *ApplicationBuilder) LoadConfig(config interface{}, callback func(etc.Loader)) (err error)
- func (h *ApplicationBuilder) PrintVersion() *ApplicationBuilder
- func (h *ApplicationBuilder) ReadyHandler(handler func() int) *ApplicationBuilder
- func (h *ApplicationBuilder) SetAdminListen(listen string) *ApplicationBuilder
- func (h *ApplicationBuilder) SetMonitorPrefix(prefix string) *ApplicationBuilder
- func (h *ApplicationBuilder) SetWebLogLevel(lvl string) *ApplicationBuilder
- type BasePager
- type OperatorChangeInfo
- type OperatorInfo
- type Pager
- type PagerResponse
- type Pk
- type Pk64
- type Response
- type ResponseWrapper
- type SimplePager
- type TableChangeInfo
- type TableInfo
- type Tenant
- type TenantPk
- type TenantPk64
- type TokenValidatorBuilder
- type TokenValidatorInjectFunc
Constants ¶
const ( Disable = iota Enable )
Variables ¶
Functions ¶
func GetNamedOrm ¶ added in v1.6.9
func GetNamedOrm(aliaName string) *persistence.OrmContext
func GetOrm ¶
func GetOrm() *persistence.OrmContext
func GetRedisClient ¶ added in v1.23.0
func GetWebServer ¶ added in v1.12.6
func Query ¶ added in v1.6.6
func Query(h func(ctx persistence.OrmContext) (err error)) (err error)
func QueryPage ¶ added in v1.12.6
func QueryPage[Model any, Dto any](pager *SimplePager[Model, Dto]) (err error)
QueryPage 单表分页查询(默认pageNo=1 pageSize=10)
func Transaction ¶ added in v1.6.6
func Transaction(h func(ctx persistence.TxContext) error) (err error)
func WithEmbed ¶ added in v1.23.4
func WithEmbed(fs embed.FS) func() http.FileSystem
WithEmbed adapts embed.FS to EnableStaticWeb (files at FS root → URL /, /css/..., etc.).
func WithEmbedRoot ¶ added in v1.23.4
func WithEmbedRoot(fsys fs.FS, root string) func() http.FileSystem
WithEmbedRoot serves a subdirectory inside fsys at web root. Use when embedding with //go:embed all:static and paths are static/index.html, etc.
Types ¶
type Application ¶
type Application interface {
Start(buildHandler func(ctx context.Context, builder *ApplicationBuilder) error, onTerminate ...func(string)) error
}
func New ¶
func New() (instance Application)
type ApplicationBuilder ¶ added in v1.2.1
type ApplicationBuilder struct {
// contains filtered or unexported fields
}
func (*ApplicationBuilder) ComponentAfter ¶ added in v1.2.1
func (h *ApplicationBuilder) ComponentAfter(component func(context.Context) (err error)) *ApplicationBuilder
func (*ApplicationBuilder) ComponentBefore ¶ added in v1.2.1
func (h *ApplicationBuilder) ComponentBefore(component func(context.Context) (err error)) *ApplicationBuilder
func (*ApplicationBuilder) DisableAdmin ¶ added in v1.23.7
func (h *ApplicationBuilder) DisableAdmin() *ApplicationBuilder
DisableAdmin disables the admin HTTP listener (pprof / metrics / admin routes).
func (*ApplicationBuilder) EnableAdmin ¶ added in v1.23.7
func (h *ApplicationBuilder) EnableAdmin() *ApplicationBuilder
EnableAdmin enables the admin HTTP listener (default listen :6060). On by default when created via New(); call after DisableAdmin to turn it back on.
func (*ApplicationBuilder) EnableAdminRoutes ¶ added in v1.23.5
func (h *ApplicationBuilder) EnableAdminRoutes(setup server.AdminSetup) *ApplicationBuilder
EnableAdminRoutes registers custom routes on the admin listener. Effective only when admin is enabled. Framework routes (/pprof, /metrics, POST /cl) are registered first; setup runs after. setup uses server.Router (not gin).
func (*ApplicationBuilder) EnableCache ¶ added in v1.4.0
func (h *ApplicationBuilder) EnableCache(cacheOpts cache.Options) *ApplicationBuilder
func (*ApplicationBuilder) EnableDatabase ¶ added in v1.2.1
func (h *ApplicationBuilder) EnableDatabase(config persistence.BaseConfig, models ...interface{}) *ApplicationBuilder
func (*ApplicationBuilder) EnableDatabaseLog ¶ added in v1.12.6
func (h *ApplicationBuilder) EnableDatabaseLog() *ApplicationBuilder
EnableDatabaseLog 鎵撳紑orm log杈撳嚭
func (*ApplicationBuilder) EnableDatabaseView ¶ added in v1.21.11
func (h *ApplicationBuilder) EnableDatabaseView(views ...interface{}) *ApplicationBuilder
func (*ApplicationBuilder) EnableEmbedStaticWeb ¶ added in v1.23.4
func (h *ApplicationBuilder) EnableEmbedStaticWeb(fsys fs.FS, root ...string) *ApplicationBuilder
EnableEmbedStaticWeb is shorthand for EnableStaticWeb(WithEmbedRoot(fs, root...)).
func (*ApplicationBuilder) EnableMqtt ¶ added in v1.10.0
func (h *ApplicationBuilder) EnableMqtt(options ...mqtt.ClientOption) *ApplicationBuilder
func (*ApplicationBuilder) EnableOrmLog ¶ added in v1.7.3
func (h *ApplicationBuilder) EnableOrmLog() *ApplicationBuilder
func (*ApplicationBuilder) EnableRedis ¶ added in v1.23.0
func (h *ApplicationBuilder) EnableRedis(opts redis.Options) *ApplicationBuilder
func (*ApplicationBuilder) EnableStaticWeb ¶ added in v1.2.1
func (h *ApplicationBuilder) EnableStaticWeb(assetFile func() http.FileSystem) *ApplicationBuilder
func (*ApplicationBuilder) EnableStripTrailingSlash ¶ added in v1.23.6
func (h *ApplicationBuilder) EnableStripTrailingSlash() *ApplicationBuilder
EnableStripTrailingSlash rewrites paths like /api/ → /api on web and admin before routing (nginx-style, no 301). Off by default.
func (*ApplicationBuilder) EnableTokenValidator ¶ added in v1.9.0
func (h *ApplicationBuilder) EnableTokenValidator(builder TokenValidatorBuilder) *ApplicationBuilder
EnableTokenValidator 楠岃瘉Token锛屼娇鐢≧edisTokenValidator鍓嶉渶瑕乪nableCache
func (*ApplicationBuilder) EnableWeb ¶ added in v1.2.1
func (h *ApplicationBuilder) EnableWeb(listen string, components ...server.Component) *ApplicationBuilder
func (*ApplicationBuilder) HealthyHandler ¶ added in v1.5.0
func (h *ApplicationBuilder) HealthyHandler(handler func() int) *ApplicationBuilder
func (*ApplicationBuilder) LoadConfig ¶ added in v1.2.1
func (h *ApplicationBuilder) LoadConfig(config interface{}, callback func(etc.Loader)) (err error)
func (*ApplicationBuilder) PrintVersion ¶ added in v1.7.3
func (h *ApplicationBuilder) PrintVersion() *ApplicationBuilder
func (*ApplicationBuilder) ReadyHandler ¶ added in v1.5.0
func (h *ApplicationBuilder) ReadyHandler(handler func() int) *ApplicationBuilder
func (*ApplicationBuilder) SetAdminListen ¶ added in v1.23.7
func (h *ApplicationBuilder) SetAdminListen(listen string) *ApplicationBuilder
SetAdminListen sets the admin listen address only (does not enable/disable). Empty listen uses server.DefaultAdminListen (":6060"). Effective only when adminEnable is true (same pattern as dbDebug under dbEnable).
func (*ApplicationBuilder) SetMonitorPrefix ¶ added in v1.5.0
func (h *ApplicationBuilder) SetMonitorPrefix(prefix string) *ApplicationBuilder
func (*ApplicationBuilder) SetWebLogLevel ¶ added in v1.3.3
func (h *ApplicationBuilder) SetWebLogLevel(lvl string) *ApplicationBuilder
type BasePager ¶ added in v1.12.6
type OperatorChangeInfo ¶ added in v1.10.15
type OperatorChangeInfo struct {
OperatorInfo
UpdateOperator int `gorm:"column:moperator"`
}
OperatorChangeInfo 不可与 OperatorInfo 同时使用
type OperatorInfo ¶ added in v1.10.15
type OperatorInfo struct {
CreateOperator int `gorm:"column:coperator"`
}
type PagerResponse ¶ added in v1.1.3
type PagerResponse struct {
Response
}
type Pk ¶ added in v1.9.11
type Pk struct {
// ID
Id int `gorm:"primaryKey;autoIncrement;column:id"`
}
type Pk64 ¶ added in v1.22.1
type Pk64 struct {
Id int64 `gorm:"primaryKey;autoIncrement;column:id"`
}
Pk64 主键为 bigint / bigserial 时使用;不可与 Pk 同时使用
type ResponseWrapper ¶ added in v1.11.4
type SimplePager ¶ added in v1.12.6
type SimplePager[DbModel any, Dto any] struct { Pager[Dto] DataSet []DbModel Transform func(src DbModel, dst *Dto) OrderExp []string // GORM order expressions, e.g. "id desc" QueryBuilder func(tx persistence.TxContext) persistence.Query }
type TableChangeInfo ¶ added in v1.9.11
type TableChangeInfo struct {
Status int `gorm:"column:status;default:0"`
TableInfo
UpdateTime time.Time `gorm:"autoUpdateTime;column:mtime"`
}
TableChangeInfo 不可与 TableInfo 同时使用
type Tenant ¶ added in v1.10.15
type Tenant struct {
Org int `gorm:"column:org"` // org为tenant标记
}
Tenant 多租户
type TenantPk64 ¶ added in v1.22.1
TenantPk64 不可与 Pk / Pk64 同时使用
type TokenValidatorBuilder ¶ added in v1.9.0
type TokenValidatorBuilder func(injectFunc TokenValidatorInjectFunc)
type TokenValidatorInjectFunc ¶ added in v1.9.0
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
application
|
|
|
examples
|
|
|
web-basic
command
|
|
|
midware
|
|
|
driver/mysql
Package mysql provides MysqlConfig and registers the GORM mysql dialector on import.
|
Package mysql provides MysqlConfig and registers the GORM mysql dialector on import. |
|
driver/postgres
Package postgres provides PostgresConfig and registers the GORM postgres dialector on import.
|
Package postgres provides PostgresConfig and registers the GORM postgres dialector on import. |
|
driver/sqlite
Package sqlite provides SqliteConfig and registers the GORM sqlite dialector on import.
|
Package sqlite provides SqliteConfig and registers the GORM sqlite dialector on import. |