增加已删除动态回捞页面
This commit is contained in:
parent
f2b2f52c7f
commit
0667e65518
|
@ -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>
|
||||||
|
);
|
||||||
|
}
|
|
@ -53,6 +53,7 @@ export default function Op() {
|
||||||
getItem("图片机审回查", "imageMachineReview"),
|
getItem("图片机审回查", "imageMachineReview"),
|
||||||
getItem("文本机审回查", "textMachineReview"),
|
getItem("文本机审回查", "textMachineReview"),
|
||||||
getItem("动态机审回查", "postMachineReview"),
|
getItem("动态机审回查", "postMachineReview"),
|
||||||
|
getItem("已删除动态回捞", "deletedPostReview"),
|
||||||
]),
|
]),
|
||||||
getItem("网红管理", "streamerManagement", <ShopOutlined />, [
|
getItem("网红管理", "streamerManagement", <ShopOutlined />, [
|
||||||
getItem("网红资料", "streamerInformation"),
|
getItem("网红资料", "streamerInformation"),
|
||||||
|
|
|
@ -21,6 +21,7 @@ import PostMachineReview from "../pages/PostMachineReview";
|
||||||
import GetPhoneNumber from "../pages/GetPhoneNumber";
|
import GetPhoneNumber from "../pages/GetPhoneNumber";
|
||||||
import Refund from "../pages/Refund";
|
import Refund from "../pages/Refund";
|
||||||
import BlockUser from "../pages/BlockUser";
|
import BlockUser from "../pages/BlockUser";
|
||||||
|
import DeletedPostReview from "../pages/DeletedPostReview";
|
||||||
|
|
||||||
const routes = [
|
const routes = [
|
||||||
{
|
{
|
||||||
|
@ -115,6 +116,10 @@ const routes = [
|
||||||
path: "blockUser/*",
|
path: "blockUser/*",
|
||||||
element: <BlockUser />,
|
element: <BlockUser />,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "deletedPostReview/*",
|
||||||
|
element: <DeletedPostReview />,
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
Loading…
Reference in New Issue