import { useState, useEffect } from "react"; import { Row, Form, Input, Image, Button, Tabs, message, Switch, Checkbox, Slider, Space, } from "antd"; // import styles from "./index.module.less"; import { appConfig } from "../../../api/index"; import { UploadImageButton } from "../../../compenents"; import type { TabsProps } from "antd"; import type { CheckboxChangeEvent } from "antd/es/checkbox"; const SystemConfigPage = () => { const [form] = Form.useForm(); const [loading, setLoading] = useState(false); const [logo, setLogo] = useState(""); const [thumb, setThumb] = useState(""); const [avatar, setAvatar] = useState(""); const [tabKey, setTabKey] = useState(1); const [nameChecked, setNameChecked] = useState(false); const [emailChecked, setEmailChecked] = useState(false); const [idCardchecked, setIdCardChecked] = useState(false); useEffect(() => { getDetail(); }, []); const getDetail = () => { appConfig.appConfig().then((res: any) => { let configData = res.data; for (let i = 0; i < configData.length; i++) { if (configData[i].key_name === "system.name") { form.setFieldsValue({ "system.name": configData[i].key_value, }); } else if (configData[i].key_name === "system.logo") { form.setFieldsValue({ "system.logo": configData[i].key_value, }); if (configData[i].key_value !== "") { setLogo(configData[i].key_value); } } else if (configData[i].key_name === "system.api_url") { form.setFieldsValue({ "system.api_url": configData[i].key_value, }); } else if (configData[i].key_name === "system.pc_url") { form.setFieldsValue({ "system.pc_url": configData[i].key_value, }); } else if (configData[i].key_name === "system.h5_url") { form.setFieldsValue({ "system.h5_url": configData[i].key_value, }); } else if (configData[i].key_name === "player.poster") { setThumb(configData[i].key_value); form.setFieldsValue({ "player.poster": configData[i].key_value, }); } else if ( configData[i].key_name === "player.is_enabled_bullet_secret" ) { let value = 0; if (configData[i].key_value === "1") { value = 1; } form.setFieldsValue({ "player.is_enabled_bullet_secret": value, }); } else if (configData[i].key_name === "player.bullet_secret_text") { if (configData[i].key_value.indexOf("{name}") != -1) { setNameChecked(true); } if (configData[i].key_value.indexOf("{email}") != -1) { setEmailChecked(true); } if (configData[i].key_value.indexOf("{idCard}") != -1) { setIdCardChecked(true); } form.setFieldsValue({ "player.bullet_secret_text": configData[i].key_value, }); } else if (configData[i].key_name === "player.bullet_secret_color") { form.setFieldsValue({ "player.bullet_secret_color": configData[i].key_value, }); } else if (configData[i].key_name === "player.bullet_secret_opacity") { let value = 0; if (configData[i].key_value !== "") { value = Number(configData[i].key_value) * 100; } form.setFieldsValue({ "player.bullet_secret_opacity": value, }); } else if (configData[i].key_name === "system.pc_index_footer_msg") { form.setFieldsValue({ "system.pc_index_footer_msg": configData[i].key_value, }); } else if (configData[i].key_name === "member.default_avatar") { setAvatar(configData[i].key_value); form.setFieldsValue({ "member.default_avatar": configData[i].key_value, }); } } }); }; const onSwitchChange = (checked: boolean) => { if (checked) { form.setFieldsValue({ "player.is_enabled_bullet_secret": 1 }); } else { form.setFieldsValue({ "player.is_enabled_bullet_secret": 0 }); } }; const addName = (e: CheckboxChangeEvent) => { var value = form.getFieldValue("player.bullet_secret_text"); if (e.target.checked) { value += "{name}"; } else { value = value.replace("{name}", ""); } form.setFieldsValue({ "player.bullet_secret_text": value, }); setNameChecked(!nameChecked); }; const addEmail = (e: CheckboxChangeEvent) => { var value = form.getFieldValue("player.bullet_secret_text"); if (e.target.checked) { value += "{email}"; } else { value = value.replace("{email}", ""); } form.setFieldsValue({ "player.bullet_secret_text": value, }); setEmailChecked(!emailChecked); }; const addIdCard = (e: CheckboxChangeEvent) => { var value = form.getFieldValue("player.bullet_secret_text"); if (e.target.checked) { value += "{idCard}"; } else { value = value.replace("{idCard}", ""); } form.setFieldsValue({ "player.bullet_secret_text": value, }); setIdCardChecked(!idCardchecked); }; const onFinish = (values: any) => { if (loading) { return; } setLoading(true); values["player.bullet_secret_opacity"] = values["player.bullet_secret_opacity"] / 100; appConfig.saveAppConfig(values).then((res: any) => { message.success("保存成功!"); setLoading(false); getDetail(); }); }; const onFinishFailed = (errorInfo: any) => { console.log("Failed:", errorInfo); }; const items: TabsProps["items"] = [ { key: "1", label: `网站设置`, children: (
{logo && (
{ setLogo(url); form.setFieldsValue({ "system.logo": url }); }} >
(推荐尺寸:240x80px,支持JPG、PNG)
)} {!logo && (
{ setLogo(url); form.setFieldsValue({ "system.logo": url }); }} >
(推荐尺寸:240x80px,支持JPG、PNG)
)} {/* */}
), }, { key: "2", label: `播放设置`, children: (
(打开后播放器会随机出现跑马灯水印,以防录屏传播)
姓名 邮箱 身份证号 {thumb && (
{ setThumb(url); form.setFieldsValue({ "player.poster": url }); }} >
(推荐尺寸:19200x1080px,视频播放未开始时展示)
)} {!thumb && (
{ setThumb(url); form.setFieldsValue({ "player.poster": url }); }} >
(推荐尺寸:19200x1080px,视频播放未开始时展示)
)}
), }, { key: "3", label: `学员设置`, children: (
{avatar && (
{ setAvatar(url); form.setFieldsValue({ "member.default_avatar": url }); }} >
(新学员的默认头像)
)} {!avatar && (
{ setAvatar(url); form.setFieldsValue({ "member.default_avatar": url }); }} >
(新学员的默认头像)
)}
), }, ]; const onChange = (key: string) => { setTabKey(Number(key)); }; return ( <> ); }; export default SystemConfigPage;