84 lines
2.9 KiB
Go
84 lines
2.9 KiB
Go
package api
|
|
|
|
import (
|
|
"context"
|
|
"likedream-goframe/internal/common/cst"
|
|
"likedream-goframe/internal/controller/agent"
|
|
"likedream-goframe/internal/controller/balance"
|
|
"likedream-goframe/internal/controller/card"
|
|
"likedream-goframe/internal/controller/common"
|
|
"likedream-goframe/internal/controller/config"
|
|
"likedream-goframe/internal/controller/course"
|
|
"likedream-goframe/internal/controller/cpdaily"
|
|
"likedream-goframe/internal/controller/menu"
|
|
"likedream-goframe/internal/controller/music"
|
|
"likedream-goframe/internal/controller/role"
|
|
"likedream-goframe/internal/controller/user"
|
|
"likedream-goframe/internal/controller/user_login"
|
|
"likedream-goframe/internal/middleware"
|
|
"likedream-goframe/internal/utils"
|
|
|
|
_ "github.com/gogf/gf/contrib/nosql/redis/v2"
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"github.com/gogf/gf/v2/net/ghttp"
|
|
"github.com/samber/oops"
|
|
)
|
|
|
|
func StartServer(ctx context.Context) {
|
|
s := g.Server()
|
|
// 设置端口
|
|
port, err := g.Cfg().Get(ctx, cst.ConfigServerPort)
|
|
utils.OkOrPanic(err)
|
|
s.SetNameToUriType(3)
|
|
// 设置中间件
|
|
s.Use(
|
|
middleware.ExceptionHandler,
|
|
)
|
|
s.BindStatusHandler(404, common.NewBaseV1().NotFound)
|
|
// 业务路由
|
|
s.Group("/v1", func(group *ghttp.RouterGroup) {
|
|
group.Bind(user_login.NewUserLoginV1())
|
|
// 系统设置路由
|
|
systemGroup := group.Group("/system").Middleware(middleware.AuthHandler, middleware.PermissionHandler)
|
|
systemGroup.Bind(role.NewV1())
|
|
systemGroup.Bind(menu.NewV1())
|
|
systemGroup.Bind(user.NewUserCtrlV1())
|
|
systemGroup.Bind(config.NewConfigCtrlV1())
|
|
//systemGroup.Bind(agent.NewV1())
|
|
// 用户信息路由
|
|
userGroup := group.Group("/user").Middleware(middleware.AuthHandler, middleware.PermissionHandler)
|
|
userGroup.Bind(user_login.NewUserInfoV1())
|
|
userGroup.Bind(balance.NewBalanceCtrlV1())
|
|
// 代理信息路由
|
|
agentGroup := group.Group("/agent").Middleware(middleware.AuthHandler, middleware.PermissionHandler)
|
|
agentGroup.Bind(agent.NewV1())
|
|
agentGroup.Bind(card.NewCardCtrlV1())
|
|
// 今日校园
|
|
cpdailyGroup := group.Group("/cpdaily").Middleware(middleware.AuthHandler, middleware.PermissionHandler)
|
|
cpdailyGroup.Bind(cpdaily.NewCpUserCtrlV1())
|
|
cpdailyGroup.Bind(cpdaily.NewCpTaskCtrlV1())
|
|
cpdailyGroup.Bind(cpdaily.NewCpImageCtrlV1())
|
|
cpdailyGroup.Bind(cpdaily.NewCpTaskLogCtrlV1())
|
|
cpdailyGroup.Bind(cpdaily.NewCpLeaveCtrlV1())
|
|
// 娱乐
|
|
musicGroup := group.Group("/music").Middleware(middleware.AuthHandler, middleware.PermissionHandler)
|
|
musicGroup.Bind(music.NewMusicCtrlV1())
|
|
// 网课
|
|
courseGroup := group.Group("/course").Middleware(middleware.AuthHandler, middleware.PermissionHandler)
|
|
courseGroup.Bind(course.NewXxtCtrlV1())
|
|
courseGroup.Bind(course.NewSmartEduSCCtrlV1())
|
|
})
|
|
|
|
s.SetPort(port.Int())
|
|
|
|
s.GetOpenApi().Config.IgnorePkgPath = true
|
|
// 设置全局异常捕获
|
|
e := s.Start()
|
|
utils.OkOrPanic(e, oops.WithContext(ctx).Wrap)
|
|
}
|
|
|
|
func StopServer() {
|
|
e := g.Server().Shutdown()
|
|
utils.OkOrPanic(e)
|
|
}
|