chore: sync local latest state and repository cleanup

This commit is contained in:
Your Name
2026-03-23 13:02:36 +08:00
parent f1ff3d629f
commit 2ef0f17961
493 changed files with 46912 additions and 7977 deletions

View File

@@ -46,9 +46,57 @@
## 认证与鉴权
- `/api/**` 需要 `X-API-Key`。
- `/api/v1/me/**`、`/api/v1/activities/**`、`/api/v1/api-keys/**`、`/api/v1/share/**` 需要 `Authorization: Bearer <token>`。
- `/r/**`、`/actuator/**` 不需要认证。
### 认证矩阵
| 路径模式 | 认证方式 | 说明 |
|----------|----------|------|
| `/r/**` | 无需认证 | 短链接跳转 |
| `/actuator/**` | 无需认证 | Spring Boot Actuator |
| `/api/v1/callback/**` | X-API-Key | 第三方回调接口 |
| `/api/v1/share/**` | X-API-Key + Bearer Token | 分享跟踪接口 |
| `/api/v1/me/**` | Bearer Token | 用户中心接口 |
| `/api/v1/activities/**` | Bearer Token | 用户端活动接口 |
| `/api/v1/activities/admin/**` | Bearer Token + 权限校验 | 管理后台活动接口 |
| `/api/v1/rewards/admin/**` | Bearer Token + 权限校验 | 管理后台奖励接口 |
| `/api/v1/roles/**` | Bearer Token + 权限校验 | 角色管理接口 |
| `/api/v1/departments/**` | Bearer Token + 权限校验 | 部门管理接口 |
| `/api/v1/approval/**` | Bearer Token + 权限校验 | 审批中心接口 |
| `/api/v1/users/**` | Bearer Token + 权限校验 | 用户管理接口 |
| `/api/v1/permissions/**` | Bearer Token + 权限校验 | 权限管理接口 |
| `/api/v1/invites/**` | Bearer Token + 权限校验 | 邀请管理接口 |
| `/api/v1/notifications/**` | Bearer Token + 权限校验 | 通知管理接口 |
| `/api/v1/risk/**` | Bearer Token + 权限校验 | 风险管理接口 |
| `/api/v1/audit/**` | Bearer Token + 权限校验 | 审计日志接口 |
| `/api/v1/system/**` | Bearer Token + 权限校验 | 系统管理接口 |
| `/api/v1/dashboard/**` | Bearer Token + 权限校验 | 仪表盘接口 |
| `/api/v1/api-keys/**` | Bearer Token + 权限校验 | API密钥管理接口 |
### 认证示例
**回调接口仅需API Key**
```http
POST /api/v1/callback/register
X-API-Key: a1b2c3d4-e5f6-7890-1234-567890abcdef
Content-Type: application/json
{"trackingId": "track-abc123", "externalUserId": "user456", "timestamp": 1699999999999}
```
**分享跟踪接口需要API Key + Bearer Token**
```http
POST /api/v1/share/track
X-API-Key: a1b2c3d4-e5f6-7890-1234-567890abcdef
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Content-Type: application/json
{"activityId": 1, "inviterUserId": "user123", "source": "wechat"}
```
**管理后台接口仅需Bearer Token**
```http
GET /api/v1/activities/admin?page=0&size=20
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
```
## 错误码
@@ -128,7 +176,7 @@
### 2.1 创建API密钥
- **Endpoint**: `POST /api/v1/api-keys`
- **描述**: 为指定的活动创建一个新的API密钥。密钥仅在本次响应中明文返回,请立即保存
- **描述**: 为指定的活动创建一个新的API密钥。该操作需要审批,密钥创建后会进入审批流程。返回 `pendingId` 用于查询审批状态,`recordId` 用于追踪审批记录
- **请求体**: `application/json`
```json
@@ -145,12 +193,21 @@
"code": 201,
"message": "success",
"data": {
"apiKey": "a1b2c3d4-e5f6-7890-1234-567890abcdef"
"pendingId": 123,
"recordId": 456,
"status": "PENDING",
"activityId": 1,
"name": "我的第一个密钥"
},
"timestamp": "2025-03-01T10:00:00"
}
```
- **响应字段说明**:
- `pendingId`: 待审批的API密钥ID
- `recordId`: 审批记录ID可用于查询审批进度
- `status`: 审批状态 (`PENDING` = 待审批, `APPROVED` = 已通过, `REJECTED` = 已拒绝)
- **失败响应**:
- `400 Bad Request`: 如果请求数据无效(例如,`activityId` 或 `name` 为空)。
- `404 Not Found`: 如果 `activityId` 不存在。
@@ -559,18 +616,31 @@
## 8. 回调管理 (Callbacks)
### 8.1 注册回调
### 8.1 用户追踪注册
- **Endpoint**: `POST /api/v1/callback/register`
- **描述**: 注册业务回调,用于接收活动相关事件通知
- **描述**: 用户参与活动时进行追踪注册上报,用于记录用户来源和设备信息
- **请求体**: `application/json`
```json
{
"activityId": 1,
"callbackUrl": "https://your-domain.com/webhook",
"events": ["user.registered", "user.invited", "reward.granted"],
"secret": "your-webhook-secret"
"trackingId": "活动创建的追踪ID",
"externalUserId": "外部用户ID可选",
"timestamp": 1699999999999,
"deviceFingerprint": "设备指纹(可选)",
"ip": "客户端IP可选"
}
```
或使用下划线格式:
```json
{
"tracking_id": "活动创建的追踪ID",
"external_user_id": "外部用户ID可选",
"timestamp": 1699999999999,
"device_fingerprint": "设备指纹(可选)",
"ip": "客户端IP可选"
}
```
@@ -581,29 +651,20 @@
"code": 200,
"message": "success",
"data": {
"callbackId": "cb-123456",
"registered": true,
"trackingId": "活动创建的追踪ID",
"activityId": 1,
"callbackUrl": "https://your-domain.com/webhook",
"status": "active"
"rewardStatus": "pending"
}
}
```
- **回调事件格式**:
```json
{
"eventType": "user.registered",
"eventId": "evt-abc123",
"timestamp": "2025-03-01T10:00:00Z",
"data": {
"activityId": 1,
"userId": 123,
"inviterUserId": 456
},
"signature": "sha256-hash-of-payload"
}
```
- **字段说明**:
- `trackingId` / `tracking_id`: 活动创建的追踪ID必填
- `externalUserId` / `external_user_id`: 外部系统用户ID可选
- `timestamp`: 时间戳(可选)
- `deviceFingerprint` / `device_fingerprint`: 设备指纹(可选,用于风控)
- `ip`: 客户端IP地址可选用于风控
## 9. 用户奖励 (User Rewards)