Files
im/store/modules/user.js
T
commie 0783e46b4b 2
2025-11-23 01:01:52 +08:00

97 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,
token: ""
};
const mutations = {
SET_TOKEN(state, info) {
state.token = info;
},
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);
console.log(users);
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,
};