feat: 完成 R13/R14/R15/R16 小团队管理核心能力

这个提交包含在:
2026-03-21 20:31:34 +08:00
父节点 0826693a8f
当前提交 1e52f1c225
共修改 47 个文件,包含 4298 行新增和 306 行删除
+62
查看文件
@@ -0,0 +1,62 @@
import { apiRequestData } from "./http";
export type WorkspaceModuleVisibilityMode = "main" | "admin" | "hidden";
export type WorkspaceSettings = {
id: string | null;
persisted: boolean;
profile: "small_team_internal";
orgMode: "single_company";
primaryEntryMode: "password";
notificationStrategy: "in_app";
devicePriority: "desktop";
moduleVisibility: Record<string, WorkspaceModuleVisibilityMode>;
createdAt: string | null;
updatedAt: string | null;
updatedBy: string | null;
defaults?: Record<string, WorkspaceModuleVisibilityMode>;
};
export type NavigationItem = {
key: string;
label: string;
icon: string;
href: string;
placement: WorkspaceModuleVisibilityMode;
permissionCodes: string[];
featureFlagKey: string | null;
};
export type RolePreset = {
key: string;
label: string;
roleCodes: string[];
description: string;
};
export type NavigationPayload = {
workspace: WorkspaceSettings;
sections: {
main: NavigationItem[];
admin: NavigationItem[];
backup: NavigationItem[];
};
recommendedRolePresets: RolePreset[];
};
export async function fetchWorkspaceSettings() {
return apiRequestData<WorkspaceSettings>("/api/system/workspace");
}
export async function updateWorkspaceSettings(payload: {
moduleVisibility: Record<string, WorkspaceModuleVisibilityMode>;
}) {
return apiRequestData<{ item: WorkspaceSettings }>("/api/system/workspace", {
method: "PATCH",
body: JSON.stringify(payload),
});
}
export async function fetchSystemNavigation() {
return apiRequestData<NavigationPayload>("/api/system/navigation");
}