You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
2.5 KiB
60 lines
2.5 KiB
package cmd
|
|
|
|
import (
|
|
"context"
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"github.com/gogf/gf/v2/net/ghttp"
|
|
"github.com/gogf/gf/v2/os/gcmd"
|
|
"link_homework/internal/controller/article"
|
|
"link_homework/internal/controller/homework"
|
|
"link_homework/internal/controller/live"
|
|
"link_homework/internal/logic/middleware"
|
|
)
|
|
|
|
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()
|
|
//后台
|
|
|
|
//启动gtoken
|
|
// 创建一个GfToken对象,用于处理用户登录、登出、权限验证等操作
|
|
//gfToken := >oken.GfToken{
|
|
// // 设置登录路径,即用户登录接口登入成功后会获得一个Token
|
|
// LoginPath: "/login",
|
|
// //// 设置登录前执行的函数,在用户登录之前会调用这个函数进行一些预处理,比如验证用户名和密码等。
|
|
// //LoginBeforeFunc: loginFunc, //手动编写 没有同时配置登入路径,登入方法,登出路径启动时会报错
|
|
// // 设置登出路径,即用户登出接口登入成功后会删除Token
|
|
// LogoutPath: "/logout",
|
|
// //// 设置需要拦截的路径,按照前缀拦截,所有以/user或/system开头的路径都需要进行Token认证。
|
|
// //AuthPaths: g.SliceStr{"/user", "/system"},
|
|
// //// 设置不需要拦截的路径,所有以/user/info或/system/user/开头的路径都不需要进行Token认证。
|
|
// //AuthExcludePaths: g.SliceStr{"/user/info", "/system/user/*"},
|
|
// //// 开启全局拦截,默认关闭,如果设置为true,则所有请求都会经过Token认证中间件,如果设置为false,则只有指定路径的请求会经过Token认证中间件。
|
|
// //GlobalMiddleware: true,
|
|
//}
|
|
s.Group("/api/homework_manage", func(group *ghttp.RouterGroup) {
|
|
//group.Middleware(middleware.MiddlewareIsLogin)
|
|
group.Middleware(middleware.MiddlewareCORS)
|
|
//gfToken.Middleware(ctx, group)
|
|
//直接写接口,不用再分组
|
|
group.POST("/get-homework-list", homework.Homework().GetHomeworkList)
|
|
group.ALL("/get-article-list", article.Article().GetArticleList)
|
|
group.ALL("/get-live-list", live.Live().GetLiveList)
|
|
})
|
|
//客户端
|
|
s.Group("/api/homework_client", func(group *ghttp.RouterGroup) {
|
|
//group.Middleware(middleware.MiddlewareIsLogin)
|
|
group.Middleware(middleware.MiddlewareCORS)
|
|
//gfToken.Middleware(ctx, group)
|
|
//直接写接口,不用再分组
|
|
})
|
|
s.Run()
|
|
|
|
return nil
|
|
},
|
|
}
|
|
)
|