Files
cz-web/src/api/service.ts
2026-10-01 17:24:57 +08:00

69 lines
1.7 KiB
TypeScript

import type { ChatMessage } from '@/types/business/service'
// TODO(api): 待接口文档到位后,将以下 mock 替换为 request<T> 调用
let seq = 0
function nextId(prefix: string): string {
seq += 1
return `${prefix}-${Date.now()}-${seq}`
}
function nowTime(): string {
const date = new Date()
const pad = (n: number): string => (n < 10 ? `0${n}` : String(n))
return `今天 ${pad(date.getHours())}:${pad(date.getMinutes())}`
}
export function getChatHistory(): Promise<ChatMessage[]> {
return Promise.resolve([
{
id: 'chat-001',
role: 'assistant',
content: '您好,欢迎咨询智联智造平台!我是您的专属客服小助手,请问有什么可以帮您的?',
time: '今天 10:23',
},
{
id: 'chat-002',
role: 'user',
content: '我想咨询一下物联网全案开发的流程和周期',
time: '今天 10:23',
},
{
id: 'chat-003',
role: 'assistant',
content: '',
file: { name: '物联网全案服务介绍.pdf', size: 2.5 * 1024 * 1024 },
time: '今天 10:24',
},
])
}
export function sendChatMessage(content: string): Promise<ChatMessage> {
return Promise.resolve({
id: nextId('chat'),
role: 'user',
content,
time: nowTime(),
})
}
export function uploadChatFile(file: File): Promise<ChatMessage> {
return Promise.resolve({
id: nextId('chat'),
role: 'user',
content: '',
file: { name: file.name, size: file.size },
time: nowTime(),
})
}
export function mockAutoReply(): Promise<ChatMessage> {
return Promise.resolve({
id: nextId('chat'),
role: 'assistant',
content: '收到您的消息,专属客服稍后为您答复~',
time: nowTime(),
})
}