mirror of https://github.com/IoTcat/auxpi.git
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.
104 lines
3.2 KiB
104 lines
3.2 KiB
// @APIVersion 1.0.0 |
|
// @Title Auxpi Upload API |
|
// @Description AuXpI 图床提供的 API 上传的方法 |
|
package routers |
|
|
|
import ( |
|
"github.com/auxpi/controllers/api/base" |
|
"github.com/auxpi/controllers/api/v1" |
|
"github.com/auxpi/middleware" |
|
"github.com/auxpi/routers/api/auth" |
|
"github.com/auxpi/routers/api/v1" |
|
v2Router "github.com/auxpi/routers/api/v2" |
|
|
|
"github.com/auxpi/controllers" |
|
|
|
"github.com/astaxie/beego" |
|
"github.com/astaxie/beego/plugins/cors" |
|
) |
|
|
|
func init() { |
|
//正式环境不使用控制器内环境,调试时使用控制器内反射路由 |
|
//找到对应的路由 |
|
//首页 |
|
beego.Router("/", &controllers.PagesController{}, "get:LocalShow") |
|
//从数据库中查询路由是否存在 |
|
beego.Router("/:router([A-Za-z]+)", &controllers.PagesController{}, "get:Show") |
|
//关于页面 |
|
beego.Router("about", &controllers.PagesController{}, "get:AboutShow") |
|
|
|
if beego.BConfig.RunMode == "dev" { |
|
//auth |
|
|
|
//Vue 调试的时候需要跨域 () |
|
setCors() |
|
//部分需要调试的路由 |
|
testRouter() |
|
//options |
|
beego.Router("/api/v1/options/stores", &v1.OptionController{}, "get:GetStoreOptions") |
|
beego.Router("/api/v1/options/info",&v1.OptionController{}, "get:Get") |
|
beego.Router("/api/v1/options/update",&v1.OptionController{},"post:Update") |
|
beego.Router("/clear", &v1.Admin{}, "get:ClearCache") |
|
|
|
} |
|
|
|
//全局中间件 |
|
beego.InsertFilter("*", beego.BeforeStatic, middleware.SSLRedirect) |
|
beego.InsertFilter("*", beego.BeforeRouter, middleware.CookieSignCheck) |
|
//v1 版本路由注册 |
|
|
|
//上传路由 |
|
v1Router.RegisterControlApi() |
|
v1Router.RegisterOpenApi() |
|
v1Router.RegisterUploadMiddleWare() |
|
|
|
//认证路由 |
|
AuthRouter.RegisterMiddleWare() |
|
AuthRouter.RegisterRouter() |
|
AuthRouter.RegisterApi() |
|
|
|
//管理员路由 |
|
v1Router.RegisterAdminMiddleWare() |
|
v1Router.RegisterAdminApi() |
|
v1Router.RegisterAdminRouter() |
|
//用户路由 |
|
v1Router.RegisterUserMiddleWare() |
|
v1Router.RegisterUserAPi() |
|
v1Router.RegisterUserRouter() |
|
//websocket |
|
v1Router.RegisterWs() |
|
|
|
//UserController |
|
v1Router.RegisterUserRouter() |
|
|
|
//测试路由 |
|
beego.Router("/pic", &v1.Admin{}, "get:GetSyncImages") |
|
//v2 版本路由注册 |
|
v2Router.RegisterUploadMiddleWare() |
|
v2Router.RegisterApi() |
|
} |
|
|
|
//测试路由,不要随便开启 |
|
func testRouter() { |
|
//Goroutine 信息 |
|
//beego.Router("/go/",&base.ApiController{},"get:CPUinfo") |
|
beego.Router("/get_auxpi_info", &v1.AuxpiInfo{}, "get:GetAuxpiSystemInfo") |
|
beego.Router("/get_site_config", &v1.AuxpiInfo{}, "get:GetSiteConf") |
|
// |
|
beego.Router("/m", &base.ApiController{}, "get:Migrate") |
|
//show info |
|
beego.Router("/conf", &base.ApiController{}, "get:ShowIt") |
|
} |
|
|
|
//跨域设置 |
|
func setCors() { |
|
beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{ |
|
AllowOrigins: []string{"http://localhost:9528"}, |
|
AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"}, |
|
AllowHeaders: []string{"Origin", "Authorization", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type", "X-Token"}, |
|
ExposeHeaders: []string{"Content-Length", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"}, |
|
AllowCredentials: true, |
|
})) |
|
//Vue 跨域请求,需要允许跨域 |
|
beego.Router("*", &base.ApiController{}, "options:Options") |
|
}
|
|
|