Files
verify/backend/internal/router/admin/developer.go
T
admin 1f7dfd17a7 feat: 分离密码重置和修改密码功能
- 密码重置:用户忘记密码时通过邮箱/短信验证(需开启开关)
- 修改密码:已登录用户通过旧密码修改(固定功能,无需配置)
- 添加 EnablePasswordReset 开关控制密码重置功能
- PasswordResetMethod 只支持 email/sms 两种验证方式
- 添加短信配置管理功能
- 移除独立的应用邮箱设置页面
2026-05-03 01:18:27 +08:00

63 lines
1.9 KiB
Go

package admin
import (
"github.com/gin-gonic/gin"
)
func SetupRoutes(r *gin.RouterGroup) {
SetupDashboardRoutes(r)
SetupApplicationRoutes(r)
SetupCardRoutes(r)
SetupUserRoutes(r)
SetupDeviceRoutes(r)
SetupFinanceRoutes(r)
SetupLogRoutes(r)
SetupTicketRoutes(r)
SetupAgentAppRoutes(r)
SetupAgentsRoutes(r)
SetupCloudRoutes(r)
SetupDynamicRoutes(r)
SetupExtensionRoutes(r)
SetupOrderRoutes(r)
SetupUsageRoutes(r)
SetupAnnouncementRoutes(r)
SetupVersionRoutes(r)
SetupProfileRoutes(r)
SetupEmailRoutes(r)
SetupSystemSettingsRoutes(r)
SetupEmailConfigRoutes(r)
SetupSmsConfigRoutes(r)
SetupStorageConfigRoutes(r)
}
func SetupRoutesWithoutPackage(r *gin.RouterGroup) {
SetupAgentAppRoutesWithoutPackage(r)
SetupCardRoutesWithoutPackage(r)
}
func SetupExtensionRoutes(r *gin.RouterGroup) {
extension := r.Group("/extension")
{
// Webhook配置
extension.GET("/webhooks", handleGetWebhooks)
extension.POST("/webhooks", handleCreateWebhook)
extension.PUT("/webhooks/:id", handleUpdateWebhook)
extension.PUT("/webhooks/:id/status", handleUpdateWebhookStatus)
extension.DELETE("/webhooks/:id", handleDeleteWebhook)
extension.PUT("/webhooks/batch/status", handleBatchUpdateWebhookStatus)
extension.DELETE("/webhooks/batch", handleBatchDeleteWebhooks)
extension.GET("/webhooks/logs", handleGetWebhookLogs)
extension.POST("/webhooks/:id/test", handleTestWebhook)
// API密钥
extension.GET("/api-keys", handleGetAPIKeys)
extension.POST("/api-keys", handleCreateAPIKey)
extension.PUT("/api-keys/:id", handleUpdateAPIKey)
extension.PUT("/api-keys/:id/status", handleUpdateAPIKeyStatus)
extension.DELETE("/api-keys/:id", handleDeleteAPIKey)
extension.PUT("/api-keys/batch/status", handleBatchUpdateAPIKeyStatus)
extension.DELETE("/api-keys/batch", handleBatchDeleteAPIKeys)
extension.POST("/api-keys/:id/regenerate", handleRegenerateAPIKey)
}
}