# 用户邀请记录 API 文档 本文档专门描述用户邀请记录管理相关的接口。 ## 1. 基础信息 * **URL 前缀**: `/v2/user/invite` * **响应格式**: 统一使用 `GlobalResponseWrapper` --- ## 2. 接口列表 ### 2.1 获取用户邀请记录列表 * **URL**: `/list` * **Method**: `GET` * **描述**: 分页查询用户邀请记录列表。接口会同时返回**邀请人**和**被邀请人**的详细信息,并支持通过这些用户属性进行搜索。 #### 请求参数 | 字段名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | `page` | integer | 否 | 页码,默认 1 | | `size` | integer | 否 | 每页大小,默认 10 | | `userId` | integer | 否 | 精确筛选用户ID(匹配邀请人或被邀请人) | | `keyword` | string | 否 | **多字段模糊搜索**。支持匹配邀请人或被邀请人的以下字段:
1. 昵称 (`nickname`)
2. 邮箱 (`email`)
3. 苹果ID (`appleUserId`)
4. 原始交易ID (`originalTransactionId`) | | `startTime` | string | 否 | 开始时间 (yyyy-MM-dd HH:mm:ss) | | `endTime` | string | 否 | 结束时间 (yyyy-MM-dd HH:mm:ss) | #### 响应参数 (`data` 字段) 返回 Mybatis-Plus `Page` 对象,`records` 列表中的元素结构如下: | 字段名 | 类型 | 说明 | | :--- | :--- | :--- | | `id` | integer | 记录ID | | `userId` | integer | 邀请人ID | | `inviteeId` | integer | 被邀请人ID | | `createTime` | string | 创建时间 | | **邀请人信息** | | | | `inviterNickname` | string | 邀请人昵称 | | `inviterEmail` | string | 邀请人邮箱 | | `inviterAppleUserId` | string | 邀请人苹果ID | | `inviterOriginalTransactionId` | string | 邀请人原始交易ID | | `inviterIsVip` | integer | 邀请人是否VIP (0:否 1:是) | | `inviterPlatform` | string | 邀请人平台 | | `inviterLanguage` | string | 邀请人语言 | | **被邀请人信息** | | | | `inviteeNickname` | string | 被邀请人昵称 | | `inviteeEmail` | string | 被邀请人邮箱 | | `inviteeAppleUserId` | string | 被邀请人苹果ID | | `inviteeOriginalTransactionId` | string | 被邀请人原始交易ID | | `inviteeIsVip` | integer | 被邀请人是否VIP (0:否 1:是) | | `inviteePlatform` | string | 被邀请人平台 | | `inviteeLanguage` | string | 被邀请人语言 | #### 示例响应 ```json { "code": 200, "message": "success", "data": { "records": [ { "id": 1001, "userId": 10086, "inviteeId": 10087, "createTime": "2023-10-27 10:00:00", "inviterNickname": "邀请大师", "inviterEmail": "inviter@example.com", "inviterIsVip": 1, "inviterPlatform": "IOS", "inviterLanguage": "zh-CN", "inviteeNickname": "新用户小明", "inviteeEmail": "newbie@example.com", "inviteeIsVip": 0, "inviteePlatform": "ANDROID", "inviteeLanguage": "en-US" } ], "total": 1, "size": 10, "current": 1 } } ```