41fe48e128
- 后端:安装状态检测API、数据库连接测试、配置文件生成 - 后端:支持SQLite/MySQL数据库选择 - 后端:JWT密钥自动生成或手动设置 - 前端:安装向导界面(数据库配置、安全配置、管理员账号) - 前端:路由守卫检测安装状态,未安装自动跳转安装页面
83 lines
2.1 KiB
Go
83 lines
2.1 KiB
Go
package router
|
|
|
|
import (
|
|
"time"
|
|
|
|
"verification-platform-backend/internal/middleware"
|
|
"verification-platform-backend/internal/router/agent"
|
|
"verification-platform-backend/internal/router/app"
|
|
"verification-platform-backend/internal/router/admin"
|
|
"verification-platform-backend/internal/router/extension"
|
|
"verification-platform-backend/internal/router/frontend"
|
|
"verification-platform-backend/internal/router/install"
|
|
"verification-platform-backend/pkg/response"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func SetupRoutes(r *gin.Engine) {
|
|
r.Use(middleware.Cors())
|
|
r.Use(middleware.Logger())
|
|
|
|
r.GET("/health", func(c *gin.Context) {
|
|
response.Success(c, gin.H{
|
|
"status": "ok",
|
|
"time": time.Now().Format(time.RFC3339),
|
|
})
|
|
})
|
|
|
|
install.SetupRoutes(r)
|
|
|
|
frontend.SetupRoutes(r)
|
|
|
|
api := r.Group("/api/v1")
|
|
{
|
|
devGroup := api.Group("/dev")
|
|
{
|
|
devGroup.Use(middleware.JWT())
|
|
devGroup.Use(middleware.AdminAuth())
|
|
admin.SetupRoutes(devGroup)
|
|
admin.SetupRoutesWithoutPackage(devGroup)
|
|
}
|
|
|
|
agentGroup := api.Group("/agent")
|
|
{
|
|
agentGroup.Use(middleware.JWT())
|
|
agentGroup.Use(middleware.AgentAuth())
|
|
agent.SetupAgentRoutes(agentGroup)
|
|
}
|
|
|
|
appGroup := api.Group("/app/:appKey")
|
|
{
|
|
appGroup.Use(app.AppCryptoMiddleware())
|
|
appGroup.Use(app.ResponseEncryption())
|
|
app.SetupInfoRoutes(appGroup)
|
|
}
|
|
|
|
appGroupWithStatusCheck := api.Group("/app/:appKey")
|
|
{
|
|
appGroupWithStatusCheck.Use(middleware.CheckAppStatus())
|
|
appGroupWithStatusCheck.Use(app.AppCryptoMiddleware())
|
|
appGroupWithStatusCheck.Use(app.ResponseEncryption())
|
|
app.SetupRoutes(appGroupWithStatusCheck)
|
|
app.SetupAuthUserRoutes(appGroupWithStatusCheck)
|
|
app.SetupDevicePublicRoutes(appGroupWithStatusCheck)
|
|
}
|
|
|
|
appAuthGroup := api.Group("/app/:appKey")
|
|
{
|
|
appAuthGroup.Use(middleware.JWT())
|
|
appAuthGroup.Use(middleware.CheckAppStatus())
|
|
appAuthGroup.Use(app.AppCryptoMiddleware())
|
|
appAuthGroup.Use(app.ResponseEncryption())
|
|
app.SetupCloudRoutes(appAuthGroup)
|
|
app.SetupAuthRoutes(appAuthGroup)
|
|
}
|
|
|
|
extGroup := api.Group("")
|
|
{
|
|
extension.SetupRoutes(extGroup)
|
|
}
|
|
}
|
|
}
|