@ 数字自然/ 许可证验证器
JavaScript/ TypeScript 客户端 数字性质 许可证核查 API.
安装
npm install @digital-nature/licence-verifier
使用量
import { LicenceVerifier } from '@digital-nature/licence-verifier'
const verifier = new LicenceVerifier({
baseUrl: 'https://verify.software.digital-nature.co.uk',
})
// Check a licence is valid
const result = await verifier.verify('XXXX-XXXX-XXXX-XXXX')
// { valid: true, licenceKey: '...', productSlug: '...', status: 'active', expiresAt: null }
// Activate a domain
const activation = await verifier.activate('XXXX-XXXX-XXXX-XXXX', 'example.com')
// { activated: true, domain: 'example.com', domainType: 'production', activationsUsed: 1, activationLimit: 2 }
// Deactivate a domain
await verifier.deactivate('XXXX-XXXX-XXXX-XXXX', 'example.com')
// Get full licence info
const info = await verifier.info('XXXX-XXXX-XXXX-XXXX')
// { licenceKey: '...', productSlug: '...', status: 'active', activationsUsed: 1, activationLimit: 2, domains: [...] }
包件、加装和免费试验
verify 财务报告和审定财务报表 info 并说许可证授予:
const { package: pkg, addons, trials } = await verifier.verify(key)
// pkg: 'club-platform' — or null for an ordinary product
// addons: ['club-platform-pitch-x-3'] — everything granted RIGHT NOW
// trials: [{ addon: 'club-platform-pitch-x-3', endsAt: '2026-10-17T09:00:00.000Z' }]
addons从来没有包括一个结束的审判, 所以欢呼addons一个人 审判已经结束了.trials说哪个addons审判是免费的 并且每次停止。 用这个 显示"N days left".[]并且从比试验年长的服务器上发出.- 缓存
verify编号 :info试验结果从未超过最快的试验结束.
选项
| 选项 | 类型 | 默认 | 说明 |
|---|---|---|---|
baseUrl | string | —— 说 | 校验服务的基础 URL |
cacheTtl | number | 30000 | 缓存 TTL 以毫秒计 verify 财务报告和审定财务报表 info 回应。 设定为 0 以禁用. |
fetch | typeof fetch | globalThis.fetch | 覆盖获取执行( 用于测试) |
处理错误
所有可以丢出输入错误的方法 instanceof 检查 :
import {
LicenceNotFoundError,
LicenceExpiredError,
LicenceInactiveError,
ActivationLimitReachedError,
DomainAlreadyActiveError,
LicenceVerifierError, // base class
} from '@digital-nature/licence-verifier'
try {
await verifier.activate(key, domain)
} catch (err) {
if (err instanceof ActivationLimitReachedError) {
// handle limit
} else if (err instanceof LicenceNotFoundError) {
// handle not found
}
}
所需资源
节点.js 18 或以后(使用本地 fetch) (中文(简体) ).