演示

内置服务

来自 @quan-erp/shared-backend-core 的核心服务,插件通过依赖注入复用。优先使用它们,而不是自行实现用户、合作方、文件、设置与通知。

如何注入

在类属性上使用 @Inject(ServiceClass, ContainerRegistryManager.BUILTIN_PLUGIN),从核心/内置容器解析服务,而不是插件本地 DI。不支持构造函数注入。

TSXinject
1import { 2 Service, 3 Inject, 4 ContainerRegistryManager, 5 UserService, 6 NotificationService, 7} from "@quan-erp/shared-backend-core"; 8 9@Service() 10export class MyPluginService { 11 @Inject(UserService, ContainerRegistryManager.BUILTIN_PLUGIN) 12 private userService: UserService; 13 14 @Inject(NotificationService, ContainerRegistryManager.BUILTIN_PLUGIN) 15 private notificationService: NotificationService; 16}

目录

每个页面都记录了公开类方法(签名、参数与示例)。打开具体服务查看完整 API。

  • PartnerService — 客户 / 供应商(getPartner、create、update 等)
  • UserService — 用户、登录、令牌、设备
  • NotificationService — send、inbox、markRead
  • FileService — addFile、findFile、预签名 URL
  • SettingService — 类型化设置的 get / set
  • BranchService — 分支与 markDefault
  • CurrencyService / CurrencyExchangeService — 货币与汇率
  • DeveloperConfigService — 公开/私有插件配置(非通用 get)
  • ChangeLogService — 按 plugin + reference 的活动动态(addChangeLog、getChangeLogs、reactions)
  • CronJobService — Redis 定时任务(见 Cron job)

规则

  • 注入核心服务时,第二个 @Inject 参数必须是 ContainerRegistryManager.BUILTIN_PLUGIN
  • 从 @quan-erp/shared-backend-core 导入服务类
  • 不要复制内置表,也不要在插件中重复包装相同 API,除非在扩展行为