fix(admin): remove model reauthentication
Staging Backend Quality Gate / validate (push) Successful in 14m3s
Staging Backend Quality Gate / publish (push) Successful in 21m16s

This commit is contained in:
Jesse_Chen
2026-08-07 23:23:00 +08:00
parent bf31193b60
commit c30b4b906b
6 changed files with 42 additions and 49 deletions
@@ -118,7 +118,6 @@ export default function ModelManagement() {
const [editingModel, setEditingModel] = useState<ModelVersion | null>(null);
const [saving, setSaving] = useState(false);
const [discovering, setDiscovering] = useState(false);
const [discoverProviderId, setDiscoverProviderId] = useState<string | null>(null);
const [discoveredModels, setDiscoveredModels] = useState<DiscoveredModel[]>([]);
const [actingId, setActingId] = useState<string | null>(null);
const [versionAction, setVersionAction] = useState<VersionAction | null>(null);
@@ -240,17 +239,18 @@ export default function ModelManagement() {
}
}
async function discoverModels() {
if (!discoverProviderId) return;
async function discoverModels(providerId?: string) {
if (!providerId) return;
setDiscovering(true);
try {
const payload = await adminRequestJson<DiscoveredModelsPayload>("/api/admin/models/discover", {
method: "POST",
body: JSON.stringify({ providerId: discoverProviderId }),
body: JSON.stringify({ providerId }),
});
setDiscoveredModels(payload.data);
if (!payload.data.length) message.info("未发现可用模型,可继续手工输入");
setDiscoverProviderId(null);
} catch (error) {
message.error(error instanceof Error ? error.message : "获取模型列表失败");
} finally {
setDiscovering(false);
}
@@ -426,7 +426,7 @@ export default function ModelManagement() {
<Row gutter={16}>
<Col xs={24} md={8}><Form.Item name="modelId" label="模型 ID" rules={[{ required: true }, { pattern: /^[a-z0-9][a-z0-9._-]{0,63}$/ }]}><Input disabled={Boolean(editingModel)} /></Form.Item></Col>
<Col xs={24} md={8}><Form.Item name="label" label="显示名称" rules={[{ required: true }]}><Input /></Form.Item></Col>
<Col xs={24} md={8}><Form.Item label="供应商" required><Space.Compact block><Form.Item name="providerId" noStyle rules={[{ required: true, message: "请选择供应商" }]}><Select onChange={() => setDiscoveredModels([])} options={providers.map((item) => ({ value: item.id, label: `${item.name} (${item.code})` }))} /></Form.Item><Button loading={discovering} disabled={!selectedProviderId} onClick={() => setDiscoverProviderId(selectedProviderId)}></Button></Space.Compact></Form.Item></Col>
<Col xs={24} md={8}><Form.Item label="供应商" required><Space.Compact block><Form.Item name="providerId" noStyle rules={[{ required: true, message: "请选择供应商" }]}><Select onChange={() => setDiscoveredModels([])} options={providers.map((item) => ({ value: item.id, label: `${item.name} (${item.code})` }))} /></Form.Item><Button loading={discovering} disabled={!selectedProviderId} onClick={() => void discoverModels(selectedProviderId)}></Button></Space.Compact></Form.Item></Col>
</Row>
<Form.Item label="发现的模型" extra="选择后会填入供应商模型名;模型 ID 和显示名称仅在为空时自动补全。">
<Select
@@ -457,21 +457,11 @@ export default function ModelManagement() {
<Form.Item name="reason" label="修改原因" rules={[{ required: true }, { max: 500 }]}><Input.TextArea rows={2} /></Form.Item>
</Form>
</Modal>
<ReasonActionModal
open={Boolean(discoverProviderId)}
title="获取供应商模型列表"
okText="验证并获取"
confirmLoading={discovering}
reauthPermission="models.test"
onCancel={() => setDiscoverProviderId(null)}
onSubmit={discoverModels}
/>
<ReasonActionModal
open={Boolean(pendingProvider)}
title="保存模型供应商"
okText="验证并保存"
okText="保存"
confirmLoading={saving}
reauthPermission="models.write"
onCancel={() => setPendingProvider(null)}
onSubmit={saveProvider}
/>
@@ -481,7 +471,6 @@ export default function ModelManagement() {
okText={versionAction?.action === "rollback" ? "确认回滚" : "确认发布"}
danger={versionAction?.action === "rollback"}
confirmLoading={Boolean(actingId)}
reauthPermission={versionAction?.action === "rollback" ? "models.rollback" : "models.publish"}
onCancel={() => setVersionAction(null)}
onSubmit={submitVersionAction}
/>