2
This commit is contained in:
+384
-300
@@ -1,320 +1,404 @@
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
import {
|
||||
v4 as uuidv4
|
||||
} from "uuid";
|
||||
import IMSDK from "openim-uniapp-polyfill";
|
||||
|
||||
const state = {
|
||||
friendList: [],
|
||||
blackList: [],
|
||||
groupList: [],
|
||||
recvFriendApplications: [],
|
||||
sentFriendApplications: [],
|
||||
recvGroupApplications: [],
|
||||
sentGroupApplications: [],
|
||||
unHandleFriendApplicationNum: 0,
|
||||
unHandleGroupApplicationNum: 0,
|
||||
friendList: [],
|
||||
blackList: [],
|
||||
groupList: [],
|
||||
recvFriendApplications: [],
|
||||
sentFriendApplications: [],
|
||||
recvGroupApplications: [],
|
||||
sentGroupApplications: [],
|
||||
unHandleFriendApplicationNum: 0,
|
||||
unHandleGroupApplicationNum: 0,
|
||||
};
|
||||
|
||||
const mutations = {
|
||||
SET_FRIEND_LIST(state, list) {
|
||||
state.friendList = [...list];
|
||||
},
|
||||
SET_BLACK_LIST(state, list) {
|
||||
state.blackList = [...list];
|
||||
},
|
||||
SET_GROUP_LIST(state, list) {
|
||||
state.groupList = [...list];
|
||||
},
|
||||
SET_RECV_FRIEND_APPLICATIONS(state, list) {
|
||||
state.recvFriendApplications = [...list];
|
||||
},
|
||||
SET_SENT_FRIEND_APPLICATIONS(state, list) {
|
||||
state.sentFriendApplications = [...list];
|
||||
},
|
||||
SET_RECV_GROUP_APPLICATIONS(state, list) {
|
||||
state.recvGroupApplications = [...list];
|
||||
},
|
||||
SET_SENT_GROUP_APPLICATIONS(state, list) {
|
||||
state.sentGroupApplications = [...list];
|
||||
},
|
||||
SET_FRIEND_LIST(state, list) {
|
||||
state.friendList = [...list];
|
||||
},
|
||||
SET_BLACK_LIST(state, list) {
|
||||
state.blackList = [...list];
|
||||
},
|
||||
SET_GROUP_LIST(state, list) {
|
||||
state.groupList = [...list];
|
||||
},
|
||||
SET_RECV_FRIEND_APPLICATIONS(state, list) {
|
||||
state.recvFriendApplications = [...list];
|
||||
},
|
||||
SET_SENT_FRIEND_APPLICATIONS(state, list) {
|
||||
state.sentFriendApplications = [...list];
|
||||
},
|
||||
SET_RECV_GROUP_APPLICATIONS(state, list) {
|
||||
state.recvGroupApplications = [...list];
|
||||
},
|
||||
SET_SENT_GROUP_APPLICATIONS(state, list) {
|
||||
state.sentGroupApplications = [...list];
|
||||
},
|
||||
};
|
||||
|
||||
const actions = {
|
||||
async getFriendList({ commit }) {
|
||||
let offset = 0;
|
||||
let friendInfoList = [];
|
||||
let initialFetch = true;
|
||||
while (true) {
|
||||
try {
|
||||
const count = initialFetch ? 10000 : 1000;
|
||||
const { data } = await IMSDK.asyncApi("getFriendListPage", uuidv4(), {
|
||||
offset,
|
||||
count,
|
||||
});
|
||||
friendInfoList = [
|
||||
...friendInfoList,
|
||||
...data,
|
||||
];
|
||||
offset += count;
|
||||
if (data.length < count) break;
|
||||
initialFetch = false;
|
||||
} catch (error) {
|
||||
console.error("getFriendListPage error");
|
||||
}
|
||||
}
|
||||
commit("SET_FRIEND_LIST", friendInfoList);
|
||||
},
|
||||
async getGrouplist({ commit }) {
|
||||
let offset = 0;
|
||||
let groupList = [];
|
||||
while (true) {
|
||||
try {
|
||||
const { data } = await IMSDK.asyncApi(
|
||||
"getJoinedGroupListPage",
|
||||
uuidv4(),
|
||||
{
|
||||
offset,
|
||||
count: 1000,
|
||||
}
|
||||
);
|
||||
groupList = [...groupList, ...data];
|
||||
offset += 1000;
|
||||
if (data.length < 1000) break;
|
||||
} catch (error) {
|
||||
console.error("getGrouplist error");
|
||||
}
|
||||
}
|
||||
commit("SET_GROUP_LIST", groupList);
|
||||
},
|
||||
getBlacklist({ commit }) {
|
||||
IMSDK.asyncApi(IMSDK.IMMethods.GetBlackList, uuidv4()).then(({ data }) => {
|
||||
commit("SET_BLACK_LIST", data);
|
||||
});
|
||||
},
|
||||
getRecvFriendApplications({ commit }) {
|
||||
IMSDK.asyncApi(
|
||||
IMSDK.IMMethods.GetFriendApplicationListAsRecipient,
|
||||
uuidv4(),
|
||||
).then(({ data }) => {
|
||||
commit("SET_RECV_FRIEND_APPLICATIONS", data);
|
||||
});
|
||||
},
|
||||
getSentFriendApplications({ commit }) {
|
||||
IMSDK.asyncApi(
|
||||
IMSDK.IMMethods.GetFriendApplicationListAsApplicant,
|
||||
uuidv4(),
|
||||
).then(({ data }) => {
|
||||
commit("SET_SENT_FRIEND_APPLICATIONS", data);
|
||||
});
|
||||
},
|
||||
getRecvGroupApplications({ commit }) {
|
||||
IMSDK.asyncApi(
|
||||
IMSDK.IMMethods.GetGroupApplicationListAsRecipient,
|
||||
uuidv4(),
|
||||
).then(({ data }) => {
|
||||
commit("SET_RECV_GROUP_APPLICATIONS", data);
|
||||
});
|
||||
},
|
||||
getSentGroupApplications({ commit }) {
|
||||
IMSDK.asyncApi(
|
||||
IMSDK.IMMethods.GetGroupApplicationListAsApplicant,
|
||||
uuidv4(),
|
||||
).then(({ data }) => {
|
||||
commit("SET_SENT_GROUP_APPLICATIONS", data);
|
||||
});
|
||||
},
|
||||
pushNewFriend({ commit, state }, friendInfo) {
|
||||
const tmpList = [...state.friendList];
|
||||
const idx = tmpList.findIndex((item) => item.userID === friendInfo.userID);
|
||||
if (idx === -1) {
|
||||
commit("SET_FRIEND_LIST", [...tmpList, friendInfo]);
|
||||
}
|
||||
},
|
||||
updateFriendInfo({ commit, state }, { friendInfo, isRemove = false }) {
|
||||
const tmpList = [...state.friendList];
|
||||
const idx = tmpList.findIndex((item) => item.userID === friendInfo.userID);
|
||||
async getFriendList({
|
||||
commit
|
||||
}) {
|
||||
let offset = 0;
|
||||
let friendInfoList = [];
|
||||
let initialFetch = true;
|
||||
while (true) {
|
||||
try {
|
||||
const count = initialFetch ? 10000 : 1000;
|
||||
const {
|
||||
data
|
||||
} = await IMSDK.asyncApi("getFriendListPage", uuidv4(), {
|
||||
offset,
|
||||
count,
|
||||
});
|
||||
friendInfoList = [
|
||||
...friendInfoList,
|
||||
...data,
|
||||
];
|
||||
offset += count;
|
||||
if (data.length < count) break;
|
||||
initialFetch = false;
|
||||
} catch (error) {
|
||||
console.error("getFriendListPage error");
|
||||
}
|
||||
}
|
||||
commit("SET_FRIEND_LIST", friendInfoList);
|
||||
},
|
||||
async getGrouplist({
|
||||
commit
|
||||
}) {
|
||||
let offset = 0;
|
||||
let groupList = [];
|
||||
while (true) {
|
||||
try {
|
||||
const {
|
||||
data
|
||||
} = await IMSDK.asyncApi(
|
||||
"getJoinedGroupListPage",
|
||||
uuidv4(), {
|
||||
offset,
|
||||
count: 1000,
|
||||
}
|
||||
);
|
||||
groupList = [...groupList, ...data];
|
||||
offset += 1000;
|
||||
if (data.length < 1000) break;
|
||||
} catch (error) {
|
||||
console.error("getGrouplist error");
|
||||
}
|
||||
}
|
||||
commit("SET_GROUP_LIST", groupList);
|
||||
},
|
||||
getBlacklist({
|
||||
commit
|
||||
}) {
|
||||
IMSDK.asyncApi(IMSDK.IMMethods.GetBlackList, uuidv4()).then(({
|
||||
data
|
||||
}) => {
|
||||
commit("SET_BLACK_LIST", data);
|
||||
});
|
||||
},
|
||||
getRecvFriendApplications({
|
||||
commit
|
||||
}) {
|
||||
IMSDK.asyncApi(
|
||||
IMSDK.IMMethods.GetFriendApplicationListAsRecipient,
|
||||
uuidv4(),
|
||||
).then(({
|
||||
data
|
||||
}) => {
|
||||
commit("SET_RECV_FRIEND_APPLICATIONS", data);
|
||||
});
|
||||
},
|
||||
getSentFriendApplications({
|
||||
commit
|
||||
}) {
|
||||
IMSDK.asyncApi(
|
||||
IMSDK.IMMethods.GetFriendApplicationListAsApplicant,
|
||||
uuidv4(),
|
||||
).then(({
|
||||
data
|
||||
}) => {
|
||||
commit("SET_SENT_FRIEND_APPLICATIONS", data);
|
||||
});
|
||||
},
|
||||
getRecvGroupApplications({
|
||||
commit
|
||||
}) {
|
||||
IMSDK.asyncApi(
|
||||
IMSDK.IMMethods.GetGroupApplicationListAsRecipient,
|
||||
uuidv4(),
|
||||
).then(({
|
||||
data
|
||||
}) => {
|
||||
commit("SET_RECV_GROUP_APPLICATIONS", data);
|
||||
});
|
||||
},
|
||||
getSentGroupApplications({
|
||||
commit
|
||||
}) {
|
||||
IMSDK.asyncApi(
|
||||
IMSDK.IMMethods.GetGroupApplicationListAsApplicant,
|
||||
uuidv4(),
|
||||
).then(({
|
||||
data
|
||||
}) => {
|
||||
commit("SET_SENT_GROUP_APPLICATIONS", data);
|
||||
});
|
||||
},
|
||||
pushNewFriend({
|
||||
commit,
|
||||
state
|
||||
}, friendInfo) {
|
||||
const tmpList = [...state.friendList];
|
||||
const idx = tmpList.findIndex((item) => item.userID === friendInfo.userID);
|
||||
if (idx === -1) {
|
||||
commit("SET_FRIEND_LIST", [...tmpList, friendInfo]);
|
||||
}
|
||||
},
|
||||
updateFriendInfo({
|
||||
commit,
|
||||
state
|
||||
}, {
|
||||
friendInfo,
|
||||
isRemove = false
|
||||
}) {
|
||||
const tmpList = [...state.friendList];
|
||||
const idx = tmpList.findIndex((item) => item.userID === friendInfo.userID);
|
||||
|
||||
if (idx !== -1) {
|
||||
if (isRemove) {
|
||||
tmpList.splice(idx, 1);
|
||||
} else {
|
||||
tmpList[idx] = {
|
||||
...friendInfo,
|
||||
};
|
||||
}
|
||||
commit("SET_FRIEND_LIST", tmpList);
|
||||
}
|
||||
},
|
||||
pushNewBlack({ commit, state }, blackInfo) {
|
||||
const tmpList = [...state.blackList];
|
||||
const idx = tmpList.findIndex((item) => item.userID === blackInfo.userID);
|
||||
if (idx === -1) {
|
||||
commit("SET_BLACK_LIST", [...tmpList, blackInfo]);
|
||||
}
|
||||
},
|
||||
updateBlackInfo({ commit, state }, { blackInfo, isRemove = false }) {
|
||||
const tmpList = [...state.blackList];
|
||||
const idx = tmpList.findIndex((item) => item.userID === blackInfo.userID);
|
||||
if (idx !== -1) {
|
||||
if (isRemove) {
|
||||
tmpList.splice(idx, 1);
|
||||
} else {
|
||||
tmpList[idx] = {
|
||||
...friendInfo,
|
||||
};
|
||||
}
|
||||
commit("SET_FRIEND_LIST", tmpList);
|
||||
}
|
||||
},
|
||||
pushNewBlack({
|
||||
commit,
|
||||
state
|
||||
}, blackInfo) {
|
||||
const tmpList = [...state.blackList];
|
||||
const idx = tmpList.findIndex((item) => item.userID === blackInfo.userID);
|
||||
if (idx === -1) {
|
||||
commit("SET_BLACK_LIST", [...tmpList, blackInfo]);
|
||||
}
|
||||
},
|
||||
updateBlackInfo({
|
||||
commit,
|
||||
state
|
||||
}, {
|
||||
blackInfo,
|
||||
isRemove = false
|
||||
}) {
|
||||
const tmpList = [...state.blackList];
|
||||
const idx = tmpList.findIndex((item) => item.userID === blackInfo.userID);
|
||||
|
||||
if (idx !== -1) {
|
||||
if (isRemove) {
|
||||
tmpList.splice(idx, 1);
|
||||
} else {
|
||||
tmpList[idx] = {
|
||||
...blackInfo,
|
||||
};
|
||||
}
|
||||
commit("SET_BLACK_LIST", tmpList);
|
||||
}
|
||||
},
|
||||
pushNewGroup({ commit, state }, groupInfo) {
|
||||
const tmpList = [...state.groupList];
|
||||
const idx = tmpList.findIndex((item) => item.groupID === groupInfo.groupID);
|
||||
if (idx === -1) {
|
||||
commit("SET_GROUP_LIST", [...tmpList, groupInfo]);
|
||||
}
|
||||
},
|
||||
updateGroupInfo(
|
||||
{ commit, state, rootState },
|
||||
{ groupInfo, isRemove = false },
|
||||
) {
|
||||
const tmpList = [...state.groupList];
|
||||
const idx = tmpList.findIndex((item) => item.groupID === groupInfo.groupID);
|
||||
if (idx !== -1) {
|
||||
if (isRemove) {
|
||||
tmpList.splice(idx, 1);
|
||||
} else {
|
||||
tmpList[idx] = {
|
||||
...blackInfo,
|
||||
};
|
||||
}
|
||||
commit("SET_BLACK_LIST", tmpList);
|
||||
}
|
||||
},
|
||||
pushNewGroup({
|
||||
commit,
|
||||
state
|
||||
}, groupInfo) {
|
||||
const tmpList = [...state.groupList];
|
||||
const idx = tmpList.findIndex((item) => item.groupID === groupInfo.groupID);
|
||||
if (idx === -1) {
|
||||
commit("SET_GROUP_LIST", [...tmpList, groupInfo]);
|
||||
}
|
||||
},
|
||||
updateGroupInfo({
|
||||
commit,
|
||||
state,
|
||||
rootState
|
||||
}, {
|
||||
groupInfo,
|
||||
isRemove = false
|
||||
}, ) {
|
||||
const tmpList = [...state.groupList];
|
||||
const idx = tmpList.findIndex((item) => item.groupID === groupInfo.groupID);
|
||||
|
||||
if (rootState.conversation.currentGroup.groupID === groupInfo.groupID) {
|
||||
commit("conversation/SET_CURRENT_GROUP", groupInfo, { root: true });
|
||||
}
|
||||
if (rootState.conversation.currentGroup.groupID === groupInfo.groupID) {
|
||||
commit("conversation/SET_CURRENT_GROUP", groupInfo, {
|
||||
root: true
|
||||
});
|
||||
}
|
||||
|
||||
if (idx !== -1) {
|
||||
if (isRemove) {
|
||||
tmpList.splice(idx, 1);
|
||||
} else {
|
||||
tmpList[idx] = {
|
||||
...groupInfo,
|
||||
};
|
||||
}
|
||||
commit("SET_GROUP_LIST", tmpList);
|
||||
}
|
||||
},
|
||||
pushNewRecvFriendApplition({ commit, state }, application) {
|
||||
const tmpList = [...state.recvFriendApplications];
|
||||
const idx = tmpList.findIndex(
|
||||
(item) => item.fromUserID === application.fromUserID,
|
||||
);
|
||||
if (idx !== -1) {
|
||||
tmpList.splice(idx, 1);
|
||||
}
|
||||
commit("SET_RECV_FRIEND_APPLICATIONS", [...tmpList, application]);
|
||||
},
|
||||
updateRecvFriendApplition(
|
||||
{ commit, state, rootState },
|
||||
{ application, isRemove = false },
|
||||
) {
|
||||
const tmpList = [...state.recvFriendApplications];
|
||||
const idx = tmpList.findIndex(
|
||||
(item) => item.fromUserID === application.fromUserID,
|
||||
);
|
||||
if (idx !== -1) {
|
||||
if (isRemove) {
|
||||
tmpList.splice(idx, 1);
|
||||
} else {
|
||||
tmpList[idx] = {
|
||||
...groupInfo,
|
||||
};
|
||||
}
|
||||
commit("SET_GROUP_LIST", tmpList);
|
||||
}
|
||||
},
|
||||
pushNewRecvFriendApplition({
|
||||
commit,
|
||||
state
|
||||
}, application) {
|
||||
const tmpList = [...state.recvFriendApplications];
|
||||
const idx = tmpList.findIndex(
|
||||
(item) => item.fromUserID === application.fromUserID,
|
||||
);
|
||||
if (idx !== -1) {
|
||||
tmpList.splice(idx, 1);
|
||||
}
|
||||
commit("SET_RECV_FRIEND_APPLICATIONS", [...tmpList, application]);
|
||||
},
|
||||
updateRecvFriendApplition({
|
||||
commit,
|
||||
state,
|
||||
rootState
|
||||
}, {
|
||||
application,
|
||||
isRemove = false
|
||||
}, ) {
|
||||
const tmpList = [...state.recvFriendApplications];
|
||||
const idx = tmpList.findIndex(
|
||||
(item) => item.fromUserID === application.fromUserID,
|
||||
);
|
||||
|
||||
if (idx !== -1) {
|
||||
if (isRemove) {
|
||||
tmpList.splice(idx, 1);
|
||||
} else {
|
||||
tmpList[idx] = {
|
||||
...application,
|
||||
};
|
||||
}
|
||||
commit("SET_RECV_FRIEND_APPLICATIONS", tmpList);
|
||||
}
|
||||
},
|
||||
pushNewSentFriendApplition({ commit, state }, application) {
|
||||
const tmpList = [...state.sentFriendApplications];
|
||||
const idx = tmpList.findIndex(
|
||||
(item) => item.toUserID === application.toUserID,
|
||||
);
|
||||
if (idx !== -1) {
|
||||
tmpList.splice(idx, 1);
|
||||
}
|
||||
commit("SET_SENT_FRIEND_APPLICATIONS", [...tmpList, application]);
|
||||
},
|
||||
updateSentFriendApplition(
|
||||
{ commit, state, rootState },
|
||||
{ application, isRemove = false },
|
||||
) {
|
||||
const tmpList = [...state.sentFriendApplications];
|
||||
const idx = tmpList.findIndex(
|
||||
(item) => item.toUserID === application.toUserID,
|
||||
);
|
||||
if (idx !== -1) {
|
||||
if (isRemove) {
|
||||
tmpList.splice(idx, 1);
|
||||
} else {
|
||||
tmpList[idx] = {
|
||||
...application,
|
||||
};
|
||||
}
|
||||
commit("SET_RECV_FRIEND_APPLICATIONS", tmpList);
|
||||
}
|
||||
},
|
||||
pushNewSentFriendApplition({
|
||||
commit,
|
||||
state
|
||||
}, application) {
|
||||
const tmpList = [...state.sentFriendApplications];
|
||||
const idx = tmpList.findIndex(
|
||||
(item) => item.toUserID === application.toUserID,
|
||||
);
|
||||
if (idx !== -1) {
|
||||
tmpList.splice(idx, 1);
|
||||
}
|
||||
commit("SET_SENT_FRIEND_APPLICATIONS", [...tmpList, application]);
|
||||
},
|
||||
updateSentFriendApplition({
|
||||
commit,
|
||||
state,
|
||||
rootState
|
||||
}, {
|
||||
application,
|
||||
isRemove = false
|
||||
}, ) {
|
||||
const tmpList = [...state.sentFriendApplications];
|
||||
const idx = tmpList.findIndex(
|
||||
(item) => item.toUserID === application.toUserID,
|
||||
);
|
||||
|
||||
if (idx !== -1) {
|
||||
if (isRemove) {
|
||||
tmpList.splice(idx, 1);
|
||||
} else {
|
||||
tmpList[idx] = {
|
||||
...application,
|
||||
};
|
||||
}
|
||||
commit("SET_SENT_FRIEND_APPLICATIONS", tmpList);
|
||||
}
|
||||
},
|
||||
pushNewRecvGroupApplition({ commit, state }, application) {
|
||||
const tmpList = [...state.recvGroupApplications];
|
||||
const idx = tmpList.findIndex((item) => item.userID === application.userID);
|
||||
if (idx !== -1) {
|
||||
tmpList.splice(idx, 1);
|
||||
}
|
||||
commit("SET_RECV_GROUP_APPLICATIONS", [...tmpList, application]);
|
||||
},
|
||||
updateRecvGroupApplition(
|
||||
{ commit, state, rootState },
|
||||
{ application, isRemove = false },
|
||||
) {
|
||||
const tmpList = [...state.recvGroupApplications];
|
||||
const idx = tmpList.findIndex((item) => item.userID === application.userID);
|
||||
if (idx !== -1) {
|
||||
if (isRemove) {
|
||||
tmpList.splice(idx, 1);
|
||||
} else {
|
||||
tmpList[idx] = {
|
||||
...application,
|
||||
};
|
||||
}
|
||||
commit("SET_SENT_FRIEND_APPLICATIONS", tmpList);
|
||||
}
|
||||
},
|
||||
pushNewRecvGroupApplition({
|
||||
commit,
|
||||
state
|
||||
}, application) {
|
||||
const tmpList = [...state.recvGroupApplications];
|
||||
const idx = tmpList.findIndex((item) => item.userID === application.userID);
|
||||
if (idx !== -1) {
|
||||
tmpList.splice(idx, 1);
|
||||
}
|
||||
commit("SET_RECV_GROUP_APPLICATIONS", [...tmpList, application]);
|
||||
},
|
||||
updateRecvGroupApplition({
|
||||
commit,
|
||||
state,
|
||||
rootState
|
||||
}, {
|
||||
application,
|
||||
isRemove = false
|
||||
}, ) {
|
||||
const tmpList = [...state.recvGroupApplications];
|
||||
const idx = tmpList.findIndex((item) => item.userID === application.userID);
|
||||
|
||||
if (idx !== -1) {
|
||||
if (isRemove) {
|
||||
tmpList.splice(idx, 1);
|
||||
} else {
|
||||
tmpList[idx] = {
|
||||
...application,
|
||||
};
|
||||
}
|
||||
commit("SET_RECV_GROUP_APPLICATIONS", tmpList);
|
||||
}
|
||||
},
|
||||
pushNewSentGroupApplition({ commit, state }, application) {
|
||||
const tmpList = [...state.sentGroupApplications];
|
||||
const idx = tmpList.findIndex(
|
||||
(item) => item.groupID === application.groupID,
|
||||
);
|
||||
if (idx !== -1) {
|
||||
tmpList.splice(idx, 1);
|
||||
}
|
||||
commit("SET_SENT_GROUP_APPLICATIONS", [...tmpList, application]);
|
||||
},
|
||||
updateSentGroupApplition(
|
||||
{ commit, state, rootState },
|
||||
{ application, isRemove = false },
|
||||
) {
|
||||
const tmpList = [...state.sentGroupApplications];
|
||||
const idx = tmpList.findIndex(
|
||||
(item) => item.groupID === application.groupID,
|
||||
);
|
||||
if (idx !== -1) {
|
||||
if (isRemove) {
|
||||
tmpList.splice(idx, 1);
|
||||
} else {
|
||||
tmpList[idx] = {
|
||||
...application,
|
||||
};
|
||||
}
|
||||
commit("SET_RECV_GROUP_APPLICATIONS", tmpList);
|
||||
}
|
||||
},
|
||||
pushNewSentGroupApplition({
|
||||
commit,
|
||||
state
|
||||
}, application) {
|
||||
const tmpList = [...state.sentGroupApplications];
|
||||
const idx = tmpList.findIndex(
|
||||
(item) => item.groupID === application.groupID,
|
||||
);
|
||||
if (idx !== -1) {
|
||||
tmpList.splice(idx, 1);
|
||||
}
|
||||
commit("SET_SENT_GROUP_APPLICATIONS", [...tmpList, application]);
|
||||
},
|
||||
updateSentGroupApplition({
|
||||
commit,
|
||||
state,
|
||||
rootState
|
||||
}, {
|
||||
application,
|
||||
isRemove = false
|
||||
}, ) {
|
||||
const tmpList = [...state.sentGroupApplications];
|
||||
const idx = tmpList.findIndex(
|
||||
(item) => item.groupID === application.groupID,
|
||||
);
|
||||
|
||||
if (idx !== -1) {
|
||||
if (isRemove) {
|
||||
tmpList.splice(idx, 1);
|
||||
} else {
|
||||
tmpList[idx] = {
|
||||
...application,
|
||||
};
|
||||
}
|
||||
commit("SET_SENT_GROUP_APPLICATIONS", tmpList);
|
||||
}
|
||||
},
|
||||
if (idx !== -1) {
|
||||
if (isRemove) {
|
||||
tmpList.splice(idx, 1);
|
||||
} else {
|
||||
tmpList[idx] = {
|
||||
...application,
|
||||
};
|
||||
}
|
||||
commit("SET_SENT_GROUP_APPLICATIONS", tmpList);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state,
|
||||
mutations,
|
||||
actions,
|
||||
};
|
||||
namespaced: true,
|
||||
state,
|
||||
mutations,
|
||||
actions,
|
||||
};
|
||||
@@ -46,7 +46,10 @@ const mutations = {
|
||||
};
|
||||
|
||||
const actions = {
|
||||
async getConversationList({ state, commit }, isFirstPage = true) {
|
||||
async getConversationList({
|
||||
state,
|
||||
commit
|
||||
}, isFirstPage = true) {
|
||||
try {
|
||||
const {
|
||||
data
|
||||
@@ -68,7 +71,9 @@ const actions = {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
getCurrentGroup({ commit }, groupID) {
|
||||
getCurrentGroup({
|
||||
commit
|
||||
}, groupID) {
|
||||
IMSDK.asyncApi(IMSDK.IMMethods.GetSpecifiedGroupsInfo, uuidv4(), [
|
||||
groupID,
|
||||
]).then(({
|
||||
@@ -77,7 +82,10 @@ const actions = {
|
||||
commit("SET_CURRENT_GROUP", data[0] ?? {});
|
||||
});
|
||||
},
|
||||
getCurrentMemberInGroup({ commit, rootState }, groupID) {
|
||||
getCurrentMemberInGroup({
|
||||
commit,
|
||||
rootState
|
||||
}, groupID) {
|
||||
IMSDK.asyncApi(IMSDK.IMMethods.GetSpecifiedGroupMembersInfo, uuidv4(), {
|
||||
groupID,
|
||||
userIDList: [rootState.user.selfInfo.userID],
|
||||
@@ -87,7 +95,9 @@ const actions = {
|
||||
commit("SET_CURRENT_MEMBER_IN_GROUP", data[0] ?? {});
|
||||
});
|
||||
},
|
||||
getUnReadCount({ commit }) {
|
||||
getUnReadCount({
|
||||
commit
|
||||
}) {
|
||||
IMSDK.asyncApi(IMSDK.IMMethods.GetTotalUnreadMsgCount, uuidv4()).then(
|
||||
(res) => {
|
||||
console.log(res);
|
||||
@@ -95,7 +105,10 @@ const actions = {
|
||||
},
|
||||
);
|
||||
},
|
||||
updateCurrentMemberInGroup({ commit, state }, memberInfo) {
|
||||
updateCurrentMemberInGroup({
|
||||
commit,
|
||||
state
|
||||
}, memberInfo) {
|
||||
console.log(memberInfo);
|
||||
if (
|
||||
memberInfo.groupID === state.currentMemberInGroup.groupID &&
|
||||
@@ -104,7 +117,9 @@ const actions = {
|
||||
commit("SET_CURRENT_MEMBER_IN_GROUP", memberInfo);
|
||||
}
|
||||
},
|
||||
resetConversationState({ commit }) {
|
||||
resetConversationState({
|
||||
commit
|
||||
}) {
|
||||
commit("SET_CURRENT_MEMBER_IN_GROUP", {});
|
||||
commit("SET_CURRENT_GROUP", {});
|
||||
commit("SET_CURRENT_CONVERSATION", {});
|
||||
|
||||
+93
-76
@@ -1,87 +1,104 @@
|
||||
import IMSDK, { MessageStatus, MessageType } from "openim-uniapp-polyfill";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
import { UpdateMessageTypes } from "@/constant";
|
||||
import IMSDK, {
|
||||
MessageStatus,
|
||||
MessageType
|
||||
} from "openim-uniapp-polyfill";
|
||||
import {
|
||||
v4 as uuidv4
|
||||
} from "uuid";
|
||||
import {
|
||||
UpdateMessageTypes
|
||||
} from "@/constant";
|
||||
|
||||
const state = {
|
||||
historyMessageList: [],
|
||||
hasMoreMessage: true,
|
||||
historyMessageList: [],
|
||||
hasMoreMessage: true,
|
||||
};
|
||||
|
||||
const mutations = {
|
||||
SET_HISTORY_MESSAGE_LIST(state, list) {
|
||||
state.historyMessageList = [...list];
|
||||
},
|
||||
SET_HAS_MORE_MESSAGE(state, hasMore) {
|
||||
state.hasMoreMessage = hasMore;
|
||||
},
|
||||
SET_HISTORY_MESSAGE_LIST(state, list) {
|
||||
state.historyMessageList = [...list];
|
||||
},
|
||||
SET_HAS_MORE_MESSAGE(state, hasMore) {
|
||||
state.hasMoreMessage = hasMore;
|
||||
},
|
||||
};
|
||||
|
||||
const actions = {
|
||||
async getHistoryMesageList({ commit, state }, params) {
|
||||
let emptyFlag = true;
|
||||
try {
|
||||
console.log("getHistoryMesageList:::");
|
||||
console.log(params);
|
||||
const { data } = await IMSDK.asyncApi(
|
||||
IMSDK.IMMethods.GetAdvancedHistoryMessageList,
|
||||
uuidv4(),
|
||||
params,
|
||||
);
|
||||
console.log(data);
|
||||
const isFistPage = !params.startClientMsgID
|
||||
const messages = data.messageList ?? [];
|
||||
emptyFlag = messages.length === 0;
|
||||
commit("SET_HISTORY_MESSAGE_LIST", [
|
||||
...messages,
|
||||
...(isFistPage ? [] : state.historyMessageList),
|
||||
]);
|
||||
commit("SET_HAS_MORE_MESSAGE", !data.isEnd && messages.length === 20);
|
||||
} catch (e) {
|
||||
commit("SET_HISTORY_MESSAGE_LIST", []);
|
||||
}
|
||||
return {
|
||||
emptyFlag,
|
||||
};
|
||||
},
|
||||
pushNewMessage({ commit, state }, message) {
|
||||
commit("SET_HISTORY_MESSAGE_LIST", [...state.historyMessageList, message]);
|
||||
},
|
||||
updateOneMessage(
|
||||
{ commit, state },
|
||||
{
|
||||
message,
|
||||
type = UpdateMessageTypes.Overall,
|
||||
keyWords = [],
|
||||
isSuccess = false,
|
||||
},
|
||||
) {
|
||||
const tmpList = state.historyMessageList;
|
||||
const idx = tmpList.findIndex(
|
||||
(msg) => msg.clientMsgID === message.clientMsgID,
|
||||
);
|
||||
if (idx !== -1) {
|
||||
if (type === UpdateMessageTypes.Overall) {
|
||||
tmpList[idx] = {
|
||||
...message,
|
||||
};
|
||||
} else if (type === UpdateMessageTypes.KeyWords) {
|
||||
const updateFields = Array.isArray(keyWords) ? keyWords : [keyWords];
|
||||
updateFields.forEach(
|
||||
(field) => (tmpList[idx][field.key] = field.value),
|
||||
);
|
||||
}
|
||||
commit("SET_HISTORY_MESSAGE_LIST", tmpList);
|
||||
}
|
||||
},
|
||||
resetMessageState({ commit }) {
|
||||
commit("SET_HISTORY_MESSAGE_LIST", []);
|
||||
commit("SET_HAS_MORE_MESSAGE", true);
|
||||
},
|
||||
async getHistoryMesageList({
|
||||
commit,
|
||||
state
|
||||
}, params) {
|
||||
let emptyFlag = true;
|
||||
try {
|
||||
console.log("getHistoryMesageList:::");
|
||||
console.log(params);
|
||||
const {
|
||||
data
|
||||
} = await IMSDK.asyncApi(
|
||||
IMSDK.IMMethods.GetAdvancedHistoryMessageList,
|
||||
uuidv4(),
|
||||
params,
|
||||
);
|
||||
console.log(data);
|
||||
const isFistPage = !params.startClientMsgID
|
||||
const messages = data.messageList ?? [];
|
||||
emptyFlag = messages.length === 0;
|
||||
commit("SET_HISTORY_MESSAGE_LIST", [
|
||||
...messages,
|
||||
...(isFistPage ? [] : state.historyMessageList),
|
||||
]);
|
||||
commit("SET_HAS_MORE_MESSAGE", !data.isEnd && messages.length === 20);
|
||||
} catch (e) {
|
||||
commit("SET_HISTORY_MESSAGE_LIST", []);
|
||||
}
|
||||
return {
|
||||
emptyFlag,
|
||||
};
|
||||
},
|
||||
pushNewMessage({
|
||||
commit,
|
||||
state
|
||||
}, message) {
|
||||
commit("SET_HISTORY_MESSAGE_LIST", [...state.historyMessageList, message]);
|
||||
},
|
||||
updateOneMessage({
|
||||
commit,
|
||||
state
|
||||
}, {
|
||||
message,
|
||||
type = UpdateMessageTypes.Overall,
|
||||
keyWords = [],
|
||||
isSuccess = false,
|
||||
}, ) {
|
||||
const tmpList = state.historyMessageList;
|
||||
const idx = tmpList.findIndex(
|
||||
(msg) => msg.clientMsgID === message.clientMsgID,
|
||||
);
|
||||
if (idx !== -1) {
|
||||
if (type === UpdateMessageTypes.Overall) {
|
||||
tmpList[idx] = {
|
||||
...message,
|
||||
};
|
||||
} else if (type === UpdateMessageTypes.KeyWords) {
|
||||
const updateFields = Array.isArray(keyWords) ? keyWords : [keyWords];
|
||||
updateFields.forEach(
|
||||
(field) => (tmpList[idx][field.key] = field.value),
|
||||
);
|
||||
}
|
||||
commit("SET_HISTORY_MESSAGE_LIST", tmpList);
|
||||
}
|
||||
},
|
||||
resetMessageState({
|
||||
commit
|
||||
}) {
|
||||
commit("SET_HISTORY_MESSAGE_LIST", []);
|
||||
commit("SET_HAS_MORE_MESSAGE", true);
|
||||
},
|
||||
};
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state,
|
||||
mutations,
|
||||
actions,
|
||||
};
|
||||
namespaced: true,
|
||||
state,
|
||||
mutations,
|
||||
actions,
|
||||
};
|
||||
@@ -0,0 +1,42 @@
|
||||
import IMSDK from "openim-uniapp-polyfill";
|
||||
import {
|
||||
businessConfig
|
||||
} from "@/api/login";
|
||||
import {
|
||||
filterEmptyValue
|
||||
} from "@/util/common";
|
||||
|
||||
const state = {
|
||||
config: {}
|
||||
};
|
||||
|
||||
const mutations = {
|
||||
SET_CONFIG(state, info) {
|
||||
state.config = {
|
||||
...info,
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
const actions = {
|
||||
async getConfig({
|
||||
commit
|
||||
}) {
|
||||
try {
|
||||
const data = await businessConfig();
|
||||
//filterEmptyValue(businessData);
|
||||
commit("SET_CONFIG", data);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
uni.$u.toast("获取系统信息失败");
|
||||
}
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state,
|
||||
mutations,
|
||||
actions,
|
||||
};
|
||||
+19
-5
@@ -1,7 +1,13 @@
|
||||
import { v4 as uuidv4} from "uuid";
|
||||
import {
|
||||
v4 as uuidv4
|
||||
} from "uuid";
|
||||
import IMSDK from "openim-uniapp-polyfill";
|
||||
import { businessGetUserInfo} from "@/api/login";
|
||||
import { filterEmptyValue} from "@/util/common";
|
||||
import {
|
||||
businessGetUserInfo
|
||||
} from "@/api/login";
|
||||
import {
|
||||
filterEmptyValue
|
||||
} from "@/util/common";
|
||||
|
||||
const state = {
|
||||
selfInfo: {},
|
||||
@@ -9,9 +15,13 @@ const state = {
|
||||
isSyncing: false,
|
||||
reinstall: false,
|
||||
progress: 0,
|
||||
token: ""
|
||||
};
|
||||
|
||||
const mutations = {
|
||||
SET_TOKEN(state, info) {
|
||||
state.token = info;
|
||||
},
|
||||
SET_SELF_INFO(state, info) {
|
||||
state.selfInfo = {
|
||||
...info,
|
||||
@@ -34,7 +44,9 @@ const mutations = {
|
||||
};
|
||||
|
||||
const actions = {
|
||||
async getSelfInfo({ commit }) {
|
||||
async getSelfInfo({
|
||||
commit
|
||||
}) {
|
||||
try {
|
||||
const {
|
||||
data
|
||||
@@ -42,7 +54,9 @@ const actions = {
|
||||
IMSDK.IMMethods.GetSelfUserInfo,
|
||||
uuidv4(),
|
||||
);
|
||||
const {users} = await businessGetUserInfo(data.userID);
|
||||
const {
|
||||
users
|
||||
} = await businessGetUserInfo(data.userID);
|
||||
console.log(users);
|
||||
const businessData = users[0] ?? {};
|
||||
filterEmptyValue(businessData);
|
||||
|
||||
Reference in New Issue
Block a user