(title, err)
| 8 | * @return 错误响应内容 |
| 9 | */ |
| 10 | export const commonError = (title, err): string => { |
| 11 | const errCode = err.code |
| 12 | const errMessage = err.message |
| 13 | const response = isNull(err.response) ? {} : err.response |
| 14 | const errResponseStatus = response.status |
| 15 | const errResponseStatusText = response.statusText |
| 16 | const errResponseData = response.data |
| 17 | window.api['logErrorEvent']('[' + title + '请求错误事件] - 异常响应报文 : ', { |
| 18 | errCode: errCode, |
| 19 | errMessage: errMessage, |
| 20 | errResponseStatus: errResponseStatus, |
| 21 | errResponseStatusText: errResponseStatusText, |
| 22 | errResponseData: |
| 23 | typeof errResponseData === 'object' ? JSON.stringify(errResponseData) : errResponseData |
| 24 | }) |
| 25 | const errResponseDataMessage = isNull(errResponseData) |
| 26 | ? '' |
| 27 | : isNull(errResponseData.error) |
| 28 | ? errResponseData.message |
| 29 | : // 这块的三元表达式主要是拿取OpenAI响应值 之前 error.message 中会返回错误提示 |
| 30 | // 现在不知道为什么突然没有了,所以这里再做一层校验从 error.code 中读取 |
| 31 | isNull(errResponseData.error.message) |
| 32 | ? errResponseData.error.code |
| 33 | : errResponseData.error.message |
| 34 | let msg = '' |
| 35 | if (errCode === 'ECONNREFUSED') { |
| 36 | msg = '连接被拒绝,请检查配置的代理是否正确' |
| 37 | } else if ( |
| 38 | errCode === 'ECONNRESET' && |
| 39 | errMessage.indexOf( |
| 40 | 'Client network socket disconnected before secure TLS connection was established' |
| 41 | ) !== -1 |
| 42 | ) { |
| 43 | msg = '代理连接中断,请检查配置的代理是否可用' |
| 44 | } else if (errCode === 'ECONNRESET' && errMessage.indexOf('read ECONNRESET') !== -1) { |
| 45 | msg = '代理连接读取中断,请检查配置的代理是否可用' |
| 46 | } else if (errMessage.indexOf('timeout of 15000ms exceeded') !== -1) { |
| 47 | msg = '连接超过15秒无响应,请检查配置的代理是否可用' |
| 48 | } else if (errMessage.indexOf('getaddrinfo ENOTFOUND') !== -1) { |
| 49 | msg = '找不到连接地址,请检查配置的代理是否正确' |
| 50 | } else { |
| 51 | msg = isNull(errResponseDataMessage) ? errMessage : errResponseDataMessage |
| 52 | } |
| 53 | return msg |
| 54 | } |
no test coverage detected