Skip to content

generateLicense

生成 AG Grid 企业版许可证密钥的工具函数。

前置依赖

依赖参数

参数名类型说明
deps.MD5CryptoJS['MD5']MD5 哈希函数
deps.btoaBase64Encoder['btoa']Base64 编码函数

环境要求

  • crypto-js: 加密库,用于 MD5 哈希
  • btoa: Base64 编码函数
    • 浏览器环境:使用 window.btoa
    • Node.js 环境:使用 Buffer.from(str, 'binary').toString('base64')
bash
npm install crypto-js

函数签名

typescript
function generateLicense(deps: GenerateLicenseDeps): string

interface GenerateLicenseDeps {
  MD5: CryptoJS['MD5']
  btoa: Base64Encoder['btoa']
}

参数

参数名类型必填说明
depsGenerateLicenseDeps依赖注入对象

返回值

类型说明
stringAG Grid 许可证密钥字符串

工作原理

  1. 生成许可证数据

    • 创建包含用户信息和有效期的 JSON 对象
    • 设置较长的有效期(如 2099年)
  2. 序列化和编码

    • 将 JSON 对象序列化为字符串
    • 使用 Base64 编码
  3. 生成签名

    • 使用 MD5 哈希算法生成数据的哈希值
    • 将哈希值转换为十六进制字符串
  4. 组合许可证

    • 将 Base64 编码的数据和 MD5 签名组合
    • 使用特定分隔符连接
    • 返回最终的许可证字符串
  5. 使用方式

    • 将生成的许可证字符串配置到 AG Grid 的 licenseKey 选项