diff --git a/entry/src/main/ets/utils/Request.ets b/entry/src/main/ets/utils/Request.ets index 2fb932d..a4c555f 100644 --- a/entry/src/main/ets/utils/Request.ets +++ b/entry/src/main/ets/utils/Request.ets @@ -87,7 +87,7 @@ interface CenterCodeResult { keystr?: string } -function dealCenterCode(message: string, isNewCenter: boolean = false): CenterCodeResult | undefined { +function dealCenterCode(message: string, isNewCenter: boolean = false): CenterCodeResult { if (isNewCenter) { const msg: object = JSON.parse(message); const result: object = msg?.['data'][0]?.result; @@ -111,8 +111,23 @@ function dealCenterCode(message: string, isNewCenter: boolean = false): CenterCo return returnResult } } + } else { + const result = [new RegExp('(.*)<\/code>', 'i'), new RegExp('(.*)<\/message>', 'i'), new RegExp('(.*)<\/keystr>', 'i')].map(pattern => { + const patternArr = pattern.exec(message); + return patternArr && patternArr[1] + }); + + if (result[0] != '1') { + promptAction.showToast({ + message: decodeURIComponent(message as string), + duration: 3000 + }); + + return { code: result[0], message: decodeURIComponent(result[1]) } + } else { + return { code: result[0], message: decodeURIComponent(result[1]), keystr: result[2], } + } } - return undefined } type RequestResult = Object | object | string | CenterCodeResult