/** * Copyright (c) 2013-Now https://jeesite.com All rights reserved. * No deletion without permission, or be held responsible to law. * @author ThinkGem */ import { defHttp } from '@jeesite/core/utils/http/axios'; import { UserInfo } from '@jeesite/types/store'; import { ErrorMessageMode, Result } from '@jeesite/types/axios'; import { useGlobSetting } from '@jeesite/core/hooks/setting'; import { encryptByBase64 } from '@jeesite/core/utils/cipher'; import { Menu } from '@jeesite/core/router/types'; import { useAppStore } from '@jeesite/core/store/modules/app'; const { adminPath } = useGlobSetting(); export interface LoginParams { id: string; pwd: string; } export interface LoginResult { result: string; message: string; sessionid: string; isValidCodeLogin: boolean; user: UserInfo; demoMode: boolean; useCorpModel: boolean; currentCorpCode: string; currentCorpName: string; modifyPasswordTip: string; modifyPasswordMsg: string; msgEnabled: boolean; sysCode: string; roleCode: string; postCode: string; title: string; company: string; version: string; year: string; lang: string; } export interface AuthInfo { stringPermissions: string[]; roles: string[]; } export interface AuthorizationInfoResult extends Result { data?: Record | null; } export const loginApi = (params: LoginParams, mode: ErrorMessageMode = 'none') => { params.pwd = encryptByBase64(params.pwd); return defHttp.post( { url: adminPath + '/login', params, timeout: 20 * 1000 }, { errorMessageMode: mode }, ); }; export const switchSys = (sysCode: string) => { const params = sysCode ? '/' + sysCode : sysCode; return defHttp.get({ url: adminPath + '/switch' + params }); }; export const switchRole = (roleCode: string) => { const params = roleCode ? '/' + roleCode : roleCode; return defHttp.get({ url: adminPath + '/switchRole' + params }); }; export const switchPost = (postCode: string) => { const params = postCode ? '/' + postCode : postCode; return defHttp.get({ url: adminPath + '/switchPost' + params }); }; export const switchSkin = (name = '') => { if (name == '') { const appStore = useAppStore(); if (appStore.getDarkMode === 'dark') { name = 'skin-dark'; } else { const themeColor = appStore.getProjectConfig.themeColor; name = themeColor == '#1890ff' ? 'skin-blue-light3' : 'skin-blue3'; } } return defHttp.get({ url: adminPath + '/switchSkin/' + name }); }; export const userInfoApi = (mode: ErrorMessageMode = 'message') => defHttp.get({ url: adminPath + '/index', timeout: 10 * 1000 }, { errorMessageMode: mode }); export const authInfoApi = () => defHttp.get({ url: adminPath + '/authInfo' }); // 展示授权信息,不用于授权拦截判断。 export const authorizationInfoApi = () => defHttp.get( { url: adminPath + '/sys/info', timeout: 10 * 1000 }, { errorMessageMode: 'none', isTransformResponse: false }, ); export const machineCodeApi = () => defHttp.get({ url: adminPath + '/sys/code', timeout: 10 * 1000 }, { errorMessageMode: 'none' }); export const openLocalFileApi = (filePath: string) => defHttp.get( { url: adminPath + '/sys/openLocalFile', params: { filePath }, timeout: 10 * 1000 }, { errorMessageMode: 'none', isTransformResponse: false }, ); export const openOfficeFileApi = (fileId: string | number) => defHttp.get( { url: adminPath + '/sys/openOfficeFile', params: { fid: fileId }, timeout: 10 * 1000 }, { errorMessageMode: 'none', isTransformResponse: false }, ); export const offlineAuthorizationApi = (license: string) => defHttp.get( { url: adminPath + '/sys/noNet', params: { license }, timeout: 10 * 1000 }, { errorMessageMode: 'none', isTransformResponse: false }, ); export const checkAuthApi = () => defHttp.get( { url: adminPath + '/sys/checkAuth', timeout: 10 * 1000 }, { errorMessageMode: 'none', isTransformResponse: false, skipErrorMessage: true }, ); export { getMapLocalApi, setMapLocalApi } from './mapLocal'; export { getCellLocalApi, setCellLocalApi } from './cellLocal'; export const menuRouteApi = () => defHttp.get({ url: adminPath + '/menuRoute' }); export const logoutApi = () => defHttp.get({ url: adminPath + '/logout' }); export const healthApi = () => defHttp.get( { url: adminPath + '/sys/health' }, { isTransformResponse: false, skipSuccessMessage: true, skipErrorMessage: true }, );