export function getResponseData(response) { return response && response.data !== undefined ? response.data : response } export function getPageRows(response) { const data = getResponseData(response) || {} return data.records || data.list || data.rows || [] } export function getPageTotal(response) { const data = getResponseData(response) || {} return Number(data.total || data.totalCount || getPageRows(response).length || 0) } export function normalizeBoolean(value) { return value === true || value === 'true' || value === 1 || value === '1' } export function booleanText(value) { return normalizeBoolean(value) ? '启用' : '禁用' } export function onlineText(value) { const status = normalizeOnlineStatus(value) if (status === 'ONLINE') { return '在线' } if (status === 'OFFLINE') { return '离线' } return '未激活' } export function onlineStatusClass(value) { return normalizeOnlineStatus(value).toLowerCase() } function normalizeOnlineStatus(value) { const status = String(value === undefined || value === null ? '' : value).trim().toUpperCase() if (status === 'ONLINE' || status === '1' || status === 'TRUE') { return 'ONLINE' } if (status === 'OFFLINE' || status === '0' || status === 'FALSE') { return 'OFFLINE' } return 'UNACTIVATED' } export function toIdArray(value) { if (Array.isArray(value)) { return value } if (value === undefined || value === null || value === '') { return [] } return [value] } export function normalizeAreaOptions(list) { return (list || []).map(item => ({ id: item.areaId, label: item.areaName, children: normalizeAreaOptions(item.children) })) } export function flattenArea(list, result = []) { (list || []).forEach(item => { result.push(item) flattenArea(item.children, result) }) return result }