58 lines
1.4 KiB
JavaScript
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)
|
|
}
|
|
}
|
|
}
|