Skip to content

模块说明

TechUI Core 并非一个单体的大黑盒,而是由多个职责单一、相互协作的 Rust 子模块 构成的微内核架构。

这种模块化设计确保了我们在处理复杂的图形计算、高强度加密以及实时防御时,能够保持代码的高内聚与低耦合。

因为绝大多数的模块仅仅是被Wasm内部或者TechUI组件内部调用,所以此处仅仅做粗略介绍。

ENC - 加解密模块

这是系统的安全基石。它不依赖任何浏览器提供的 crypto API,而是内置了经过汇编优化的加密算法库。

  • 职责:负责所有的对称与非对称加密运算。
  • 应用
    • 处理 Client KeyKeychain 的握手解密。
    • 为开发者提供的 md5Enc / openEnc 等开放加密套件。
    • 解密静态资源字符串。

VALID - 验证模块

如果说 ENC 是“翻译官”(负责解密),VALID 就是“签证官”。

  • 职责:负责核心业务规则的判定。它接收 ENC 模块解密后的原始数据,结合环境参数输出 True/False 的最终授权结果。
  • 应用
    • 校验许可证是否过期。
    • 比对 许可证中的项目名称 是否与浏览器当前页面标题document.title匹配。
    • 验证当前域名是否在白名单内。
    • 更多...不一一介绍

TEMPLATE - UI 生成引擎

这是 TechUI “混合渲染策略”中动态拓扑的核心。

  • 职责
    • 基于数学公式实时计算动态组件的 SVG 路径数据(ScifiGeometry)。
    • 动态SVG节点计算(ScifiPanel、ScifiHeader、ScifiButton 等...)。
    • 静态SVG资源管理和返回(ScifiDeco、全局矢量背景、动态Laoding图形)。
  • 特性:不同于静态图片,它生成的每一个倒角、斜切和透视结构都是经过实时几何解算的,确保在任意分辨率下的锐利度。
  • 归属组件:所有的TechUI中的SVG组件均由该模块驱动。

STR - 字符

字符串处理工具

  • 职责:负责高效处理 Wasm 线性内存与 JS 宿主环境之间的字符串交互。
  • 零拷贝处理:优化字符串在 WASM/JS 边界的传递性能,减少内存抖动。
  • 归属功能:所有设计字符串处理的功能,如加解密,项目名称,甚至Wasm内置多语言等。

CALC - 高级计算内核

注:这是服务于高级组件的隐式模块。

  • 职责:处理高负载的数学物理运算。
  • 应用
    • 3D 面板计算:为 3D 面板变形参数的计算逻辑。
    • 复杂图表路径:计算 3D 柱状图、饼图的贝塞尔曲线路径(如 Bar3D, Pie3D 计算)。
    • 自适应布局:自适应面板的核心算法,用于计算复杂容器内的自适应缩放比。

TIMER - 调度与值守

独立于 JS 主线程的时间管理单元。

  • 职责:提供高精度的时间基准,不受浏览器 UI 线程阻塞(Long Task)的影响。
  • 应用
    • 防篡改轮询:定时触发 Guard 的自检逻辑。
    • 版权信息闪现:高级组件触发的偶尔的系统标题显示的授权信息。
    • 体验倒计时:管理试用版 Key 的生命周期。

INFO - 信息与多语言

负责 Core 模块的对外表达。

  • 职责:管理 Wasm 内部的状态输出与国际化文案。
  • 应用
    • 根据当前语言设置(CN/EN),返回准确的授权错误提示或熔断告警信息。
    • 向控制台输出 tuiCoreInfo 等调试诊断数据。

TOOL - 工具函数

供Wasm内部调用的系列工具函数,同时也连接 Wasm 隔离环境与 Browser 宿主环境的桥梁

  • 职责:或wasm组件内部的工具函数,安全地操作浏览器 API
  • 应用
    • DOM 操作:如读取/锁定 document.title,注入防篡改签名节点。
    • 持久化存储:读写 SessionStorage 以缓存临时的授权状态