feat: migrate app routes and business modules

This commit is contained in:
2026-08-12 18:22:59 +08:00
parent 555aa00043
commit cc706378c2
247 changed files with 28623 additions and 14988 deletions
+57
View File
@@ -0,0 +1,57 @@
import { createRequestError } from './request-client.js'
import { isNormalDisableStatus } from './normal-disable-status.js'
export const normalizeOptionalNumericId = (value, label, code) => {
if (value === undefined || value === null || value === '') return null
if (typeof value === 'string' && /^[1-9]\d*$/.test(value)) return value
if (typeof value === 'number' && Number.isSafeInteger(value) && value > 0) return String(value)
throw createRequestError(`${label}无效`, code)
}
export const normalizeResponseText = (
value,
label,
{ code = 'API_RESPONSE_INVALID', subject = '接口响应' } = {}
) => {
if (value === undefined || value === null) return ''
if (typeof value !== 'string') {
throw createRequestError(`${subject}字段 ${label} 无效`, code)
}
return value.trim()
}
export const normalizeOptionalResponseText = (value, field, label, code) => {
if (value === undefined || value === null) return ''
if (typeof value !== 'string') {
throw createRequestError(`${label}字段 ${field} 无效`, code)
}
return value.trim()
}
export const normalizeNormalDisableResponseStatus = (value, label, code) => {
const status = normalizeResponseText(value, label, { code })
if (!status) return ''
if (!isNormalDisableStatus(status)) {
throw createRequestError(`${label}无效`, code)
}
return status
}
export const normalizeOptionalNonnegativeInteger = (value, label, code) => {
if (value === undefined || value === null) return 0
if (!Number.isSafeInteger(value) || value < 0) {
throw createRequestError(`${label}无效`, code)
}
return value
}
export const normalizeOptionalCurrencyAmount = (value, label, code, { required = false } = {}) => {
if (value === undefined || value === null || value === '') {
if (required) throw createRequestError(`${label}缺失`, code)
return ''
}
if (typeof value !== 'string') throw createRequestError(`${label}无效`, code)
const match = value.trim().match(/^(0|[1-9]\d*)(?:\.(\d{1,2}))?$/)
if (!match) throw createRequestError(`${label}无效`, code)
return `${match[1]}.${(match[2] || '').padEnd(2, '0')}`
}