From d3de6a9014e036f23a2b3c0bf537f6f66ded5e20 Mon Sep 17 00:00:00 2001 From: luying Date: Wed, 19 Apr 2023 14:55:08 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix(=E8=B4=A6=E5=8F=B7):=20?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E6=B3=A8=E9=94=80=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web-server/app/router.ts | 4 ++-- web-server/app/service/Auth.ts | 11 +++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/web-server/app/router.ts b/web-server/app/router.ts index 2bfd5bb2b..2d0533196 100644 --- a/web-server/app/router.ts +++ b/web-server/app/router.ts @@ -23,8 +23,8 @@ export default (app: Application) => { router.post('/user/checkversion', tokenParser, controller.game.checkVersion); router.post('/user/checkv', tokenParser, controller.game.checkVersion); // 增加一个接口,规避 iOS 敏感词 router.post('/user/deleterole', controller.account.deleteRole); - router.post('/user/closeaccount', controller.account.closeAccount); - router.post('/user/cancelcloseaccount', controller.account.cancelCloseAccount); + router.post('/user/closeaccount', tokenParser, controller.account.closeAccount); + router.post('/user/cancelcloseaccount', tokenParser, controller.account.cancelCloseAccount); router.post('/game/getserverlist', tokenParser, controller.game.getServerList); router.post('/game/getnotice', tokenParser, controller.game.getnotice); router.post('/gate/queryenter', tokenParser, controller.game.queryEnter); diff --git a/web-server/app/service/Auth.ts b/web-server/app/service/Auth.ts index 9dd4a623e..e7835662f 100644 --- a/web-server/app/service/Auth.ts +++ b/web-server/app/service/Auth.ts @@ -486,11 +486,11 @@ export default class Auth extends Service { public async closeAccount(roleId: string) { const ctx = this.ctx; - let role = await RoleModel.findByRoleId(roleId, '+cancelCloseTime'); - if(!role) return ctx.service.utils.resResult(STATUS.ROLE_NOT_FOUND); + let role = await RoleModel.findByRoleId(roleId, '+closeTime +cancelCloseTime userInfo'); + if(!role || role.userInfo.uid != ctx.uid ) return ctx.service.utils.resResult(STATUS.ROLE_NOT_FOUND); if(role.cancelCloseTime > 0 && role.cancelCloseTime + 24 * 60 * 60 > nowSeconds() ) return ctx.service.utils.resResult(STATUS.ROLE_CLOSE_COOL_DOWN, `注销冷却中,请${this.getCdTimeStr(role.cancelCloseTime)}后再试`); - + if(role.closeTime > 0) return ctx.service.utils.resResult(STATUS.ROLE_CLOSED); role = await RoleModel.closeAccount(roleId, nowSeconds() + 15 * 24 * 60 * 60); return ctx.service.utils.resResult(STATUS.SUCCESS, { closeTime: role.closeTime }); } @@ -505,7 +505,10 @@ export default class Auth extends Service { public async cancelCloseAccount(roleId: string) { const ctx = this.ctx; - let role = await RoleModel.cancelCloseAccount(roleId, nowSeconds()); + let role = await RoleModel.findByRoleId(roleId, '+cancelCloseTime userInfo'); + if(!role || role.userInfo.uid != ctx.uid ) return ctx.service.utils.resResult(STATUS.ROLE_NOT_FOUND); + + role = await RoleModel.cancelCloseAccount(roleId, nowSeconds()); if(!role) return ctx.service.utils.resResult(STATUS.ROLE_CLOSE_TIME_OVER); return ctx.service.utils.resResult(STATUS.SUCCESS, { closeTime: role.closeTime }); }