Skip to content

Scifi 组件库授权

@techui/scifi 是 TechUI 系列中的视觉核心库,专注于基于 SVG 的动态节点渲染与科幻风格 UI 组件。

Scifi 被定义为免费组件库。它包含的数十种科幻面板、按钮、装饰器及几何容器均可免费用于个人或商业项目。授权仅作为一种“增值选项”,用于解锁特定的 6 个高级组件及去除调试工具中的免费版提示。

免费优先

TechUI Scifi 采用“核心免费 + 高级增值”的策略:

  • 核心组件永久免费。包含 ScifiPanelScifiButtonScifiDeco 等 所有的SVG UI 组件。
  • 高级组件限时体验。仅有 6 个特定高级组件(如 3D 图表、系统告警)需要授权解锁,未授权状态下仅支持 10 分钟体验。

体验到期提示

当体验到期后,重新刷新浏览器,即可再次进入体验模式,体验模式可无限刷新续时。

许可证说明

Scifi 组件库默认处于免费模式,您可以通过传入许可证密钥来升级为授权模式。

免费模式 (Free Mode) - 默认

只要您不传入 license 参数,或传入的密钥无效,组件库将自动运行在免费模式。

  • 有效期永久有效
  • 可用范围
    • 全量基础组件:所有的面板、按钮、装饰器、几何图形均可无限制使用。
    • 高级组件:若开启了 features,将进入 10 分钟体验模式
  • 合规标识
    • 控制台:输出 "TechUI Scifi vX.X 目前为免费版"。
    • HTML 节点:HTML <body> 尾部会保留包含版权声明的注释节点。
    • 无水印:界面上不会覆盖任何可见水印,不影响视觉呈现。
  • 限制
    • 不可移除标识:Wasm 守卫会实时监测 HTML 尾部注释和控制台日志。一旦检测到通过脚本移除或篡改这些信息的行为,将直接触发 拒绝服务(停止渲染或冻结 UI)。

授权模式 (Authorized Mode)

通过获取并配置许可证(轻许可),您可以解锁全部权益。

  • 权益升级
    • 高级组件解锁:解除上述 6 个高级组件的 10 分钟限制,永久稳定运行。
    • 品牌标识升级:移除调试工具中的“免费版”提示,HTML 尾部和控制台铭牌将显示 “授权给 [您的公司/项目]”,彰显正版身份。
    • 技术支持:获得官方团队的技术咨询服务。

许可证类型

即使是付费授权,我们也提供了灵活的方案以适应不同的业务需求。

商业许可证 (Commerce License)

  • 适用对象:软件开发商、技术供应商或外包团队。
  • 权益
    • 母许可权限:除了自身拥有永久的使用权外,最核心的是拥有 分发权
    • 子许可生成:在订阅期内,您可以根据合同约定,生成并颁发二级子许可(公司许可证、项目许可证、开发许可证)给您的最终客户。
    • 技术支持:包含全周期的技术支持服务。
  • 限制:采用 按年订阅 模式。订阅过期后无法生成新的子许可,但此前已颁发给客户的许可和开发商自身的使用权永久有效,不受影响。

公司许可证 (Company License)

  • 适用对象:最终用户企业(甲方)。
  • 权益永久有效。授权绑定至特定的企业主体名称。
  • 范围:该企业可以在其内部的任意数量的项目、系统中使用 Scifi 组件库,无项目数量限制。
  • 特征:在触发验证逻辑时(小概率),浏览器标签标题 document.title 可能会短暂闪现公司名称(约 3 秒),用于证明软件归属权。

项目许可证 (Project License)

  • 适用对象:特定的业务系统或单一项目。
  • 权益永久有效。授权严格绑定至特定的项目名称。
  • 限制:仅限在授权的系统中使用,系统名称不支持宽泛定义。
  • 特征:浏览器标签标题 document.title 将被 永久锁定 为授权的项目名称,且不可通过脚本修改。

开发许可证 (Development License)

  • 适用对象:针对取得商业授权的用户,售前演示 (Demo)、内部短期开发验证、临时测试环境。
  • 权益限时有效(通常为 1 个月)。功能与正式版完全一致,包含所有高级组件功能。
  • 限制:到期后自动失效,需要重新申请或升级为正式许可。
  • 特征:控制台会明确提示过期时间。

许可证类别

TechUI许可证类别分为:

  • 重许可轻许可:双向联合解密,客户端密钥+Npm钥匙串。
  • 轻许可:单一密钥串,客户端密钥。

Scifi 组件库采用轻许可,单向验证机制。其核心 Wasm 模块直接对传入的许可证字符串进行解密与校验,确保系统的轻量化部署。

便捷性:无需引入额外的密钥包,配置简单。 兼容性:支持免费模式,未检测到有效许可时自动切换至免费版状态。

安装与配置

Scifi 的初始化非常简洁。如果您仅使用免费功能,甚至可以忽略 license 参数。

步骤 A: 安装依赖

bash
npm install @techui/scifi

步骤 B: 初始化代码

javascript
import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
import store from './store';

// 1. 引入 Scifi 核心
import TechUIInit from "@techui/scifi";

// 2. 引入您的许可证文件 
// (提示:如果您计划长期使用免费版,可以不创建此文件)
import { license, subLicense } from "./utils/license.js";

const app = createApp(App);

// 3. 构建配置参数
const params = {
  app,
  
  // --- 授权参数 (可选) ---
  // 留空即为免费模式,可永久使用核心组件
  license,        // 许可证字符串
  subLicense,     // 子许可证字符串 (由商业许可持有者发放)
  
  debug: true,    // 建议在开发阶段开启
  
  // --- 功能特性开关 ---
  // 注意:开启以下高级特性在免费模式下仅能运行 10 分钟
  // 若您不需要这些组件,建议设为 false 或不传
  features: {
    echarts: true,   // 开启 TuiEcharts 相关组件
    advanced: true   // 开启 3D核心、MGS效果及PanicAlert
  }
};

// 4. 初始化
TechUIInit(params).then(() => {
  app.use(router);
  app.use(store);
  app.mount('#app');
}).catch(err => {
  console.error("TechUI Scifi Initialization Failed:", err);
});

授权反馈

初始化完成后,控制台将告知当前的运行状态:

  • 免费状态
    • TechUI Scifi v0.1 目前为免费版
    • (若开启了 features) [Warn] 检测到已启用高级组件,进入体验模式,限时体验10分钟。
  • 授权状态
    • TechUI Scifi v0.1
    • 授权给 [您的公司/项目] | 永久有效 | 商业许可证