UNPKG

@pisell/pisellos

Version:

一个可扩展的前端模块化SDK框架,支持插件系统

83 lines (82 loc) 2.21 kB
import { Module, PisellCore, ModuleOptions } from '../../../types'; import { BaseModule } from '../../../modules/BaseModule'; import type { RouteDefinition } from '../../types'; import { MenuData } from './types'; /** * 餐牌模块 - 用于管理餐牌数据和根据餐牌过滤商品 */ export declare class MenuModule extends BaseModule implements Module { protected defaultName: string; protected defaultVersion: string; private request; private store; private dbManager; private logger; constructor(name?: string, version?: string); initialize(core: PisellCore, options?: ModuleOptions): Promise<void>; /** * 加载餐牌列表(从服务器) */ loadMenuList(): Promise<MenuData[]>; /** * 设置餐牌列表 */ setMenuList(menuList: MenuData[]): Promise<void>; /** * 获取餐牌列表 */ getMenuList(): MenuData[]; /** * 根据 form_record_id 数组获取餐牌详情 * 使用 Map 快速查询,时间复杂度 O(m),m 为 ids 数量 */ getMenuByIds(ids: number[]): MenuData[]; /** * 同步更新餐牌 Map 缓存 * 将 menuList 中的餐牌同步到 map,以 form_record_id 为 key * @private */ private syncMenuMap; /** * 清空缓存 */ clear(): Promise<void>; /** * 从 IndexDB 加载餐牌数据 * @private */ private loadMenuFromIndexDB; /** * 保存餐牌数据到 IndexDB * @private */ private saveMenuToIndexDB; /** * 预加载模块数据(统一接口) * 在模块注册后自动调用 */ preload(): Promise<void>; /** * 获取模块的路由定义 * 返回该模块需要注册的 API 路由 */ getRoutes(): RouteDefinition[]; /** * 记录信息日志 * @param title 日志标题 * @param metadata 日志元数据 */ private logInfo; /** * 记录警告日志 * @param title 日志标题 * @param metadata 日志元数据 */ private logWarning; /** * 记录错误日志 * @param title 日志标题 * @param metadata 日志元数据 */ private logError; }