import { getUserInfo } from "@/apis/interfaces/im.js" export default { state: { newMsg: {}, friends: [], sender: {} }, getters: { newMessage(state) { return state.newMsg }, friends(state) { return state.friends }, userInfo: (state) => (targetId) => { if (state.friends.filter((item) => item.userId == targetId)[0]) { return state.friends.filter((item) => String(item.userId) == targetId)[0] } else { return getUserInfo(targetId) } }, sender(state) { return state.sender } }, mutations: { newMessage(state, msg) { Vue.set(state, 'newMsg', msg) }, updateFriends(state, list) { state.friends = list }, SET_state_sender(state, userInfo) { state.sender = userInfo } }, actions: { newMessage({ commit }, msg) { commit('newMessage', msg) }, updateFriends({ commit }, list) { commit('updateFriends', list) }, setSenderInfo({ commit }, userInfo) { commit('SET_state_sender', userInfo) } } }