feat(用户): 添加账号注销功能
Build docker and publish / build (20.15.1) (push) Has been cancelled

实现用户账号注销逻辑,包括删除用户所有关联数据并根据原设备信息创建新账号
This commit is contained in:
2025-10-31 00:58:05 -07:00
parent c5d59b86b0
commit 70c8811406
4 changed files with 198 additions and 10 deletions
@@ -0,0 +1,23 @@
package user
import (
"net/http"
"github.com/gin-gonic/gin"
"github.com/perfect-panel/server/internal/logic/public/user"
"github.com/perfect-panel/server/internal/svc"
)
// DeleteAccountHandler 注销账号处理器
// 根据当前token删除所有关联设备,然后根据各自设备ID重新新建账号
func DeleteAccountHandler(serverCtx *svc.ServiceContext) gin.HandlerFunc {
return func(c *gin.Context) {
l := user.NewDeleteAccountLogic(c.Request.Context(), serverCtx)
resp, err := l.DeleteAccount()
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusOK, resp)
}
}
+8 -5
View File
@@ -769,13 +769,16 @@ func RegisterHandlers(router *gin.Engine, serverCtx *svc.ServiceContext) {
{
// Query User Affiliate Count
publicUserGroupRouter.GET("/affiliate/count", publicUser.QueryUserAffiliateHandler(serverCtx))
publicUserGroupRouter.GET("/affiliate/count", publicUser.QueryUserAffiliateHandler(serverCtx))
// Query User Affiliate List
publicUserGroupRouter.GET("/affiliate/list", publicUser.QueryUserAffiliateListHandler(serverCtx))
// Query User Affiliate List
publicUserGroupRouter.GET("/affiliate/list", publicUser.QueryUserAffiliateListHandler(serverCtx))
// Query User Balance Log
publicUserGroupRouter.GET("/balance_log", publicUser.QueryUserBalanceLogHandler(serverCtx))
// Delete Account
publicUserGroupRouter.GET("/delete_account", publicUser.DeleteAccountHandler(serverCtx))
// Query User Balance Log
publicUserGroupRouter.GET("/balance_log", publicUser.QueryUserBalanceLogHandler(serverCtx))
// Update Bind Email
publicUserGroupRouter.PUT("/bind_email", publicUser.UpdateBindEmailHandler(serverCtx))