hpds_jkw_web/internal/router/router.go

145 lines
4.8 KiB
Go

package router
import (
"git.hpds.cc/Component/logging"
ginzap "github.com/gin-contrib/zap"
"github.com/gin-gonic/gin"
"hpds-iot-web/config"
"hpds-iot-web/internal/handler"
"hpds-iot-web/internal/middleware"
"xorm.io/xorm"
e "hpds-iot-web/pkg/err"
)
func InitRouter(cfg *config.WebConfig, logger *logging.Logger, engine *xorm.Engine) *gin.Engine {
hs := handler.NewHandlerService(cfg, engine, logger)
gin.SetMode(gin.ReleaseMode)
root := gin.New()
root.Use(ginzap.Ginzap(logger.Logger, "2006-01-02 15:04:05.000", true))
root.Use(middleware.Cors())
r := root.Group("/api")
{
user := r.Group("/user")
{
user.Use(middleware.JwtAuthMiddleware(logger.Logger))
user.POST("/login", e.ErrorWrapper(hs.Login))
user.GET("/getUserInfo", e.ErrorWrapper(hs.GetUserInfo))
menu := user.Group("/menu")
{
menu.GET("/list", e.ErrorWrapper(hs.MenuList))
}
}
manage := r.Group("/manage")
{
manage.Use(middleware.JwtAuthMiddleware(logger.Logger))
owner := manage.Group("/owner")
{
owner.POST("/list", e.ErrorWrapper(hs.OwnerList))
owner.GET("/info", e.ErrorWrapper(hs.OwnerInfo))
owner.POST("/add", e.ErrorWrapper(hs.AddOwner))
owner.POST("/edit", e.ErrorWrapper(hs.EditOwner))
owner.POST("/delete", e.ErrorWrapper(hs.DelOwner))
}
project := manage.Group("/project")
{
project.POST("/list", e.ErrorWrapper(hs.ProjectList))
project.POST("/add", e.ErrorWrapper(hs.AddProject))
project.POST("/edit", e.ErrorWrapper(hs.EditProject))
project.POST("/delete", e.ErrorWrapper(hs.DelProject))
}
product := manage.Group("/product")
{
product.POST("/list", e.ErrorWrapper(hs.ProductList))
product.POST("/info", e.ErrorWrapper(hs.GetProductInfo))
product.POST("/add", e.ErrorWrapper(hs.AddProduct))
product.POST("/edit", e.ErrorWrapper(hs.EditProduct))
product.POST("/delete", e.ErrorWrapper(hs.DelProduct))
category := product.Group("/category")
{
category.POST("/list", e.ErrorWrapper(hs.CategoryList))
category.POST("/add", e.ErrorWrapper(hs.AddCategory))
category.POST("/edit", e.ErrorWrapper(hs.EditCategory))
category.POST("/delete", e.ErrorWrapper(hs.DelCategory))
}
attribute := product.Group("/attribute")
{
attribute.POST("/list", e.ErrorWrapper(hs.AttributeList))
attribute.POST("/add", e.ErrorWrapper(hs.AddAttribute))
attribute.POST("/edit", e.ErrorWrapper(hs.EditAttribute))
attribute.POST("/delete", e.ErrorWrapper(hs.DelAttribute))
}
event := product.Group("/event")
{
event.POST("/list", e.ErrorWrapper(hs.EventList))
event.POST("/add", e.ErrorWrapper(hs.AddEvent))
event.POST("/edit", e.ErrorWrapper(hs.EditEvent))
event.POST("/delete", e.ErrorWrapper(hs.DelEvent))
params := event.Group("/params")
{
params.POST("/list", e.ErrorWrapper(hs.EventParamsList))
params.POST("/add", e.ErrorWrapper(hs.AddEventParams))
params.POST("/edit", e.ErrorWrapper(hs.EditEventParams))
params.POST("/delete", e.ErrorWrapper(hs.DelEventParams))
}
}
service := product.Group("/service")
{
service.POST("/list", e.ErrorWrapper(hs.ServiceList))
service.POST("/add", e.ErrorWrapper(hs.AddService))
service.POST("/edit", e.ErrorWrapper(hs.EditService))
service.POST("/delete", e.ErrorWrapper(hs.DelService))
params := service.Group("/params")
{
params.POST("/list", e.ErrorWrapper(hs.ServiceParamsList))
params.POST("/add", e.ErrorWrapper(hs.AddServiceParams))
params.POST("/edit", e.ErrorWrapper(hs.EditServiceParams))
params.POST("/delete", e.ErrorWrapper(hs.DelServiceParams))
}
}
device := product.Group("/device")
{
device.POST("/list", e.ErrorWrapper(hs.DeviceList))
device.POST("/info", e.ErrorWrapper(hs.DeviceInfo))
device.POST("/add", e.ErrorWrapper(hs.AddDevice))
device.POST("/edit", e.ErrorWrapper(hs.EditDevice))
device.POST("/delete", e.ErrorWrapper(hs.DeleteDevice))
}
}
}
model := r.Group("/model")
{
model.Use(middleware.JwtAuthMiddleware(logger.Logger))
model.POST("/list", e.ErrorWrapper(hs.ModelList))
model.POST("/add", e.ErrorWrapper(hs.AddModel))
model.POST("/edit", e.ErrorWrapper(hs.EditModel))
model.POST("/delete", e.ErrorWrapper(hs.DelModel))
}
file := r.Group("/file")
{
file.Use(middleware.JwtAuthMiddleware(logger.Logger))
file.POST("/upload", e.ErrorWrapper(hs.UploadFile))
}
system := r.Group("/system")
{
system.Use(middleware.JwtAuthMiddleware(logger.Logger))
brand := system.Group("/brand")
{
brand.POST("/list", e.ErrorWrapper(hs.BrandList))
brand.POST("/info", e.ErrorWrapper(hs.BrandInfo))
brand.POST("/add", e.ErrorWrapper(hs.AddBrand))
brand.POST("/edit", e.ErrorWrapper(hs.EditBrand))
brand.POST("/delete", e.ErrorWrapper(hs.DeleteBrand))
}
}
}
return root
}