Files
gao-customer-h5/src/utils/permission.ts
T
2026-09-03 14:27:40 +08:00

232 lines
6.2 KiB
TypeScript

export const permissionCodes = {
store: {
create: "GAO:STORE:CREATE",
read: "GAO:STORE:READ",
export: "GAO:STORE:EXPORT",
update: "GAO:STORE:UPDATE",
delete: "GAO:STORE:DELETE"
},
storeDiary: {
create: "GAO:STORE_DIARY:CREATE",
read: "GAO:STORE_DIARY:READ",
update: "GAO:STORE_DIARY:UPDATE",
delete: "GAO:STORE_DIARY:DELETE"
},
customer: {
create: "GAO:CUSTOMER:CREATE",
read: "GAO:CUSTOMER:READ",
export: "GAO:CUSTOMER:EXPORT",
update: "GAO:CUSTOMER:UPDATE",
delete: "GAO:CUSTOMER:DELETE"
},
event: {
create: "GAO:EVENT:CREATE",
read: "GAO:EVENT:READ",
update: "GAO:EVENT:UPDATE",
delete: "GAO:EVENT:DELETE"
},
eventRecord: {
create: "GAO:EVENT_RECORD:CREATE",
read: "GAO:EVENT_RECORD:READ",
verify: "GAO:EVENT_RECORD:VERIFY",
export: "GAO:EVENT_RECORD:EXPORT",
update: "GAO:EVENT_RECORD:UPDATE",
delete: "GAO:EVENT_RECORD:DELETE"
},
point: {
accountRead: "GAO:POINT_ACCOUNT:READ",
ledgerRead: "GAO:POINT_LEDGER:READ",
adjust: "GAO:POINT:ADJUST",
sourceValue: "GAO:POINT:SOURCE_VALUE"
},
pointRule: {
create: "GAO:POINT_RULE:CREATE",
read: "GAO:POINT_RULE:READ",
update: "GAO:POINT_RULE:UPDATE",
delete: "GAO:POINT_RULE:DELETE"
},
productCategory: {
create: "GAO:PRODUCT_CATEGORY:CREATE",
read: "GAO:PRODUCT_CATEGORY:READ",
update: "GAO:PRODUCT_CATEGORY:UPDATE"
},
product: {
create: "GAO:PRODUCT:CREATE",
read: "GAO:PRODUCT:READ",
update: "GAO:PRODUCT:UPDATE"
},
productStock: {
create: "GAO:PRODUCT_STOCK:CREATE",
read: "GAO:PRODUCT_STOCK:READ"
},
packageConfig: {
create: "GAO:PACKAGE_CONFIG:CREATE",
read: "GAO:PACKAGE_CONFIG:READ",
update: "GAO:PACKAGE_CONFIG:UPDATE",
delete: "GAO:PACKAGE_CONFIG:DELETE"
},
customerPackage: {
create: "GAO:CUSTOMER_PACKAGE:CREATE",
read: "GAO:CUSTOMER_PACKAGE:READ",
cancel: "GAO:CUSTOMER_PACKAGE:CANCEL",
priceOverride: "GAO:CUSTOMER_PACKAGE:PRICE_OVERRIDE"
},
salesOrder: {
create: "GAO:SALES_ORDER:CREATE",
read: "GAO:SALES_ORDER:READ",
cancel: "GAO:SALES_ORDER:CANCEL",
priceOverride: "GAO:SALES_ORDER:PRICE_OVERRIDE"
},
orderFulfillment: {
create: "GAO:ORDER_FULFILLMENT:CREATE",
read: "GAO:ORDER_FULFILLMENT:READ",
verify: "GAO:ORDER_FULFILLMENT:VERIFY",
revoke: "GAO:ORDER_FULFILLMENT:REVOKE"
},
fundReceive: {
create: "GAO:FUND_RECEIVE:CREATE",
verify: "GAO:FUND_RECEIVE:VERIFY"
},
fundRecord: {
read: "GAO:FUND_RECORD:READ"
},
fund: {
refund: "GAO:FUND:REFUND",
revoke: "GAO:FUND:REVOKE"
},
stat: {
read: "GAO:STAT:READ"
},
user: {
create: "GAO:USER:CREATE",
read: "GAO:USER:READ",
update: "GAO:USER:UPDATE",
delete: "GAO:USER:DELETE"
},
qrCode: {
create: "GAO:QR_CODE:CREATE"
}
} as const;
export const corePermissionCodes = {
role: {
create: "CORE:ROLE:CREATE",
read: "CORE:ROLE:READ",
update: "CORE:ROLE:UPDATE",
delete: "CORE:ROLE:DELETE"
},
permission: {
create: "CORE:PERMISSION:CREATE",
read: "CORE:PERMISSION:READ",
update: "CORE:PERMISSION:UPDATE",
delete: "CORE:PERMISSION:DELETE"
},
rolePermission: {
create: "CORE:ROLE_PERMISSION:CREATE",
read: "CORE:ROLE_PERMISSION:READ",
delete: "CORE:ROLE_PERMISSION:DELETE"
},
rolePermissionInherit: {
create: "CORE:ROLE_PERMISSION_INHERIT:CREATE",
read: "CORE:ROLE_PERMISSION_INHERIT:READ",
delete: "CORE:ROLE_PERMISSION_INHERIT:DELETE"
},
tag: {
create: "CORE:TAG:CREATE",
read: "CORE:TAG:READ",
apply: "CORE:TAG:APPLY",
update: "CORE:TAG:UPDATE",
delete: "CORE:TAG:DELETE"
},
userRole: {
create: "CORE:USER_ROLE:CREATE",
read: "CORE:USER_ROLE:READ",
delete: "CORE:USER_ROLE:DELETE"
},
notify: {
create: "CORE:NOTIFY:CREATE",
read: "CORE:NOTIFY:READ",
delete: "CORE:NOTIFY:DELETE",
cancel: "CORE:NOTIFY:CANCEL"
}
} as const;
export const coreRoleCodes = {
admin: "CORE:ADMIN"
} as const;
export const gaoRoleCodes = {
globalManager: "GAO:GLOBAL_MANAGER",
storeManager: "GAO:STORE_MANAGER"
} as const;
/** 需要读取登录用户所属门店的业务权限。 */
export const gaoStoreScopePermissionCodes = [
permissionCodes.customer.create,
permissionCodes.customer.read,
permissionCodes.customer.export,
permissionCodes.customer.update,
permissionCodes.customer.delete,
permissionCodes.storeDiary.create,
permissionCodes.storeDiary.read,
permissionCodes.storeDiary.update,
permissionCodes.storeDiary.delete,
permissionCodes.event.create,
permissionCodes.event.read,
permissionCodes.event.update,
permissionCodes.event.delete,
permissionCodes.eventRecord.create,
permissionCodes.eventRecord.read,
permissionCodes.eventRecord.verify,
permissionCodes.eventRecord.export,
permissionCodes.eventRecord.update,
permissionCodes.eventRecord.delete,
permissionCodes.point.accountRead,
permissionCodes.point.ledgerRead,
permissionCodes.point.adjust,
permissionCodes.point.sourceValue,
permissionCodes.pointRule.create,
permissionCodes.pointRule.read,
permissionCodes.pointRule.update,
permissionCodes.pointRule.delete,
permissionCodes.productCategory.create,
permissionCodes.productCategory.read,
permissionCodes.productCategory.update,
permissionCodes.product.create,
permissionCodes.product.read,
permissionCodes.product.update,
permissionCodes.productStock.create,
permissionCodes.productStock.read,
permissionCodes.packageConfig.create,
permissionCodes.packageConfig.read,
permissionCodes.packageConfig.update,
permissionCodes.packageConfig.delete,
permissionCodes.customerPackage.create,
permissionCodes.customerPackage.read,
permissionCodes.customerPackage.cancel,
permissionCodes.customerPackage.priceOverride,
permissionCodes.salesOrder.create,
permissionCodes.salesOrder.read,
permissionCodes.salesOrder.cancel,
permissionCodes.salesOrder.priceOverride,
permissionCodes.orderFulfillment.create,
permissionCodes.orderFulfillment.read,
permissionCodes.orderFulfillment.verify,
permissionCodes.orderFulfillment.revoke,
permissionCodes.fundReceive.create,
permissionCodes.fundReceive.verify,
permissionCodes.fundRecord.read,
permissionCodes.fund.refund,
permissionCodes.fund.revoke,
permissionCodes.stat.read,
permissionCodes.user.create,
permissionCodes.user.read,
permissionCodes.user.update,
permissionCodes.user.delete,
permissionCodes.qrCode.create
];
export type PermissionCodes = typeof permissionCodes;
export type CorePermissionCodes = typeof corePermissionCodes;