Appearance
授权与激活
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,且当前域名与激活码绑定的域名一致。
