import request from '../request' import type { User } from '@/types/api' /** * 搜索相关API */ // 联系人搜索结果 export interface ContactSearchResult { user: User remark_name: string room_id: string } // 群聊搜索结果 export interface GroupSearchResult { room_id: string room_name: string room_avatar: string owner_id: string member_count: number } // 消息搜索结果 export interface MessageSearchResult { id: number room_id: string room_name: string content: string message_type: number created_at: string sender: User is_group_chat: boolean match_content: string } // 聚合搜索结果 export interface GlobalSearchResult { contacts: ContactSearchResult[] groups: GroupSearchResult[] messages: MessageSearchResult[] } // 搜索类型 export type SearchType = 'all' | 'contacts' | 'groups' | 'messages' /** * 聚合搜索 * @param keyword 搜索关键词 * @param type 搜索类型:all(默认)、contacts、groups、messages * @param limit 每类结果的最大数量,默认20 */ export function globalSearch(keyword: string, type: SearchType = 'all', limit: number = 20) { return request.get('/search', { params: { keyword, type, limit } }) }