Files
zmkgC/internal/router/router.go

159 lines
5.8 KiB
Go
Raw Normal View History

2025-07-07 20:11:59 +08:00
/*
* @desc:路由绑定
* @company:云南奇讯科技有限公司
* @Author: yixiaohu
* @Date: 2022/2/18 16:23
*/
package router
import (
"context"
"github.com/gogf/gf/v2/net/ghttp"
"github.com/tiger1103/gfast/v3/api/attendanceMachine"
hwy "github.com/tiger1103/gfast/v3/api/hwy/router"
"github.com/tiger1103/gfast/v3/api/pilot"
"github.com/tiger1103/gfast/v3/api/project"
"github.com/tiger1103/gfast/v3/api/saft_hat"
"github.com/tiger1103/gfast/v3/api/v1/common/source"
"github.com/tiger1103/gfast/v3/api/v1/common/source/clt"
"github.com/tiger1103/gfast/v3/api/v1/common/source/mbt"
"github.com/tiger1103/gfast/v3/api/v1/common/source/pak"
"github.com/tiger1103/gfast/v3/api/v1/common/source/shp"
"github.com/tiger1103/gfast/v3/api/video_hat"
"github.com/tiger1103/gfast/v3/api/webodm"
commonRouter "github.com/tiger1103/gfast/v3/internal/app/common/router"
commonService "github.com/tiger1103/gfast/v3/internal/app/common/service"
systemRouter "github.com/tiger1103/gfast/v3/internal/app/system/router"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
testRouter "github.com/tiger1103/gfast/v3/internal/app/test/router"
wxAppletRouter "github.com/tiger1103/gfast/v3/internal/app/wxApplet/router"
"github.com/tiger1103/gfast/v3/library/libRouter"
"github.com/tiger1103/gfast/v3/third/isc"
"github.com/tiger1103/gfast/v3/third/plane"
)
var R = new(Router)
type Router struct{}
func (router *Router) BindController(ctx context.Context, group *ghttp.RouterGroup) {
group.Group("/zm/api/v1", func(group *ghttp.RouterGroup) {
//跨域处理,安全起见正式环境请注释该行
group.Middleware(commonService.Middleware().MiddlewareCORS)
group.Middleware(ghttp.MiddlewareHandlerResponse)
//工程资料权限拦截进行校验
group.Middleware(service.Middleware().Ctx, service.Middleware().EngineeringDataPermission)
// 绑定后台路由
systemRouter.R.BindController(ctx, group)
plane.InitPlaneApi(group)
source.InitSource(group)
clt.InitCltData(group)
mbt.InitMbtData(group)
pak.InitPakData(group)
shp.InitShp(group)
// 绑定公共路由
commonRouter.R.BindController(ctx, group)
/*前期项目备案管理*/
//testRouter.R.BindController(ctx, group)
isc.InitIscApi()
//自动绑定定义的模块
if err := libRouter.RouterAutoBind(ctx, router, group); err != nil {
panic(err)
}
})
group.Group("/zm/api/wxApplet", func(group *ghttp.RouterGroup) {
//group.Middleware(utility.SignatureMiddleware)
group.Middleware(service.Middleware().Ctx)
//跨域处理,安全起见正式环境请注释该行
group.Middleware(commonService.Middleware().MiddlewareCORS)
group.Middleware(ghttp.MiddlewareHandlerResponse)
// 绑定后台路由
wxAppletRouter.R.BindController(ctx, group)
// 绑定公共路由
commonRouter.R.BindController(ctx, group)
wxAppletRouter.InitAppProjectAPI(group)
wxAppletRouter.InitAppStageAPI(group)
wxAppletRouter.InitAppProcessAPI(group)
wxAppletRouter.InitAppVisualRemarkAPI(group)
wxAppletRouter.InitAppProjectVisualAPI(group)
//自动绑定定义的模块
if err := libRouter.RouterAutoBind(ctx, router, group); err != nil {
panic(err)
}
})
group.Group("/zm/api/v1/test", func(group *ghttp.RouterGroup) {
//跨域处理,安全起见正式环境请注释该行
group.Middleware(commonService.Middleware().MiddlewareCORS)
group.Middleware(ghttp.MiddlewareHandlerResponse)
// 绑定后台路由
// 绑定公共路由
testRouter.R.BindController(ctx, group)
//自动绑定定义的模块
if err := libRouter.RouterAutoBind(ctx, router, group); err != nil {
panic(err)
}
})
group.Group("/pilot", func(group *ghttp.RouterGroup) {
group.Middleware(commonService.Middleware().MiddlewareCORS)
group.Middleware(ghttp.MiddlewareHandlerResponse)
pilot.InitPlilotAPI(group)
})
// 安全帽
group.Group("/zm/hat", func(group *ghttp.RouterGroup) {
service.GfToken().Middleware(group)
group.Middleware(commonService.Middleware().MiddlewareCORS)
group.Middleware(service.Middleware().Ctx, service.Middleware().Auth)
group.Middleware(ghttp.MiddlewareHandlerResponse)
saft_hat.InitHatAPI(group)
})
// 项目首页数据相关
group.Group("/zm/project/pv", func(group *ghttp.RouterGroup) {
service.GfToken().Middleware(group)
group.Middleware(service.Middleware().Ctx, service.Middleware().Auth)
group.Middleware(commonService.Middleware().MiddlewareCORS)
group.Middleware(ghttp.MiddlewareHandlerResponse)
project.InitProjectAPI(group)
})
// 视频安全帽相关
group.Group("/zm/video/hat", func(group *ghttp.RouterGroup) {
service.GfToken().Middleware(group)
group.Middleware(service.Middleware().Ctx, service.Middleware().Auth)
group.Middleware(commonService.Middleware().MiddlewareCORS)
group.Middleware(ghttp.MiddlewareHandlerResponse)
video_hat.InitHatAPI(group)
})
// 禾望云相关
group.Group("/zm/hwy", func(group *ghttp.RouterGroup) {
service.GfToken().Middleware(group)
group.Middleware(service.Middleware().Ctx, service.Middleware().Auth)
group.Middleware(commonService.Middleware().MiddlewareCORS)
group.Middleware(ghttp.MiddlewareHandlerResponse)
hwy.InitHwyAPI(group)
})
// 图片合成相关
group.Group("/zm/webodm", func(group *ghttp.RouterGroup) {
//service.GfToken().Middleware(group)
group.Middleware(service.Middleware().Ctx, service.Middleware().Auth)
group.Middleware(commonService.Middleware().MiddlewareCORS)
group.Middleware(ghttp.MiddlewareHandlerResponse)
webodm.InitWebOdmAPI(group)
})
// 考勤机人脸
group.Group("/", func(group *ghttp.RouterGroup) {
//service.GfToken().Middleware(group)
group.Middleware(service.Middleware().Ctx, service.Middleware().Auth)
group.Middleware(commonService.Middleware().MiddlewareCORS)
group.Middleware(ghttp.MiddlewareHandlerResponse)
attendanceMachine.InitAttendanceMachineAPI(group)
})
}