import { IBaseService } from './base'; import { ConfigType, Depends, EReplaceType } from '../types'; export interface IGlobalVarsService extends IBaseService { /** * 初始化全局变量 * @param config 配置对象 * @param reactive 响应式转换函数 */ init(config: ConfigType, reactive?: any): void; /** * 初始化页面级变量 * @param toPath 目标页面路径 */ initPageVars(toPath: string): void; /** * 获取变量值 * @param key 变量名称 * @returns 查找到的变量值(未找到则为undefined) */ getValue(key?: string): any; /** * 设置一个或多个全局变量的值 * @param key 可以是字符串类型的单个键名,或包含多组键值对的对象 * @param value 要设置的值(仅在key为字符串时使用) * @example * // 设置单个值(两种方式) * setValue('key1',value1); * setValue({'key1':value1}); * * // 设置多个值 * setValue({'key1':value1,'key2':value2}); */ setValue(key: string | Record, value?: any): void; /** * 依赖替换入口方法 * @param type 依赖类型 * @param item 待处理的项 * @returns 处理结果 */ dependReplace(type: EReplaceType, item: any): void; /** * 获取依赖项信息 * @param key 变量键名 * @returns 对应的依赖项信息(如存在) */ getDepends(key?: string): Depends | Map; }