【新增】 IM基础模块
This commit is contained in:
57
store/modules/im.js
Normal file
57
store/modules/im.js
Normal file
@@ -0,0 +1,57 @@
|
||||
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)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user