index.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import React, { memo, useEffect, useState } from 'react';
  2. import { PageContainer } from '@ant-design/pro-layout';
  3. import Upload from '../../../components/upload';
  4. import { message } from 'antd';
  5. import { getLoginBGI, setLoginBGI } from '@/services/notice';
  6. import './common.less';
  7. const MemoUpload = memo(Upload);
  8. const Banner = () => {
  9. const [imgUrl, setImgUrl] = useState('');
  10. // 设置登录背景图
  11. const saveImgUrl = async (url: string) => {
  12. const { status, msg } = await setLoginBGI(url);
  13. if (status === 200) {
  14. setImgUrl(url);
  15. } else {
  16. message.error(msg);
  17. }
  18. };
  19. // 获取登录背景图
  20. const getImgUrl = async () => {
  21. const { status, data, msg } = await getLoginBGI();
  22. if (status === 200) {
  23. setImgUrl(data.backgroundImage);
  24. } else {
  25. message.error(msg);
  26. }
  27. };
  28. useEffect(() => {
  29. getImgUrl();
  30. }, [imgUrl]);
  31. return (
  32. <PageContainer title="登录页背景图" className="loginBGI">
  33. <MemoUpload
  34. key={imgUrl}
  35. maxCount={1}
  36. desc="上传图片"
  37. setCoverFn={saveImgUrl}
  38. imgUrl={imgUrl}
  39. />
  40. <div className="remark">登录页封面GIF图上传</div>
  41. </PageContainer>
  42. );
  43. };
  44. export default Banner;