diff --git a/back/src/wos/wos.service.ts b/back/src/wos/wos.service.ts index 095f892..470a62f 100644 --- a/back/src/wos/wos.service.ts +++ b/back/src/wos/wos.service.ts @@ -148,6 +148,10 @@ export class WosService { if (attempt < maxRetries) continue; return { success: false, message: `캡차 인식 실패 (${maxRetries}회 시도)`, err_code: data.err_code }; } + if (data.code !== 0 && (data.err_code === 0 || data.msg === 'Sign Error')) { + if (attempt < maxRetries) continue; + return { success: false, message: 'Sign Error (캡차 오인식)', err_code: data.err_code }; + } return { success: false, message: data.msg || `실패 (${data.err_code})`, err_code: data.err_code }; } @@ -180,7 +184,7 @@ export class WosService { result = { success: false, message: err.message || '오류 발생' }; } - if (result.err_code === 40008 || result.err_code === 40011) { + if (result.err_code === 40008 || result.err_code === 40011 || result.err_code === 40005) { result = { success: true, message: ALREADY_MSG, err_code: result.err_code }; } @@ -270,7 +274,7 @@ export class WosService { const result = await this.redeemOne(user.fid, code); const finalResult = - result.err_code === 40008 || result.err_code === 40011 + result.err_code === 40008 || result.err_code === 40011 || result.err_code === 40005 ? { success: true, message: ALREADY_MSG } : result;