SocialFarm模块提供社交农场功能的API接口,包括偷菜、互助、访问等功能。所有接口都需要用户认证。
/api/social-farm{
"success": true,
"data": {
// 具体数据
},
"message": "操作成功"
}
{
"success": false,
"code": "ERROR_CODE",
"message": "错误描述",
"data": null
}
接口地址: GET /api/social-farm/stealable-friends
功能描述: 获取当前用户可以偷菜的好友列表
请求参数: 无
响应示例:
{
"success": true,
"data": [
{
"user_id": 123,
"nickname": "农场主小明",
"avatar": "https://example.com/avatar.jpg",
"level": 15,
"stealable_count": 3,
"last_visit_time": "2025-07-02 10:30:00"
}
]
}
接口地址: POST /api/social-farm/visit-farm
功能描述: 访问指定好友的农场
请求参数:
{
"owner_id": 123,
"visit_type": 1
}
参数说明:
owner_id: 农场主用户ID (必填)visit_type: 访问类型 (可选,默认1普通访问)响应示例:
{
"success": true,
"data": {
"visit_id": 456,
"farm_info": {
"owner": {
"user_id": 123,
"nickname": "农场主小明",
"level": 15
},
"lands": [
{
"id": 1,
"position_x": 0,
"position_y": 0,
"crop": {
"id": 789,
"item_id": 1001,
"item_name": "胡萝卜",
"growth_stage": 4,
"is_mature": true,
"can_steal": true,
"steal_reason": ""
},
"help_types": [1, 2]
}
]
},
"permissions": {
"can_steal": true,
"can_help": true,
"daily_steal_remaining": 8
}
}
}
接口地址: POST /api/social-farm/steal-crop
功能描述: 偷取指定土地的作物
请求参数:
{
"owner_id": 123,
"land_id": 456
}
参数说明:
owner_id: 农场主用户ID (必填)land_id: 土地ID (必填)响应示例:
{
"success": true,
"data": {
"steal_id": 789,
"item_id": 1001,
"item_name": "胡萝卜",
"item_amount": 5,
"original_amount": 20,
"steal_ratio": 0.25,
"exp_gained": 10,
"message": "成功偷到5个胡萝卜!"
}
}
错误响应示例:
{
"success": false,
"code": "CROP_NOT_READY",
"message": "作物还未成熟,无法偷菜"
}
接口地址: POST /api/social-farm/help-friend
功能描述: 帮助好友处理农场事务
请求参数:
{
"owner_id": 123,
"land_id": 456,
"help_type": 1
}
参数说明:
owner_id: 农场主用户ID (必填)land_id: 土地ID (必填)help_type: 帮助类型 (必填,1浇水 2施肥 3除草 4杀虫 5收获)响应示例:
{
"success": true,
"data": {
"help_id": 321,
"help_type": 1,
"help_type_name": "浇水",
"exp_gained": 5,
"reward_item": {
"item_id": 2001,
"item_name": "经验药水",
"amount": 1
},
"message": "成功帮助好友浇水,获得5点经验!"
}
}
接口地址: GET /api/social-farm/settings
功能描述: 获取当前用户的社交农场设置
请求参数: 无
响应示例:
{
"success": true,
"data": {
"allow_steal": true,
"allow_help": true,
"allow_visit": true,
"steal_protection_hours": 2,
"daily_steal_limit": 10,
"daily_help_limit": 20,
"notification_enabled": true,
"auto_revenge": false,
"friend_only": true,
"blacklist_count": 0,
"whitelist_count": 0
}
}
接口地址: PUT /api/social-farm/settings
功能描述: 更新当前用户的社交农场设置
请求参数:
{
"allow_steal": true,
"allow_help": true,
"allow_visit": true,
"steal_protection_hours": 2,
"daily_steal_limit": 10,
"daily_help_limit": 20,
"notification_enabled": true,
"auto_revenge": false,
"friend_only": true
}
响应示例:
{
"success": true,
"data": {
"allow_steal": true,
"allow_help": true,
"allow_visit": true,
"steal_protection_hours": 2,
"daily_steal_limit": 10,
"daily_help_limit": 20,
"notification_enabled": true,
"auto_revenge": false,
"friend_only": true
},
"message": "设置更新成功"
}
接口地址: GET /api/social-farm/stats
功能描述: 获取用户的社交行为统计数据
请求参数:
date: 统计日期 (可选,格式:YYYY-MM-DD,默认今天)响应示例:
{
"success": true,
"data": {
"steal_count": 5,
"stolen_count": 3,
"help_count": 8,
"helped_count": 6,
"visit_count": 12,
"visited_count": 9,
"steal_items_gained": 25,
"steal_items_lost": 15,
"help_rewards_gained": 3,
"total_exp_gained": 45
}
}
接口地址: GET /api/social-farm/steal-logs
功能描述: 获取用户的偷菜记录
请求参数:
type: 记录类型 (可选,steal我偷的 stolen被偷的,默认steal)page: 页码 (可选,默认1)limit: 每页数量 (可选,默认20)响应示例:
{
"success": true,
"data": {
"items": [
{
"id": 123,
"stealer": {
"user_id": 456,
"nickname": "偷菜小能手"
},
"owner": {
"user_id": 789,
"nickname": "农场主大佬"
},
"item": {
"item_id": 1001,
"item_name": "胡萝卜",
"amount": 5
},
"steal_time": "2025-07-02 14:30:00",
"steal_status": 1,
"steal_status_desc": "偷菜成功"
}
],
"pagination": {
"current_page": 1,
"total_pages": 5,
"total_items": 100,
"per_page": 20
}
}
}
接口地址: GET /api/social-farm/visit-logs
功能描述: 获取农场访问记录
请求参数:
type: 记录类型 (可选,visit我访问的 visited被访问的,默认visit)page: 页码 (可选,默认1)limit: 每页数量 (可选,默认20)响应示例:
{
"success": true,
"data": {
"items": [
{
"id": 456,
"visitor": {
"user_id": 123,
"nickname": "访客小明"
},
"owner": {
"user_id": 789,
"nickname": "农场主大佬"
},
"visit_time": "2025-07-02 15:20:00",
"visit_type": 2,
"visit_type_desc": "偷菜访问",
"duration": 180,
"steal_count": 2,
"help_count": 1
}
],
"pagination": {
"current_page": 1,
"total_pages": 3,
"total_items": 60,
"per_page": 20
}
}
}
| 错误码 | 描述 |
|---|---|
| NO_PERMISSION | 无权限访问 |
| NOT_FRIEND | 不是好友关系 |
| FARM_NOT_FOUND | 农场不存在 |
| LAND_NOT_FOUND | 土地不存在 |
| CROP_NOT_FOUND | 作物不存在 |
| CROP_NOT_READY | 作物未成熟 |
| ALREADY_STOLEN | 作物已被偷过 |
| STEAL_LIMIT_EXCEEDED | 超过偷菜次数限制 |
| HELP_LIMIT_EXCEEDED | 超过互助次数限制 |
| UNDER_PROTECTION | 农场受保护中 |
| INSUFFICIENT_ITEMS | 道具不足 |
| INVALID_HELP_TYPE | 无效的帮助类型 |
| OPERATION_FAILED | 操作失败 |