mirror of
https://github.com/ProudMuBai/GoFilm.git
synced 2026-03-13 09:37:30 +08:00
add BAM
This commit is contained in:
@@ -2,20 +2,19 @@ package router
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"log"
|
||||
"net/http"
|
||||
"server/config"
|
||||
"server/controller"
|
||||
"server/plugin/middleware"
|
||||
)
|
||||
|
||||
func SetupRouter() *gin.Engine {
|
||||
|
||||
r := gin.Default()
|
||||
// 开启跨域
|
||||
r.Use(Cors())
|
||||
r.Use(middleware.Cors())
|
||||
|
||||
// 静态资源配置
|
||||
r.Static("/static/image", config.ImageDir)
|
||||
r.Static(config.FilmPictureUrlPath, config.FilmPictureUploadDir)
|
||||
|
||||
r.GET(`/index`, controller.Index)
|
||||
r.GET(`/navCategory`, controller.CategoriesInfo)
|
||||
@@ -24,53 +23,88 @@ func SetupRouter() *gin.Engine {
|
||||
r.GET(`/searchFilm`, controller.SearchFilm)
|
||||
r.GET(`/filmClassify`, controller.FilmClassify)
|
||||
r.GET(`/filmClassifySearch`, controller.FilmTagSearch)
|
||||
// 弃用
|
||||
//r.GET(`/filmCategory`, controller.FilmCategory)
|
||||
//r.GET(`/filmCategory`, controller.FilmCategory) 弃用
|
||||
r.POST(`/login`, controller.Login)
|
||||
r.GET(`/logout`, middleware.AuthToken(), controller.Logout)
|
||||
r.POST(`/changePassword`, middleware.AuthToken(), controller.UserPasswordChange)
|
||||
|
||||
// 触发spider
|
||||
spiderRoute := r.Group(`/spider`)
|
||||
// 管理员API路由组
|
||||
manageRoute := r.Group(`/manage`)
|
||||
manageRoute.Use(middleware.AuthToken())
|
||||
{
|
||||
// 清空全部数据并从零开始获取数据
|
||||
spiderRoute.GET("/SpiderRe", controller.SpiderRe)
|
||||
// 获取影片详情, 用于网路不稳定导致的影片数据缺失
|
||||
spiderRoute.GET(`/FixFilmDetail`, controller.FixFilmDetail)
|
||||
spiderRoute.GET(`/RefreshSitePlay`, controller.RefreshSitePlay)
|
||||
manageRoute.GET(`/index`, controller.ManageIndex)
|
||||
// 系统相关
|
||||
sysConfig := manageRoute.Group(`/config`)
|
||||
{
|
||||
sysConfig.GET("/basic", controller.SiteBasicConfig)
|
||||
sysConfig.POST("/basic/update", controller.UpdateSiteBasic)
|
||||
sysConfig.GET("/basic/reset", controller.ResetSiteBasic)
|
||||
}
|
||||
|
||||
userRoute := manageRoute.Group(`/user`)
|
||||
{
|
||||
userRoute.GET(`/info`, controller.UserInfo)
|
||||
}
|
||||
|
||||
// 采集路相关
|
||||
collect := manageRoute.Group(`/collect`)
|
||||
{
|
||||
collect.GET(`/list`, controller.FilmSourceList)
|
||||
collect.GET(`/find`, controller.FindFilmSource)
|
||||
collect.POST(`/test`, controller.FilmSourceTest)
|
||||
collect.POST(`/add`, controller.FilmSourceAdd)
|
||||
collect.POST(`/update`, controller.FilmSourceUpdate)
|
||||
collect.POST(`/change`, controller.FilmSourceChange)
|
||||
//collect.GET(`/star`, controller.CollectFilm)
|
||||
collect.GET(`/del`, controller.FilmSourceDel)
|
||||
collect.GET(`/options`, controller.GetNormalFilmSource)
|
||||
}
|
||||
|
||||
// 定时任务相关
|
||||
collectCron := manageRoute.Group(`/cron`)
|
||||
{
|
||||
collectCron.GET(`/list`, controller.FilmCronTaskList)
|
||||
collectCron.GET(`/find`, controller.GetFilmCronTask)
|
||||
//collectCron.GET(`/options`, controller.GetNormalFilmSource)
|
||||
collectCron.POST(`/add`, controller.FilmCronAdd)
|
||||
collectCron.POST(`/update`, controller.FilmCronUpdate)
|
||||
collectCron.POST(`/change`, controller.ChangeTaskState)
|
||||
collectCron.GET(`/del`, controller.DelFilmCron)
|
||||
}
|
||||
// spider 数据采集
|
||||
spiderRoute := manageRoute.Group(`/spider`)
|
||||
{
|
||||
spiderRoute.POST(`/start`, controller.StarSpider)
|
||||
spiderRoute.GET(`/zero`, controller.SpiderReset)
|
||||
spiderRoute.GET(`/class/cover`, controller.CoverFilmClass)
|
||||
}
|
||||
// filmManage 影视管理
|
||||
filmRoute := manageRoute.Group(`/film`)
|
||||
{
|
||||
filmRoute.POST(`/add`, controller.FilmAdd)
|
||||
filmRoute.GET(`/search/list`, controller.FilmSearchPage)
|
||||
|
||||
filmRoute.GET(`/class/tree`, controller.FilmClassTree)
|
||||
filmRoute.GET(`/class/find`, controller.FindFilmClass)
|
||||
filmRoute.POST(`/class/update`, controller.UpdateFilmClass)
|
||||
filmRoute.GET(`/class/del`, controller.DelFilmClass)
|
||||
}
|
||||
|
||||
// 文件管理
|
||||
fileRoute := manageRoute.Group(`/file`)
|
||||
{
|
||||
fileRoute.POST(`/upload`, controller.SingleUpload)
|
||||
fileRoute.GET(`/list`, controller.PhotoWall)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 供第三方采集的API
|
||||
//provideRoute := r.Group(`/provide`)
|
||||
//{
|
||||
// provideRoute.GET(`/vod`, controller.HandleProvide)
|
||||
// provideRoute.GET(`/vod/xml`, middleware.AddXmlHeader(), controller.HandleProvideXml)
|
||||
//}
|
||||
|
||||
return r
|
||||
}
|
||||
|
||||
// Cors 开启跨域请求
|
||||
func Cors() gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
method := c.Request.Method
|
||||
origin := c.Request.Header.Get("Origin") //请求头部
|
||||
if origin != "" {
|
||||
//接收客户端发送的origin (重要!)
|
||||
c.Writer.Header().Set("Access-Control-Allow-Origin", origin)
|
||||
//服务器支持的所有跨域请求的方法
|
||||
c.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE,UPDATE")
|
||||
//允许跨域设置可以返回其他子段,可以自定义字段
|
||||
c.Header("Access-Control-Allow-Headers", "Authorization, Content-Length, X-CSRF-Token, Token,session, Content-Type")
|
||||
// 允许浏览器(客户端)可以解析的头部 (重要)
|
||||
c.Header("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Content-Type")
|
||||
//设置缓存时间
|
||||
c.Header("Access-Control-Max-Age", "172800")
|
||||
//允许客户端传递校验信息比如 cookie (重要)
|
||||
c.Header("Access-Control-Allow-Credentials", "true")
|
||||
}
|
||||
|
||||
//允许类型校验
|
||||
if method == "OPTIONS" {
|
||||
c.JSON(http.StatusOK, "ok!")
|
||||
}
|
||||
|
||||
defer func() {
|
||||
if err := recover(); err != nil {
|
||||
log.Printf("Panic info is: %v", err)
|
||||
}
|
||||
}()
|
||||
|
||||
c.Next()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user