import { intl } from '@/utils/intl'; import { notification, Modal } from 'antd'; import { ExclamationCircleOutlined } from '@ant-design/icons'; import RandExp from 'randexp'; export const handleResponseError = (desc: any, msg?: string | undefined) => { notification.error({ description: typeof desc === 'string' ? desc : JSON.stringify(desc), message: msg || intl.formatMessage({ id: 'OBD.src.utils.RequestError', defaultMessage: '请求错误', }), duration: null, }); }; export const handleQuit = ( handleQuitProgress: () => void, setCurrentStep: (step: number) => void, isFinshed?: boolean, ) => { const quitRequest = async () => { await handleQuitProgress(); setCurrentStep(7); }; if (isFinshed) { quitRequest(); return; } Modal.confirm({ title: intl.formatMessage({ id: 'OBD.src.utils.ExitTheDeploymentProgram', defaultMessage: '退出部署程序', }), content: intl.formatMessage({ id: 'OBD.src.utils.AfterExitingTheDeploymentWill', defaultMessage: '退出后,部署工作将被终止,请谨慎操作。', }), okText: intl.formatMessage({ id: 'OBD.src.utils.Exit', defaultMessage: '退出', }), cancelText: intl.formatMessage({ id: 'OBD.src.utils.Cancel', defaultMessage: '取消', }), icon: , okButtonProps: { type: 'primary', danger: true }, onOk: () => { return new Promise(async (resolve) => { try { await quitRequest(); resolve(); } catch { resolve(); } }); }, }); }; export const checkLowVersion = (version: string) => { return Number(version.split('')[0]) < 4; }; export const getErrorInfo = ({ response, data, type }: any) => { if (type === 'Timeout') { return { title: intl.formatMessage({ id: 'OBD.src.utils.NetworkTimeout', defaultMessage: '网络超时', }), desc: intl.formatMessage({ id: 'OBD.src.utils.YourNetworkIsAbnormalAnd', defaultMessage: '您的网络发生异常,无法连接服务器', }), }; } else if (!response) { return { title: intl.formatMessage({ id: 'OBD.src.utils.NetworkException', defaultMessage: '网络异常', }), desc: intl.formatMessage({ id: 'OBD.src.utils.YourNetworkIsAbnormalAnd', defaultMessage: '您的网络发生异常,无法连接服务器', }), }; } const desc = data?.msg || data?.detail || response?.statusText; return { title: intl.formatMessage({ id: 'OBD.src.utils.RequestError', defaultMessage: '请求错误', }), desc: typeof desc === 'string' ? desc : JSON.stringify(desc), }; }; export const getRandomPassword = (isToken?: boolean) => { const randomPasswordReg = isToken ? /[A-Za-z\d]{32}/ : /^(?=(.*[a-z]){2,})(?=(.*[A-Z]){2,})(?=(.*\d){2,})(?=(.*[~!@#%^&*_\-+=|(){}\[\]:;,.?/]){2,})[A-Za-z\d~!@#%^&*_\-+=|(){}\[\]:;,.?/]{8,32}$/; const newValue = new RandExp(randomPasswordReg).gen(); if (randomPasswordReg.test(newValue)) { return newValue; } return getRandomPassword(isToken); };