diff --git a/src/consts/api.js b/src/consts/api.js index 1c0a40a1..a7cb2371 100644 --- a/src/consts/api.js +++ b/src/consts/api.js @@ -3,16 +3,150 @@ const baseApiUrlPath = '/api'; const baseQrcodePath = '/qrcode'; const baseProxyUrlPath = '/proxy'; const baseAmapApiProxyUrlPath = '/_AMapService'; +const apiNotFoundErrorCode = 100001; +const validatorErrorCode = 200000; const googleMapJavascriptUrl = 'https://maps.googleapis.com/maps/api/js'; const baiduMapJavascriptUrl = 'https://api.map.baidu.com/api?v=3.0'; const amapJavascriptUrl = 'https://webapi.amap.com/maps?v=2.0'; +const specifiedApiNotFoundErrors = { + '/api/register.json': { + message: 'User registration is disabled' + } +}; + +const parameterizedErrors = [ + { + localeKey: 'parameter invalid', + regex: /^parameter "(\w+)" is invalid$/, + parameters: [{ + field: 'parameter', + localized: true + }] + }, + { + localeKey: 'parameter required', + regex: /^parameter "(\w+)" is required$/, + parameters: [{ + field: 'parameter', + localized: true + }] + }, + { + localeKey: 'parameter too large', + regex: /^parameter "(\w+)" must be less than (\d+)$/, + parameters: [{ + field: 'parameter', + localized: true + }, { + field: 'number', + localized: false + }] + }, + { + localeKey: 'parameter too long', + regex: /^parameter "(\w+)" must be less than (\d+) characters$/, + parameters: [{ + field: 'parameter', + localized: true + }, { + field: 'length', + localized: false + }] + }, + { + localeKey: 'parameter too small', + regex: /^parameter "(\w+)" must be more than (\d+)$/, + parameters: [{ + field: 'parameter', + localized: true + }, { + field: 'number', + localized: false + }] + }, + { + localeKey: 'parameter too short', + regex: /^parameter "(\w+)" must be more than (\d+) characters$/, + parameters: [{ + field: 'parameter', + localized: true + }, { + field: 'length', + localized: false + }] + }, + { + localeKey: 'parameter length not equal', + regex: /^parameter "(\w+)" length is not equal to (\d+)$/, + parameters: [{ + field: 'parameter', + localized: true + }, { + field: 'length', + localized: false + }] + }, + { + localeKey: 'parameter cannot be blank', + regex: /^parameter "(\w+)" cannot be blank$/, + parameters: [{ + field: 'parameter', + localized: true + }] + }, + { + localeKey: 'parameter invalid username format', + regex: /^parameter "(\w+)" is invalid username format$/, + parameters: [{ + field: 'parameter', + localized: true + }] + }, + { + localeKey: 'parameter invalid email format', + regex: /^parameter "(\w+)" is invalid email format$/, + parameters: [{ + field: 'parameter', + localized: true + }] + }, + { + localeKey: 'parameter invalid currency', + regex: /^parameter "(\w+)" is invalid currency$/, + parameters: [{ + field: 'parameter', + localized: true + }] + }, + { + localeKey: 'parameter invalid color', + regex: /^parameter "(\w+)" is invalid color$/, + parameters: [{ + field: 'parameter', + localized: true + }] + }, + { + localeKey: 'parameter invalid amount filter', + regex: /^parameter "(\w+)" is invalid amount filter$/, + parameters: [{ + field: 'parameter', + localized: true + }] + } +]; + export default { defaultTimeout: defaultTimeout, baseApiUrlPath: baseApiUrlPath, baseQrcodePath: baseQrcodePath, baseProxyUrlPath: baseProxyUrlPath, baseAmapApiProxyUrlPath: baseAmapApiProxyUrlPath, + apiNotFoundErrorCode: apiNotFoundErrorCode, + validatorErrorCode: validatorErrorCode, + specifiedApiNotFoundErrors: specifiedApiNotFoundErrors, + parameterizedErrors: parameterizedErrors, googleMapJavascriptUrl: googleMapJavascriptUrl, baiduMapJavascriptUrl: baiduMapJavascriptUrl, amapJavascriptUrl: amapJavascriptUrl diff --git a/src/lib/i18n.js b/src/lib/i18n.js index cd79c2ea..b435f191 100644 --- a/src/lib/i18n.js +++ b/src/lib/i18n.js @@ -8,6 +8,7 @@ import currency from '@/consts/currency.js'; import account from '@/consts/account.js'; import category from '@/consts/category.js'; import statistics from '@/consts/statistics.js'; +import api from '@/consts/api.js'; import { isString, @@ -57,135 +58,6 @@ import { import logger from './logger.js'; import services from './services.js'; -const apiNotFoundErrorCode = 100001; -const specifiedApiNotFoundErrors = { - '/api/register.json': { - message: 'User registration is disabled' - } -}; -const validatorErrorCode = 200000; -const parameterizedErrors = [ - { - localeKey: 'parameter invalid', - regex: /^parameter "(\w+)" is invalid$/, - parameters: [{ - field: 'parameter', - localized: true - }] - }, - { - localeKey: 'parameter required', - regex: /^parameter "(\w+)" is required$/, - parameters: [{ - field: 'parameter', - localized: true - }] - }, - { - localeKey: 'parameter too large', - regex: /^parameter "(\w+)" must be less than (\d+)$/, - parameters: [{ - field: 'parameter', - localized: true - }, { - field: 'number', - localized: false - }] - }, - { - localeKey: 'parameter too long', - regex: /^parameter "(\w+)" must be less than (\d+) characters$/, - parameters: [{ - field: 'parameter', - localized: true - }, { - field: 'length', - localized: false - }] - }, - { - localeKey: 'parameter too small', - regex: /^parameter "(\w+)" must be more than (\d+)$/, - parameters: [{ - field: 'parameter', - localized: true - }, { - field: 'number', - localized: false - }] - }, - { - localeKey: 'parameter too short', - regex: /^parameter "(\w+)" must be more than (\d+) characters$/, - parameters: [{ - field: 'parameter', - localized: true - }, { - field: 'length', - localized: false - }] - }, - { - localeKey: 'parameter length not equal', - regex: /^parameter "(\w+)" length is not equal to (\d+)$/, - parameters: [{ - field: 'parameter', - localized: true - }, { - field: 'length', - localized: false - }] - }, - { - localeKey: 'parameter cannot be blank', - regex: /^parameter "(\w+)" cannot be blank$/, - parameters: [{ - field: 'parameter', - localized: true - }] - }, - { - localeKey: 'parameter invalid username format', - regex: /^parameter "(\w+)" is invalid username format$/, - parameters: [{ - field: 'parameter', - localized: true - }] - }, - { - localeKey: 'parameter invalid email format', - regex: /^parameter "(\w+)" is invalid email format$/, - parameters: [{ - field: 'parameter', - localized: true - }] - }, - { - localeKey: 'parameter invalid currency', - regex: /^parameter "(\w+)" is invalid currency$/, - parameters: [{ - field: 'parameter', - localized: true - }] - }, - { - localeKey: 'parameter invalid color', - regex: /^parameter "(\w+)" is invalid color$/, - parameters: [{ - field: 'parameter', - localized: true - }] - }, - { - localeKey: 'parameter invalid amount filter', - regex: /^parameter "(\w+)" is invalid amount filter$/, - parameters: [{ - field: 'parameter', - localized: true - }] - } -]; - function getAllLanguageInfos() { return allLanguages; } @@ -1346,20 +1218,20 @@ function joinMultiText(textArray, translateFn) { } function getLocalizedError(error) { - if (error.errorCode === apiNotFoundErrorCode && specifiedApiNotFoundErrors[error.path]) { + if (error.errorCode === api.apiNotFoundErrorCode && api.specifiedApiNotFoundErrors[error.path]) { return { - message: `${specifiedApiNotFoundErrors[error.path].message}` + message: `${api.specifiedApiNotFoundErrors[error.path].message}` }; } - if (error.errorCode !== validatorErrorCode) { + if (error.errorCode !== api.validatorErrorCode) { return { message: `error.${error.errorMessage}` }; } - for (let i = 0; i < parameterizedErrors.length; i++) { - const errorInfo = parameterizedErrors[i]; + for (let i = 0; i < api.parameterizedErrors.length; i++) { + const errorInfo = api.parameterizedErrors[i]; const matches = error.errorMessage.match(errorInfo.regex); if (matches && matches.length === errorInfo.parameters.length + 1) {