/* * @Description: 公共组件设置 * @FilePath: \erp-basic-web\packages\ui\share-ui\src\context.ts * @Author: freud * @Date: 2023-07-11 09:16:30 * @LastEditTime: 2023-08-03 15:33:48 * @LastEditors: freud * @Reference: */ import { type ComponentSetting, componentSetting, PageEnum, RoleEnum } from '@eciol/shared'; import { AnyNormalFunction } from '@eciol/types'; interface ContextOptions { componentSetting: ComponentSetting; usePermission: AnyNormalFunction< any, { hasPermission: (value?: RoleEnum | RoleEnum[] | string | string[], def?: boolean) => boolean } >; PageEnum?: typeof PageEnum; useAppStore: AnyNormalFunction; } let context: ContextOptions = { componentSetting, usePermission: () => ({ hasPermission: () => true }), PageEnum, useAppStore: () => ({}), }; const initSharedComponentSetting = (func: AnyNormalFunction) => { context = func(); }; export { context, initSharedComponentSetting };