cmd

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2023 License: MIT Imports: 24 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()

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

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

			s.AddStaticPath("/auth", "./resource/iim-web")
			s.AddStaticPath("/auth/login", "./resource/iim-web")
			s.AddStaticPath("/auth/forget", "./resource/iim-web")
			s.AddStaticPath("/auth/register", "./resource/iim-web")
			s.AddStaticPath("/message", "./resource/iim-web")
			s.AddStaticPath("/contact", "./resource/iim-web")
			s.AddStaticPath("/contact/apply", "./resource/iim-web")
			s.AddStaticPath("/contact/friend", "./resource/iim-web")
			s.AddStaticPath("/contact/group", "./resource/iim-web")
			s.AddStaticPath("/contact/group/open", "./resource/iim-web")
			s.AddStaticPath("/settings", "./resource/iim-web")
			s.AddStaticPath("/settings/detail", "./resource/iim-web")
			s.AddStaticPath("/settings/security", "./resource/iim-web")
			s.AddStaticPath("/settings/personalize", "./resource/iim-web")
			s.AddStaticPath("/settings/notification", "./resource/iim-web")
			s.AddStaticPath("/settings/binding", "./resource/iim-web")
			s.AddStaticPath("/settings/apply", "./resource/iim-web")
			s.AddStaticPath("/note", "./resource/iim-web")
			s.AddStaticPath("/vip/info", "./resource/iim-web")
			s.AddStaticPath("/vip/vip", "./resource/iim-web")
			s.AddStaticPath("/vip/invite", "./resource/iim-web")

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

			s.Group("/", func(g *ghttp.RouterGroup) {
				g.Middleware(MiddlewareAuth)
				g.Middleware(MiddlewareHandlerResponse)
				g.Bind()
			})

			s.Group("/invite/:code", func(g *ghttp.RouterGroup) {
				g.Middleware(MiddlewareHandlerResponse)
				g.Bind(
					vip.NewV1(),
				)
			})

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

				v1.Middleware(MiddlewareHandlerResponse)

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

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

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

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

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

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

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

				v1.Group("/upload", func(g *ghttp.RouterGroup) {
					g.Middleware(MiddlewareAuth)
					g.Bind(
						file.NewV1(),
					)
				})

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

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

			s.Run()
			return nil
		},
	}
)

Functions

func MiddlewareAuth

func MiddlewareAuth(r *ghttp.Request)

func MiddlewareHandlerResponse

func MiddlewareHandlerResponse(r *ghttp.Request)

MiddlewareHandlerResponse is the default middleware handling handler response object and its error.

Types

type DefaultHandlerResponse

type DefaultHandlerResponse struct {
	Code    int         `json:"code"    dc:"Error code"`
	Message string      `json:"message" dc:"Error message"`
	Data    interface{} `json:"data"    dc:"Result data for certain request according API definition"`
}

DefaultHandlerResponse is the default implementation of HandlerResponse.

Jump to

Keyboard shortcuts

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