Files
im/store/modules/user.js
T
cansnow f289f79813 18
2025-12-24 04:12:56 +08:00

80 lines
1.5 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 }) {
//#ifndef APP
return [];
//#endif
try {
const result = await IMSDK.asyncApi(IMSDK.IMMethods.GetSelfUserInfo,uuidv4(),);
const res = await businessGetUserInfo(result.data.userID);
const businessData = res.data[0] ?? {};
filterEmptyValue(businessData);
commit("SET_SELF_INFO", {
...result.data,
...businessData,
});
} catch (e) {
console.log(e);
uni.$u.toast("获取个人信息失败");
}
},
async updateBusinessInfo({ commit, state }) {
try {
const res = await businessGetUserInfo(state.selfInfo.userID);
const businessData = res.data[0] ?? {};
filterEmptyValue(businessData);
commit("SET_SELF_INFO", {
...state.selfInfo,
...businessData,
});
} catch (e) {
console.log(e);
}
},
};
export default {
namespaced: true,
state,
mutations,
actions,
};