Skip to content

授权与激活

RayChart 可以免费使用。未激活授权时,图表右下角会显示水印;获取激活码并激活后,水印自动移除。

获取激活码

关注微信公众号 RayChart,回复关键词 Raychart,即可获取激活码(终身授权,¥99)。

激活码在签发时绑定了你的网站域名(可绑定多个域名或通配子域),请在正式部署的域名下使用。本地开发(localhost / 127.0.0.1)无需激活,自动豁免。

激活授权

两种方式任选其一:

方式一:调用 RayChart.activate(推荐)

ts
import RayChart from 'raychart';

// 激活码可硬编码,也可来自后端接口
const ok = await RayChart.activate('你的激活码')
if (ok) {
  console.log('激活成功')
} else {
  console.log('激活失败,请检查激活码与当前域名')
}

方式二:环境变量注入(构建期)

ts
// 部署时注入环境变量:VITE_RAYCHART_LICENSE=激活码
import { licenseManager } from 'raychart'

const code = import.meta.env.VITE_RAYCHART_LICENSE
if (code) {
  await licenseManager.activate(code)
}

查看授权状态

ts
import { licenseManager } from 'raychart'

console.log(licenseManager.state)  // 'valid' | 'trial' | 'invalid' | 'uninitialized'
console.log(licenseManager.reason) // 未生效时的原因,如 'no-code' / 'expired' / 'host-mismatch'

// 订阅状态变化(如用于页面提示)
const unsubscribe = licenseManager.subscribe((state) => {
  console.log('授权状态变化:', state)
})
// 不再需要时:unsubscribe()

授权规则

状态触发条件水印
valid激活码有效 + 域名匹配 + 未过期
trial未提供激活码显示「RayChart · 未授权试用」
invalid激活码无效 / 域名不匹配 / 已过期显示「RayChart · 授权无效」
uninitialized尚未调用激活不显示(避免首帧闪烁)

域名匹配规则

  • 精确匹配:激活码绑定的域名与访问域名一致(不区分大小写)。
  • 通配子域:*.example.com 匹配 app.example.com,不匹配 example.com 根域。
  • 绑定信息由签发方写入激活码,无法在集成侧修改。

水印说明

  • 未授权时,水印显示在图表右下角,随图表画面一起渲染,导出截图天然包含水印
  • 水印渲染进画布像素,不受页面样式或脚本影响,无法通过前端手段移除。
  • 激活成功后水印自动消失,无需刷新页面。

品牌水印(可选)

已激活授权后,可以主动展示自己的品牌水印,它不影响授权判定:

ts
import { licenseManager } from 'raychart'

licenseManager.setBrandWatermark('我的品牌') // 显示品牌水印
licenseManager.setBrandWatermark(null)       // 关闭

WARNING

品牌水印只用于已激活时主动展示,不能用于遮盖未授权水印。

常见问题

Q:激活后水印还在?

调用 RayChart.activate 传入新激活码后会自动重新校验并更新状态。确认激活码与当前访问域名匹配,且授权未过期。

Q:换了域名,原来的激活码还能用吗?

不能。激活码绑定了签发时的域名,换域名需重新获取激活码。

Q:授权过期了怎么办?

重新获取激活码并调用 activate 更新即可。

Q:本地正常,部署到服务器后出现水印?

本地环境自动豁免授权;部署后请确认已调用 activate,且当前域名与激活码绑定的域名一致。