feat(chat): 添加私信功能和WebSocket实时通信
- 集成WebSocket管理器,支持心跳、自动重连、消息队列 - 实现私信相关API接口,包括会话列表、历史消息、已读标记等 - 添加聊天页面和会话列表页面,支持实时消息收发 - 配置地图权限和腾讯地图SDK用于酒局定位功能 - 修改应用名称为"喝酒了么"并更新应用描述 - 在App.vue中初始化WebSocket连接和私信功能 - 添加详细的私信模块接口文档和Mock数据 - 优化单图片动态高度计算和预加载逻辑
This commit is contained in:
+33
-1
@@ -158,7 +158,7 @@ export async function refreshAuthToken() {
|
||||
// ==========================================
|
||||
// 酒友圈 API(当前返回 Mock 数据,后端就绪后切换为 SDK 调用)
|
||||
// ==========================================
|
||||
import { MOCK_FEEDS, MOCK_COMMENTS, MOCK_FRIENDS, MOCK_FRIEND_REQUESTS, MOCK_EVENTS } from './mock-data'
|
||||
import { MOCK_FEEDS, MOCK_COMMENTS, MOCK_FRIENDS, MOCK_FRIEND_REQUESTS, MOCK_EVENTS, MOCK_CONVERSATIONS, MOCK_MESSAGES } from './mock-data'
|
||||
|
||||
/** 模拟网络延迟 */
|
||||
function mockDelay(data, ms = 300) {
|
||||
@@ -258,3 +258,35 @@ export function QuitEvent({ eventId }) {
|
||||
export function CheckInEvent({ eventId }) {
|
||||
return mockDelay({ success: true })
|
||||
}
|
||||
|
||||
// ==========================================
|
||||
// 私信 API(当前返回 Mock 数据,后端就绪后切换为 SDK 调用)
|
||||
// ==========================================
|
||||
|
||||
/** 获取会话列表 */
|
||||
export function GetConversations() {
|
||||
// TODO: 后端就绪后替换为 client.GetConversations(...)
|
||||
return mockDelay({ list: MOCK_CONVERSATIONS })
|
||||
}
|
||||
|
||||
/** 获取历史消息 */
|
||||
export function GetMessages({ conversationId, page = 1, pageSize = 20 } = {}) {
|
||||
// TODO: 后端就绪后替换为 client.GetMessages(...)
|
||||
const all = MOCK_MESSAGES[conversationId] || []
|
||||
const start = (page - 1) * pageSize
|
||||
const list = all.slice(start, start + pageSize)
|
||||
return mockDelay({ list, hasMore: start + pageSize < all.length })
|
||||
}
|
||||
|
||||
/** 标记会话已读 */
|
||||
export function MarkRead({ conversationId }) {
|
||||
// TODO: 后端就绪后替换为 client.MarkRead(...)
|
||||
return mockDelay({ success: true })
|
||||
}
|
||||
|
||||
/** 获取未读消息总数 */
|
||||
export function GetUnreadCount() {
|
||||
// TODO: 后端就绪后替换为 client.GetUnreadCount(...)
|
||||
const total = MOCK_CONVERSATIONS.reduce((sum, c) => sum + c.unread, 0)
|
||||
return mockDelay({ total })
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user