增加已删除动态回捞页面

This commit is contained in:
yezian 2024-03-27 21:21:00 +08:00
parent f2b2f52c7f
commit 0667e65518
3 changed files with 157 additions and 0 deletions

View File

@ -0,0 +1,151 @@
import React, { useState, useEffect } from "react";
import { Form, Input, Table, Image, Space, Button, Modal, message } from "antd";
import baseRequest from "../../utils/baseRequest";
export default function DeletedPostReview() {
//
const columns = [
{
title: "动态信息",
dataIndex: "info",
key: "info",
render: (data) => (
<div>
<p>
动态id<span className="text-red-400">{data.id}</span>
</p>
<p>
点赞<span className="text-red-400">{data.like}</span>
</p>
<p>
创建时间<span className="text-red-400">{data.ct}</span>
</p>
</div>
),
},
{
title: "动态文案",
dataIndex: "content",
key: "content",
},
{
title: "媒体",
dataIndex: "media",
key: "media",
render: (data) => (
<div>
{data?.images?.map((item, index) => (
<Image
key={index}
src={item.urls[0]}
width={150}
style={{ marginBottom: 10 }}
/>
))}
{data?.videos?.map((item, index) => (
<video key={index} src={item.urls[0]} width={150} controls />
))}
</div>
),
},
{
title: "操作",
dataIndex: "opeartion",
key: "opeartion",
render: (_, record) => (
<div>
<Space>
<Space.Compact direction="vertical">
<Button type="primary" onClick={() => onClickRecovery(record)}>
恢复
</Button>
</Space.Compact>
</Space>
</div>
),
},
];
//
const onClickRecovery = async (record) => {
try {
const base = baseRequest();
const response = await fetch("/op/moment/update", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
id: record.info.id,
status: 2,
...base,
}),
});
const temData = await response.json();
console.log(temData);
if (temData.ret === -1) {
alert(temData.msg);
return;
}
setShowData(showData.filter((item) => item.info.id !== record.info.id));
} catch (error) {
console.error(error);
}
};
//
const [showData, setShowData] = useState([]);
//
const getData = async () => {
try {
const base = baseRequest();
const response = await fetch("/op/moment/list_deleted", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
ct_upper_bound: Math.floor(new Date().getTime() / 1000),
offset: 0,
limit: 2000,
...base,
}),
});
const temData = await response.json();
if (temData.ret === -1) {
alert(temData.msg);
return;
}
//
const structedData = temData.data.list.map((item, index) => {
return {
key: index,
info: {
id: item.id,
like: item.thumbs_up_num,
ct: new Date(item.ct * 1000).toLocaleString(),
},
content: item.text,
media: item.media_component,
};
});
setShowData(structedData);
} catch (error) {
console.error(error);
}
};
useEffect(() => {
getData();
}, []);
return (
<div className="w-full h-full">
<Table
columns={columns}
dataSource={showData}
pagination={{ pageSize: 20 }}
/>
</div>
);
}

View File

@ -53,6 +53,7 @@ export default function Op() {
getItem("图片机审回查", "imageMachineReview"),
getItem("文本机审回查", "textMachineReview"),
getItem("动态机审回查", "postMachineReview"),
getItem("已删除动态回捞", "deletedPostReview"),
]),
getItem("网红管理", "streamerManagement", <ShopOutlined />, [
getItem("网红资料", "streamerInformation"),

View File

@ -21,6 +21,7 @@ import PostMachineReview from "../pages/PostMachineReview";
import GetPhoneNumber from "../pages/GetPhoneNumber";
import Refund from "../pages/Refund";
import BlockUser from "../pages/BlockUser";
import DeletedPostReview from "../pages/DeletedPostReview";
const routes = [
{
@ -115,6 +116,10 @@ const routes = [
path: "blockUser/*",
element: <BlockUser />,
},
{
path: "deletedPostReview/*",
element: <DeletedPostReview />,
},
],
},
];