模块说明
TechUI Core 并非一个单体的大黑盒,而是由多个职责单一、相互协作的 Rust 子模块 构成的微内核架构。
这种模块化设计确保了我们在处理复杂的图形计算、高强度加密以及实时防御时,能够保持代码的高内聚与低耦合。
因为绝大多数的模块仅仅是被Wasm内部或者TechUI组件内部调用,所以此处仅仅做粗略介绍。ENC - 加解密模块
这是系统的安全基石。它不依赖任何浏览器提供的 crypto API,而是内置了经过汇编优化的加密算法库。
- 职责:负责所有的对称与非对称加密运算。
- 应用:
- 处理
Client Key与Keychain的握手解密。 - 为开发者提供的
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以缓存临时的授权状态
- DOM 操作:如读取/锁定