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.
89 lines
2.7 KiB
89 lines
2.7 KiB
package http |
|
|
|
import ( |
|
"net/http" |
|
|
|
"go-common/app/admin/main/push/conf" |
|
"go-common/app/admin/main/push/service" |
|
"go-common/library/log" |
|
bm "go-common/library/net/http/blademaster" |
|
"go-common/library/net/http/blademaster/middleware/permit" |
|
) |
|
|
|
var ( |
|
pushSrv *service.Service |
|
authSrv *permit.Permit |
|
) |
|
|
|
// Init init http sever instance. |
|
func Init(c *conf.Config, s *service.Service) { |
|
pushSrv = s |
|
authSrv = permit.New(c.Auth) |
|
engine := bm.DefaultServer(c.HTTPServer) |
|
route(engine) |
|
if err := engine.Start(); err != nil { |
|
log.Error("engine.Start error(%v)", err) |
|
panic(err) |
|
} |
|
} |
|
|
|
func route(e *bm.Engine) { |
|
e.Ping(ping) |
|
g := e.Group("/x/admin/push") |
|
{ |
|
gapp := g.Group("/apps") |
|
{ |
|
gapp.GET("/list", authSrv.Permit("PUSH_APPS_LIST"), appList) |
|
gapp.GET("/info", authSrv.Permit("PUSH_APPS"), appInfo) |
|
gapp.POST("/add", authSrv.Permit("PUSH_APPS"), addApp) |
|
gapp.POST("/save", authSrv.Permit("PUSH_APPS"), saveApp) |
|
gapp.POST("/delete", authSrv.Permit("PUSH_APPS"), delApp) |
|
} |
|
gauth := g.Group("/auths", authSrv.Permit("PUSH_AUTH")) |
|
{ |
|
gauth.GET("/list", authList) |
|
gauth.GET("/info", authInfo) |
|
gauth.POST("/add", addAuth) |
|
gauth.POST("/save", saveAuth) |
|
gauth.POST("/delete", delAuth) |
|
} |
|
gbiz := g.Group("/business") |
|
{ |
|
gbiz.GET("/list", authSrv.Permit("PUSH_BUSINESS_LIST"), businessList) |
|
gbiz.GET("/info", authSrv.Permit("PUSH_BUSINESS"), businessInfo) |
|
gbiz.POST("/add", authSrv.Permit("PUSH_BUSINESS"), addBusiness) |
|
gbiz.POST("/save", authSrv.Permit("PUSH_BUSINESS"), saveBusiness) |
|
gbiz.POST("/delete", authSrv.Permit("PUSH_BUSINESS"), delBusiness) |
|
} |
|
gtask := g.Group("/tasks") |
|
{ |
|
gtask.GET("/list", authSrv.Permit("PUSH_TASK"), taskList) |
|
gtask.GET("/info", authSrv.Permit("PUSH_TASK"), taskInfo) |
|
gtask.POST("/add", authSrv.Permit("PUSH_TASK"), addTask) |
|
gtask.POST("/save", authSrv.Permit("PUSH_TASK"), saveTask) |
|
gtask.POST("/delete", authSrv.Permit("PUSH_TASK"), delTask) |
|
gtask.POST("/upload", authSrv.Permit("PUSH_TASK"), upload) |
|
gtask.POST("/upimg", authSrv.Permit("PUSH_TASK"), upimg) |
|
gtask.POST("/stop", authSrv.Permit("PUSH_TASK"), stopTask) |
|
gtask.POST("/confirm", authSrv.Permit("PUSH_CONFIRM"), confirmTask) |
|
gdp := gtask.Group("dataplatform", authSrv.Permit("PUSH_TASK")) |
|
{ |
|
gdp.POST("/add", addDPTask) |
|
gdp.GET("/info", dpTaskInfo) |
|
gdp.GET("/check", checkDpData) |
|
} |
|
} |
|
gtest := g.Group("/test", authSrv.Permit("PUSH_TEST")) |
|
{ |
|
gtest.POST("/mid", testPushMid) // 按 mids 测试推送 |
|
gtest.POST("/token", testPushToken) // 按单个 token 测试推送 |
|
} |
|
} |
|
} |
|
|
|
func ping(ctx *bm.Context) { |
|
if err := pushSrv.Ping(ctx); err != nil { |
|
log.Error("push-admin ping error(%v)", err) |
|
ctx.AbortWithStatus(http.StatusServiceUnavailable) |
|
} |
|
}
|
|
|