cmd

package
v2.3.0 Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2026 License: Apache-2.0 Imports: 54 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Main = gcmd.Command{
		Name:  "main",
		Usage: "main",
		Brief: "start http server",
		Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {

			s := g.Server()

			if config.Cfg.Debug.Open {
				runtime.SetMutexProfileFraction(1)
				runtime.SetBlockProfileRate(1)
				s.EnablePProf()
			}

			s.BindHookHandler("/*", ghttp.HookBeforeServe, beforeServeHook)

			s.SetServerRoot("./resource/fastapi-web/")

			s.AddStaticPath("/", "./resource/index/")
			s.AddStaticPath("/login", "./resource/fastapi-web/")
			s.AddStaticPath("/reseller", "./resource/fastapi-web/")
			s.AddStaticPath("/user-agreement", "./resource/fastapi-web/")
			s.AddStaticPath("/privacy-policy", "./resource/fastapi-web/")
			s.AddStaticPath("/dashboard/workplace", "./resource/fastapi-web/")
			s.AddStaticPath("/my/model", "./resource/fastapi-web/")
			s.AddStaticPath("/my/group", "./resource/fastapi-web/")
			s.AddStaticPath("/app/list", "./resource/fastapi-web/")
			s.AddStaticPath("/app/create", "./resource/fastapi-web/")
			s.AddStaticPath("/app/update", "./resource/fastapi-web/")
			s.AddStaticPath("/app/key", "./resource/fastapi-web/")
			s.AddStaticPath("/model/list", "./resource/fastapi-web/")
			s.AddStaticPath("/model/create", "./resource/fastapi-web/")
			s.AddStaticPath("/model/update", "./resource/fastapi-web/")
			s.AddStaticPath("/model/square", "./resource/fastapi-web/")
			s.AddStaticPath("/key/list", "./resource/fastapi-web/")
			s.AddStaticPath("/key/create", "./resource/fastapi-web/")
			s.AddStaticPath("/key/update", "./resource/fastapi-web/")
			s.AddStaticPath("/model/agent/list", "./resource/fastapi-web/")
			s.AddStaticPath("/model/agent/create", "./resource/fastapi-web/")
			s.AddStaticPath("/model/agent/update", "./resource/fastapi-web/")
			s.AddStaticPath("/group/list", "./resource/fastapi-web/")
			s.AddStaticPath("/group/create", "./resource/fastapi-web/")
			s.AddStaticPath("/group/update", "./resource/fastapi-web/")
			s.AddStaticPath("/group/square", "./resource/fastapi-web/")
			s.AddStaticPath("/user/list", "./resource/fastapi-web/")
			s.AddStaticPath("/user/create", "./resource/fastapi-web/")
			s.AddStaticPath("/user/update", "./resource/fastapi-web/")
			s.AddStaticPath("/user/center", "./resource/fastapi-web/")
			s.AddStaticPath("/notice/list", "./resource/fastapi-web/")
			s.AddStaticPath("/notice/create", "./resource/fastapi-web/")
			s.AddStaticPath("/notice/update", "./resource/fastapi-web/")
			s.AddStaticPath("/notice/template/list", "./resource/fastapi-web/")
			s.AddStaticPath("/notice/template/create", "./resource/fastapi-web/")
			s.AddStaticPath("/notice/template/update", "./resource/fastapi-web/")
			s.AddStaticPath("/statistics/databoard", "./resource/fastapi-web/")
			s.AddStaticPath("/monitor/center", "./resource/fastapi-web/")
			s.AddStaticPath("/finance/bill", "./resource/fastapi-web/")
			s.AddStaticPath("/finance/deal", "./resource/fastapi-web/")
			s.AddStaticPath("/task/video", "./resource/fastapi-web/")
			s.AddStaticPath("/task/file", "./resource/fastapi-web/")
			s.AddStaticPath("/task/batch", "./resource/fastapi-web/")
			s.AddStaticPath("/log/text", "./resource/fastapi-web/")
			s.AddStaticPath("/log/image", "./resource/fastapi-web/")
			s.AddStaticPath("/log/audio", "./resource/fastapi-web/")
			s.AddStaticPath("/log/video", "./resource/fastapi-web/")
			s.AddStaticPath("/log/file", "./resource/fastapi-web/")
			s.AddStaticPath("/log/batch", "./resource/fastapi-web/")
			s.AddStaticPath("/log/general", "./resource/fastapi-web/")
			s.AddStaticPath("/sys/provider/list", "./resource/fastapi-web/")
			s.AddStaticPath("/sys/provider/create", "./resource/fastapi-web/")
			s.AddStaticPath("/sys/provider/update", "./resource/fastapi-web/")
			s.AddStaticPath("/sys/reseller/list", "./resource/fastapi-web/")
			s.AddStaticPath("/sys/reseller/create", "./resource/fastapi-web/")
			s.AddStaticPath("/sys/reseller/update", "./resource/fastapi-web/")
			s.AddStaticPath("/sys/site/config", "./resource/fastapi-web/")
			s.AddStaticPath("/sys/site/config/create", "./resource/fastapi-web/")
			s.AddStaticPath("/sys/site/config/update", "./resource/fastapi-web/")
			s.AddStaticPath("/sys/config", "./resource/fastapi-web/")

			s.AddStaticPath("/public", "./resource/public")

			if config.Cfg.AdminLogin != nil && config.Cfg.AdminLogin.Path != "" {
				s.AddStaticPath("/"+config.Cfg.AdminLogin.Path, "./resource/fastapi-web/")
			} else {
				s.AddStaticPath("/admin", "./resource/fastapi-web/")
			}

			s.Use(authMiddleware)
			s.Use(middlewareHandlerResponse)

			s.Group("/open", func(g *ghttp.RouterGroup) {
				g.Bind(
					health.NewV1(),
					open.NewV1(),
				)
			})

			s.Group("/api/v1", func(v1 *ghttp.RouterGroup) {

				v1.Group("/open", func(g *ghttp.RouterGroup) {
					g.Bind(
						open.NewV1(),
					)
				})

				v1.Group("/common", func(g *ghttp.RouterGroup) {
					g.Bind(
						common.NewV1(),
					)
				})

				v1.Group("/auth", func(g *ghttp.RouterGroup) {
					g.Bind(
						auth.NewV1(),
					)
				})

				v1.Group("/user", func(g *ghttp.RouterGroup) {
					g.Bind(
						user.NewV1(),
					)
				})

				v1.Group("/group", func(g *ghttp.RouterGroup) {
					g.Bind(
						group.NewV1(),
					)
				})

				v1.Group("/admin/reseller", func(g *ghttp.RouterGroup) {
					g.Bind(
						admin_reseller.NewV1(),
					)
				})

				v1.Group("/admin/user", func(g *ghttp.RouterGroup) {
					g.Bind(
						admin_user.NewV1(),
					)
				})

				v1.Group("/app", func(g *ghttp.RouterGroup) {
					g.Bind(
						app.NewV1(),
					)
				})

				v1.Group("/app/key", func(g *ghttp.RouterGroup) {
					g.Bind(
						app_key.NewV1(),
					)
				})

				v1.Group("/model", func(g *ghttp.RouterGroup) {
					g.Bind(
						model.NewV1(),
					)
				})

				v1.Group("/model/agent", func(g *ghttp.RouterGroup) {
					g.Bind(
						model_agent.NewV1(),
					)
				})

				v1.Group("/key", func(g *ghttp.RouterGroup) {
					g.Bind(
						key.NewV1(),
					)
				})

				v1.Group("/dashboard", func(g *ghttp.RouterGroup) {
					g.Bind(
						dashboard.NewV1(),
					)
				})

				v1.Group("/provider", func(g *ghttp.RouterGroup) {
					g.Bind(
						provider.NewV1(),
					)
				})

				v1.Group("/notice", func(g *ghttp.RouterGroup) {
					g.Bind(
						notice.NewV1(),
					)
				})

				v1.Group("/notice/template", func(g *ghttp.RouterGroup) {
					g.Bind(
						notice_template.NewV1(),
					)
				})

				v1.Group("/finance", func(g *ghttp.RouterGroup) {
					g.Bind(
						finance.NewV1(),
					)
				})

				v1.Group("/statistics", func(g *ghttp.RouterGroup) {
					g.Bind(
						statistics.NewV1(),
					)
				})

				v1.Group("/monitor", func(g *ghttp.RouterGroup) {
					g.Bind(
						monitor.NewV1(),
					)
				})

				v1.Group("/task/video", func(g *ghttp.RouterGroup) {
					g.Bind(
						task_video.NewV1(),
					)
				})

				v1.Group("/task/file", func(g *ghttp.RouterGroup) {
					g.Bind(
						task_file.NewV1(),
					)
				})

				v1.Group("/task/batch", func(g *ghttp.RouterGroup) {
					g.Bind(
						task_batch.NewV1(),
					)
				})

				v1.Group("/log/text", func(g *ghttp.RouterGroup) {
					g.Bind(
						log_text.NewV1(),
					)
				})

				v1.Group("/log/image", func(g *ghttp.RouterGroup) {
					g.Bind(
						log_image.NewV1(),
					)
				})

				v1.Group("/log/audio", func(g *ghttp.RouterGroup) {
					g.Bind(
						log_audio.NewV1(),
					)
				})

				v1.Group("/log/video", func(g *ghttp.RouterGroup) {
					g.Bind(
						log_video.NewV1(),
					)
				})

				v1.Group("/log/file", func(g *ghttp.RouterGroup) {
					g.Bind(
						log_file.NewV1(),
					)
				})

				v1.Group("/log/batch", func(g *ghttp.RouterGroup) {
					g.Bind(
						log_batch.NewV1(),
					)
				})

				v1.Group("/log/midjourney", func(g *ghttp.RouterGroup) {
					g.Bind(
						log_midjourney.NewV1(),
					)
				})

				v1.Group("/log/general", func(g *ghttp.RouterGroup) {
					g.Bind(
						log_general.NewV1(),
					)
				})

				v1.Group("/sys/admin", func(g *ghttp.RouterGroup) {
					g.Bind(
						sys_admin.NewV1(),
					)
				})

				v1.Group("/sys/site", func(g *ghttp.RouterGroup) {
					g.Bind(
						site_config.NewV1(),
					)
				})

				v1.Group("/sys/config", func(g *ghttp.RouterGroup) {
					g.Bind(
						sys_config.NewV1(),
					)
				})
			})

			if config.Cfg.AdminServerAddress != "" {
				s.SetAddr(config.Cfg.AdminServerAddress)
			}

			if _, err = redis.HSet(ctx, consts.SERVERS_KEY, g.Map{fmt.Sprintf("admin:%s", util.GetLocalIp()): s.GetListenedAddress()}); err != nil {
				logger.Error(ctx, err)
			}

			s.Run()

			return nil
		},
	}
)

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

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