feat: add HTTP API and complete client workflows

This commit is contained in:
hectorzhao
2026-07-16 11:34:06 +08:00
parent 4f07b331e5
commit dcb6162dcf
40 changed files with 2548 additions and 365 deletions
+4 -1
View File
@@ -1,5 +1,6 @@
import { useEffect, useMemo, useState } from 'react';
import { ClipboardCopy, FileText } from 'lucide-react';
import { useNavigate } from 'react-router-dom';
import { clientApi, type ApplicationCmppParams, type ClientSmsApplication } from '@/api/adminApi';
import { formatCents } from '@/utils/currency';
import { Button, Modal, Pagination, Tag } from '@/components/ui';
@@ -56,6 +57,7 @@ function mapParams(params: ApplicationCmppParams): ParamRow[] {
}
export function ClientApplicationsPage() {
const navigate = useNavigate();
const [applications, setApplications] = useState<ClientSmsApplication[]>([]);
const [selectedApp, setSelectedApp] = useState<ClientSmsApplication | null>(null);
const [params, setParams] = useState<ApplicationCmppParams | null>(null);
@@ -158,8 +160,9 @@ export function ClientApplicationsPage() {
<dt>CMPP连接状态</dt>
<dd><Tag tone={statusToneMap[linkStatus]}>{statusLabelMap[linkStatus]}</Tag></dd>
</div>
<div><dt>HTTP接口</dt><dd><Tag tone={application.httpConfig?.enabled ? 'success' : 'info'}>{application.httpConfig?.enabled ? '已开通' : '未开通'}</Tag></dd></div>
</dl>
<Button onClick={() => openParams(application)} variant="ghost"></Button>
<div className="table-actions"><Button onClick={() => openParams(application)} variant="ghost">CMPP参数</Button><Button disabled={!application.httpConfig?.enabled} onClick={() => navigate('/client/http-api')} variant="ghost">HTTP接口对接</Button></div>
</article>
);
})}