import './proj-config-loginpage.css'; import { Col, // Flex, GetProp, Input, message, Modal, Row, // Space, Spin, Upload, UploadFile, UploadProps } from "antd"; // import { useParams } from "react-router-dom"; import { useEffect, useState } from "react"; import { DevUserId, get, downloadUrl, put, uploadImageUrl, post } from "../../util/AjaxUtils.ts"; import { Form } from 'antd'; import CardImgSelect, { } from "../../components/card/CardImgSelect.tsx"; type FormFieldType = { loginpageId: string; logo: string; bgImgs: string; subTitle: string; copyrightOwner: string; copyrightDate: string; adminUsername: string; adminPassword: string; }; type FileType = Parameters>[0]; export default function ProjConfigLoginpage(props:any) { // const nav = useNavigate(); // const pathParams = useParams(); const [messageApi, contextHolder] = message.useMessage(); const [form] = Form.useForm(); const [loading, setLoading] = useState(false); const [isEditModalOpen, setIsEditModalOpen] = useState(false); const [logoImgArray, setLogoImgArray] = useState([]); const [bgImgArray, setBgImgArray] = useState([]); const [iframeSrcDoc, setIframeSrcDoc] = useState(); const height = window.innerHeight - 200; const [loginpageArray, setloginpageArray] = useState([]) const [selectedLoginpageId, setSelectedLoginpageId] = useState(''); // 若无选择的背景 默认的第一个图片的背景 // const [defaultId, setDefaultId] = useState('') const beforeUpload = (file: FileType) => { const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png'; if (!isJpgOrPng) { message.error('只能上传 JPG/PNG 格式文件!'); } return isJpgOrPng; }; const preview = () => { post({ messageApi, url: `/api/proj/preview/${props.projId}`, body: { // projId: pathParams.projId, loginpageId: selectedLoginpageId, logo: logoImgArray.length > 0 ? logoImgArray[0].uid : '', bgImgs: bgImgArray.length > 0 ? bgImgArray[0].uid : '', subTitle: form.getFieldValue('subTitle'), copyrightOwner: form.getFieldValue('copyrightOwner'), copyrightDate: form.getFieldValue('copyrightDate'), }, onSuccess({ data }) { setIframeSrcDoc(data.data); console.log(data); } }) } const getlistLoginpage = () => { get({ messageApi, url: '/api/loginpage/list', onSuccess({ data }) { console.log('登录页图片列表', data); setloginpageArray(data) // setDefaultId(data[0].loginpageId) upLoginPage(data[0].loginpageId) } }) } const upLoginPage = (id: string) => { post({ messageApi, url: `/api/proj/preview/${props.projId}`, body: { // projId: pathParams.projId, loginpageId: id, logo: logoImgArray.length > 0 ? logoImgArray[0].uid : '', bgImgs: bgImgArray.length > 0 ? bgImgArray[0].uid : '', subTitle: form.getFieldValue('subTitle'), copyrightOwner: form.getFieldValue('copyrightOwner'), copyrightDate: form.getFieldValue('copyrightDate'), }, onSuccess({ data }) { setIframeSrcDoc(data.data); } }) } useEffect(() => { getlistLoginpage() get({ messageApi, url: `/api/proj/get/config-loginpage/${props.projId}`, onSuccess({ data }) { console.log('寻找被选中id', data); setSelectedLoginpageId(data.loginpageId); form.setFieldValue('loginpageId', data.loginpageId); form.setFieldValue('subTitle', data.subTitle); form.setFieldValue('copyrightOwner', data.copyrightOwner); form.setFieldValue('copyrightDate', data.copyrightDate); form.setFieldValue('adminUsername', data.adminUsername); form.setFieldValue('adminPassword', data.adminPassword); if (data.logo) { const url = downloadUrl(data.logo); logoImgArray.splice(0, 1, { uid: data.logo, name: 'logo.png', status: 'done', url: url, thumbUrl: url, }) setLogoImgArray([ ...logoImgArray ]) } if (data.bgImgs) { const url = downloadUrl(data.bgImgs); bgImgArray.splice(0, 1, { uid: data.bgImgs, name: 'bg.png', status: 'done', url: url, thumbUrl: url, }) setBgImgArray([ ...bgImgArray ]) } // preview() if (data.loginpageId) { upLoginPage(data.loginpageId) }else{ getlistLoginpage(); } } }) }, []) return ( <> {contextHolder} {/* 首页}, {title: 创建项目}, {title: {nav(-1)}}>编辑项目}, {title: '登录界面设置'}, ]} /> */}