feat: add local auth billing and usage management
This commit is contained in:
1 parent
f642b5e71f
commit
196fdde83f
119 files changed
+15695
-2650
No files matched your search
@@ -23,15 +23,13 @@ type SettingsGroup = {
|
||||
};
|
||||
|
||||
type SettingsPayload = {
|
||||
envPath: string;
|
||||
modes: {
|
||||
visual: string;
|
||||
evolink: string;
|
||||
seedance: string;
|
||||
bailian: string;
|
||||
auth: string;
|
||||
organization: string;
|
||||
data: string;
|
||||
services: {
|
||||
visual: boolean;
|
||||
evolink: boolean;
|
||||
seedance: boolean;
|
||||
bailian: boolean;
|
||||
auth: boolean;
|
||||
organization: boolean;
|
||||
};
|
||||
capabilities: Array<{
|
||||
id: string;
|
||||
@@ -46,8 +44,8 @@ type SettingsPayload = {
|
||||
label: string;
|
||||
engine: string;
|
||||
engineLabel: string;
|
||||
mode: string;
|
||||
modeLabel: string;
|
||||
connected: boolean;
|
||||
connectionLabel: string;
|
||||
reqKey: string;
|
||||
configurable: boolean;
|
||||
field?: SettingsField;
|
||||
@@ -224,13 +222,12 @@ export function SettingsPanel() {
|
||||
</div>
|
||||
|
||||
<div className="settings-service-strip">
|
||||
<ServiceBadge label="即梦" value={payload?.modes.visual === "real" ? "真实接口" : "Mock"} ready={payload?.modes.visual === "real"} />
|
||||
<ServiceBadge label="EvoLink" value={payload?.modes.evolink === "real" ? "真实接口" : "Mock"} ready={payload?.modes.evolink === "real"} />
|
||||
<ServiceBadge label="Seedance" value={payload?.modes.seedance === "real" ? "真实接口" : "Mock"} ready={payload?.modes.seedance === "real"} />
|
||||
<ServiceBadge label="百炼" value={payload?.modes.bailian === "real" ? "真实接口" : payload?.modes.bailian === "mock" ? "Mock" : "未配置"} ready={payload?.modes.bailian === "real"} />
|
||||
<ServiceBadge label="账户" value={authModeLabel(payload?.modes.auth)} ready={payload?.modes.auth === "configured"} />
|
||||
<ServiceBadge label="组织" value={payload?.modes.organization === "configured" ? "已配置" : "待配置"} ready={payload?.modes.organization === "configured"} />
|
||||
<ServiceBadge label="数据层" value={payload?.modes.data === "supabase" ? "Supabase" : "本地 JSON"} ready={false} />
|
||||
<ServiceBadge label="即梦" value={serviceStatusLabel(payload?.services.visual)} ready={Boolean(payload?.services.visual)} />
|
||||
<ServiceBadge label="EvoLink" value={serviceStatusLabel(payload?.services.evolink)} ready={Boolean(payload?.services.evolink)} />
|
||||
<ServiceBadge label="Seedance" value={serviceStatusLabel(payload?.services.seedance)} ready={Boolean(payload?.services.seedance)} />
|
||||
<ServiceBadge label="百炼" value={serviceStatusLabel(payload?.services.bailian)} ready={Boolean(payload?.services.bailian)} />
|
||||
<ServiceBadge label="账户" value={serviceStatusLabel(payload?.services.auth)} ready={Boolean(payload?.services.auth)} />
|
||||
<ServiceBadge label="组织" value={serviceStatusLabel(payload?.services.organization)} ready={Boolean(payload?.services.organization)} />
|
||||
</div>
|
||||
|
||||
<div className="settings-engine-table" role="table" aria-label="功能引擎">
|
||||
@@ -260,7 +257,7 @@ export function SettingsPanel() {
|
||||
) : (
|
||||
<strong className="settings-engine-value">{assignment.engineLabel}</strong>
|
||||
)}
|
||||
<span className={`status ${assignment.mode === "mock" ? "failed" : ""}`}>{assignment.modeLabel}</span>
|
||||
<span className={`status ${assignment.connected ? "" : "failed"}`}>{assignment.connectionLabel}</span>
|
||||
<div className="settings-engine-key">
|
||||
<small>{assignment.reqKey}</small>
|
||||
</div>
|
||||
@@ -293,10 +290,8 @@ function ServiceBadge({ label, value, ready }: { label: string; value: string; r
|
||||
);
|
||||
}
|
||||
|
||||
function authModeLabel(mode?: string) {
|
||||
if (mode === "configured") return "已启用";
|
||||
if (mode === "missing") return "待配置";
|
||||
return "未启用";
|
||||
function serviceStatusLabel(connected?: boolean) {
|
||||
return connected ? "已连接" : "待配置";
|
||||
}
|
||||
|
||||
function shortGroupLabel(id: string, title: string) {
|
||||
|
||||
Reference in new issue
Block a user