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
This commit is contained in:
34
admin/src/api/contact.js
Normal file
34
admin/src/api/contact.js
Normal file
@@ -0,0 +1,34 @@
|
||||
/**
|
||||
* 好友关系管理 API 模块(管理端)
|
||||
*
|
||||
* 对应后端路由:/api/v1/admin/contacts/*
|
||||
* 所有接口需要 JWT + admin 角色权限
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 获取所有好友关系列表(分页)
|
||||
* @param {Object} params - 查询参数
|
||||
* @param {number} params.page - 页码
|
||||
* @param {number} params.page_size - 每页数量
|
||||
* @returns {Promise<{data: {total: number, list: Array}}>}
|
||||
*/
|
||||
export function getAllContacts(params) {
|
||||
return request({
|
||||
url: '/api/v1/admin/contacts',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除好友关系
|
||||
* @param {number} id - 好友关系 ID
|
||||
* @returns {Promise}
|
||||
*/
|
||||
export function deleteContact(id) {
|
||||
return request({
|
||||
url: `/api/v1/admin/contacts/${id}`,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
29
admin/src/api/monitor.js
Normal file
29
admin/src/api/monitor.js
Normal file
@@ -0,0 +1,29 @@
|
||||
/**
|
||||
* 在线监控 API 模块
|
||||
*
|
||||
* 对应后端路由:/api/v1/admin/online/*
|
||||
* 所有接口需要 JWT + admin 角色权限
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 获取在线用户列表
|
||||
* @returns {Promise<{data: Array<{user_id: number, username: string}>}>}
|
||||
*/
|
||||
export function getOnlineUsers() {
|
||||
return request({
|
||||
url: '/api/v1/admin/online/users',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取在线用户数量
|
||||
* @returns {Promise<{data: {count: number}}>}
|
||||
*/
|
||||
export function getOnlineCount() {
|
||||
return request({
|
||||
url: '/api/v1/admin/online/count',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user