import * as React from 'react'; import { Link } from 'react-router-dom'; import { IconButton } from './button'; import ReturnIcon from "../icons/return.svg"; import Excel from 'js-export-excel'; import dayjs from 'dayjs'; import api from '@/app/api/api'; const RecordApp: React.FC = () => { const [account, setAccount] = React.useState(''); const [password, setPassword] = React.useState(''); // 点击导出 const onClickExport = async (data: { account: string, password: string }) => { if (data.account && data.password) { if (data.account === 'root' && password === 'jkec@2024') { const res = await api.get('/bigmodel/api/dialog/list'); const list: { id: string; type: "system" | "user" | "assistant"; create_time: string; content: string; }[] = res.data; // 标题行 const headerRow = [ { id: 'ID', role: '角色', createTime: '创建时间', content: '内容' }, ]; // 导出数据 const sheetData = [...headerRow, ...list.map(item => ({ id: item.id, role: item.type, createTime: dayjs(item.create_time).format('YYYY-MM-DD HH:mm:ss'), content: item.content, }))]; // 导出数据到Excel const option = { fileName: '聊天记录', datas: [{ sheetData: sheetData, sheetName: '聊天记录', }], }; // 使用Excel构造函数导出数据 const excel = new Excel(option); excel.saveExcel(); } else { alert('账号密码不正确'); } } else { alert('请输入账号密码'); } } return (
建科·小智聊天记录
输入账号密码导出全部聊天记录
} bordered title='返回' aria='返回' />
{ const value = e.target.value; setAccount(value); }} /> { const value = e.target.value; setPassword(value); }} />
); }; export default RecordApp;