【新增】 IM基础模块

This commit is contained in:
2022-01-18 13:56:23 +08:00
parent 61d389bef4
commit 7c6916b4ae
14 changed files with 1499 additions and 930 deletions

View File

@@ -1,42 +1,45 @@
/**
* Web唐明明
* 匆匆数载恍如梦,岁月迢迢华发增
* 碌碌无为枉半生,一朝惊醒万事空。
*/
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
token : uni.getStorageSync('token') || '',
address : {},
refresh : 0
},
getters: {
getToken: state => {
return state.token
},
getAddress: state => {
return state.address
},
getRefresh: state => {
return state.refresh
}
},
mutations: {
setToken(state, tokenString) {
state.token = tokenString
uni.setStorageSync('token', tokenString)
},
setAddress(state, value) {
state.address = value
},
setRefresh(state, value) {
state.refresh = value
}
}
/**
* Web唐明明
* 匆匆数载恍如梦,岁月迢迢华发增。
* 碌碌无为枉半生,一朝惊醒万事空
*/
import Vue from 'vue'
import Vuex from 'vuex'
import im from './modules/im.js'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
token: uni.getStorageSync('token') || '',
address: {},
refresh: 0
},
getters: {
getToken: state => {
return state.token
},
getAddress: state => {
return state.address
},
getRefresh: state => {
return state.refresh
}
},
mutations: {
setToken(state, tokenString) {
state.token = tokenString
uni.setStorageSync('token', tokenString)
},
setAddress(state, value) {
state.address = value
},
setRefresh(state, value) {
state.refresh = value
}
},
modules: {
im
}
})

57
store/modules/im.js Normal file
View 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)
}
}
}