Merge remote-tracking branch 'aliyun/feature/a-card-operations' into develop

This commit is contained in:
tao.chen
2026-09-04 15:52:46 +08:00
130 changed files with 14199 additions and 2008 deletions
@@ -1,18 +1,24 @@
import { useEffect } from "react";
import { useNavigate } from "react-router";
import { Navigate, useNavigate } from "react-router";
import { useAuth } from "~/context/AuthContext";
import { useAuth, usePermission } from "~/context/AuthContext";
import { DashboardPage } from "../admin/DashboardPage";
import { useScriptWorkspaceStore } from "./state/scriptWorkspaceStore";
export default function DashboardRoute() {
const canViewDevelopmentWorkbench = usePermission("dashboard:view");
const { currentWorkspace } = useAuth();
const scripts = useScriptWorkspaceStore((s) => s.scripts);
const scriptCount = useScriptWorkspaceStore((s) => s.scriptCount);
const loadScriptCount = useScriptWorkspaceStore((s) => s.loadScriptCount);
const apiOnline = useScriptWorkspaceStore((s) => s.apiOnline);
const workspaceId = useAuth().currentWorkspace?.workspace_id;
const workspaceId = currentWorkspace?.workspace_id;
const navigate = useNavigate();
if (!canViewDevelopmentWorkbench) {
return <Navigate to="/operations" replace />;
}
// Reload on workspace switch — DashboardRoute is not keyed by
// workspace/user (only ScriptsPage is), so without this dep the
// previous workspace's count would persist.
@@ -31,4 +37,4 @@ export default function DashboardRoute() {
}}
/>
);
}
}
@@ -5,7 +5,7 @@ import {
useScriptWorkspaceStore,
} from "../state/scriptWorkspaceStore";
type ActivePage = "home" | "scripts" | "schedules" | "system";
type ActivePage = "home" | "scripts" | "schedules" | "operations" | "system";
/**
* 必须在 layout 层挂载,不能放在 ScriptsPage。