naisi_generate_order_code
生成 15 位纯数字订单编号:14 位可逆扰乱主体和 1 位 Damm 校验码。 使用 UTC 日期;同一节点每日最多生成 33554432 个编号。节点计数状态保存在 /var/tmp(Windows 为系统临时目录),需在服务重启和升级后保留。 不同节点哈希到 64 个槽位;同一业务的多节点需先检查槽位不重复。
函数签名
function naisi_generate_order_code(?string $node_key = null): string
调用前提
应用入口先调用 naisi_is_ext_license_valid 并确认返回 true。只验证同一请求内已有的有效 FULL/BASIC 证明;没有证明或证明失效时立即返回失败值,不现场补做完整校验。
授权类别:LICENSE;执行模式:PROOF。许可不代替登录、租户或权限上下文;身份与数据要求见本页参数及用途说明。
参数
$node_key
- 类型:
?string - 必填:否
- 默认值:
null - 方向:输入参数。
稳定节点标识;null 或空串使用固定值 #naisi.tech#。
返回值
类型:string
成功时返回 15 位编号;未授权或生成失败时返回空字符串。
调用示例
当前请求须满足上方调用前提;请检查实际返回值和引用输出,随机结果及数据包内容以运行环境为准。
$node_key = 'naisi-test-suite';
$result = naisi_generate_order_code($node_key);
var_export($result);
并发与唯一性
$node_key 最多 1024 字节,按原始字节使用,不自动去除空白;null 或空字符串使用固定默认节点。同一节点的计数状态文件须在服务重启和升级期间保留。不同节点只有 64 个哈希槽,同一业务的多节点部署前须检查槽位不重复;数据库仍应设置订单编号唯一约束。状态异常、当日容量耗尽或授权失败时返回空字符串。
版本信息
- 自版本:
1.0.6 - 实现模块:
identifier - 授权类别:
LICENSE/PROOF - 失败回退:空字符串
"" - 文档同步:
2026-10-18