Skip to content

功能函数

功能函数(Functional Utilities)是一组纯逻辑或辅助性工具,用于在 JS 中快速访问系统底层能力,如主题切换、加密存储、路由操作等。

请跳转查看完整文档

全局功能函数完整文档,请点击查阅 全局服务-函数 章节

调用方式

与组件函数一致,推荐在 setup 中通过 inject 获取。

javascript
import { inject } from 'vue';

const { 
  $tc, 
  i18n, 
  updateRouteQuery, 
  openEnc 
} = inject("$global");

主题与视觉

用于管理应用的主题色、背景以及界面布局状态。

$tc (Get Theme Color)

获取当前主题调色板中的颜色值。

  • 参数:
    • str (String): 颜色路径,例如 'primary.main''background.level1'
    • cpt (Boolean): 是否返回 Vue 计算属性 (ComputedRef)。默认为 false (返回静态值)。
  • 返回: 颜色字符串 (Hex/Rgba) 或 Ref 对象。
    • 示例:
    javascript
    const mainColor = $tc('primary.main');

themeToggle

切换整个应用的主题预设。

  • 参数: themeName (String) - 必须是已注册的主题名称(如 'darkBlue', 'techLight')。

背景控制

  • initBG(config): 初始化或更新全局背景。config 支持传入 { graphicType: 'SvgPattern', ... } 等详细配置。
  • resetBG(): 移除当前背景样式,重置为默认。

界面开关

  • controlPanelToggle(): 切换右侧控制面板(设置面板)的展开/收起状态。
  • maximizeToggle(): 切换当前视图内容区的“最大化”状态(隐藏侧边栏和顶栏)。
  • toggleSider(): 切换左侧菜单栏的折叠/展开状态。

国际化

处理多语言逻辑。

i18n

获取指定键名的翻译文本。

  • 参数: str (String) - 语言路径,如 'common.submit'
  • 返回: 翻译后的字符串。

getSysLang

获取当前系统激活的语言代码。

  • 返回: 'cn' (简中) | 'hk' (繁中) | 'en' (英文)。

initI18n

异步初始化国际化系统,通常在 App 启动时调用。

tConsolei18n

在控制台输出带有国际化键名的日志(用于调试)。

  • 参数: type (日志级别), name (模块名), msg (i18n键), thro (是否节流)。

路由与页面

不依赖 vue-router 实例的快捷操作。

updateRouteQuery

无刷新更新 URL 的 Query 参数。

  • 参数: query (Object) - 需要合并的参数对象。
  • 示例: updateRouteQuery({ tab: 'settings', id: 1024 })

getRouteQuery

获取当前 URL 的 Query 参数。

  • 参数: key (String, 可选) - 指定参数名。不传则返回整个 Query 对象。

routerTransition

配置路由跳转时的过渡动画。

  • 参数: config (Object) - 例如 { name: 'vt-slide-left', duration: 0.5 }

页面重载

  • softReload(): 软重载。通过 v-if 销毁并重建根组件 TuiProvider。页面不会白屏刷新,且保留 Vuex/Pinia 中的状态。
  • hardReload(): 硬重载。调用 location.reload(),相当于 F5 刷新,状态会丢失。

安全与存储

提供基于 WASM 的加密能力和安全的本地存储。

加解密 (WASM)

  • openEnc(data, params): 加密函数。将任意数据加密为字符串。
  • openDec(encryptedData, params): 解密函数。还原加密字符串。

tStoreCrypto (加密存储)

localStoragesessionStorage 的封装,存入的数据会自动加密。

  • 方法:
  • tStoreCrypto.s(type, key, data): Savetype'local''session'
  • tStoreCrypto.g(type, key): Get。读取并解密数据。
  • tStoreCrypto.d(type, key): Delete。删除数据。

系统配置

加载动画配置

  • initSpinner(config): 配置全局 $tLoading 的默认样式。可分别配置全屏 (full) 和局部 (area) 的 Spinner 类型与尺寸。

自适应配置

  • initResizeBy(): 获取自适应基准的计算函数。通常用于高级的 DOM 尺寸监听逻辑。
  • resetAdaptiveConfig(): 重置自适应适配器的所有状态。

功能特性标识 (Feature Flags)

只读属性,用于判断当前环境启用了哪些模块。

  • isActAdvFeatures: 高级组件模块
  • isActEchartsFeatures: 图表模块
  • isActAdminFeatures: 后台管理模块

事件总线

$tBus

注意:已不推荐使用。建议优先使用 provide/inject 或全局状态管理。 全局事件发射器,包含 emit, on, off 方法。