diff --git a/internal/cmd/cmd.go b/internal/cmd/cmd.go index 640ace7..573fe8c 100644 --- a/internal/cmd/cmd.go +++ b/internal/cmd/cmd.go @@ -11,10 +11,12 @@ import ( "github.com/gogf/gf/v2/text/gstr" "github.com/tiger1103/gfast/v3/internal/consts" "github.com/tiger1103/gfast/v3/internal/router" + "github.com/tiger1103/gfast/v3/library/libValidate" + "github.com/tiger1103/gfast/v3/library/upload" + "github.com/tiger1103/gfast/v3/task" ) var ( - Main = gcmd.Command{ Name: "main", Usage: "main", @@ -27,9 +29,9 @@ var ( router.R.BindController(ctx, group) }) //重新配置swaggerUI静态页面--start--,若要使用原版gf字段swaggerUI请删除或注释此段 - s.BindHookHandler(g.Cfg().MustGet(ctx,"server.swaggerPath").String()+"/*", ghttp.HookBeforeServe, func(r *ghttp.Request) { + s.BindHookHandler(g.Cfg().MustGet(ctx, "server.swaggerPath").String()+"/*", ghttp.HookBeforeServe, func(r *ghttp.Request) { content := gstr.ReplaceByMap(consts.SwaggerUITemplate, map[string]string{ - `{SwaggerUIDocUrl}`: g.Cfg().MustGet(ctx, "server.openapiPath").String(), + `{SwaggerUIDocUrl}`: g.Cfg().MustGet(ctx, "server.openapiPath").String(), `{SwaggerUIDocNamePlaceHolder}`: gstr.TrimRight(fmt.Sprintf(`//%s`, r.Host)), }) r.Response.Write(content) @@ -37,12 +39,24 @@ var ( }) //重新配置swaggerUI静态页面--end-- enhanceOpenAPIDoc(s) + //注册相关组件 + register() s.Run() return nil }, } ) +// 相关组件注册 +func register() { + //注册上传组件 + upload.Register() + //注册自定义验证规则 + libValidate.Register() + //执行计划任务 + task.Run() +} + func enhanceOpenAPIDoc(s *ghttp.Server) { openapi := s.GetOpenApi() openapi.Config.CommonResponse = ghttp.DefaultHandlerResponse{} diff --git a/internal/app/boot/custom_validations_boot.go b/library/libValidate/custom_validations.go similarity index 98% rename from internal/app/boot/custom_validations_boot.go rename to library/libValidate/custom_validations.go index 4bedeac..60a94aa 100644 --- a/internal/app/boot/custom_validations_boot.go +++ b/library/libValidate/custom_validations.go @@ -1,4 +1,4 @@ -package boot +package libValidate import ( "context" @@ -11,7 +11,7 @@ import ( "strings" ) -func init() { +func Register() { gvalid.RegisterRule("integer-array", IntegerArray) gvalid.RegisterRule("float-array", FloatArray) gvalid.RegisterRule("date-array", DateArray) diff --git a/library/upload/init.go b/library/upload/init.go index 33559c7..4384911 100644 --- a/library/upload/init.go +++ b/library/upload/init.go @@ -39,7 +39,7 @@ func GetUploader(key UploaderType) IUpload { return nil } -func init() { +func Register() { RegisterUploader(SourceLocal, &Local{}) RegisterUploader(SourceTencent, &Tencent{}) diff --git a/task/bind_function.go b/task/bind_function.go index 03c47bb..1cd1005 100644 --- a/task/bind_function.go +++ b/task/bind_function.go @@ -14,7 +14,7 @@ import ( "github.com/tiger1103/gfast/v3/internal/app/system/service" ) -func init() { +func Run() { task1 := &model.TimeTask{ FuncName: "test1", Run: Test1,