76 lines
1.6 KiB
JavaScript
76 lines
1.6 KiB
JavaScript
import { v4 as uuidv4 } from "uuid";
|
|
import IMSDK from "openim-uniapp-polyfill";
|
|
import { businessGetUserInfo } from "@/api/login";
|
|
import { filterEmptyValue } from "@/util/common";
|
|
|
|
const state = {
|
|
selfInfo: {},
|
|
authData: {},
|
|
isSyncing: false,
|
|
reinstall: false,
|
|
progress: 0,
|
|
};
|
|
|
|
const mutations = {
|
|
SET_SELF_INFO(state, info) {
|
|
state.selfInfo = {
|
|
...info,
|
|
};
|
|
},
|
|
SET_AUTH_DATA(state, data) {
|
|
state.authData = {
|
|
...data,
|
|
};
|
|
},
|
|
SET_IS_SYNCING(state, data) {
|
|
state.isSyncing = data;
|
|
},
|
|
SET_REINSTALL(state, data) {
|
|
state.reinstall = data;
|
|
},
|
|
SET_PROGRESS(state, data) {
|
|
state.progress = data;
|
|
},
|
|
};
|
|
|
|
const actions = {
|
|
async getSelfInfo({ commit }) {
|
|
try {
|
|
const { data } = await IMSDK.asyncApi(
|
|
IMSDK.IMMethods.GetSelfUserInfo,
|
|
uuidv4(),
|
|
);
|
|
const { users } = await businessGetUserInfo(data.userID);
|
|
const businessData = users[0] ?? {};
|
|
filterEmptyValue(businessData);
|
|
commit("SET_SELF_INFO", {
|
|
...data,
|
|
...businessData,
|
|
});
|
|
} catch (e) {
|
|
console.log(e);
|
|
uni.$u.toast("获取个人信息失败");
|
|
}
|
|
},
|
|
async updateBusinessInfo({ commit, state }) {
|
|
try {
|
|
const { users } = await businessGetUserInfo(state.selfInfo.userID);
|
|
const businessData = users[0] ?? {};
|
|
filterEmptyValue(businessData);
|
|
commit("SET_SELF_INFO", {
|
|
...state.selfInfo,
|
|
...businessData,
|
|
});
|
|
} catch (e) {
|
|
console.log(e);
|
|
}
|
|
},
|
|
};
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state,
|
|
mutations,
|
|
actions,
|
|
};
|