import store from './store/'; import _get from './_get'; import _action from './_action'; export default { /** 验证token */ checkToken(res) { if(res.err){ _action.checkFail(); } else { /** 设置为登陆状态 */ store.commit('set',{ k:'socket_state',v:1 }); /** 获取基础数据 */ _get.base(); } }, /** 下线 */ offline(res){ // uni.showModal({ // content: '你的账号在另一客户端登陆,如果不是你本人操作,请修改你的密码', // success(){ // _action.checkFail(); // }, // }); _action.checkFail(); // uni.navigateTo({ // url:'/pages/in/login' // }) }, /** 获得会话列表 */ getChatList(){ _get.getChatList(); }, /** 获得好友列表 */ getFriendList(){ _get.getFriendList({ up: 1}); }, /** 新好友提醒 */ newFriend(data){ _action.playVoice('/static/voice/friend.mp3'); let num = store.state.new_friend_tips_num + (data.num * 1); store.commit('set',{ k:'new_friend_tips_num',v:num }); _action.setStatusTips(); }, timeData(data){ console.log(data); }, /** 接收新消息 */ chatData(data){ let chat_data = store.state.page_data.chat_data, msg_reader_num = 1; if(chat_data[data.list_id]){ // 如果在与对方的对话界面,更新这个对话的阅读(即反馈接收状态) if(store.state.page_data.message_query_list_id == data.list_id && store.state.user_info.id != data.data.msg.user_info.uid){ _action.updataNoReader(data.list_id); msg_reader_num = 0; } store.state.page_data.chat_data[data.list_id].list.push(data.data); } console.log(data); /** 更新对话列表数据 */ for(let i = 0,j = store.state.page_data.chat_list.length;i < j;i ++){ if(store.state.page_data.chat_list[i].list_id == data.list_id){ let last_msg; switch(data.data.msg.type * 1){ case 0: last_msg = data.data.msg.content.text; break; case 1: /** 语音 */ last_msg = '[语音]'; break; case 2: /** 图片 */ last_msg = '[图片]'; break; case 3: /** 视频 */ last_msg = '[视频]'; break; case 4: /** 文件 */ last_msg = '[文件]'; break; case 5: /** 红包 */ last_msg = '[红包]'; break; default: /** 未知消息类型 */ last_msg = '[未知]'; break; } store.state.page_data.chat_list[i].last_msg = last_msg; store.state.page_data.chat_list[i].no_reader_num += msg_reader_num; store.state.page_data.chat_list[i].time = data.data.msg.time; let action_list_data = store.state.page_data.chat_list[i]; store.state.page_data.chat_list.splice(i,1); store.state.page_data.chat_list.unshift(action_list_data); break; } } /** 如果不是自己的消息,震动提示 */ if(store.state.user_info.id != data.data.msg.user_info.uid){ uni.vibrateLong(); _action.playVoice('/static/voice/chat.mp3'); } }, /** 接收好友朋友圈动态提示 */ circleTips(data){ _action.playVoice('/static/voice/circle.mp3'); store.commit('set',{ k:'no_reader_circle',v:1 }); _action.setStatusTips(); }, /** 接收朋友圈好友回复/赞通知 */ cricleChatTips(data){ _action.playVoice('/static/voice/circle.mp3'); let num = store.state.no_reader_circle_chat_num; num ++; store.commit('set',{ k:'no_reader_circle_chat_num',v:num }); _action.setStatusTips(); }, /** 撤回消息 */ deleteChat(data){ let chat_data = store.state.page_data.chat_data; if(chat_data[data.list_id] && chat_data[data.list_id].list.length){ for(let i = 0,j = chat_data[data.list_id].list.length;i < j;i++ ){ if(chat_data[data.list_id].list[i].msg.id == data.msg_id){ store.state.page_data.chat_data[data.list_id].list.splice(i,1); break; } } } }, }