添加全局loading

This commit is contained in:
hanhh 2021-09-18 15:08:45 +08:00
parent 955875cb7a
commit c0b4a70aa0
4 changed files with 35 additions and 21 deletions

View File

@ -1,5 +1,5 @@
import React, { useEffect, useState } from 'react';
import ProLayout from '@ant-design/pro-layout';
import ProLayout, { PageLoading } from '@ant-design/pro-layout';
import {
enable as enableDarkMode,
disable as disableDarkMode,
@ -89,7 +89,9 @@ export default function (props: any) {
!navigator.userAgent.includes('Chrome');
const isQQBrowser = navigator.userAgent.includes('QQBrowser');
return (
return loading ? (
<PageLoading />
) : (
<ProLayout
selectedKeys={[props.location.pathname]}
loading={loading}

View File

@ -19,6 +19,7 @@ const Config = ({ headerStyle, isPhone, theme }: any) => {
const [select, setSelect] = useState('config.sh');
const [data, setData] = useState<any[]>([]);
const editorRef = useRef<any>(null);
const [confirmLoading, setConfirmLoading] = useState(false);
const getConfig = (name: string) => {
request.get(`${config.apiPrefix}configs/${name}`).then((data: any) => {
@ -37,6 +38,7 @@ const Config = ({ headerStyle, isPhone, theme }: any) => {
};
const updateConfig = () => {
setConfirmLoading(true);
const content = editorRef.current
? editorRef.current.getValue().replace(/\r\n/g, '\n')
: value;
@ -47,6 +49,7 @@ const Config = ({ headerStyle, isPhone, theme }: any) => {
})
.then((data: any) => {
message.success(data.message);
setConfirmLoading(false);
});
};
@ -76,7 +79,12 @@ const Config = ({ headerStyle, isPhone, theme }: any) => {
defaultValue="config.sh"
onSelect={onSelect}
/>,
<Button key="1" type="primary" onClick={updateConfig}>
<Button
key="1"
loading={confirmLoading}
type="primary"
onClick={updateConfig}
>
</Button>,
]}

View File

@ -141,6 +141,7 @@ const Script = ({ headerStyle, isPhone, theme }: any) => {
const content = editorRef.current
? editorRef.current.getValue().replace(/\r\n/g, '\n')
: value;
return new Promise((resolve) => {
request
.put(`${config.apiPrefix}scripts`, {
data: {
@ -156,6 +157,8 @@ const Script = ({ headerStyle, isPhone, theme }: any) => {
} else {
message.error(_data);
}
resolve(null);
});
});
},
onCancel() {

View File

@ -1,9 +1,10 @@
import React, { useEffect, useState } from 'react';
import { Typography, Input, Form, Button, Spin, message } from 'antd';
import { Typography, Input, Form, Button, message } from 'antd';
import { request } from '@/utils/http';
import config from '@/utils/config';
import { history } from 'umi';
import QRCode from 'qrcode.react';
import { PageLoading } from '@ant-design/pro-layout';
const { Title, Link } = Typography;
@ -146,7 +147,7 @@ const SecuritySettings = ({ user, userChange }: any) => {
</Button>
</div>
) : (
<Spin />
<PageLoading />
)}
</>
) : (