diff --git a/src/pages/dashboard/index.tsx b/src/pages/dashboard/index.tsx index 403ef47..9333e82 100644 --- a/src/pages/dashboard/index.tsx +++ b/src/pages/dashboard/index.tsx @@ -134,7 +134,7 @@ export const Dashboard: React.FC = () => { }; const compareNum = (today: number, yesterday: number) => { - let num = today - yesterday; + let num = today - yesterday || 0; if (num < 0) { return ( @@ -150,6 +150,7 @@ export const Dashboard: React.FC = () => { ); } + return 0; }; return ( @@ -246,76 +247,238 @@ export const Dashboard: React.FC = () => {
今日学习排行
- {basicData.user_learn_top10 && - basicData.user_learn_top10.length > 0 && ( -
-
- {basicData.user_learn_top10.map( - (item: any, index: number) => - index <= 4 && ( -
-
- {index === 0 && ( - - )} - {index === 1 && ( - - )} - {index === 2 && ( - - )} - {index > 2 && ( -
- {index} -
- )} -
- {item.user_id} -
-
-
- {timeFormat(Number(item.duration) / 1000)} -
-
- ) - )} -
- {basicData.user_learn_top10.length > 5 && ( -
- {basicData.user_learn_top10.map( - (item: any, index: number) => - index > 4 && ( -
-
-
- {index} -
-
- {item.user_id} -
-
-
- {timeFormat(Number(item.duration) / 1000)} -
-
- ) +
+ {basicData.user_learn_top10 && ( +
+
+
+ + {basicData.user_learn_top10[0] && ( +
+ { + basicData.user_learn_top10_users[ + basicData.user_learn_top10[0].user_id + ].name + } +
)}
- )} + {basicData.user_learn_top10[0] && ( +
+ {timeFormat( + Number(basicData.user_learn_top10[0].duration) / 1000 + )} +
+ )} +
+
+
+ + {basicData.user_learn_top10[1] && ( +
+ { + basicData.user_learn_top10_users[ + basicData.user_learn_top10[1].user_id + ].name + } +
+ )} +
+ {basicData.user_learn_top10[1] && ( +
+ {timeFormat( + Number(basicData.user_learn_top10[1].duration) / 1000 + )} +
+ )} +
+
+
+ + {basicData.user_learn_top10[2] && ( +
+ { + basicData.user_learn_top10_users[ + basicData.user_learn_top10[2].user_id + ].name + } +
+ )} +
+ {basicData.user_learn_top10[2] && ( +
+ {timeFormat( + Number(basicData.user_learn_top10[2].duration) / 1000 + )} +
+ )} +
+
+
+
4
+ {basicData.user_learn_top10[3] && ( +
+ { + basicData.user_learn_top10_users[ + basicData.user_learn_top10[3].user_id + ].name + } +
+ )} +
+ {basicData.user_learn_top10[3] && ( +
+ {timeFormat( + Number(basicData.user_learn_top10[3].duration) / 1000 + )} +
+ )} +
+
+
+
5
+ {basicData.user_learn_top10[4] && ( +
+ { + basicData.user_learn_top10_users[ + basicData.user_learn_top10[4].user_id + ].name + } +
+ )} +
+ {basicData.user_learn_top10[4] && ( +
+ {timeFormat( + Number(basicData.user_learn_top10[4].duration) / 1000 + )} +
+ )} +
)} + {basicData.user_learn_top10 && ( +
+
+
+
6
+ {basicData.user_learn_top10[5] && ( +
+ { + basicData.user_learn_top10_users[ + basicData.user_learn_top10[5].user_id + ].name + } +
+ )} +
+ {basicData.user_learn_top10[5] && ( +
+ {timeFormat( + Number(basicData.user_learn_top10[5].duration) / 1000 + )} +
+ )} +
+
+
+
7
+ {basicData.user_learn_top10[6] && ( +
+ { + basicData.user_learn_top10_users[ + basicData.user_learn_top10[6].user_id + ].name + } +
+ )} +
+ {basicData.user_learn_top10[6] && ( +
+ {timeFormat( + Number(basicData.user_learn_top10[6].duration) / 1000 + )} +
+ )} +
+
+
+
8
+ {basicData.user_learn_top10[7] && ( +
+ { + basicData.user_learn_top10_users[ + basicData.user_learn_top10[7].user_id + ].name + } +
+ )} +
+ {basicData.user_learn_top10[7] && ( +
+ {timeFormat( + Number(basicData.user_learn_top10[7].duration) / 1000 + )} +
+ )} +
+
+
+
9
+ {basicData.user_learn_top10[8] && ( +
+ { + basicData.user_learn_top10_users[ + basicData.user_learn_top10[8].user_id + ].name + } +
+ )} +
+ {basicData.user_learn_top10[8] && ( +
+ {timeFormat( + Number(basicData.user_learn_top10[8].duration) / 1000 + )} +
+ )} +
+
+
+
10
+ {basicData.user_learn_top10[9] && ( +
+ { + basicData.user_learn_top10_users[ + basicData.user_learn_top10[9].user_id + ].name + } +
+ )} +
+ {basicData.user_learn_top10[9] && ( +
+ {timeFormat( + Number(basicData.user_learn_top10[9].duration) / 1000 + )} +
+ )} +
+
+ )} +
diff --git a/src/pages/system/index.tsx b/src/pages/system/index.tsx index f7bf066..3dc5948 100644 --- a/src/pages/system/index.tsx +++ b/src/pages/system/index.tsx @@ -1,10 +1,22 @@ import React, { useState, useEffect } from "react"; -import { Row, Col, Form, Input, Image, Button, Tabs, message } from "antd"; +import { + Row, + Col, + Form, + Input, + Image, + Button, + Tabs, + message, + Switch, + Checkbox, +} from "antd"; import styles from "./index.module.less"; import { appConfig } from "../../api/index"; import { useParams, useNavigate } from "react-router-dom"; import { UploadImageButton } from "../../compenents"; import type { TabsProps } from "antd"; +// import { Colorpicker } from "antd-colorpicker"; export const SystemIndexPage: React.FC = () => { const params = useParams(); @@ -12,6 +24,7 @@ export const SystemIndexPage: React.FC = () => { const [form] = Form.useForm(); const [loading, setLoading] = useState(false); const [logo, setLogo] = useState(""); + const [thumb, setThumb] = useState(""); const [tabKey, setTabKey] = useState(1); useEffect(() => { @@ -45,11 +58,45 @@ export const SystemIndexPage: React.FC = () => { form.setFieldsValue({ "system.h5_url": configData[i].key_value, }); + } else if (configData[i].key_name === "player.poster") { + 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 !== "") { + value = Number(configData[i].key_value); + } + form.setFieldsValue({ + "player.is_enabled_bullet_secret": value, + }); + } else if (configData[i].key_name === "player.bullet_secret_text") { + 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") { + form.setFieldsValue({ + "player.bullet_secret_opacity": 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 onFinish = (values: any) => { if (loading) { return; @@ -83,41 +130,82 @@ export const SystemIndexPage: React.FC = () => { onFinishFailed={onFinishFailed} autoComplete="off" > - -
- {logo && ( + {logo && ( + +
- )} -
- { - setLogo(url); - form.setFieldsValue({ "system.logo": url }); - }} - > +
+ { + setLogo(url); + form.setFieldsValue({ "system.logo": url }); + }} + > +
+
+ (推荐尺寸:240x80px,支持JPG、PNG) +
-
- (推荐尺寸:240x80px,支持JPG、PNG) + + )} + {!logo && ( + +
+
+ { + setLogo(url); + form.setFieldsValue({ "system.logo": url }); + }} + > +
+
+ (推荐尺寸:240x80px,支持JPG、PNG) +
-
- - + + )} + - + - + - + - + @@ -129,7 +217,110 @@ export const SystemIndexPage: React.FC = () => { { key: "2", label: `播放设置`, - children:
, + children: ( +
+
+ +
+ +
+ (打开后播放器会随机出现跑马灯水印,以防录屏传播) +
+
+
+ +
+ + 姓名 + 邮箱 + 身份证号 +
+
+ + {/* */} + + + {/* */} + + {thumb && ( + +
+ +
+ { + setThumb(url); + form.setFieldsValue({ "player.poster": url }); + }} + > +
+ (推荐尺寸:19200x1080px,视频播放未开始时展示) +
+
+
+
+ )} + {!thumb && ( + +
+
+ { + setThumb(url); + form.setFieldsValue({ "player.poster": url }); + }} + > +
+ (推荐尺寸:19200x1080px,视频播放未开始时展示) +
+
+
+
+ )} + + + +
+
+ ), }, ]; diff --git a/src/utils/index.ts b/src/utils/index.ts index a468cf1..d51987c 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -31,8 +31,13 @@ export function timeFormat(dateStr: number) { "秒"; if (Math.floor(d.asDays()) === 0) { - value = d.hours() + "时" + d.minutes() + "分" + d.seconds() + "秒"; + if (d.hours() == 0) { + value = d.minutes() + "分" + d.seconds() + "秒"; + } else { + value = d.hours() + "时" + d.minutes() + "分" + d.seconds() + "秒"; + } } + return value; }