@cmstops/pro-compo
Version:
[物料平台文档中心](https://arco.design/docs/material/guide)
49 lines (48 loc) • 1.36 kB
JavaScript
import { ref } from "vue";
import request from "../utils/request.js";
function getUserInfo(BASE_API, params) {
return request(BASE_API, {
url: "/poplar/v2/account/info",
method: "get",
params
});
}
function getChannels(BASE_API, params) {
return request(BASE_API, {
url: `/poplar/v2/channels?repository_id=${params == null ? void 0 : params.repository_id}`,
method: "get"
});
}
const useLoadUserInfo = (BASE_API) => {
const userInfo = ref({ BASE_API });
const getChannelsHandle = async (_user) => {
const channels = await getChannels(BASE_API, {
repository_id: _user.repository_id
});
if (channels.code === 0) {
channels.message.map((channel) => {
_user[`${channel.platform_type}_channel_id`] = channel.id;
if (channel.logo_type === "2") {
_user.channel_clientSetting = channel.uid;
}
return channel;
});
return _user;
}
return null;
};
const getUserInfoHandle = async () => {
const res = await getUserInfo(BASE_API);
if (res.code === 0 && res.message) {
if (res.message.repository_id) {
res.message = await getChannelsHandle(res.message);
}
userInfo.value = { BASE_API, ...res.message };
}
};
return {
userInfo,
getUserInfoHandle
};
};
export { useLoadUserInfo as default, getChannels };