一键启动 CodeGate(Docker 镜像)
若尚未部署 CodeGate,可通过 docker pull 拉取镜像:
docker pull pfeak/codegate:latest
启动镜像:
docker run -d --name codegate \
-p 8877:8877 \
-v codegate-data:/app/backend/data \
--restart unless-stopped \
pfeak/codegate:latest
命令参数说明:
-p 8877:8877:映射前端管理后台端口
-v codegate-data:/app/backend/data:挂载数据卷,实现数据持久化
启动后访问:
- 管理界面:
<http://localhost:8877>
后续步骤中的 base_url 请填写 http://localhost:8877(若 API 与调用方不在同一台机器,请改为实际主机地址或域名)。
前置准备
- 已部署的 CodeGate 服务(后端 API 地址与管理后台);若已按上一节用 Docker 一键启动,则无需额外准备。
步骤一:安装 SDK
根据你的技术栈选择:
或使用 uv:uv pip install codegate-sdk
步骤二:在 CodeGate 创建项目并生成 API 密钥
- 登录 CodeGate 管理后台。
- 创建项目(若尚未创建)。
- 进入项目详情 → API 密钥 管理。
- 点击 生成密钥,获得
api_key、secret、project_id。
Secret 仅显示一次,生成后请立即保存,后续无法再次查看。
步骤三:初始化客户端
from codegate_sdk import CodeGateClient
client = CodeGateClient(
api_key="550e8400e29b41d4a716446655440000",
secret="a1b2c3d4e5f6...",
project_id="550e8400e29b41d4a716446655440000",
base_url="https://api.example.com"
)
import { CodeGateClient } from 'codegate-sdk';
const client = new CodeGateClient({
apiKey: '550e8400e29b41d4a716446655440000',
secret: 'a1b2c3d4e5f6...',
projectId: '550e8400e29b41d4a716446655440000',
baseUrl: 'https://api.example.com',
});
将 api_key、secret、project_id 替换为步骤二获得的凭证,base_url 替换为 CodeGate 后端 API 地址。
步骤四:核销激活码
result = client.verify_code(code="ABC12345", verified_by="user123")
if result['success']:
print(f"核销成功,核销时间: {result['verified_at']}")
else:
print(f"核销失败: {result['error_code']} - {result['message']}")
const result = await client.verifyCode({ code: 'ABC12345', verifiedBy: 'user123' });
if (result.success) {
console.log('核销成功,核销时间:', result.verified_at);
} else {
console.log('核销失败:', result.error_code, result.message);
}
环境变量配置(推荐)
生产环境建议通过环境变量注入凭证:
| 环境变量 | 说明 |
|---|
CODEGATE_API_KEY | API Key |
CODEGATE_SECRET | API Secret |
CODEGATE_PROJECT_ID | 项目 ID |
CODEGATE_BASE_URL | API 基础 URL(可选,默认 https://api.example.com) |
import os
client = CodeGateClient(
api_key=os.getenv("CODEGATE_API_KEY"),
secret=os.getenv("CODEGATE_SECRET"),
project_id=os.getenv("CODEGATE_PROJECT_ID"),
base_url=os.getenv("CODEGATE_BASE_URL", "https://api.example.com")
)
const client = new CodeGateClient({
apiKey: process.env.CODEGATE_API_KEY!,
secret: process.env.CODEGATE_SECRET!,
projectId: process.env.CODEGATE_PROJECT_ID!,
baseUrl: process.env.CODEGATE_BASE_URL || 'https://api.example.com',
});
下一步