zcw-shared 2.22.1 → 2.23.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,8 @@
1
+ export declare function permissionSatisfies(userPermissions: string[], required: string): boolean;
2
+ export declare function anyPermissionSatisfies(userPermissions: string[], required: string[]): boolean;
3
+ export declare function getPermissionCodesFromPayload(payload: {
4
+ permissions?: unknown;
5
+ } | null | undefined): string[];
6
+ export declare function payloadHasPermission(payload: {
7
+ permissions?: unknown;
8
+ } | null | undefined, required: string): boolean;
@@ -0,0 +1,27 @@
1
+ import { ALL_PERMISSION_CODE } from '../../permissions/allPermissionCode';
2
+ export function permissionSatisfies(userPermissions, required) {
3
+ if (userPermissions.includes(ALL_PERMISSION_CODE))
4
+ return true;
5
+ if (userPermissions.includes(required))
6
+ return true;
7
+ if (required.endsWith('.view')) {
8
+ const editCode = `${required.slice(0, -'.view'.length)}.edit`;
9
+ if (userPermissions.includes(editCode))
10
+ return true;
11
+ }
12
+ return false;
13
+ }
14
+ export function anyPermissionSatisfies(userPermissions, required) {
15
+ return required.some((code) => permissionSatisfies(userPermissions, code));
16
+ }
17
+ export function getPermissionCodesFromPayload(payload) {
18
+ if (!payload)
19
+ return [];
20
+ return Array.isArray(payload.permissions)
21
+ ? payload.permissions
22
+ : [];
23
+ }
24
+ export function payloadHasPermission(payload, required) {
25
+ return permissionSatisfies(getPermissionCodesFromPayload(payload), required);
26
+ }
27
+ //# sourceMappingURL=permissionSatisfies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissionSatisfies.js","sourceRoot":"","sources":["../../../src/functions/auth/permissionSatisfies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAGzE,MAAM,UAAU,mBAAmB,CACjC,eAAyB,EACzB,QAAgB;IAEhB,IAAI,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAAE,OAAO,IAAI,CAAA;IAC9D,IAAI,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAA;IAEnD,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAA;QAC7D,IAAI,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAA;IACrD,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,eAAyB,EACzB,QAAkB;IAElB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAAqD;IAErD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACvB,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;QACvC,CAAC,CAAE,OAAO,CAAC,WAAwB;QACnC,CAAC,CAAC,EAAE,CAAA;AACR,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAqD,EACrD,QAAgB;IAEhB,OAAO,mBAAmB,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAA;AAC9E,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare const TAILWIND_MD_MIN_WIDTH_PX: 768;
2
+ export declare const BELOW_MD_MAX_WIDTH_PX: 767;
3
+ export declare const BELOW_MD_MEDIA_QUERY: "(max-width: 767px)";
4
+ export interface IsBelowMdViewportDeps {
5
+ matchMedia?: (query: string) => {
6
+ matches: boolean;
7
+ };
8
+ innerWidth?: number;
9
+ }
10
+ export declare function isBelowMdViewport(deps: IsBelowMdViewportDeps): boolean;
@@ -0,0 +1,13 @@
1
+ export const TAILWIND_MD_MIN_WIDTH_PX = 768;
2
+ export const BELOW_MD_MAX_WIDTH_PX = 767;
3
+ export const BELOW_MD_MEDIA_QUERY = `(max-width: ${BELOW_MD_MAX_WIDTH_PX}px)`;
4
+ export function isBelowMdViewport(deps) {
5
+ if (deps.matchMedia) {
6
+ return deps.matchMedia(BELOW_MD_MEDIA_QUERY).matches;
7
+ }
8
+ if (deps.innerWidth != null) {
9
+ return deps.innerWidth <= BELOW_MD_MAX_WIDTH_PX;
10
+ }
11
+ return false;
12
+ }
13
+ //# sourceMappingURL=isBelowMdViewport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isBelowMdViewport.js","sourceRoot":"","sources":["../../../src/functions/browser/isBelowMdViewport.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAY,CAAA;AAGpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAY,CAAA;AAGjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,qBAAqB,KAAc,CAAA;AAoBtF,MAAM,UAAU,iBAAiB,CAAC,IAA2B;IAC3D,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAA;IACtD,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,UAAU,IAAI,qBAAqB,CAAA;IACjD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { PermissionGroup } from './definePermissionGroup';
2
+ export declare const ALL_PERMISSION_CODE: "*";
3
+ export declare const allPermissionGroup: PermissionGroup;
@@ -0,0 +1,14 @@
1
+ export const ALL_PERMISSION_CODE = '*';
2
+ export const allPermissionGroup = {
3
+ key: 'system.all',
4
+ label: '超级权限',
5
+ module: 'system',
6
+ permissions: [
7
+ {
8
+ code: ALL_PERMISSION_CODE,
9
+ name: '全部权限',
10
+ description: '拥有所有权限',
11
+ },
12
+ ],
13
+ };
14
+ //# sourceMappingURL=allPermissionCode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allPermissionCode.js","sourceRoot":"","sources":["../../src/permissions/allPermissionCode.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAY,CAAA;AAE/C,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IACjD,GAAG,EAAE,YAAY;IACjB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE;QACX;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,QAAQ;SACtB;KACF;CACF,CAAA"}
@@ -0,0 +1,15 @@
1
+ import type { PermissionDefinition, PermissionGroup } from './definePermissionGroup';
2
+ export declare const PERMISSION_GROUPS: PermissionGroup[];
3
+ export interface PermissionCatalogItem extends PermissionDefinition {
4
+ module: string;
5
+ groupKey: string;
6
+ groupLabel: string;
7
+ }
8
+ export declare function getPermissionCatalog(): PermissionCatalogItem[];
9
+ export declare function getPermissionCatalogGrouped(): PermissionGroup[];
10
+ export declare function isKnownPermissionCode(code: string): boolean;
11
+ export declare function resolvePermissionCatalogItem(code: string): PermissionCatalogItem | undefined;
12
+ export declare function resolvePermissionCatalogItems(codes: string[]): PermissionCatalogItem[];
13
+ export * from './groups';
14
+ export { allPermissionGroup, ALL_PERMISSION_CODE } from './allPermissionCode';
15
+ export { definePermissionGroup, type DefinedPermissionGroup, type PermissionDefinition, type PermissionGroup, type PermissionGroupInput, } from './definePermissionGroup';
@@ -0,0 +1,74 @@
1
+ import { allPermissionGroup } from './allPermissionCode';
2
+ import { userPermissionGroup, rbacPermissionGroup, menuPermissionGroup, orgPermissionGroup, pageConfigPermissionGroup, performancePermissionGroup, productPermissionGroup, orderPermissionGroup, paymentPermissionGroup, addressPermissionGroup, rechargePermissionGroup, reviewPermissionGroup, stickerPackPermissionGroup, communityPermissionGroup, videoPermissionGroup, musicPermissionGroup, reportPermissionGroup, notificationPermissionGroup, iconFontPermissionGroup, ossPermissionGroup, aiAgentPermissionGroup, aiToolCatalogPermissionGroup, aiMcpCatalogPermissionGroup, aiLlmCatalogPermissionGroup, aiSettingsPermissionGroup, } from './groups';
3
+ export const PERMISSION_GROUPS = [
4
+ allPermissionGroup,
5
+ userPermissionGroup.group,
6
+ rbacPermissionGroup.group,
7
+ menuPermissionGroup.group,
8
+ orgPermissionGroup.group,
9
+ pageConfigPermissionGroup.group,
10
+ performancePermissionGroup.group,
11
+ productPermissionGroup.group,
12
+ orderPermissionGroup.group,
13
+ paymentPermissionGroup.group,
14
+ addressPermissionGroup.group,
15
+ rechargePermissionGroup.group,
16
+ reviewPermissionGroup.group,
17
+ stickerPackPermissionGroup.group,
18
+ communityPermissionGroup.group,
19
+ videoPermissionGroup.group,
20
+ musicPermissionGroup.group,
21
+ reportPermissionGroup.group,
22
+ notificationPermissionGroup.group,
23
+ iconFontPermissionGroup.group,
24
+ ossPermissionGroup.group,
25
+ aiAgentPermissionGroup.group,
26
+ aiToolCatalogPermissionGroup.group,
27
+ aiMcpCatalogPermissionGroup.group,
28
+ aiLlmCatalogPermissionGroup.group,
29
+ aiSettingsPermissionGroup.group,
30
+ ];
31
+ const catalogByCode = new Map();
32
+ function buildCatalog() {
33
+ if (catalogByCode.size > 0) {
34
+ return Array.from(catalogByCode.values());
35
+ }
36
+ const list = [];
37
+ for (const group of PERMISSION_GROUPS) {
38
+ for (const perm of group.permissions) {
39
+ const item = {
40
+ ...perm,
41
+ module: group.module,
42
+ groupKey: group.key,
43
+ groupLabel: group.label,
44
+ };
45
+ list.push(item);
46
+ catalogByCode.set(perm.code, item);
47
+ }
48
+ }
49
+ return list;
50
+ }
51
+ export function getPermissionCatalog() {
52
+ return buildCatalog();
53
+ }
54
+ export function getPermissionCatalogGrouped() {
55
+ return PERMISSION_GROUPS;
56
+ }
57
+ export function isKnownPermissionCode(code) {
58
+ buildCatalog();
59
+ return catalogByCode.has(code);
60
+ }
61
+ export function resolvePermissionCatalogItem(code) {
62
+ buildCatalog();
63
+ return catalogByCode.get(code);
64
+ }
65
+ export function resolvePermissionCatalogItems(codes) {
66
+ buildCatalog();
67
+ return codes
68
+ .map((code) => catalogByCode.get(code))
69
+ .filter((item) => item != null);
70
+ }
71
+ export * from './groups';
72
+ export { allPermissionGroup, ALL_PERMISSION_CODE } from './allPermissionCode';
73
+ export { definePermissionGroup, } from './definePermissionGroup';
74
+ //# sourceMappingURL=catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/permissions/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export interface PermissionDefinition {
2
+ code: string;
3
+ name: string;
4
+ description?: string;
5
+ }
6
+ export interface PermissionGroup {
7
+ key: string;
8
+ label: string;
9
+ module: string;
10
+ permissions: PermissionDefinition[];
11
+ }
12
+ export interface PermissionGroupInput {
13
+ module: string;
14
+ resource: string;
15
+ label: string;
16
+ items: ReadonlyArray<{
17
+ action: string;
18
+ name: string;
19
+ description?: string;
20
+ }>;
21
+ }
22
+ export interface DefinedPermissionGroup {
23
+ group: PermissionGroup;
24
+ codes: Record<string, string>;
25
+ }
26
+ export declare function definePermissionGroup(input: PermissionGroupInput): DefinedPermissionGroup;
@@ -0,0 +1,22 @@
1
+ export function definePermissionGroup(input) {
2
+ const key = `${input.module}.${input.resource}`;
3
+ const permissions = input.items.map((item) => ({
4
+ code: `${key}.${item.action}`,
5
+ name: item.name,
6
+ description: item.description,
7
+ }));
8
+ const codes = {};
9
+ for (const item of input.items) {
10
+ codes[item.action.toUpperCase()] = `${key}.${item.action}`;
11
+ }
12
+ return {
13
+ group: {
14
+ key,
15
+ label: input.label,
16
+ module: input.module,
17
+ permissions,
18
+ },
19
+ codes,
20
+ };
21
+ }
22
+ //# sourceMappingURL=definePermissionGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definePermissionGroup.js","sourceRoot":"","sources":["../../src/permissions/definePermissionGroup.ts"],"names":[],"mappings":"AAkCA,MAAM,UAAU,qBAAqB,CACnC,KAA2B;IAE3B,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAA;IAC/C,MAAM,WAAW,GAA2B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrE,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;QAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC,CAAC,CAAA;IACH,MAAM,KAAK,GAA2B,EAAE,CAAA;IACxC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAA;IAC5D,CAAC;IACD,OAAO;QACL,KAAK,EAAE;YACL,GAAG;YACH,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW;SACZ;QACD,KAAK;KACN,CAAA;AACH,CAAC"}
@@ -0,0 +1,50 @@
1
+ export declare const userPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
2
+ export declare const UserPermissions: Record<string, string>;
3
+ export declare const rbacPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
4
+ export declare const RbacPermissions: Record<string, string>;
5
+ export declare const menuPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
6
+ export declare const MenuPermissions: Record<string, string>;
7
+ export declare const orgPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
8
+ export declare const OrgPermissions: Record<string, string>;
9
+ export declare const pageConfigPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
10
+ export declare const PageConfigPermissions: Record<string, string>;
11
+ export declare const performancePermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
12
+ export declare const PerformancePermissions: Record<string, string>;
13
+ export declare const productPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
14
+ export declare const ProductPermissions: Record<string, string>;
15
+ export declare const orderPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
16
+ export declare const OrderPermissions: Record<string, string>;
17
+ export declare const paymentPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
18
+ export declare const PaymentPermissions: Record<string, string>;
19
+ export declare const addressPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
20
+ export declare const AddressPermissions: Record<string, string>;
21
+ export declare const rechargePermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
22
+ export declare const RechargePermissions: Record<string, string>;
23
+ export declare const reviewPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
24
+ export declare const ReviewPermissions: Record<string, string>;
25
+ export declare const stickerPackPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
26
+ export declare const StickerPackPermissions: Record<string, string>;
27
+ export declare const communityPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
28
+ export declare const CommunityPermissions: Record<string, string>;
29
+ export declare const videoPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
30
+ export declare const VideoPermissions: Record<string, string>;
31
+ export declare const musicPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
32
+ export declare const MusicPermissions: Record<string, string>;
33
+ export declare const reportPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
34
+ export declare const ReportPermissions: Record<string, string>;
35
+ export declare const notificationPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
36
+ export declare const NotificationPermissions: Record<string, string>;
37
+ export declare const iconFontPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
38
+ export declare const IconFontPermissions: Record<string, string>;
39
+ export declare const ossPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
40
+ export declare const OssPermissions: Record<string, string>;
41
+ export declare const aiAgentPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
42
+ export declare const AiAgentPermissions: Record<string, string>;
43
+ export declare const aiToolCatalogPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
44
+ export declare const AiToolCatalogPermissions: Record<string, string>;
45
+ export declare const aiMcpCatalogPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
46
+ export declare const AiMcpCatalogPermissions: Record<string, string>;
47
+ export declare const aiLlmCatalogPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
48
+ export declare const AiLlmCatalogPermissions: Record<string, string>;
49
+ export declare const aiSettingsPermissionGroup: import("./definePermissionGroup").DefinedPermissionGroup;
50
+ export declare const AiSettingsPermissions: Record<string, string>;
@@ -0,0 +1,251 @@
1
+ import { definePermissionGroup } from './definePermissionGroup';
2
+ export const userPermissionGroup = definePermissionGroup({
3
+ module: 'system',
4
+ resource: 'user',
5
+ label: '用户',
6
+ items: [
7
+ { action: 'view', name: '用户查看', description: '查看用户列表与详情' },
8
+ { action: 'edit', name: '用户编辑', description: '创建、编辑、删除用户' },
9
+ ],
10
+ });
11
+ export const UserPermissions = userPermissionGroup.codes;
12
+ export const rbacPermissionGroup = definePermissionGroup({
13
+ module: 'system',
14
+ resource: 'role',
15
+ label: '角色',
16
+ items: [
17
+ { action: 'view', name: '角色查看', description: '查看角色与权限分配' },
18
+ { action: 'edit', name: '角色编辑', description: '创建、编辑、删除角色及分配权限' },
19
+ ],
20
+ });
21
+ export const RbacPermissions = rbacPermissionGroup.codes;
22
+ export const menuPermissionGroup = definePermissionGroup({
23
+ module: 'system',
24
+ resource: 'menu',
25
+ label: '菜单',
26
+ items: [
27
+ { action: 'view', name: '菜单查看', description: '查看后台菜单' },
28
+ { action: 'edit', name: '菜单编辑', description: '创建、编辑、删除菜单' },
29
+ ],
30
+ });
31
+ export const MenuPermissions = menuPermissionGroup.codes;
32
+ export const orgPermissionGroup = definePermissionGroup({
33
+ module: 'system',
34
+ resource: 'org',
35
+ label: '组织',
36
+ items: [
37
+ { action: 'view', name: '组织查看', description: '查看组织与团队' },
38
+ { action: 'edit', name: '组织编辑', description: '创建、编辑、删除组织与成员' },
39
+ ],
40
+ });
41
+ export const OrgPermissions = orgPermissionGroup.codes;
42
+ export const pageConfigPermissionGroup = definePermissionGroup({
43
+ module: 'system',
44
+ resource: 'page-config',
45
+ label: '页面配置',
46
+ items: [
47
+ { action: 'view', name: '页面配置查看', description: '查看 page-config' },
48
+ { action: 'edit', name: '页面配置编辑', description: '编辑 page-config' },
49
+ ],
50
+ });
51
+ export const PageConfigPermissions = pageConfigPermissionGroup.codes;
52
+ export const performancePermissionGroup = definePermissionGroup({
53
+ module: 'system',
54
+ resource: 'performance',
55
+ label: '性能监控',
56
+ items: [
57
+ { action: 'view', name: '性能监控查看', description: '查看性能指标' },
58
+ ],
59
+ });
60
+ export const PerformancePermissions = performancePermissionGroup.codes;
61
+ export const productPermissionGroup = definePermissionGroup({
62
+ module: 'business',
63
+ resource: 'product',
64
+ label: '商品',
65
+ items: [
66
+ { action: 'view', name: '商品查看', description: '查看商品列表与详情' },
67
+ { action: 'edit', name: '商品编辑', description: '创建、编辑、删除商品与库存' },
68
+ ],
69
+ });
70
+ export const ProductPermissions = productPermissionGroup.codes;
71
+ export const orderPermissionGroup = definePermissionGroup({
72
+ module: 'business',
73
+ resource: 'order',
74
+ label: '订单',
75
+ items: [
76
+ { action: 'view', name: '订单查看', description: '查看全站订单' },
77
+ { action: 'edit', name: '订单编辑', description: '管理全站订单状态' },
78
+ ],
79
+ });
80
+ export const OrderPermissions = orderPermissionGroup.codes;
81
+ export const paymentPermissionGroup = definePermissionGroup({
82
+ module: 'business',
83
+ resource: 'payment',
84
+ label: '支付',
85
+ items: [
86
+ { action: 'view', name: '支付查看', description: '查看全站支付记录' },
87
+ { action: 'edit', name: '支付编辑', description: '管理支付与退款' },
88
+ ],
89
+ });
90
+ export const PaymentPermissions = paymentPermissionGroup.codes;
91
+ export const addressPermissionGroup = definePermissionGroup({
92
+ module: 'business',
93
+ resource: 'address',
94
+ label: '收货地址',
95
+ items: [
96
+ { action: 'view', name: '地址查看', description: '查看全站收货地址' },
97
+ { action: 'edit', name: '地址编辑', description: '管理收货地址' },
98
+ ],
99
+ });
100
+ export const AddressPermissions = addressPermissionGroup.codes;
101
+ export const rechargePermissionGroup = definePermissionGroup({
102
+ module: 'business',
103
+ resource: 'recharge',
104
+ label: '充值订单',
105
+ items: [
106
+ { action: 'view', name: '充值订单查看', description: '查看全站钱包充值订单' },
107
+ { action: 'edit', name: '充值订单编辑', description: '确认线下收款并入账' },
108
+ ],
109
+ });
110
+ export const RechargePermissions = rechargePermissionGroup.codes;
111
+ export const reviewPermissionGroup = definePermissionGroup({
112
+ module: 'business',
113
+ resource: 'review',
114
+ label: '评价',
115
+ items: [
116
+ { action: 'view', name: '评价查看', description: '查看全站商品评价' },
117
+ { action: 'edit', name: '评价编辑', description: '管理商品评价' },
118
+ ],
119
+ });
120
+ export const ReviewPermissions = reviewPermissionGroup.codes;
121
+ export const stickerPackPermissionGroup = definePermissionGroup({
122
+ module: 'business',
123
+ resource: 'sticker-pack',
124
+ label: '表情包',
125
+ items: [
126
+ { action: 'view', name: '表情包查看', description: '查看表情包列表与详情' },
127
+ { action: 'edit', name: '表情包编辑', description: '创建、编辑、删除表情包' },
128
+ ],
129
+ });
130
+ export const StickerPackPermissions = stickerPackPermissionGroup.codes;
131
+ export const communityPermissionGroup = definePermissionGroup({
132
+ module: 'content',
133
+ resource: 'article',
134
+ label: '社区文章',
135
+ items: [
136
+ { action: 'view', name: '文章查看', description: '查看社区文章/帖子' },
137
+ { action: 'edit', name: '文章编辑', description: '创建、编辑、删除社区文章/帖子' },
138
+ ],
139
+ });
140
+ export const CommunityPermissions = communityPermissionGroup.codes;
141
+ export const videoPermissionGroup = definePermissionGroup({
142
+ module: 'content',
143
+ resource: 'video',
144
+ label: '视频',
145
+ items: [
146
+ { action: 'view', name: '视频查看', description: '查看视频内容' },
147
+ { action: 'edit', name: '视频编辑', description: '创建、编辑、删除视频' },
148
+ ],
149
+ });
150
+ export const VideoPermissions = videoPermissionGroup.codes;
151
+ export const musicPermissionGroup = definePermissionGroup({
152
+ module: 'content',
153
+ resource: 'music',
154
+ label: '音乐',
155
+ items: [
156
+ { action: 'view', name: '音乐查看', description: '查看音乐内容' },
157
+ { action: 'edit', name: '音乐编辑', description: '创建、编辑、删除音乐' },
158
+ ],
159
+ });
160
+ export const MusicPermissions = musicPermissionGroup.codes;
161
+ export const reportPermissionGroup = definePermissionGroup({
162
+ module: 'content',
163
+ resource: 'report',
164
+ label: '举报',
165
+ items: [
166
+ { action: 'view', name: '举报查看', description: '查看举报列表' },
167
+ { action: 'edit', name: '举报处理', description: '处理举报' },
168
+ ],
169
+ });
170
+ export const ReportPermissions = reportPermissionGroup.codes;
171
+ export const notificationPermissionGroup = definePermissionGroup({
172
+ module: 'content',
173
+ resource: 'notification',
174
+ label: '通知',
175
+ items: [
176
+ { action: 'view', name: '通知查看', description: '查看全站通知' },
177
+ { action: 'edit', name: '通知编辑', description: '创建、编辑、删除系统通知' },
178
+ ],
179
+ });
180
+ export const NotificationPermissions = notificationPermissionGroup.codes;
181
+ export const iconFontPermissionGroup = definePermissionGroup({
182
+ module: 'content',
183
+ resource: 'icon-font',
184
+ label: '图标字体',
185
+ items: [
186
+ { action: 'view', name: '图标字体查看', description: '查看 icon-font 项目' },
187
+ { action: 'edit', name: '图标字体编辑', description: '管理 icon-font 项目' },
188
+ ],
189
+ });
190
+ export const IconFontPermissions = iconFontPermissionGroup.codes;
191
+ export const ossPermissionGroup = definePermissionGroup({
192
+ module: 'content',
193
+ resource: 'media',
194
+ label: '对象存储媒体',
195
+ items: [
196
+ { action: 'view', name: '媒体查看', description: '浏览 OSS 存储桶文件列表' },
197
+ { action: 'edit', name: '媒体编辑', description: '删除、复制 OSS 对象' },
198
+ ],
199
+ });
200
+ export const OssPermissions = ossPermissionGroup.codes;
201
+ export const aiAgentPermissionGroup = definePermissionGroup({
202
+ module: 'ai',
203
+ resource: 'agent',
204
+ label: 'IM Agent',
205
+ items: [
206
+ { action: 'view', name: 'IM Agent 查看', description: '查看 IM Agent 列表' },
207
+ { action: 'edit', name: 'IM Agent 编辑', description: '创建、编辑、删除 IM Agent' },
208
+ ],
209
+ });
210
+ export const AiAgentPermissions = aiAgentPermissionGroup.codes;
211
+ export const aiToolCatalogPermissionGroup = definePermissionGroup({
212
+ module: 'ai',
213
+ resource: 'tool-catalog',
214
+ label: '工具目录',
215
+ items: [
216
+ { action: 'view', name: '工具目录查看', description: '查看 AI 工具目录' },
217
+ { action: 'edit', name: '工具目录编辑', description: '编辑 AI 工具目录' },
218
+ ],
219
+ });
220
+ export const AiToolCatalogPermissions = aiToolCatalogPermissionGroup.codes;
221
+ export const aiMcpCatalogPermissionGroup = definePermissionGroup({
222
+ module: 'ai',
223
+ resource: 'mcp-catalog',
224
+ label: 'MCP 目录',
225
+ items: [
226
+ { action: 'view', name: 'MCP 目录查看', description: '查看 MCP 目录' },
227
+ { action: 'edit', name: 'MCP 目录编辑', description: '编辑 MCP 目录' },
228
+ ],
229
+ });
230
+ export const AiMcpCatalogPermissions = aiMcpCatalogPermissionGroup.codes;
231
+ export const aiLlmCatalogPermissionGroup = definePermissionGroup({
232
+ module: 'ai',
233
+ resource: 'llm-catalog',
234
+ label: 'LLM 目录',
235
+ items: [
236
+ { action: 'view', name: 'LLM 目录查看', description: '查看 LLM 模型/提供商' },
237
+ { action: 'edit', name: 'LLM 目录编辑', description: '编辑 LLM 模型/提供商' },
238
+ ],
239
+ });
240
+ export const AiLlmCatalogPermissions = aiLlmCatalogPermissionGroup.codes;
241
+ export const aiSettingsPermissionGroup = definePermissionGroup({
242
+ module: 'ai',
243
+ resource: 'settings',
244
+ label: 'AI 设置',
245
+ items: [
246
+ { action: 'view', name: 'AI 设置查看', description: '查看 AI 全局设置' },
247
+ { action: 'edit', name: 'AI 设置编辑', description: '编辑 AI 全局设置' },
248
+ ],
249
+ });
250
+ export const AiSettingsPermissions = aiSettingsPermissionGroup.codes;
251
+ //# sourceMappingURL=groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../src/permissions/groups.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zcw-shared",
3
- "version": "2.22.1",
3
+ "version": "2.23.3",
4
4
  "files": [
5
5
  "references",
6
6
  "dist",
@@ -12,19 +12,6 @@
12
12
  "license": "ISC",
13
13
  "type": "module",
14
14
  "description": "",
15
- "scripts": {
16
- "build": "tsc -p tsconfig.build.json && tsx scripts/generate-exports.ts",
17
- "publish:patch": "npx tsx scripts/publish.ts patch",
18
- "publish:minor": "npx tsx scripts/publish.ts minor",
19
- "publish:major": "npx tsx scripts/publish.ts major",
20
- "publish:prerelease": "npx tsx scripts/publish.ts prerelease",
21
- "docs:dev": "vitepress dev docs",
22
- "docs:build": "NODE_OPTIONS=--max-old-space-size=4096 vitepress build docs",
23
- "docs:preview": "vitepress preview docs",
24
- "deploy:cos:build": "NODE_OPTIONS=--max-old-space-size=4096 vitepress build docs",
25
- "deploy:tcb": "npx tsx scripts/deploy-tcb.ts",
26
- "deploy:cos": "npx tsx scripts/deploy-cos.ts"
27
- },
28
15
  "dependencies": {
29
16
  "zod": "^3.23.8"
30
17
  },
@@ -122,8 +109,10 @@
122
109
  "./functions/async/promiseLimit": "./dist/functions/async/promiseLimit.js",
123
110
  "./functions/async/retryWithBackoff": "./dist/functions/async/retryWithBackoff.js",
124
111
  "./functions/auth/parseJwtPayload": "./dist/functions/auth/parseJwtPayload.js",
112
+ "./functions/auth/permissionSatisfies": "./dist/functions/auth/permissionSatisfies.js",
125
113
  "./functions/browser/detectBrowser": "./dist/functions/browser/detectBrowser.js",
126
114
  "./functions/browser/detectOS": "./dist/functions/browser/detectOS.js",
115
+ "./functions/browser/isBelowMdViewport": "./dist/functions/browser/isBelowMdViewport.js",
127
116
  "./functions/browser/isElectron": "./dist/functions/browser/isElectron.js",
128
117
  "./functions/browser/isMobile": "./dist/functions/browser/isMobile.js",
129
118
  "./functions/browser/isWeChat": "./dist/functions/browser/isWeChat.js",
@@ -379,6 +368,10 @@
379
368
  "./functions/vue/parseVueFile": "./dist/functions/vue/parseVueFile.js",
380
369
  "./functions/wechat/miniapp/downloadFile": "./dist/functions/wechat/miniapp/downloadFile.js",
381
370
  "./functions/xml/modifyXml": "./dist/functions/xml/modifyXml.js",
371
+ "./permissions/allPermissionCode": "./dist/permissions/allPermissionCode.js",
372
+ "./permissions/catalog": "./dist/permissions/catalog.js",
373
+ "./permissions/definePermissionGroup": "./dist/permissions/definePermissionGroup.js",
374
+ "./permissions/groups": "./dist/permissions/groups.js",
382
375
  "./reactive/createReactive": "./dist/reactive/createReactive.js",
383
376
  "./reactive/createReactiveErrorManager": "./dist/reactive/createReactiveErrorManager.js",
384
377
  "./reactive/createReactiveI18n": "./dist/reactive/createReactiveI18n.js",
@@ -488,5 +481,18 @@
488
481
  "./types/video": "./types/video.d.ts",
489
482
  "./types/vue": "./types/vue.d.ts",
490
483
  "./types/worker": "./types/worker.d.ts"
484
+ },
485
+ "scripts": {
486
+ "build": "tsc -p tsconfig.build.json && tsx scripts/generate-exports.ts",
487
+ "publish:patch": "npx tsx scripts/publish.ts patch",
488
+ "publish:minor": "npx tsx scripts/publish.ts minor",
489
+ "publish:major": "npx tsx scripts/publish.ts major",
490
+ "publish:prerelease": "npx tsx scripts/publish.ts prerelease",
491
+ "docs:dev": "vitepress dev docs",
492
+ "docs:build": "NODE_OPTIONS=--max-old-space-size=4096 vitepress build docs",
493
+ "docs:preview": "vitepress preview docs",
494
+ "deploy:cos:build": "NODE_OPTIONS=--max-old-space-size=4096 vitepress build docs",
495
+ "deploy:tcb": "npx tsx scripts/deploy-tcb.ts",
496
+ "deploy:cos": "npx tsx scripts/deploy-cos.ts"
491
497
  }
492
498
  }
package/types/rbac.d.ts CHANGED
@@ -6,19 +6,34 @@ export interface Role {
6
6
  createdAt: string
7
7
  }
8
8
 
9
- export interface Permission {
10
- id: string
9
+ /** 权限目录项(来自 API 代码注册表,无 DB id) */
10
+ export interface PermissionCatalogItem {
11
11
  code: string
12
12
  name: string
13
13
  module: string
14
+ groupKey: string
15
+ groupLabel: string
14
16
  description?: string
15
17
  }
16
18
 
19
+ export interface PermissionGroupCatalog {
20
+ key: string
21
+ label: string
22
+ module: string
23
+ permissions: Array<{
24
+ code: string
25
+ name: string
26
+ description?: string
27
+ }>
28
+ }
29
+
17
30
  export interface AssignUserRolesPayload {
18
31
  roleIds: string[]
19
32
  }
20
33
 
21
34
  export interface AssignRolePermissionsPayload {
22
- permissionIds: string[]
35
+ permissionCodes: string[]
23
36
  }
24
37
 
38
+ /** @deprecated 使用 PermissionCatalogItem */
39
+ export type Permission = PermissionCatalogItem