/** * 《美国版App登录接口说明》接口 6:GET /api/app/location-support/support * App 只读;需登录。 */ import { usAppApiRequest } from '../utils/usAppApiRequest' import { fetchWithOfflineCache } from '../utils/sqliteSync' export type LocationSupportGetOutputDto = { id?: string | null supportPhone?: string | null supportEmail?: string | null } function normalizeSupportContact(raw: unknown): LocationSupportGetOutputDto | null { if (raw === null || raw === undefined) return null if (typeof raw !== 'object' || Array.isArray(raw)) return null const o = raw as LocationSupportGetOutputDto const phone = String(o.supportPhone ?? '').trim() const email = String(o.supportEmail ?? '').trim() if (!phone && !email) return null return { id: o.id != null ? String(o.id) : null, supportPhone: phone || null, supportEmail: email || null, } } /** 在线缓存至 SQLite,离线可读 */ export async function fetchGlobalSupportContact(): Promise { return fetchWithOfflineCache('support', 'global-contact', async () => { const raw = await usAppApiRequest({ path: '/api/app/location-support/support', method: 'GET', auth: true, }) return normalizeSupportContact(raw) }) }