Appearance
API 参考
Matrix 提供了一系列实用的工具函数,这些函数按照功能分类组织。
安装
bash
npm install @fu/matrixCDN 引入
生产环境
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 - 检查值是否为普通对象
环境检测工具
环境检测相关的工具函数。
平台检测
- getPlatform - 获取当前平台信息
- isPC - 检测是否为PC环境
- isIPhone - 检测是否为iPhone环境
- isGPhone - 检测是否为安卓环境
- isHarmony - 检测是否为鸿蒙环境
操作系统检测
- getOS - 获取当前操作系统信息
应用环境检测
- isInThsApp - 检测是否在同花顺App中
- isInFuturesApp - 检测是否在期货App中
- isInIFindApp - 检测是否在iFind App中
- isInAInvestApp - 检测是否在爱投资App中
- isInWeixin - 检测是否在微信环境中
主题检测
BOM 工具
浏览器对象模型相关的工具函数。
Cookie 操作
- getCookie - 获取Cookie值
URL 工具
- getUrlParam - 获取URL参数
UserAgent 工具
- getFieldFromUa - 从 UserAgent 中获取指定字段的值
用户信息
- getUserId - 获取用户ID
- getUserAvatar - 获取用户头像
- getAccount - 获取用户账号
存储工具
- StorageTool - 本地存储工具类
桥接工具
客户端桥接相关的工具函数。
客户端兼容层
- ClientBridge - 统一 FinNex 与 WPF/CefSharp 的客户端桥接调用
生命周期
导航跳转
- jumpWeb - 移动端页面跳转
- goBack - 移动端返回上一页
- jumpFenshi - 移动端跳转分时图
认证
- login - 跳转客户端登录页面(纯跳转,推荐监听页面焦点或cookie变化检查登录状态)
- checkLogin - 校验登录状态,未登录则跳转登录(内网环境不触发跳转)
设计说明:从 v1.2.0 开始,登录相关函数不再使用定时器监听登录状态,以提高性能和用户体验。建议在页面焦点事件或特定业务逻辑中检查登录状态。
行情数据
- HqManager - 股票实时行情管理器
使用方式
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';