Files
ZhHealth/store/modules/im.js
2022-01-18 13:56:23 +08:00

58 lines
1.4 KiB
JavaScript

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()
}
},
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)
}
}
}