;
codeList?: string[];
authCodes?: string[];
}> {
const fetchUserInfo = async () => {
try {
const { code, data } = await queryCurrentUser();
if (code === 200) {
return { ...data, staffName: data.staffName || data.name };
}
} catch (error) {}
return undefined;
};
let currentUser: any;
if (!window.location.pathname.includes('login')) {
currentUser = await fetchUserInfo();
}
if (currentUser) {
localStorage.setItem('user', currentUser.staffName);
if (currentUser.orgName) {
localStorage.setItem('organization', currentUser.orgName);
}
}
const authCodes = getAuthCodes();
return {
fetchUserInfo,
currentUser,
settings: defaultSettings,
authCodes,
};
}
export async function patchRoutes({ routes }) {
const config = await getRunningEnv();
if (config && config.env) {
window.RUNNING_ENV = config.env;
const { env } = config;
const target = routes[0].routes;
if (env) {
const envRoutes = traverseRoutes(target, env);
// 清空原本route;
target.splice(0, 99);
// 写入根据环境转换过的的route
target.push(...envRoutes);
}
} else {
const target = routes[0].routes;
// start-standalone模式不存在env,在此模式下不显示chatSetting
const envRoutes = target.filter((item: any) => {
return !['chatSetting'].includes(item.name);
});
target.splice(0, 99);
target.push(...envRoutes);
}
}
export const layout: RunTimeLayoutConfig = (params) => {
const { initialState } = params as any;
return {
onMenuHeaderClick: (e) => {
e.preventDefault();
history.push(replaceRoute);
},
logo: (
超音数(SuperSonic)
),
contentStyle: { ...(initialState?.contentStyle || {}) },
rightContentRender: () => ,
disableContentMargin: true,
menuHeaderRender: undefined,
childrenRender: (dom: any) => {
return (
{dom}
{history.location.pathname !== '/chat' && !isMobile && (
)}
);
},
...initialState?.settings,
};
};