仪表盘
系统数据概览
0
总卡密数
0
已激活
0
未使用
0
批次数量
最近生成
| 卡密 | 批次 | 有效期 | 状态 | 生成时间 |
|---|
卡密管理
查看和管理所有卡密
| 卡密 | 批次 | 有效期 | 状态 | 激活时间 | 到期时间 | 操作 |
|---|
共 0 条
批次管理
管理卡密批次,支持批量操作
| 批次名称 | 卡密数量 | 已激活 | 未使用 | 已过期 | 已废除 | 生成时间 | 操作 |
|---|
验证卡密
验证卡密有效性
系统设置
修改系统配置
修改密码
危险区域
以下操作不可恢复,请谨慎操作
API对接
外部系统对接卡密验证接口
API服务器配置
配置API服务器地址,用于在线测试和生成对接代码。部署后请修改为实际服务器地址。
未检测
API密钥管理
使用API密钥进行身份验证,调用卡密验证接口。请妥善保管密钥,切勿泄露。
此密钥由服务器端管理,用于所有API接口的身份验证
接口文档
验证卡密接口
POST
/api/verify
验证卡密是否有效,未激活的卡密将自动激活。
请求头
Content-Type: application/json Authorization: Bearer YOUR_API_KEY
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
code |
string | 是 | 卡密内容 |
请求示例
{
"code": "VIP-A1B2C3D4E5F6"
}
成功响应 (200)
{
"success": true,
"message": "卡密激活成功",
"data": {
"code": "VIP-A1B2C3D4E5F6",
"status": "active",
"type": "days",
"duration": 30,
"activatedAt": "2026-05-07T10:00:00.000Z",
"expiresAt": "2026-06-06T10:00:00.000Z"
}
}
失败响应 (400/401)
{
"success": false,
"message": "卡密不存在"
}
查询卡密状态接口
GET
/api/status/:code
查询卡密当前状态,不触发激活操作。
请求头
Authorization: Bearer YOUR_API_KEY
成功响应 (200)
{
"success": true,
"data": {
"code": "VIP-A1B2C3D4E5F6",
"status": "unused",
"type": "days",
"duration": 30,
"createdAt": "2026-05-07T10:00:00.000Z",
"activatedAt": null,
"expiresAt": null
}
}
批量验证接口
POST
/api/batch-verify
批量验证多个卡密,最多一次验证100个。
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
codes |
string[] | 是 | 卡密数组 |
请求示例
{
"codes": ["VIP-A1B2C3", "VIP-D4E5F6", "VIP-G7H8I9"]
}
成功响应 (200)
{
"success": true,
"data": [
{ "code": "VIP-A1B2C3", "success": true, "status": "active", "expiresAt": "2026-06-06T10:00:00.000Z" },
{ "code": "VIP-D4E5F6", "success": false, "message": "卡密不存在" },
{ "code": "VIP-G7H8I9", "success": true, "status": "active", "expiresAt": null }
]
}
在线测试
在下方测试API接口调用效果。
响应结果
对接示例代码
JavaScript / Node.js
const API_BASE = 'http://your-server.com'; // 请替换为实际服务器地址
const API_KEY = 'YOUR_API_KEY'; // 请替换为实际API密钥
const response = await fetch(`${API_BASE}/api/verify`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${API_KEY}`
},
body: JSON.stringify({ code: 'VIP-A1B2C3D4E5F6' })
});
const result = await response.json();
console.log(result);
Python
import requests
API_BASE = 'http://your-server.com' # 请替换为实际服务器地址
API_KEY = 'YOUR_API_KEY' # 请替换为实际API密钥
response = requests.post(
f'{API_BASE}/api/verify',
json={'code': 'VIP-A1B2C3D4E5F6'},
headers={'Authorization': f'Bearer {API_KEY}'}
)
result = response.json()
print(result)
PHP
$apiBase = 'http://your-server.com'; // 请替换为实际服务器地址
$apiKey = 'YOUR_API_KEY'; // 请替换为实际API密钥
$ch = curl_init($apiBase . '/api/verify');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(['code' => 'VIP-A1B2C3D4E5F6']));
$result = json_decode(curl_exec($ch), true);
获取公告 (GET /api/bulletin)
获取当前有效的公告列表。自动过滤隐藏和过期公告,置顶公告排在前面。此接口无需认证。
接口地址
GET /api/bulletin
请求头
Content-Type: application/json
成功响应 (200)
{
"success": true,
"data": [
{
"id": "m1abc123def456",
"title": "系统维护通知",
"content": "系统将于今晚22:00进行维护升级...",
"type": "warning",
"status": "active",
"pinned": true,
"startAt": "2026-06-01T00:00:00.000Z",
"endAt": "2026-06-08T00:00:00.000Z",
"createdAt": "2026-06-01T10:00:00.000Z"
}
]
}
响应字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 公告唯一ID |
title | string | 公告标题 |
content | string | 公告内容 |
type | string | 类型:info(通知)、success(成功)、warning(警告)、error(紧急) |
status | string | 状态:active(显示)、hidden(隐藏) |
pinned | boolean | 是否置顶 |
startAt | string | 开始时间(ISO格式) |
endAt | string | 结束时间(ISO格式),null表示永久 |
createdAt | string | 创建时间(ISO格式) |
公告类型样式参考
| type值 | 含义 | 建议颜色 |
|---|---|---|
info | 通知 | 蓝色 #3b82f6 |
success | 成功 | 绿色 #22c55e |
warning | 警告 | 黄色 #f59e0b |
error | 紧急 | 红色 #ef4444 |
公告管理
配置系统公告信息,用户对接后可获取公告内容
新建公告
| 标题 | 类型 | 状态 | 置顶 | 有效期 | 创建时间 | 操作 |
|---|---|---|---|---|---|---|
| 暂无公告,点击"新建公告"创建 | ||||||