90 lines
2.7 KiB
Go
90 lines
2.7 KiB
Go
|
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)
|
||
|
}
|
||
|
}
|