修复一些问题

This commit is contained in:
李琦
2026-07-08 08:18:02 +08:00
parent 41e56b3be6
commit 497d0a840f
43 changed files with 1078 additions and 554 deletions

View File

@@ -2,7 +2,7 @@
* 联系人管理相关 API
*/
import request from '../request'
import type { Contact, User, FriendRequest, ContactGroup } from '@/types/api'
import type { Contact, User, FriendRequest, ContactGroup, CommonGroup } from '@/types/api'
// 获取联系人列表
export function getContacts() {
@@ -54,16 +54,22 @@ export function deleteGroup(id: number) {
return request.post<void>(`/contacts/groups/delete/${id}`)
}
// 获取好友详情
// 获取好友详情(合并 common_groups 等扩展字段)
export async function getContactDetail(id: string): Promise<Contact> {
const response = await request.get<{ contact: any; user: User }>(`/contacts/${id}`)
const response = await request.get<{
contact: any
user: User
common_groups?: CommonGroup[]
is_friend?: boolean
}>(`/contacts/${id}`)
return {
...response.contact,
id: response.contact.id?.toString() || response.contact.contact_id,
user_id: response.contact.contact_id || response.contact.user_id,
contact_user_id: response.contact.contact_id,
room_id: response.contact.room_id,
user: response.user
user: response.user,
common_groups: response.common_groups ?? [],
} as Contact
}

View File

@@ -6,7 +6,7 @@ import type { ChatMessage, SendMessageRequest, PaginatedResponse } from '@/types
// 发送消息
export function sendMessage(data: SendMessageRequest) {
return request.post<void>('/send', data)
return request.post<ChatMessage>('/send', data)
}
// 获取历史消息
@@ -29,5 +29,10 @@ export function syncMessages(roomId: string, page = 1, pageSize = 50) {
// 撤回消息
export function recallMessage(messageId: number) {
return request.post<void>('/messages/recall', { message_id: messageId })
return request.post<ChatMessage>('/messages/recall', { message_id: messageId })
}
/** 标记消息已读 */
export function markMessagesRead(messageIds: number[]) {
return request.post<void>('/messages/read-receipts', { message_ids: messageIds })
}

View File

@@ -0,0 +1,12 @@
/**
* 用户设置 API
*/
import request from '../request'
export function getUserSettings() {
return request.get<Record<string, string>>('/user/settings')
}
export function updateUserSettings(settings: Record<string, string>) {
return request.post<Record<string, string>>('/user/settings', { settings })
}

View File

@@ -3,10 +3,10 @@
*/
import type { ApiResponse, RequestConfig } from './types'
import { storage } from '@/utils/storage'
import { API_BASE_URL } from '@/config/app'
// API 基础路径
// const BASE_URL = 'http://127.0.0.1:12080/api'
const BASE_URL = 'https://g-ws.nailaoyun.cn/api'
const BASE_URL = API_BASE_URL
// 默认超时时间
const TIMEOUT = 30000

View File

@@ -39,8 +39,8 @@ class WebSocketManager {
this.userId = userId
// TODO: 替换为实际的 WebSocket 地址
// const wsUrl = `ws://g-ws.nailaoyun.cn/ws?user_id=${userId}`
const wsUrl = `wss://g-ws.nailaoyun.cn/ws?user_id=${userId}`
const wsUrl = `ws://127.0.0.1:12080/ws?user_id=${userId}`
// const wsUrl = `wss://g-ws.nailaoyun.cn/ws?user_id=${userId}`
this.socketTask = uni.connectSocket({
url: wsUrl,