/* * @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) }) }