错误代码 Error Codes
当 TechUI 的 守卫 (Guard) 检测到异常时,会根据错误的严重程度触发控制台警告或全屏熔断。
在熔断界面或通过 tuiCoreInfo() 查询到的 VALIDSTATUS 对象中,您会看到具体的错误状态键名(Key)。当某个键的值为 false 时,表示该项检查未通过。
以下是所有错误代码的含义及排查方案。
授权与时效
此类错误通常与许可证的有效期、版本或试用限制有关。
| 错误代码 (Code) | 含义 (Meaning) | 排查方案 (Solution) |
|---|---|---|
| dateValid | 主许可已过期。当前系统时间超过了许可证设定的 expDate。 | 请联系商务续费,获取新的 License String。 |
| subLicDateValid | 子许可证已过期。商业许可分发给最终客户的开发许可已到期。 | 请为该客户生成新的子许可字符串。 |
| tempKey | 体验时长耗尽。在免费版/试用版中启用了高级组件,10分钟倒计时结束。 | 刷新页面可重置计时,或购买正式授权以解除限制。 |
| version | 版本不兼容。当前组件库版本(如 v1.5)高于许可证绑定的版本约束(如 v1.0)。 | 1. 升级许可证以支持新版本;2. 降级组件库至许可证支持的范围。 |
环境与绑定
此类错误由运行环境与许可证配置不匹配触发。
| 错误代码 (Code) | 含义 (Meaning) | 排查方案 (Solution) |
|---|---|---|
| domainName | 域名校验失败。当前 hostname 不在许可证的白名单内。 | 检查是否在错误的域名下部署,或联系客服增加域名白名单。 |
| project | 项目名称不匹配。许可证开启了 projectBind,但 document.title 未包含指定项目名。 | 修改 HTML 的 <title> 标签,使其包含许可证中指定的项目名称。 |
| deployLocation | 部署位置违规。许可证限制为 localOnly(内网专用),但检测到公网环境。 | 请确保仅在内网 IP 或私有云环境部署,或升级为通用商业许可。 |
| platform | 平台类型错误。许可证为TechUI Prime组件库,但运行在 TechUI Sass(或反之)。 | 请确认下载的组件库版本与购买的授权平台类型一致。 |
完整性与防篡改
此类错误表示系统检测到了潜在的攻击或环境破坏行为。
| 错误代码 (Code) | 含义 (Meaning) | 排查方案 (Solution) |
|---|---|---|
| nativeMethods | 原生方法被篡改。浏览器核心 API(如 console.info, Date, setTimeout)被第三方脚本 Hook 或修改。 | 1. 关闭可能干扰的浏览器插件(如去广告、脚本注入插件);2. 检查项目中引入的第三方监控 SDK 是否重写了原生对象。 |
| comment | 签名节点丢失。HTML 尾部的 TechUI 授权注释被移除。 | 请勿使用JS脚本移除 HTML 注释,这是正版授权的标识。 |
| webSys | 宿主环境异常。Wasm 无法正确访问 window 或 document 对象,环境可能受限。 | 检查是否运行在不支持 Wasm 的过旧浏览器或非标准的 WebView 中。 |
| icoreStr | 核心完整性受损。Wasm 内部的核心字符串常量被非法修改。 | 这是一个严重错误,通常意味着内存被调试器修改。请刷新页面重试。 |
| component | 组件验证失败。检测组件被篡改。 | 通常为恶意修改代码所致。 |
解析与格式
此类错误通常意味着输入的 License 字符串本身已损坏。
| 错误代码 (Code) | 含义 (Meaning) | 排查方案 (Solution) |
|---|---|---|
| license | 主许可解析失败。License 字符串格式错误、被截断或签名校验未通过。 | 重新复制邮件中的完整 License 字符串,确保没有多余空格。 |
| subLicense | 子许可解析失败。商业许可中的子授权段落格式错误。 | 检查生成的子许可配置是否正确。 |
Prime 旗舰版专属
仅在使用 @techui/prime 旗舰版时会出现以下错误。
| 错误代码 (Code) | 含义 (Meaning) | 排查方案 (Solution) |
|---|---|---|
| licenseKey | 许可证密钥未找到 | 请检查许可证密钥是否传入。 |
| licenseDec | 许可证密钥解析错误 | 请检查许可证密钥是否正确。 |
| keychain | 钥匙串缺失。未检测到 @techui/prime-keychain 依赖包。 | 请执行 npm install @techui/prime-keychain 并确保正确引入。 |
| keyInChain | 钥匙串中无对应密钥。传入的 keychain 为空或无此许可证的对应key。 | 检查初始化代码中的 keychain 传参。 |
| configParams | 配置解密失败。Client Key 与 Keychain 无法配对解密配置参数。 | 确保 Client Key 与安装的 Keychain 版本是匹配的。 |
| licCfgParams | 配置密钥中参数错误 | 检查许可证配置参数是否和许可证密钥中的参数匹配。 |
| environment | 生产环境限制。检测到 NODE_ENV=production,但当前处于未授权的体验模式。 | Prime 版严禁在未授权状态下打包上线。请配置正式 License 后再构建生产包。 |
💡 快速定位
在开发控制台输入 tuiCoreInfo(),查看 VALIDSTATUS 对象。值为 false 的项即为导致熔断的具体原因。