import hookHttp from './hookHttp' import { WxLoginStatus, GroupsData, GroupMemberData, AccInfoTypes, memberInfoHook, GroupItem } from '../types/types' import OPT_TYPE from '../const/CONST_OPT_TYPE' // 获取登录状态 // 0未登录 1已登录 const fetchGetLoginStatus = async (): Promise => { try { const res = await hookHttp({ url: `api`, method: 'post', data: { type: OPT_TYPE['GET_LOGIN_STATUS'] } }) return res.data } catch (error) { return { status: 0 } // 0未登录 1已登录 } } // 获取当前账号信息(判断dll是否注入成功) const fetchGetAccInfo = async (): Promise => { try { const res = await hookHttp({ url: `api`, method: 'post', data: { type: OPT_TYPE['GET_ACCOUNT_INFO'] } }) return res.data } catch (error) { console.log('获取当前账号信息失败') return null } } // 获取群聊列表 const fetchGetGroupsList = async (page_num, page_size): Promise => { try { const res = await hookHttp({ url: `api`, method: 'post', data: { type: OPT_TYPE['GET_GROUP_LIST'], page_num: page_num || 1, page_size: page_size || 100 } }) return res.data } catch (error) { console.log('获取群聊列表失败') return { list: [], total: 0, total_page: 0 } } } // 获取群成员列表 const fetchGetGroupMembers = async (room_id): Promise => { try { const res = await hookHttp({ url: `api`, method: 'post', data: { type: OPT_TYPE['GET_GROUP_MEMBERS'], chat_room_id: room_id } }) return res.data } catch (error) { console.log('获取群成员列表失败') return { list: [], chat_room_id: room_id } } } // 获取用户信息(根据ID查询) const fetchGetMemberInfo = async (user_id): Promise => { try { const res = await hookHttp({ url: `api`, method: 'post', data: { type: OPT_TYPE['GET_MEMBER_INFO'], user_id: user_id } }) return res.data } catch (error) { console.log('获取用户信息失败') return null } } // 发送消息 const fetchSendMsg = async (data): Promise => { try { await hookHttp({ url: `api`, method: 'post', data: data }) } catch (error) { throw new Error(`${JSON.stringify(data)}`) } } // CDN下载图片 const fetchCdnDownloadImg = async (data): Promise => { try { await hookHttp({ url: `api`, method: 'post', data: { type: OPT_TYPE['CDN_DOWNLOAD_IMG'], ...data } }) } catch (error) { console.log('CDN下载图片失败') } } // CDN下载个微图片 const fetchCdnDownloadWxImg = async (data): Promise => { try { await hookHttp({ url: `api`, method: 'post', data: { type: OPT_TYPE['CDN_DOWNLOAD_IMG_WX'], ...data } }) } catch (error) { console.log('CDN下载图片失败') } } // 语音转文字 const fetchVoiceToText = async (msg_id): Promise<{ text: string } | null> => { try { const res = await hookHttp({ url: `api`, method: 'post', data: { type: OPT_TYPE['VOICE_TO_TEXT'], msg_id: msg_id } }) return res.data } catch (error) { console.log('语音转文字失败') return null } } const fetchGetRoomInfo = async (room_id): Promise => { try { const res = await hookHttp({ url: `api`, method: 'post', data: { type: OPT_TYPE['GET_ROOM_INFO'], chat_room_id: room_id } }) return res.data } catch (error) { console.log('获取群信息失败') return null } } export default { fetchGetLoginStatus, fetchGetAccInfo, fetchGetGroupsList, fetchSendMsg, fetchGetGroupMembers, fetchGetMemberInfo, fetchCdnDownloadImg, fetchCdnDownloadWxImg, fetchVoiceToText, fetchGetRoomInfo }