import { API_DEMO_ENABLED, API_BASE_URL, wait, requestJson } from '@/services/api.uts' import { demoProducts, parseProduct, FinanceProduct } from './finance.uts' import { createAssessment } from './records.uts' export { API_BASE_URL } from '@/services/api.uts' export async function submitAssessment(payload: UTSJSONObject): Promise { return await createAssessment(payload) } export async function fetchMatches(): Promise { if (API_DEMO_ENABLED) { await wait(320) return demoProducts.slice() } const result = await requestJson('/matches', 'GET', new UTSJSONObject()) const items = result['items'] as UTSJSONObject[] | null return items == null ? [] : items.map((item: UTSJSONObject): FinanceProduct => parseProduct(item)) } export async function fetchProduct(id: string): Promise { if (API_DEMO_ENABLED) { await wait(180) const products = demoProducts.filter((item: FinanceProduct): boolean => item.id == id) return products.length > 0 ? products[0] : null } const result = await requestJson('/products/' + encodeURIComponent(id), 'GET', new UTSJSONObject()) return parseProduct(result) } export async function sendAssistantMessage(message: string): Promise { if (API_DEMO_ENABLED) { await wait(600) return '结合您的评估结果,建议优先选择年化利率较低、可随借随还的产品,并重点确认提前还款规则。' } const result = await requestJson('/assistant/messages', 'POST', { message }) const reply = result['reply'] as string | null if (reply == null || reply.length == 0) throw new Error('助手暂时没有返回内容') return reply }