2026-05-23 22:12:13 +08:00
|
|
|
package bootstrap
|
|
|
|
|
|
|
|
|
|
import (
|
2026-08-21 00:41:07 +08:00
|
|
|
"code.tczkiot.com/wlw/ai-agent/internal/handlers/api"
|
|
|
|
|
"code.tczkiot.com/wlw/ai-agent/internal/handlers/dashboard"
|
|
|
|
|
"code.tczkiot.com/wlw/ai-agent/internal/handlers/third"
|
2026-05-23 22:12:13 +08:00
|
|
|
|
|
|
|
|
"github.com/gin-gonic/gin"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func registerApiChannelRoutes(group *gin.RouterGroup) {
|
2026-05-23 22:22:18 +08:00
|
|
|
group.Any("/config", api.ChannelAnyConfig)
|
|
|
|
|
}
|
|
|
|
|
|
2026-05-23 22:12:13 +08:00
|
|
|
func registerApiConversationRoutes(group *gin.RouterGroup) {
|
2026-08-28 22:23:13 +08:00
|
|
|
group.GET("/quick_actions", api.ConversationGetQuick_actions)
|
|
|
|
|
group.POST("/quick_action", api.ConversationPostQuick_action)
|
2026-05-23 22:28:21 +08:00
|
|
|
group.GET("/:id", api.ConversationGetBy)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.POST("/close", api.ConversationPostClose)
|
|
|
|
|
group.POST("/create_or_match", api.ConversationPostCreate_or_match)
|
2026-05-23 22:12:13 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-23 22:22:18 +08:00
|
|
|
func registerApiMessageRoutes(group *gin.RouterGroup) {
|
|
|
|
|
group.Any("/list", api.MessageAnyList)
|
|
|
|
|
group.POST("/read", api.MessagePostRead)
|
|
|
|
|
group.POST("/send", api.MessagePostSend)
|
|
|
|
|
group.POST("/upload_attachment", api.MessagePostUpload_attachment)
|
|
|
|
|
group.POST("/upload_image", api.MessagePostUpload_image)
|
2026-05-23 22:12:13 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-23 22:22:18 +08:00
|
|
|
func registerDashboardDashboardRoutes(group *gin.RouterGroup) {
|
|
|
|
|
group.GET("/overview", dashboard.DashboardGetOverview)
|
2026-05-23 22:12:13 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-23 22:22:18 +08:00
|
|
|
func registerDashboardConversationRoutes(group *gin.RouterGroup) {
|
2026-05-23 22:28:21 +08:00
|
|
|
group.GET("/:id", dashboard.ConversationGetBy)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.POST("/assign", dashboard.ConversationPostAssign)
|
|
|
|
|
group.POST("/close", dashboard.ConversationPostClose)
|
|
|
|
|
group.Any("/conversations", dashboard.ConversationAnyConversations)
|
|
|
|
|
group.POST("/dispatch", dashboard.ConversationPostDispatch)
|
|
|
|
|
group.Any("/list", dashboard.ConversationAnyList)
|
|
|
|
|
group.Any("/message_list", dashboard.ConversationAnyMessage_list)
|
|
|
|
|
group.POST("/read", dashboard.ConversationPostRead)
|
|
|
|
|
group.POST("/recall_message", dashboard.ConversationPostRecall_message)
|
|
|
|
|
group.POST("/send_message", dashboard.ConversationPostSend_message)
|
|
|
|
|
group.POST("/transfer", dashboard.ConversationPostTransfer)
|
|
|
|
|
group.POST("/upload_attachment", dashboard.ConversationPostUpload_attachment)
|
|
|
|
|
group.POST("/upload_image", dashboard.ConversationPostUpload_image)
|
2026-05-23 22:12:13 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-23 22:22:18 +08:00
|
|
|
func registerDashboardNotificationRoutes(group *gin.RouterGroup) {
|
|
|
|
|
group.Any("/list", dashboard.NotificationAnyList)
|
|
|
|
|
group.POST("/mark_all_read", dashboard.NotificationPostMark_all_read)
|
|
|
|
|
group.POST("/mark_read", dashboard.NotificationPostMark_read)
|
|
|
|
|
group.GET("/unread_count", dashboard.NotificationGetUnread_count)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func registerDashboardQuickReplyRoutes(group *gin.RouterGroup) {
|
2026-05-28 09:11:48 +08:00
|
|
|
group.GET("/:id", dashboard.QuickReplyGetBy)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.POST("/create", dashboard.QuickReplyPostCreate)
|
|
|
|
|
group.POST("/delete", dashboard.QuickReplyPostDelete)
|
|
|
|
|
group.Any("/list", dashboard.QuickReplyAnyList)
|
|
|
|
|
group.GET("/list_all", dashboard.QuickReplyGetList_all)
|
|
|
|
|
group.POST("/update", dashboard.QuickReplyPostUpdate)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func registerDashboardChannelRoutes(group *gin.RouterGroup) {
|
2026-05-23 22:28:21 +08:00
|
|
|
group.GET("/:id", dashboard.ChannelGetBy)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.POST("/create", dashboard.ChannelPostCreate)
|
|
|
|
|
group.POST("/delete", dashboard.ChannelPostDelete)
|
|
|
|
|
group.Any("/list", dashboard.ChannelAnyList)
|
2026-07-25 12:04:06 +08:00
|
|
|
group.POST("/rollback_ai_agent_rollout", dashboard.ChannelPostRollback_ai_agent_rollout)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.POST("/update", dashboard.ChannelPostUpdate)
|
|
|
|
|
group.POST("/update_status", dashboard.ChannelPostUpdate_status)
|
|
|
|
|
group.Any("/wxwork/kf/accounts", dashboard.ChannelAnyWxworkKfAccounts)
|
2026-08-02 14:03:23 +08:00
|
|
|
group.Any("/wxwork/outbox/failed/list", dashboard.ChannelAnyWxworkOutboxFailedList)
|
|
|
|
|
group.POST("/wxwork/outbox/retry", dashboard.ChannelPostWxworkOutboxRetry)
|
|
|
|
|
group.POST("/wxwork/outbox/ignore", dashboard.ChannelPostWxworkOutboxIgnore)
|
2026-05-23 22:12:13 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-23 22:22:18 +08:00
|
|
|
func registerDashboardAgentRoutes(group *gin.RouterGroup) {
|
2026-05-23 22:28:21 +08:00
|
|
|
group.GET("/:id", dashboard.AgentGetBy)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.POST("/create", dashboard.AgentPostCreate)
|
|
|
|
|
group.POST("/delete", dashboard.AgentPostDelete)
|
|
|
|
|
group.Any("/list", dashboard.AgentAnyList)
|
|
|
|
|
group.GET("/list_all", dashboard.AgentGetList_all)
|
2026-08-21 00:41:07 +08:00
|
|
|
group.GET("/user-options", dashboard.AgentGetUser_options)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.POST("/update", dashboard.AgentPostUpdate)
|
2026-05-23 22:12:13 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-23 22:22:18 +08:00
|
|
|
func registerDashboardAgentTeamRoutes(group *gin.RouterGroup) {
|
2026-05-23 22:28:21 +08:00
|
|
|
group.GET("/:id", dashboard.AgentTeamGetBy)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.POST("/create", dashboard.AgentTeamPostCreate)
|
|
|
|
|
group.POST("/delete", dashboard.AgentTeamPostDelete)
|
|
|
|
|
group.Any("/list", dashboard.AgentTeamAnyList)
|
|
|
|
|
group.GET("/list_all", dashboard.AgentTeamGetList_all)
|
|
|
|
|
group.POST("/update", dashboard.AgentTeamPostUpdate)
|
2026-05-23 22:12:13 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-23 22:22:18 +08:00
|
|
|
func registerDashboardAgentTeamScheduleRoutes(group *gin.RouterGroup) {
|
2026-05-23 22:28:21 +08:00
|
|
|
group.GET("/:id", dashboard.AgentTeamScheduleGetBy)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.POST("/batch_generate", dashboard.AgentTeamSchedulePostBatch_generate)
|
|
|
|
|
group.POST("/batch_preview", dashboard.AgentTeamSchedulePostBatch_preview)
|
|
|
|
|
group.Any("/calendar", dashboard.AgentTeamScheduleAnyCalendar)
|
|
|
|
|
group.POST("/create", dashboard.AgentTeamSchedulePostCreate)
|
|
|
|
|
group.POST("/delete", dashboard.AgentTeamSchedulePostDelete)
|
|
|
|
|
group.Any("/list", dashboard.AgentTeamScheduleAnyList)
|
|
|
|
|
group.POST("/update", dashboard.AgentTeamSchedulePostUpdate)
|
2026-05-23 22:12:13 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-23 22:22:18 +08:00
|
|
|
func registerDashboardAIAgentRoutes(group *gin.RouterGroup) {
|
2026-07-25 12:04:06 +08:00
|
|
|
group.POST("/publish", dashboard.AIAgentPostPublish)
|
|
|
|
|
group.POST("/rollback", dashboard.AIAgentPostRollback)
|
|
|
|
|
group.POST("/rollback_rollout", dashboard.AIAgentPostRollback_rollout)
|
|
|
|
|
group.Any("/:id/revision/list", dashboard.AIAgentAnyRevisionList)
|
2026-05-23 22:28:21 +08:00
|
|
|
group.GET("/:id", dashboard.AIAgentGetBy)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.POST("/create", dashboard.AIAgentPostCreate)
|
|
|
|
|
group.POST("/delete", dashboard.AIAgentPostDelete)
|
|
|
|
|
group.Any("/list", dashboard.AIAgentAnyList)
|
|
|
|
|
group.GET("/list_all", dashboard.AIAgentGetList_all)
|
|
|
|
|
group.POST("/update", dashboard.AIAgentPostUpdate)
|
|
|
|
|
group.POST("/update_sort", dashboard.AIAgentPostUpdate_sort)
|
|
|
|
|
group.POST("/update_status", dashboard.AIAgentPostUpdate_status)
|
2026-05-23 22:12:13 +08:00
|
|
|
}
|
|
|
|
|
|
2026-07-25 12:04:06 +08:00
|
|
|
func registerDashboardAgentRunRoutes(group *gin.RouterGroup) {
|
|
|
|
|
group.Any("/metrics", dashboard.AgentRunAnyMetrics)
|
|
|
|
|
group.POST("/evaluate", dashboard.AgentRunPostEvaluate)
|
|
|
|
|
group.Any("/list", dashboard.AgentRunAnyList)
|
|
|
|
|
group.POST("/quality_feedback", dashboard.AgentRunPostSave_quality_feedback)
|
|
|
|
|
group.GET("/:id", dashboard.AgentRunGetBy)
|
|
|
|
|
}
|
|
|
|
|
|
2026-05-23 22:22:18 +08:00
|
|
|
func registerDashboardAIConfigRoutes(group *gin.RouterGroup) {
|
2026-05-23 22:28:21 +08:00
|
|
|
group.GET("/:id", dashboard.AIConfigGetBy)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.POST("/create", dashboard.AIConfigPostCreate)
|
|
|
|
|
group.POST("/delete", dashboard.AIConfigPostDelete)
|
|
|
|
|
group.Any("/list", dashboard.AIConfigAnyList)
|
|
|
|
|
group.Any("/list_all", dashboard.AIConfigAnyList_all)
|
|
|
|
|
group.POST("/update", dashboard.AIConfigPostUpdate)
|
2026-05-24 19:57:36 +08:00
|
|
|
group.POST("/update_sort", dashboard.AIConfigPostUpdateSort)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.POST("/update_status", dashboard.AIConfigPostUpdate_status)
|
2026-05-23 22:12:13 +08:00
|
|
|
}
|
|
|
|
|
|
2026-08-28 22:23:13 +08:00
|
|
|
func registerDashboardPlatformAIRoutes(group *gin.RouterGroup) {
|
|
|
|
|
group.GET("/status", dashboard.PlatformAIGetStatus)
|
|
|
|
|
}
|
|
|
|
|
|
2026-05-23 22:22:18 +08:00
|
|
|
func registerDashboardAssetRoutes(group *gin.RouterGroup) {
|
2026-05-23 22:28:21 +08:00
|
|
|
group.GET("/:id", dashboard.AssetGetBy)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.POST("/create", dashboard.AssetPostCreate)
|
|
|
|
|
group.POST("/delete", dashboard.AssetPostDelete)
|
|
|
|
|
group.Any("/list", dashboard.AssetAnyList)
|
2026-05-23 22:12:13 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-23 22:22:18 +08:00
|
|
|
func registerDashboardKnowledgeBaseRoutes(group *gin.RouterGroup) {
|
2026-05-23 22:28:21 +08:00
|
|
|
group.GET("/:id", dashboard.KnowledgeBaseGetBy)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.POST("/create", dashboard.KnowledgeBasePostCreate)
|
|
|
|
|
group.POST("/delete", dashboard.KnowledgeBasePostDelete)
|
|
|
|
|
group.Any("/list", dashboard.KnowledgeBaseAnyList)
|
|
|
|
|
group.Any("/list_all", dashboard.KnowledgeBaseAnyList_all)
|
|
|
|
|
group.POST("/rebuild_index", dashboard.KnowledgeBasePostRebuild_index)
|
|
|
|
|
group.POST("/update", dashboard.KnowledgeBasePostUpdate)
|
|
|
|
|
group.POST("/update_sort", dashboard.KnowledgeBasePostUpdate_sort)
|
2026-05-23 22:12:13 +08:00
|
|
|
}
|
|
|
|
|
|
2026-06-02 15:37:50 +08:00
|
|
|
func registerDashboardKnowledgeDirectoryRoutes(group *gin.RouterGroup) {
|
|
|
|
|
group.GET("/list_all", dashboard.KnowledgeDirectoryGetList_all)
|
|
|
|
|
group.POST("/create", dashboard.KnowledgeDirectoryPostCreate)
|
|
|
|
|
group.POST("/delete", dashboard.KnowledgeDirectoryPostDelete)
|
|
|
|
|
group.POST("/update", dashboard.KnowledgeDirectoryPostUpdate)
|
|
|
|
|
group.POST("/update_sort", dashboard.KnowledgeDirectoryPostUpdate_sort)
|
|
|
|
|
}
|
|
|
|
|
|
2026-05-23 22:22:18 +08:00
|
|
|
func registerDashboardKnowledgeDocumentRoutes(group *gin.RouterGroup) {
|
2026-05-23 22:28:21 +08:00
|
|
|
group.GET("/:id", dashboard.KnowledgeDocumentGetBy)
|
2026-06-02 16:13:08 +08:00
|
|
|
group.POST("/batch_delete", dashboard.KnowledgeDocumentPostBatch_delete)
|
|
|
|
|
group.POST("/batch_move", dashboard.KnowledgeDocumentPostBatch_move)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.POST("/create", dashboard.KnowledgeDocumentPostCreate)
|
|
|
|
|
group.POST("/delete", dashboard.KnowledgeDocumentPostDelete)
|
|
|
|
|
group.Any("/list", dashboard.KnowledgeDocumentAnyList)
|
|
|
|
|
group.POST("/update", dashboard.KnowledgeDocumentPostUpdate)
|
2026-05-23 22:12:13 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-23 22:22:18 +08:00
|
|
|
func registerDashboardKnowledgeFAQRoutes(group *gin.RouterGroup) {
|
2026-06-01 13:57:49 +08:00
|
|
|
group.GET("/import_template", dashboard.KnowledgeFAQGetImport_template)
|
|
|
|
|
group.GET("/export", dashboard.KnowledgeFAQGetExport)
|
2026-05-23 22:28:21 +08:00
|
|
|
group.GET("/:id", dashboard.KnowledgeFAQGetBy)
|
2026-06-02 16:13:08 +08:00
|
|
|
group.POST("/batch_delete", dashboard.KnowledgeFAQPostBatch_delete)
|
|
|
|
|
group.POST("/batch_move", dashboard.KnowledgeFAQPostBatch_move)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.POST("/create", dashboard.KnowledgeFAQPostCreate)
|
|
|
|
|
group.POST("/delete", dashboard.KnowledgeFAQPostDelete)
|
2026-06-01 13:57:49 +08:00
|
|
|
group.POST("/import", dashboard.KnowledgeFAQPostImport)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.Any("/list", dashboard.KnowledgeFAQAnyList)
|
|
|
|
|
group.POST("/update", dashboard.KnowledgeFAQPostUpdate)
|
2026-05-23 22:12:13 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-23 22:22:18 +08:00
|
|
|
func registerDashboardKnowledgeRetrieveRoutes(group *gin.RouterGroup) {
|
|
|
|
|
group.POST("/build", dashboard.KnowledgeRetrievePostBuild)
|
|
|
|
|
group.POST("/debug/answer", dashboard.KnowledgeRetrievePostDebugAnswer)
|
|
|
|
|
group.POST("/debug/search", dashboard.KnowledgeRetrievePostDebugSearch)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func registerDashboardKnowledgeRetrieveLogRoutes(group *gin.RouterGroup) {
|
2026-05-23 22:28:21 +08:00
|
|
|
group.GET("/:id", dashboard.KnowledgeRetrieveLogGetBy)
|
2026-05-23 22:22:18 +08:00
|
|
|
group.Any("/list", dashboard.KnowledgeRetrieveLogAnyList)
|
2026-05-23 22:12:13 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func registerThirdWechatRoutes(group *gin.RouterGroup) {
|
2026-05-23 22:22:18 +08:00
|
|
|
group.GET("/callback", third.WechatGetCallback)
|
|
|
|
|
group.POST("/callback", third.WechatPostCallback)
|
2026-05-23 22:12:13 +08:00
|
|
|
}
|