code refactor

This commit is contained in:
MaysWind
2024-07-01 00:53:29 +08:00
parent b5d72c89f2
commit 4dc072f56d
2 changed files with 140 additions and 134 deletions
+134
View File
@@ -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
+6 -134
View File
@@ -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) {