增加上传下载

This commit is contained in:
GodD6366 2024-04-10 12:53:24 +08:00
parent 5d61170139
commit 72dd9e4505
4 changed files with 30 additions and 27 deletions

View File

@ -604,10 +604,10 @@
"layers": "Layers"
},
"moviebot": {
"tv": "TV",
"movie": "MOVIE",
"sites": "normal site",
"errorSites": "error site"
"subscribe": "SUB",
"sites": "SITE",
"todayUp": "UPLOADED",
"todayDl": "DOWNLOAD"
},
"octoprint": {
"printer_state": "Status",

View File

@ -462,10 +462,10 @@
"layers": "层"
},
"moviebot": {
"tv": "剧集",
"movie": "电影",
"sites": "正常站点",
"errorSites": "错误站点"
"subscribe": "订阅中",
"sites": "站点",
"todayUp": "今日上传",
"todayDl": "今日下载"
},
"medusa": {
"wanted": "关注中",

View File

@ -1,12 +1,8 @@
import { useTranslation } from "next-i18next";
import Block from "components/services/widget/block";
import Container from "components/services/widget/container";
import useWidgetAPI from "utils/proxy/use-widget-api";
export default function Component({ service }) {
const { t } = useTranslation();
const { widget } = service;
const { data: listTVResult } = useWidgetAPI(widget, "SubscribeList", {
@ -18,27 +14,30 @@ export default function Component({ service }) {
media_type: "Movie",
});
let subingTVList = [];
let subingMovieList = [];
if (listTVResult && listMovieResult) {
subingTVList = listTVResult.data.filter((item) => item.status === 0);
subingMovieList = listMovieResult.data.filter((item) => item.status === 0);
}
const result = useWidgetAPI(widget, "GetSites", {
refreshInterval: 60000,
});
const sites = result.data?.data || [];
const SitesOverview = useWidgetAPI(widget, "SitesOverview", {
refreshInterval: 60000,
});
const subingTVList = listTVResult?.data.filter((item) => item.status === 0) || 0;
const subingMovieList = listMovieResult?.data.filter((item) => item.status === 0) || 0;
const todayUp = SitesOverview.data?.data?.today_up || 0;
const todayDl = SitesOverview.data?.data?.today_dl || 0;
const normalSites = sites.filter((s) => s.status === 1).length || 0;
const errorSites = sites.filter((s) => s.status === 0).length || 0;
return (
<Container service={service}>
<Block label="moviebot.tv" value={t("common.number", { value: subingTVList.length })} />
<Block label="moviebot.movie" value={t("common.number", { value: subingMovieList.length })} />
<Block label="moviebot.sites" value={t("common.number", { value: sites.filter((s) => s.status === 1).length })} />
<Block
label="moviebot.errorSites"
value={t("common.number", { value: sites.filter((s) => s.status === 0).length })}
/>
<Block label="moviebot.subscribe" value={subingTVList.length + subingMovieList.length} />
<Block label="moviebot.sites" value={errorSites ? `异常 ${errorSites}` : `可用 ${normalSites}`} />
<Block label="moviebot.todayUp" value={`${Math.floor(todayUp)} MB`} />
<Block label="moviebot.todayDl" value={`${Math.floor(todayDl)} MB`} />
</Container>
);
}

View File

@ -14,11 +14,15 @@ const widget = {
params: ["media_type"],
},
GetSites: {
endpoint: "api/site/get_sites",
params: ["refreshInterval"],
},
SitesOverview: {
headers: {
"User-Agent": "Mozilla/5.0", // Crowdsec requires a user-agent
"Content-Type": "application/json",
},
endpoint: "api/site/get_sites",
endpoint: "api/site/overview",
params: ["refreshInterval"],
},
},