feat(admin): persist provider drafts in crm

This commit is contained in:
phamnazage-jpg
2026-05-27 21:49:12 +08:00
parent ebd86a4256
commit 8d7aa925df
18 changed files with 2687 additions and 3 deletions

View File

@@ -42,6 +42,33 @@
margin: 0 auto;
padding: 36px 20px 64px;
}
.topnav {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-bottom: 18px;
}
.topnav a {
text-decoration: none;
padding: 10px 14px;
border-radius: 999px;
border: 1px solid var(--line);
background: rgba(255,255,255,0.78);
color: var(--muted);
font-size: 13px;
font-weight: 700;
transition: transform 120ms ease, background 120ms ease, color 120ms ease;
}
.topnav a:hover {
transform: translateY(-1px);
background: #fff;
color: var(--ink);
}
.topnav a.is-current {
background: var(--ink);
color: #fff;
border-color: var(--ink);
}
.hero {
display: grid;
grid-template-columns: 1.3fr 0.7fr;
@@ -343,6 +370,13 @@
</head>
<body>
<main class="shell">
<nav class="topnav" aria-label="Admin Navigation">
<a href="/portal/admin/">管理首页</a>
<a href="/portal/admin/providers.html">新增模型 / 供应商目录</a>
<a href="/portal/admin/batch-import.html" class="is-current">导入供应商帐号</a>
<a href="/portal/" target="_blank" rel="noreferrer">用户 Portal</a>
</nav>
<section class="hero">
<article class="hero-card">
<div class="eyebrow">Batch Import Admin</div>
@@ -350,7 +384,7 @@
<p class="hero-copy">
这个页面只做三件事:发起 batch import、查看 run 摘要、拉取 item 级复用结果。
后端仍然以现有 `POST /api/batch-import/runs` 与 `GET /api/batch-import/runs/*` 为准,
页面不引入额外协议。
页面不引入额外协议。默认通过同域 `portal-admin-api` 访问 CRM。
</p>
<ul class="hero-points">
<li>直接展示 `matched_account_state`</li>
@@ -384,7 +418,7 @@
<div class="field-grid two">
<label>API Base
<input id="api-base" type="text" placeholder="https://crm.example.com">
<input id="api-base" type="text" placeholder="https://sub.tksea.top/portal-admin-api">
</label>
<label>Host ID
<input id="host-id" type="text" placeholder="remote43-current-host">
@@ -573,7 +607,7 @@ https://api.other.com/v1|sk-example-2|deepseek-chat,gpt-5.4</textarea>
}
function defaultApiBase() {
return window.location.origin;
return `${window.location.origin}/portal-admin-api`;
}
function saveConfig() {