shanshanzhong bafeaa35cd
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m15s
feat(handler): 添加设备WebSocket端点及测试脚本
新增设备WebSocket通信端点/v1/app/ws/:userid/:device_number
添加测试脚本test_ws.go用于WebSocket连接测试
添加测试脚本test_device_login.go用于设备登录及绑定测试
2025-10-22 21:06:39 -07:00

884 lines
33 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Code generated by goctl. DO NOT EDIT.
// goctl 1.7.2
package handler
import (
"github.com/gin-gonic/gin"
adminAds "github.com/perfect-panel/server/internal/handler/admin/ads"
adminAnnouncement "github.com/perfect-panel/server/internal/handler/admin/announcement"
adminApplication "github.com/perfect-panel/server/internal/handler/admin/application"
adminAuthMethod "github.com/perfect-panel/server/internal/handler/admin/authMethod"
adminConsole "github.com/perfect-panel/server/internal/handler/admin/console"
adminCoupon "github.com/perfect-panel/server/internal/handler/admin/coupon"
adminDocument "github.com/perfect-panel/server/internal/handler/admin/document"
adminLog "github.com/perfect-panel/server/internal/handler/admin/log"
adminMarketing "github.com/perfect-panel/server/internal/handler/admin/marketing"
adminOrder "github.com/perfect-panel/server/internal/handler/admin/order"
adminPayment "github.com/perfect-panel/server/internal/handler/admin/payment"
adminServer "github.com/perfect-panel/server/internal/handler/admin/server"
adminSubscribe "github.com/perfect-panel/server/internal/handler/admin/subscribe"
adminSystem "github.com/perfect-panel/server/internal/handler/admin/system"
adminTicket "github.com/perfect-panel/server/internal/handler/admin/ticket"
adminTool "github.com/perfect-panel/server/internal/handler/admin/tool"
adminUser "github.com/perfect-panel/server/internal/handler/admin/user"
app "github.com/perfect-panel/server/internal/handler/app"
auth "github.com/perfect-panel/server/internal/handler/auth"
authOauth "github.com/perfect-panel/server/internal/handler/auth/oauth"
common "github.com/perfect-panel/server/internal/handler/common"
publicAnnouncement "github.com/perfect-panel/server/internal/handler/public/announcement"
publicDocument "github.com/perfect-panel/server/internal/handler/public/document"
publicOrder "github.com/perfect-panel/server/internal/handler/public/order"
publicPayment "github.com/perfect-panel/server/internal/handler/public/payment"
publicPortal "github.com/perfect-panel/server/internal/handler/public/portal"
publicSubscribe "github.com/perfect-panel/server/internal/handler/public/subscribe"
publicTicket "github.com/perfect-panel/server/internal/handler/public/ticket"
publicUser "github.com/perfect-panel/server/internal/handler/public/user"
server "github.com/perfect-panel/server/internal/handler/server"
"github.com/perfect-panel/server/internal/middleware"
"github.com/perfect-panel/server/internal/svc"
)
func RegisterHandlers(router *gin.Engine, serverCtx *svc.ServiceContext) {
adminAdsGroupRouter := router.Group("/v1/admin/ads")
adminAdsGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Create Ads
adminAdsGroupRouter.POST("/", adminAds.CreateAdsHandler(serverCtx))
// Update Ads
adminAdsGroupRouter.PUT("/", adminAds.UpdateAdsHandler(serverCtx))
// Delete Ads
adminAdsGroupRouter.DELETE("/", adminAds.DeleteAdsHandler(serverCtx))
// Get Ads Detail
adminAdsGroupRouter.GET("/detail", adminAds.GetAdsDetailHandler(serverCtx))
// Get Ads List
adminAdsGroupRouter.GET("/list", adminAds.GetAdsListHandler(serverCtx))
}
adminAnnouncementGroupRouter := router.Group("/v1/admin/announcement")
adminAnnouncementGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Create announcement
adminAnnouncementGroupRouter.POST("/", adminAnnouncement.CreateAnnouncementHandler(serverCtx))
// Update announcement
adminAnnouncementGroupRouter.PUT("/", adminAnnouncement.UpdateAnnouncementHandler(serverCtx))
// Delete announcement
adminAnnouncementGroupRouter.DELETE("/", adminAnnouncement.DeleteAnnouncementHandler(serverCtx))
// Get announcement
adminAnnouncementGroupRouter.GET("/detail", adminAnnouncement.GetAnnouncementHandler(serverCtx))
// Get announcement list
adminAnnouncementGroupRouter.GET("/list", adminAnnouncement.GetAnnouncementListHandler(serverCtx))
}
adminApplicationGroupRouter := router.Group("/v1/admin/application")
adminApplicationGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Create subscribe application
adminApplicationGroupRouter.POST("/", adminApplication.CreateSubscribeApplicationHandler(serverCtx))
// Preview Template
adminApplicationGroupRouter.GET("/preview", adminApplication.PreviewSubscribeTemplateHandler(serverCtx))
// Update subscribe application
adminApplicationGroupRouter.PUT("/subscribe_application", adminApplication.UpdateSubscribeApplicationHandler(serverCtx))
// Delete subscribe application
adminApplicationGroupRouter.DELETE("/subscribe_application", adminApplication.DeleteSubscribeApplicationHandler(serverCtx))
// Get subscribe application list
adminApplicationGroupRouter.GET("/subscribe_application_list", adminApplication.GetSubscribeApplicationListHandler(serverCtx))
}
adminAuthMethodGroupRouter := router.Group("/v1/admin/auth-method")
adminAuthMethodGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Get auth method config
adminAuthMethodGroupRouter.GET("/config", adminAuthMethod.GetAuthMethodConfigHandler(serverCtx))
// Update auth method config
adminAuthMethodGroupRouter.PUT("/config", adminAuthMethod.UpdateAuthMethodConfigHandler(serverCtx))
// Get email support platform
adminAuthMethodGroupRouter.GET("/email_platform", adminAuthMethod.GetEmailPlatformHandler(serverCtx))
// Get auth method list
adminAuthMethodGroupRouter.GET("/list", adminAuthMethod.GetAuthMethodListHandler(serverCtx))
// Get sms support platform
adminAuthMethodGroupRouter.GET("/sms_platform", adminAuthMethod.GetSmsPlatformHandler(serverCtx))
// Test email send
adminAuthMethodGroupRouter.POST("/test_email_send", adminAuthMethod.TestEmailSendHandler(serverCtx))
// Test sms send
adminAuthMethodGroupRouter.POST("/test_sms_send", adminAuthMethod.TestSmsSendHandler(serverCtx))
}
adminConsoleGroupRouter := router.Group("/v1/admin/console")
adminConsoleGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Query revenue statistics
adminConsoleGroupRouter.GET("/revenue", adminConsole.QueryRevenueStatisticsHandler(serverCtx))
// Query server total data
adminConsoleGroupRouter.GET("/server", adminConsole.QueryServerTotalDataHandler(serverCtx))
// Query ticket wait reply
adminConsoleGroupRouter.GET("/ticket", adminConsole.QueryTicketWaitReplyHandler(serverCtx))
// Query user statistics
adminConsoleGroupRouter.GET("/user", adminConsole.QueryUserStatisticsHandler(serverCtx))
}
adminCouponGroupRouter := router.Group("/v1/admin/coupon")
adminCouponGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Create coupon
adminCouponGroupRouter.POST("/", adminCoupon.CreateCouponHandler(serverCtx))
// Update coupon
adminCouponGroupRouter.PUT("/", adminCoupon.UpdateCouponHandler(serverCtx))
// Delete coupon
adminCouponGroupRouter.DELETE("/", adminCoupon.DeleteCouponHandler(serverCtx))
// Batch delete coupon
adminCouponGroupRouter.DELETE("/batch", adminCoupon.BatchDeleteCouponHandler(serverCtx))
// Get coupon list
adminCouponGroupRouter.GET("/list", adminCoupon.GetCouponListHandler(serverCtx))
}
adminDocumentGroupRouter := router.Group("/v1/admin/document")
adminDocumentGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Create document
adminDocumentGroupRouter.POST("/", adminDocument.CreateDocumentHandler(serverCtx))
// Update document
adminDocumentGroupRouter.PUT("/", adminDocument.UpdateDocumentHandler(serverCtx))
// Delete document
adminDocumentGroupRouter.DELETE("/", adminDocument.DeleteDocumentHandler(serverCtx))
// Batch delete document
adminDocumentGroupRouter.DELETE("/batch", adminDocument.BatchDeleteDocumentHandler(serverCtx))
// Get document detail
adminDocumentGroupRouter.GET("/detail", adminDocument.GetDocumentDetailHandler(serverCtx))
// Get document list
adminDocumentGroupRouter.GET("/list", adminDocument.GetDocumentListHandler(serverCtx))
}
adminLogGroupRouter := router.Group("/v1/admin/log")
adminLogGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Filter balance log
adminLogGroupRouter.GET("/balance/list", adminLog.FilterBalanceLogHandler(serverCtx))
// Filter commission log
adminLogGroupRouter.GET("/commission/list", adminLog.FilterCommissionLogHandler(serverCtx))
// Filter email log
adminLogGroupRouter.GET("/email/list", adminLog.FilterEmailLogHandler(serverCtx))
// Filter gift log
adminLogGroupRouter.GET("/gift/list", adminLog.FilterGiftLogHandler(serverCtx))
// Filter login log
adminLogGroupRouter.GET("/login/list", adminLog.FilterLoginLogHandler(serverCtx))
// Get message log list
adminLogGroupRouter.GET("/message/list", adminLog.GetMessageLogListHandler(serverCtx))
// Filter mobile log
adminLogGroupRouter.GET("/mobile/list", adminLog.FilterMobileLogHandler(serverCtx))
// Filter register log
adminLogGroupRouter.GET("/register/list", adminLog.FilterRegisterLogHandler(serverCtx))
// Filter server traffic log
adminLogGroupRouter.GET("/server/traffic/list", adminLog.FilterServerTrafficLogHandler(serverCtx))
// Get log setting
adminLogGroupRouter.GET("/setting", adminLog.GetLogSettingHandler(serverCtx))
// Update log setting
adminLogGroupRouter.POST("/setting", adminLog.UpdateLogSettingHandler(serverCtx))
// Filter subscribe log
adminLogGroupRouter.GET("/subscribe/list", adminLog.FilterSubscribeLogHandler(serverCtx))
// Filter reset subscribe log
adminLogGroupRouter.GET("/subscribe/reset/list", adminLog.FilterResetSubscribeLogHandler(serverCtx))
// Filter user subscribe traffic log
adminLogGroupRouter.GET("/subscribe/traffic/list", adminLog.FilterUserSubscribeTrafficLogHandler(serverCtx))
// Filter traffic log details
adminLogGroupRouter.GET("/traffic/details", adminLog.FilterTrafficLogDetailsHandler(serverCtx))
}
adminMarketingGroupRouter := router.Group("/v1/admin/marketing")
adminMarketingGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Get batch send email task list
adminMarketingGroupRouter.GET("/email/batch/list", adminMarketing.GetBatchSendEmailTaskListHandler(serverCtx))
// Get pre-send email count
adminMarketingGroupRouter.POST("/email/batch/pre-send-count", adminMarketing.GetPreSendEmailCountHandler(serverCtx))
// Create a batch send email task
adminMarketingGroupRouter.POST("/email/batch/send", adminMarketing.CreateBatchSendEmailTaskHandler(serverCtx))
// Get batch send email task status
adminMarketingGroupRouter.POST("/email/batch/status", adminMarketing.GetBatchSendEmailTaskStatusHandler(serverCtx))
// Stop a batch send email task
adminMarketingGroupRouter.POST("/email/batch/stop", adminMarketing.StopBatchSendEmailTaskHandler(serverCtx))
// Create a quota task
adminMarketingGroupRouter.POST("/quota/create", adminMarketing.CreateQuotaTaskHandler(serverCtx))
// Query quota task list
adminMarketingGroupRouter.GET("/quota/list", adminMarketing.QueryQuotaTaskListHandler(serverCtx))
// Query quota task pre-count
adminMarketingGroupRouter.POST("/quota/pre-count", adminMarketing.QueryQuotaTaskPreCountHandler(serverCtx))
}
adminOrderGroupRouter := router.Group("/v1/admin/order")
adminOrderGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Create order
adminOrderGroupRouter.POST("/", adminOrder.CreateOrderHandler(serverCtx))
// Get order list
adminOrderGroupRouter.GET("/list", adminOrder.GetOrderListHandler(serverCtx))
// Update order status
adminOrderGroupRouter.PUT("/status", adminOrder.UpdateOrderStatusHandler(serverCtx))
}
adminPaymentGroupRouter := router.Group("/v1/admin/payment")
adminPaymentGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Create Payment Method
adminPaymentGroupRouter.POST("/", adminPayment.CreatePaymentMethodHandler(serverCtx))
// Update Payment Method
adminPaymentGroupRouter.PUT("/", adminPayment.UpdatePaymentMethodHandler(serverCtx))
// Delete Payment Method
adminPaymentGroupRouter.DELETE("/", adminPayment.DeletePaymentMethodHandler(serverCtx))
// Get Payment Method List
adminPaymentGroupRouter.GET("/list", adminPayment.GetPaymentMethodListHandler(serverCtx))
// Get supported payment platform
adminPaymentGroupRouter.GET("/platform", adminPayment.GetPaymentPlatformHandler(serverCtx))
}
adminServerGroupRouter := router.Group("/v1/admin/server")
adminServerGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Create Server
adminServerGroupRouter.POST("/create", adminServer.CreateServerHandler(serverCtx))
// Delete Server
adminServerGroupRouter.POST("/delete", adminServer.DeleteServerHandler(serverCtx))
// Filter Server List
adminServerGroupRouter.GET("/list", adminServer.FilterServerListHandler(serverCtx))
// Check if there is any server or node to migrate
adminServerGroupRouter.GET("/migrate/has", adminServer.HasMigrateSeverNodeHandler(serverCtx))
// Migrate server and node data to new database
adminServerGroupRouter.POST("/migrate/run", adminServer.MigrateServerNodeHandler(serverCtx))
// Create Node
adminServerGroupRouter.POST("/node/create", adminServer.CreateNodeHandler(serverCtx))
// Delete Node
adminServerGroupRouter.POST("/node/delete", adminServer.DeleteNodeHandler(serverCtx))
// Filter Node List
adminServerGroupRouter.GET("/node/list", adminServer.FilterNodeListHandler(serverCtx))
// Reset node sort
adminServerGroupRouter.POST("/node/sort", adminServer.ResetSortWithNodeHandler(serverCtx))
// Toggle Node Status
adminServerGroupRouter.POST("/node/status/toggle", adminServer.ToggleNodeStatusHandler(serverCtx))
// Query all node tags
adminServerGroupRouter.GET("/node/tags", adminServer.QueryNodeTagHandler(serverCtx))
// Update Node
adminServerGroupRouter.POST("/node/update", adminServer.UpdateNodeHandler(serverCtx))
// Get Server Protocols
adminServerGroupRouter.GET("/protocols", adminServer.GetServerProtocolsHandler(serverCtx))
// Reset server sort
adminServerGroupRouter.POST("/server/sort", adminServer.ResetSortWithServerHandler(serverCtx))
// Update Server
adminServerGroupRouter.POST("/update", adminServer.UpdateServerHandler(serverCtx))
}
adminSubscribeGroupRouter := router.Group("/v1/admin/subscribe")
adminSubscribeGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Create subscribe
adminSubscribeGroupRouter.POST("/", adminSubscribe.CreateSubscribeHandler(serverCtx))
// Update subscribe
adminSubscribeGroupRouter.PUT("/", adminSubscribe.UpdateSubscribeHandler(serverCtx))
// Delete subscribe
adminSubscribeGroupRouter.DELETE("/", adminSubscribe.DeleteSubscribeHandler(serverCtx))
// Batch delete subscribe
adminSubscribeGroupRouter.DELETE("/batch", adminSubscribe.BatchDeleteSubscribeHandler(serverCtx))
// Get subscribe details
adminSubscribeGroupRouter.GET("/details", adminSubscribe.GetSubscribeDetailsHandler(serverCtx))
// Create subscribe group
adminSubscribeGroupRouter.POST("/group", adminSubscribe.CreateSubscribeGroupHandler(serverCtx))
// Update subscribe group
adminSubscribeGroupRouter.PUT("/group", adminSubscribe.UpdateSubscribeGroupHandler(serverCtx))
// Delete subscribe group
adminSubscribeGroupRouter.DELETE("/group", adminSubscribe.DeleteSubscribeGroupHandler(serverCtx))
// Batch delete subscribe group
adminSubscribeGroupRouter.DELETE("/group/batch", adminSubscribe.BatchDeleteSubscribeGroupHandler(serverCtx))
// Get subscribe group list
adminSubscribeGroupRouter.GET("/group/list", adminSubscribe.GetSubscribeGroupListHandler(serverCtx))
// Get subscribe list
adminSubscribeGroupRouter.GET("/list", adminSubscribe.GetSubscribeListHandler(serverCtx))
// Subscribe sort
adminSubscribeGroupRouter.POST("/sort", adminSubscribe.SubscribeSortHandler(serverCtx))
}
adminSystemGroupRouter := router.Group("/v1/admin/system")
adminSystemGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Get Currency Config
adminSystemGroupRouter.GET("/currency_config", adminSystem.GetCurrencyConfigHandler(serverCtx))
// Update Currency Config
adminSystemGroupRouter.PUT("/currency_config", adminSystem.UpdateCurrencyConfigHandler(serverCtx))
// Get Node Multiplier
adminSystemGroupRouter.GET("/get_node_multiplier", adminSystem.GetNodeMultiplierHandler(serverCtx))
// Get invite config
adminSystemGroupRouter.GET("/invite_config", adminSystem.GetInviteConfigHandler(serverCtx))
// Update invite config
adminSystemGroupRouter.PUT("/invite_config", adminSystem.UpdateInviteConfigHandler(serverCtx))
// Get node config
adminSystemGroupRouter.GET("/node_config", adminSystem.GetNodeConfigHandler(serverCtx))
// Update node config
adminSystemGroupRouter.PUT("/node_config", adminSystem.UpdateNodeConfigHandler(serverCtx))
// PreView Node Multiplier
adminSystemGroupRouter.GET("/node_multiplier/preview", adminSystem.PreViewNodeMultiplierHandler(serverCtx))
// get Privacy Policy Config
adminSystemGroupRouter.GET("/privacy", adminSystem.GetPrivacyPolicyConfigHandler(serverCtx))
// Update Privacy Policy Config
adminSystemGroupRouter.PUT("/privacy", adminSystem.UpdatePrivacyPolicyConfigHandler(serverCtx))
// Get register config
adminSystemGroupRouter.GET("/register_config", adminSystem.GetRegisterConfigHandler(serverCtx))
// Update register config
adminSystemGroupRouter.PUT("/register_config", adminSystem.UpdateRegisterConfigHandler(serverCtx))
// Set Node Multiplier
adminSystemGroupRouter.POST("/set_node_multiplier", adminSystem.SetNodeMultiplierHandler(serverCtx))
// setting telegram bot
adminSystemGroupRouter.POST("/setting_telegram_bot", adminSystem.SettingTelegramBotHandler(serverCtx))
// Get site config
adminSystemGroupRouter.GET("/site_config", adminSystem.GetSiteConfigHandler(serverCtx))
// Update site config
adminSystemGroupRouter.PUT("/site_config", adminSystem.UpdateSiteConfigHandler(serverCtx))
// Get subscribe config
adminSystemGroupRouter.GET("/subscribe_config", adminSystem.GetSubscribeConfigHandler(serverCtx))
// Update subscribe config
adminSystemGroupRouter.PUT("/subscribe_config", adminSystem.UpdateSubscribeConfigHandler(serverCtx))
// Get Team of Service Config
adminSystemGroupRouter.GET("/tos_config", adminSystem.GetTosConfigHandler(serverCtx))
// Update Team of Service Config
adminSystemGroupRouter.PUT("/tos_config", adminSystem.UpdateTosConfigHandler(serverCtx))
// Get Verify Code Config
adminSystemGroupRouter.GET("/verify_code_config", adminSystem.GetVerifyCodeConfigHandler(serverCtx))
// Update Verify Code Config
adminSystemGroupRouter.PUT("/verify_code_config", adminSystem.UpdateVerifyCodeConfigHandler(serverCtx))
// Get verify config
adminSystemGroupRouter.GET("/verify_config", adminSystem.GetVerifyConfigHandler(serverCtx))
// Update verify config
adminSystemGroupRouter.PUT("/verify_config", adminSystem.UpdateVerifyConfigHandler(serverCtx))
}
adminTicketGroupRouter := router.Group("/v1/admin/ticket")
adminTicketGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Update ticket status
adminTicketGroupRouter.PUT("/", adminTicket.UpdateTicketStatusHandler(serverCtx))
// Get ticket detail
adminTicketGroupRouter.GET("/detail", adminTicket.GetTicketHandler(serverCtx))
// Create ticket follow
adminTicketGroupRouter.POST("/follow", adminTicket.CreateTicketFollowHandler(serverCtx))
// Get ticket list
adminTicketGroupRouter.GET("/list", adminTicket.GetTicketListHandler(serverCtx))
}
adminToolGroupRouter := router.Group("/v1/admin/tool")
adminToolGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Get System Log
adminToolGroupRouter.GET("/log", adminTool.GetSystemLogHandler(serverCtx))
// Restart System
adminToolGroupRouter.GET("/restart", adminTool.RestartSystemHandler(serverCtx))
// Get Version
adminToolGroupRouter.GET("/version", adminTool.GetVersionHandler(serverCtx))
}
adminUserGroupRouter := router.Group("/v1/admin/user")
adminUserGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
{
// Delete user
adminUserGroupRouter.DELETE("/", adminUser.DeleteUserHandler(serverCtx))
// Create user
adminUserGroupRouter.POST("/", adminUser.CreateUserHandler(serverCtx))
// Create user auth method
adminUserGroupRouter.POST("/auth_method", adminUser.CreateUserAuthMethodHandler(serverCtx))
// Delete user auth method
adminUserGroupRouter.DELETE("/auth_method", adminUser.DeleteUserAuthMethodHandler(serverCtx))
// Update user auth method
adminUserGroupRouter.PUT("/auth_method", adminUser.UpdateUserAuthMethodHandler(serverCtx))
// Get user auth method
adminUserGroupRouter.GET("/auth_method", adminUser.GetUserAuthMethodHandler(serverCtx))
// Update user basic info
adminUserGroupRouter.PUT("/basic", adminUser.UpdateUserBasicInfoHandler(serverCtx))
// Batch delete user
adminUserGroupRouter.DELETE("/batch", adminUser.BatchDeleteUserHandler(serverCtx))
// Current user
adminUserGroupRouter.GET("/current", adminUser.CurrentUserHandler(serverCtx))
// Get user detail
adminUserGroupRouter.GET("/detail", adminUser.GetUserDetailHandler(serverCtx))
// User device
adminUserGroupRouter.PUT("/device", adminUser.UpdateUserDeviceHandler(serverCtx))
// Delete user device
adminUserGroupRouter.DELETE("/device", adminUser.DeleteUserDeviceHandler(serverCtx))
// kick offline user device
adminUserGroupRouter.PUT("/device/kick_offline", adminUser.KickOfflineByUserDeviceHandler(serverCtx))
// Get user list
adminUserGroupRouter.GET("/list", adminUser.GetUserListHandler(serverCtx))
// Get user login logs
adminUserGroupRouter.GET("/login/logs", adminUser.GetUserLoginLogsHandler(serverCtx))
// Update user notify setting
adminUserGroupRouter.PUT("/notify", adminUser.UpdateUserNotifySettingHandler(serverCtx))
// Get user subcribe
adminUserGroupRouter.GET("/subscribe", adminUser.GetUserSubscribeHandler(serverCtx))
// Create user subcribe
adminUserGroupRouter.POST("/subscribe", adminUser.CreateUserSubscribeHandler(serverCtx))
// Update user subcribe
adminUserGroupRouter.PUT("/subscribe", adminUser.UpdateUserSubscribeHandler(serverCtx))
// Delete user subcribe
adminUserGroupRouter.DELETE("/subscribe", adminUser.DeleteUserSubscribeHandler(serverCtx))
// Get user subcribe by id
adminUserGroupRouter.GET("/subscribe/detail", adminUser.GetUserSubscribeByIdHandler(serverCtx))
// Get user subcribe devices
adminUserGroupRouter.GET("/subscribe/device", adminUser.GetUserSubscribeDevicesHandler(serverCtx))
// Get user subcribe logs
adminUserGroupRouter.GET("/subscribe/logs", adminUser.GetUserSubscribeLogsHandler(serverCtx))
// Get user subcribe reset traffic logs
adminUserGroupRouter.GET("/subscribe/reset/logs", adminUser.GetUserSubscribeResetTrafficLogsHandler(serverCtx))
// Get user subcribe traffic logs
adminUserGroupRouter.GET("/subscribe/traffic_logs", adminUser.GetUserSubscribeTrafficLogsHandler(serverCtx))
}
authGroupRouter := router.Group("/v1/auth")
authGroupRouter.Use(middleware.DeviceMiddleware(serverCtx))
{
// Check user is exist
authGroupRouter.GET("/check", auth.CheckUserHandler(serverCtx))
// Check user telephone is exist
authGroupRouter.GET("/check/telephone", auth.CheckUserTelephoneHandler(serverCtx))
// User login
authGroupRouter.POST("/login", auth.UserLoginHandler(serverCtx))
// Device Login
authGroupRouter.POST("/login/device", auth.DeviceLoginHandler(serverCtx))
// User Telephone login
authGroupRouter.POST("/login/telephone", auth.TelephoneLoginHandler(serverCtx))
// User register
authGroupRouter.POST("/register", auth.UserRegisterHandler(serverCtx))
// User Telephone register
authGroupRouter.POST("/register/telephone", auth.TelephoneUserRegisterHandler(serverCtx))
// Reset password
authGroupRouter.POST("/reset", auth.ResetPasswordHandler(serverCtx))
// Reset password
authGroupRouter.POST("/reset/telephone", auth.TelephoneResetPasswordHandler(serverCtx))
}
authOauthGroupRouter := router.Group("/v1/auth/oauth")
{
// Apple Login Callback
authOauthGroupRouter.POST("/callback/apple", authOauth.AppleLoginCallbackHandler(serverCtx))
// OAuth login
authOauthGroupRouter.POST("/login", authOauth.OAuthLoginHandler(serverCtx))
// OAuth login get token
authOauthGroupRouter.POST("/login/token", authOauth.OAuthLoginGetTokenHandler(serverCtx))
}
commonGroupRouter := router.Group("/v1/common")
commonGroupRouter.Use(middleware.DeviceMiddleware(serverCtx))
{
// Get Ads
commonGroupRouter.GET("/ads", common.GetAdsHandler(serverCtx))
// Check verification code
commonGroupRouter.POST("/check_verification_code", common.CheckVerificationCodeHandler(serverCtx))
// Get Client
commonGroupRouter.GET("/client", common.GetClientHandler(serverCtx))
// Get verification code
commonGroupRouter.POST("/send_code", common.SendEmailCodeHandler(serverCtx))
// Get sms verification code
commonGroupRouter.POST("/send_sms_code", common.SendSmsCodeHandler(serverCtx))
// Get global config
commonGroupRouter.GET("/site/config", common.GetGlobalConfigHandler(serverCtx))
// Get Privacy Policy
commonGroupRouter.GET("/site/privacy", common.GetPrivacyPolicyHandler(serverCtx))
// Get stat
commonGroupRouter.GET("/site/stat", common.GetStatHandler(serverCtx))
// Get Tos Content
commonGroupRouter.GET("/site/tos", common.GetTosHandler(serverCtx))
}
publicAnnouncementGroupRouter := router.Group("/v1/public/announcement")
publicAnnouncementGroupRouter.Use(middleware.AuthMiddleware(serverCtx), middleware.DeviceMiddleware(serverCtx))
{
// Query announcement
publicAnnouncementGroupRouter.GET("/list", publicAnnouncement.QueryAnnouncementHandler(serverCtx))
}
publicDocumentGroupRouter := router.Group("/v1/public/document")
publicDocumentGroupRouter.Use(middleware.AuthMiddleware(serverCtx), middleware.DeviceMiddleware(serverCtx))
{
// Get document detail
publicDocumentGroupRouter.GET("/detail", publicDocument.QueryDocumentDetailHandler(serverCtx))
// Get document list
publicDocumentGroupRouter.GET("/list", publicDocument.QueryDocumentListHandler(serverCtx))
}
publicOrderGroupRouter := router.Group("/v1/public/order")
publicOrderGroupRouter.Use(middleware.AuthMiddleware(serverCtx), middleware.DeviceMiddleware(serverCtx))
{
// Close order
publicOrderGroupRouter.POST("/close", publicOrder.CloseOrderHandler(serverCtx))
// Get order
publicOrderGroupRouter.GET("/detail", publicOrder.QueryOrderDetailHandler(serverCtx))
// Get order list
publicOrderGroupRouter.GET("/list", publicOrder.QueryOrderListHandler(serverCtx))
// Pre create order
publicOrderGroupRouter.POST("/pre", publicOrder.PreCreateOrderHandler(serverCtx))
// purchase Subscription
publicOrderGroupRouter.POST("/purchase", publicOrder.PurchaseHandler(serverCtx))
// Recharge
publicOrderGroupRouter.POST("/recharge", publicOrder.RechargeHandler(serverCtx))
// Renewal Subscription
publicOrderGroupRouter.POST("/renewal", publicOrder.RenewalHandler(serverCtx))
// Reset traffic
publicOrderGroupRouter.POST("/reset", publicOrder.ResetTrafficHandler(serverCtx))
}
publicPaymentGroupRouter := router.Group("/v1/public/payment")
publicPaymentGroupRouter.Use(middleware.AuthMiddleware(serverCtx), middleware.DeviceMiddleware(serverCtx))
{
// Get available payment methods
publicPaymentGroupRouter.GET("/methods", publicPayment.GetAvailablePaymentMethodsHandler(serverCtx))
}
publicPortalGroupRouter := router.Group("/v1/public/portal")
publicPortalGroupRouter.Use(middleware.DeviceMiddleware(serverCtx))
{
// Purchase Checkout
publicPortalGroupRouter.POST("/order/checkout", publicPortal.PurchaseCheckoutHandler(serverCtx))
// Query Purchase Order
publicPortalGroupRouter.GET("/order/status", publicPortal.QueryPurchaseOrderHandler(serverCtx))
// Get available payment methods
publicPortalGroupRouter.GET("/payment-method", publicPortal.GetAvailablePaymentMethodsHandler(serverCtx))
// Pre Purchase Order
publicPortalGroupRouter.POST("/pre", publicPortal.PrePurchaseOrderHandler(serverCtx))
// Purchase subscription
publicPortalGroupRouter.POST("/purchase", publicPortal.PurchaseHandler(serverCtx))
// Get Subscription
publicPortalGroupRouter.GET("/subscribe", publicPortal.GetSubscriptionHandler(serverCtx))
}
publicSubscribeGroupRouter := router.Group("/v1/public/subscribe")
publicSubscribeGroupRouter.Use(middleware.AuthMiddleware(serverCtx), middleware.DeviceMiddleware(serverCtx))
{
// Get subscribe list
publicSubscribeGroupRouter.GET("/list", publicSubscribe.QuerySubscribeListHandler(serverCtx))
// Get user subscribe node info
publicSubscribeGroupRouter.GET("/node/list", publicSubscribe.QueryUserSubscribeNodeListHandler(serverCtx))
}
publicTicketGroupRouter := router.Group("/v1/public/ticket")
publicTicketGroupRouter.Use(middleware.AuthMiddleware(serverCtx), middleware.DeviceMiddleware(serverCtx))
{
// Update ticket status
publicTicketGroupRouter.PUT("/", publicTicket.UpdateUserTicketStatusHandler(serverCtx))
// Create ticket
publicTicketGroupRouter.POST("/", publicTicket.CreateUserTicketHandler(serverCtx))
// Get ticket detail
publicTicketGroupRouter.GET("/detail", publicTicket.GetUserTicketDetailsHandler(serverCtx))
// Create ticket follow
publicTicketGroupRouter.POST("/follow", publicTicket.CreateUserTicketFollowHandler(serverCtx))
// Get ticket list
publicTicketGroupRouter.GET("/list", publicTicket.GetUserTicketListHandler(serverCtx))
}
publicUserGroupRouter := router.Group("/v1/public/user")
publicUserGroupRouter.Use(middleware.AuthMiddleware(serverCtx), middleware.DeviceMiddleware(serverCtx))
{
// Query User Affiliate Count
publicUserGroupRouter.GET("/affiliate/count", publicUser.QueryUserAffiliateHandler(serverCtx))
// Query User Affiliate List
publicUserGroupRouter.GET("/affiliate/list", publicUser.QueryUserAffiliateListHandler(serverCtx))
// Query User Balance Log
publicUserGroupRouter.GET("/balance_log", publicUser.QueryUserBalanceLogHandler(serverCtx))
// Update Bind Email
publicUserGroupRouter.PUT("/bind_email", publicUser.UpdateBindEmailHandler(serverCtx))
// Bind Email With Password
publicUserGroupRouter.POST("/bind_email_with_password", publicUser.BindEmailWithPasswordHandler(serverCtx))
// Bind Invite Code
publicUserGroupRouter.POST("/bind_invite_code", publicUser.BindInviteCodeHandler(serverCtx))
// Update Bind Mobile
publicUserGroupRouter.PUT("/bind_mobile", publicUser.UpdateBindMobileHandler(serverCtx))
// Bind OAuth
publicUserGroupRouter.POST("/bind_oauth", publicUser.BindOAuthHandler(serverCtx))
// Bind OAuth Callback
publicUserGroupRouter.POST("/bind_oauth/callback", publicUser.BindOAuthCallbackHandler(serverCtx))
// Bind Telegram
publicUserGroupRouter.GET("/bind_telegram", publicUser.BindTelegramHandler(serverCtx))
// Query User Commission Log
publicUserGroupRouter.GET("/commission_log", publicUser.QueryUserCommissionLogHandler(serverCtx))
// Get Device List
publicUserGroupRouter.GET("/devices", publicUser.GetDeviceListHandler(serverCtx))
// Query User Info
publicUserGroupRouter.GET("/info", publicUser.QueryUserInfoHandler(serverCtx))
// Get Login Log
publicUserGroupRouter.GET("/login_log", publicUser.GetLoginLogHandler(serverCtx))
// Update User Notify
publicUserGroupRouter.PUT("/notify", publicUser.UpdateUserNotifyHandler(serverCtx))
// Get OAuth Methods
publicUserGroupRouter.GET("/oauth_methods", publicUser.GetOAuthMethodsHandler(serverCtx))
// Update User Password
publicUserGroupRouter.PUT("/password", publicUser.UpdateUserPasswordHandler(serverCtx))
// Query User Subscribe
publicUserGroupRouter.GET("/subscribe", publicUser.QueryUserSubscribeHandler(serverCtx))
// Get Subscribe Log
publicUserGroupRouter.GET("/subscribe_log", publicUser.GetSubscribeLogHandler(serverCtx))
// Reset User Subscribe Token
publicUserGroupRouter.PUT("/subscribe_token", publicUser.ResetUserSubscribeTokenHandler(serverCtx))
// Unbind Device
publicUserGroupRouter.PUT("/unbind_device", publicUser.UnbindDeviceHandler(serverCtx))
// Unbind OAuth
publicUserGroupRouter.POST("/unbind_oauth", publicUser.UnbindOAuthHandler(serverCtx))
// Unbind Telegram
publicUserGroupRouter.POST("/unbind_telegram", publicUser.UnbindTelegramHandler(serverCtx))
// Unsubscribe
publicUserGroupRouter.POST("/unsubscribe", publicUser.UnsubscribeHandler(serverCtx))
// Pre Unsubscribe
publicUserGroupRouter.POST("/unsubscribe/pre", publicUser.PreUnsubscribeHandler(serverCtx))
// Verify Email
publicUserGroupRouter.POST("/verify_email", publicUser.VerifyEmailHandler(serverCtx))
}
// 新增App 组的 WebSocket 测试端点
appGroupRouter := router.Group("/v1/app")
{
appGroupRouter.GET("/ws/:userid/:device_number", app.DeviceWebSocketHandler(serverCtx))
}
serverGroupRouter := router.Group("/v1/server")
serverGroupRouter.Use(middleware.ServerMiddleware(serverCtx))
{
// Get server config
serverGroupRouter.GET("/config", server.GetServerConfigHandler(serverCtx))
// Push online users
serverGroupRouter.POST("/online", server.PushOnlineUsersHandler(serverCtx))
// Push user Traffic
serverGroupRouter.POST("/push", server.ServerPushUserTrafficHandler(serverCtx))
// Push server status
serverGroupRouter.POST("/status", server.ServerPushStatusHandler(serverCtx))
// Get user list
serverGroupRouter.GET("/user", server.GetServerUserListHandler(serverCtx))
}
serverGroupRouter = router.Group("/v2/server")
{
// Get Server Protocol Config
serverGroupRouter.GET("/:server_id", server.QueryServerProtocolConfigHandler(serverCtx))
}
}