import { Text, View } from "@tarojs/components"; import { postDetailApi, reportApi } from "../../api/post"; import { showToast, navigateBack, useDidShow, getCurrentInstance, } from "@tarojs/taro"; import { useState } from "react"; import "./index.scss"; import { Button, Col, Form, FormItem, Image, Radio, Row, TextArea, NavBar, } from "@nutui/nutui-react-taro"; import { ArrowLeft } from "@nutui/icons-react-taro"; const Report = () => { const [form] = Form.useForm(); const reportType = Form.useWatch("report_type", form); const [postData, setPostData] = useState(null); useDidShow(() => { const { target_type, target_id } = getCurrentInstance()?.router?.params || {}; if (target_type === "post") { getPostDetail(Number(target_id)); } }); // 获取帖子详情 const getPostDetail = (target_id: number) => { postDetailApi({ id: target_id }).then((res: any) => { if (res.code === 200) { setPostData(res.data); } }); }; // 提交 const submit = () => { const params = form.getFieldsValue(true); if (params.report_type === "9") { if (!params.reason) { showToast({ title: "请输入理由", icon: "none" }); return; } } params.target_type = "post"; params.target_id = postData.id; reportApi(params).then((res: any) => { if (res.code === 200) { showToast({ title: "举报成功", icon: "success" }); setTimeout(() => { navigateBack(); }, 1500); } }); }; return ( <> 返回 } onBackClick={(e) => { e.preventDefault(); navigateBack({ delta: 1 }); }} > 举报 {postData ? ( <> 举报{" "} {" "} @{postData.user.nickname || postData.user.username} {" "} 的动态 {" "} @{postData.user.nickname || postData.user.username} {":"} {postData.content}
submit()}> 举报理由 人身攻击 淫秽色情 违法信息 有害信息 垃圾广告 侵权抄袭 诈骗 未成年人相关举报 其他 {reportType === "9" && ( <>