chore: commit workspace updates
This commit is contained in:
@@ -246,7 +246,7 @@ function taskStatusTone(value?: string): AdminStatusTone {
|
||||
}
|
||||
|
||||
function quotaUsageItems(detail: AdminUserDetail) {
|
||||
const structuredBytes = detail.storageUsage.assetBytes + detail.storageUsage.canvasBytes + detail.storageUsage.sessionBytes;
|
||||
const structuredBytes = detail.storageUsage.assetBytes + detail.storageUsage.canvasBytes;
|
||||
const bytes = (value: number) => value >= 1024 ** 3 ? `${(value / 1024 ** 3).toFixed(2)} GB` : `${(value / 1024 ** 2).toFixed(1)} MB`;
|
||||
const number = (value: number) => new Intl.NumberFormat("zh-CN").format(value);
|
||||
return [
|
||||
@@ -256,7 +256,6 @@ function quotaUsageItems(detail: AdminUserDetail) {
|
||||
{ label: "任务与请求日志数据", value: detail.storageUsage.taskBytes, limit: detail.quota.taskDataGB * 1024 ** 3, display: `${bytes(detail.storageUsage.taskBytes)} / ${detail.quota.taskDataGB} GB` },
|
||||
{ label: "素材数量", value: detail.storageUsage.assetCount, limit: detail.quota.assetCount, display: `${number(detail.storageUsage.assetCount)} / ${number(detail.quota.assetCount)}` },
|
||||
{ label: "画布数量", value: detail.storageUsage.canvasCount, limit: detail.quota.canvasCount, display: `${number(detail.storageUsage.canvasCount)} / ${number(detail.quota.canvasCount)}` },
|
||||
{ label: "Agent 会话数量", value: detail.storageUsage.sessionCount, limit: detail.quota.sessionCount, display: `${number(detail.storageUsage.sessionCount)} / ${number(detail.quota.sessionCount)}` },
|
||||
{ label: "任务历史数量", value: detail.storageUsage.taskCount, limit: detail.quota.taskCount, display: `${number(detail.storageUsage.taskCount)} / ${number(detail.quota.taskCount)}` },
|
||||
{ label: "上游请求日志数量", value: detail.storageUsage.apiCallCount, limit: detail.quota.apiCallLogCount, display: `${number(detail.storageUsage.apiCallCount)} / ${number(detail.quota.apiCallLogCount)}` },
|
||||
];
|
||||
|
||||
@@ -323,7 +323,7 @@ export function ChannelModelEditor({
|
||||
</div>
|
||||
</section>
|
||||
) : null}
|
||||
{modelCapability === "image" || modelCapability === "video" ? (
|
||||
{modelCapability === "text" || modelCapability === "image" || modelCapability === "video" ? (
|
||||
<section className="admin-model-editor-section admin-model-editor-section-stacked admin-model-editor-parameters">
|
||||
<SectionHeading title="协议参数" description="配置可发送参数、支持值与默认值;仅影响当前模型。" />
|
||||
<div className="admin-model-editor-section-content">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { useCallback, useEffect, useRef, useState, type ReactNode } from "react";
|
||||
import { App, Button, Skeleton } from "antd";
|
||||
import { Switch } from "@/components/ui/base/switch";
|
||||
import { AlertTriangle, Clapperboard, Coins, ListChecks, LockKeyhole, MonitorCog, PlugZap, RadioTower, RefreshCw, ShieldCheck, Sparkles } from "lucide-react";
|
||||
import { AlertTriangle, Clapperboard, Coins, ListChecks, MonitorCog, PlugZap, RadioTower, RefreshCw, ShieldCheck, Sparkles } from "lucide-react";
|
||||
|
||||
import { cn } from "@/lib/utils";
|
||||
import { getAdminFeatureAvailability, updateAdminFeatureAvailability } from "@/services/api/auth";
|
||||
@@ -269,7 +269,6 @@ export default function FeatureAvailabilityPanel() {
|
||||
status={<AdminStatusBadge label={draftFeatures.frontendModelsEnabled ? "前台模型目录" : "系统渠道"} tone="info" />}
|
||||
>
|
||||
<FeatureSourceRow row={modelFeatureRows[0]} saved={savedFeatures} draft={draftFeatures} saving={saving} onChange={requestFeatureChange} />
|
||||
<FeatureRuntimeRow enabled={draftFeatures.desktopLocalChannelsEnabled} />
|
||||
</FeatureDomainPanel>
|
||||
</div>
|
||||
</div>
|
||||
@@ -341,18 +340,6 @@ function FeatureSourceRow({ row, saved, draft, saving, onChange }: { row: Featur
|
||||
);
|
||||
}
|
||||
|
||||
function FeatureRuntimeRow({ enabled }: { enabled: boolean }) {
|
||||
return (
|
||||
<aside className="admin-feature-runtime-note" aria-label="桌面本地渠道部署状态">
|
||||
<LockKeyhole className="size-4" aria-hidden="true" />
|
||||
<div>
|
||||
<strong>桌面本地渠道由部署环境控制</strong>
|
||||
</div>
|
||||
<AdminStatusBadge label={enabled ? "当前可用" : "当前不可用"} tone={enabled ? "success" : "neutral"} />
|
||||
</aside>
|
||||
);
|
||||
}
|
||||
|
||||
function effectiveFeatureValue(features: FeatureAvailability, key: FeatureKey) {
|
||||
if (key === "systemPluginsVisibleToUsers") return features.pluginCenterEnabled && features.systemPluginsVisibleToUsers;
|
||||
return features[key];
|
||||
@@ -388,7 +375,6 @@ function parseFeatureAvailability(value: unknown): FeatureAvailability {
|
||||
frontendModelsEnabled: record.frontendModelsEnabled as boolean,
|
||||
pluginCenterEnabled: record.pluginCenterEnabled as boolean,
|
||||
systemPluginsVisibleToUsers: record.systemPluginsVisibleToUsers as boolean,
|
||||
desktopLocalChannelsEnabled: record.desktopLocalChannelsEnabled === true,
|
||||
configured: typeof record.configured === "boolean" ? record.configured : undefined,
|
||||
updatedBy: typeof record.updatedBy === "string" ? record.updatedBy : undefined,
|
||||
updatedAt: typeof record.updatedAt === "string" ? record.updatedAt : undefined,
|
||||
|
||||
Reference in New Issue
Block a user