Files
EchoChat/docs/api/admin/contact.md
bujinyuan a508a4cfbc feat(phase2a): 前台联系人页面 + 管理端在线监控/好友管理 + API 文档
前台联系人模块(ui-ux-pro-max 规范):
- contact/index.vue: 好友列表(搜索/在线状态/骨架屏)
- contact/request.vue: 好友申请列表(接受/拒绝/防重复提交)
- contact/detail.vue: 好友详情(备注/分组/拉黑/删除)
- contact/search.vue: 搜索添加好友 + 好友推荐
- contact/groups.vue: 好友分组管理(CRUD)
- contact/blacklist.vue: 黑名单管理

管理端前端:
- views/monitor/online.vue: 在线监控(统计卡片/用户表格/30s 自动刷新)
- views/contact/list.vue: 好友关系管理(分页表格/强制删除)
- api/monitor.js + api/contact.js: 管理端 API 封装
- 路由 + 侧边栏导航更新

API 文档(4 份):
- docs/api/frontend/contact.md: 17 个接口完整文档
- docs/api/frontend/websocket.md: 前端 WS 事件协议
- docs/api/admin/online.md: 在线监控 API
- docs/api/admin/contact.md: 好友管理 API

进度文档更新至 Phase 2a 全部完成

Made-with: Cursor
2026-03-02 17:32:52 +08:00

1.7 KiB
Raw Permalink Blame History

管理端好友关系管理 API

通用规范(认证方式、响应格式、错误码)见 README.md 所有接口需要 JWT + admin/super_admin 角色权限


接口列表

方法 路径 权限 说明
GET /api/v1/admin/contacts admin 获取所有好友关系列表(分页)
DELETE /api/v1/admin/contacts/:id admin 删除好友关系(双向解除)

1. 获取所有好友关系列表

GET /api/v1/admin/contacts

说明: 分页查询系统中所有好友关系记录,包含双方用户名信息。

查询参数:

参数 类型 必填 说明
page int 页码,默认 1
page_size int 每页数量,默认 20

成功响应:

{
    "code": 0,
    "message": "ok",
    "data": {
        "total": 150,
        "list": [
            {
                "id": 1,
                "user_id": 1,
                "username": "zhangsan",
                "friend_id": 2,
                "friend_username": "lisi",
                "remark": "同事",
                "status": 1,
                "created_at": "2026-03-01 10:00:00"
            }
        ]
    }
}

status 状态码:

说明
0 待确认pending
1 已通过accepted
2 已拒绝rejected
3 已拉黑blocked

2. 删除好友关系

DELETE /api/v1/admin/contacts/:id

路径参数: id — 好友关系记录 ID

说明: 管理员可以强制删除任意好友关系。此操作会双向解除(同时删除 A→B 和 B→A 的关系记录)。

成功响应:

{
    "code": 0,
    "message": "ok"
}