Skip to content

API 参考

Matrix 提供了一系列实用的工具函数,这些函数按照功能分类组织。

安装

bash
npm install @fu/matrix

CDN 引入

生产环境

html
<!-- 最新版本 (推荐) -->
<script src="https://s.thsi.cn/cd/futures-matrix-frontend/lib/matrix-latest.min.js"></script>

<!-- 特定版本 (推荐) -->
<script src="https://s.thsi.cn/cd/futures-matrix-frontend/lib/matrix-1.0.7.js"></script>

<!-- 未压缩版本 (开发调试用) -->
<script src="https://s.thsi.cn/cd/futures-matrix-frontend/lib/matrix-latest.js"></script>

测试环境

html
<!-- 最新版本 (推荐) -->
<script src="https://futures-test.10jqka.com.cn/matrix/lib/matrix-latest.min.js"></script>

<!-- 特定版本 (推荐) -->
<script src="https://futures-test.10jqka.com.cn/matrix/lib/matrix-1.0.7.js"></script>

<!-- 未压缩版本 (开发调试用) -->
<script src="https://futures-test.10jqka.com.cn/matrix/lib/matrix-latest.js"></script>

基础工具

字符串工具

字符串处理相关的工具函数。

性能工具

性能优化相关的工具函数。

类型检查工具

类型检查相关的工具函数。

  • isEmpty - 检查给定的值是否为空(空字符串、空数组、空对象、空 Map/Set、类数组对象、原始值)
  • isInvalid - 检查值是否为无效内容(null、undefined、NaN、空字符串或只包含空格的字符串)
  • isNonEmptyArray - 检查值是否为非空数组
  • isPlainObject - 检查值是否为普通对象

环境检测工具

环境检测相关的工具函数。

平台检测

操作系统检测

  • getOS - 获取当前操作系统信息

应用环境检测

主题检测

  • isDark - 检测当前是否为暗色主题
  • initTheme - 初始化主题,自动为文档根元素添加主题类名

BOM 工具

浏览器对象模型相关的工具函数。

URL 工具

UserAgent 工具

用户信息

存储工具

桥接工具

客户端桥接相关的工具函数。

客户端兼容层

  • ClientBridge - 统一 FinNex 与 WPF/CefSharp 的客户端桥接调用

生命周期

  • onShow - 页面显示生命周期事件
  • onHide - 页面隐藏生命周期事件

导航跳转

认证

  • login - 跳转客户端登录页面(纯跳转,推荐监听页面焦点或cookie变化检查登录状态)
  • checkLogin - 校验登录状态,未登录则跳转登录(内网环境不触发跳转)

设计说明:从 v1.2.0 开始,登录相关函数不再使用定时器监听登录状态,以提高性能和用户体验。建议在页面焦点事件或特定业务逻辑中检查登录状态。

行情数据

使用方式

typescript
// ESM
import { convertToCamelCase, isEmpty, debounce } from '@fu/matrix';

// CommonJS
const { convertToCamelCase, isEmpty, debounce } = require('@fu/matrix');

// 浏览器 UMD
const { convertToCamelCase, isEmpty, debounce } = window.fuMatrix;

关于数组操作

Matrix 不提供数组操作函数的包装,建议直接使用原生方法:

typescript
// 推荐:直接使用原生方法
const filtered = [1, 2, 3, 4].filter(x => x > 2);
const found = [1, 2, 3, 4].find(x => x > 2);
const index = [1, 2, 3, 4].findIndex(x => x > 2);

// 其他常用数组方法
const mapped = [1, 2, 3].map(x => x * 2);
const reduced = [1, 2, 3].reduce((sum, x) => sum + x, 0);
const some = [1, 2, 3].some(x => x > 2);
const every = [1, 2, 3].every(x => x > 0);

类型定义

如果你使用 TypeScript,所有的函数都提供了完整的类型定义:

typescript
import type { 
  // 基础类型
  Platform,
  
  // 存储工具类型
  StorageOptions,
  
  // 其他类型...
} from '@fu/matrix';