feat: complete device onboarding and mobile binding workflows
ci / verify (push) Canceled after 0s

This commit is contained in:
Codex Local
2026-09-12 08:57:29 +08:00
parent 7846f30d0b
commit 98fb2965d0
116 changed files with 15669 additions and 64 deletions
+4 -1
View File
@@ -44,10 +44,11 @@ import { OpsBillingWorkspace } from "./OpsBillingWorkspace";
import { OpsConfigWorkspace } from "./OpsConfigWorkspace";
import { OpsDiagnosticsWorkspace } from "./OpsDiagnosticsWorkspace";
import { OpsDeviceWorkspace } from "./OpsDeviceWorkspace";
import { OpsOnboardingWorkspace } from "./OpsOnboardingWorkspace";
import { OpsFirmwareWorkspace } from "./OpsFirmwareWorkspace";
import { OpsContentModelWorkspace } from "./OpsContentModelWorkspace";
type MaintenanceArea = "overview" | "devices" | "firmware" | "config" | "models" | "quality" | "billing" | "alerts" | "diagnostics";
type MaintenanceArea = "overview" | "devices" | "onboarding" | "firmware" | "config" | "models" | "quality" | "billing" | "alerts" | "diagnostics";
type HealthState = {
loading: boolean;
@@ -60,6 +61,7 @@ type HealthState = {
};
const areaMeta: Record<MaintenanceArea, { title: string; description: string; icon: ReactNode }> = {
onboarding: { title: "首次接入", description: "生产放行、设备认证、按键绑定与激活对账。", icon: <ApiOutlined /> },
overview: { title: "维护总览", description: "集中查看服务健康、构建版本和当前维护权限。", icon: <DashboardOutlined /> },
devices: { title: "设备管理", description: "登记设备、维护家庭与长者归属、吊销设备并安全轮换密钥。", icon: <DatabaseOutlined /> },
firmware: { title: "固件管理", description: "维护租户级固件版本、可信签名、公私有上传下载与分发生命周期。", icon: <CloudUploadOutlined /> },
@@ -201,6 +203,7 @@ export function MaintenancePortal() {
{auth.currentUser && auth.oidcUser && hasOperationsAccess ? <section className="maintenance-workspace">
{area === "overview" ? <MaintenanceOverview health={health} accounts={operationsAccounts} /> : null}
{area === "devices" ? <OpsDeviceWorkspace accessToken={auth.oidcUser.access_token} accounts={operationsAccounts} /> : null}
{area === "onboarding" ? <OpsOnboardingWorkspace accessToken={auth.oidcUser.access_token} accounts={operationsAccounts} /> : null}
{area === "firmware" ? <OpsFirmwareWorkspace accessToken={auth.oidcUser.access_token} accounts={operationsAccounts} /> : null}
{area === "config" ? <OpsConfigWorkspace accessToken={auth.oidcUser.access_token} accounts={operationsAccounts} /> : null}
{area === "models" ? <OpsContentModelWorkspace accessToken={auth.oidcUser.access_token} accounts={operationsAccounts} /> : null}