feat: 上传日志前可输入描述文字
parent
9592b4b135
commit
b0a5c6f2f3
@ -0,0 +1,77 @@
|
|||||||
|
import { useState } from "react";
|
||||||
|
import { Popover, message, FloatButton, Button, Form, Input } from "antd";
|
||||||
|
import "antd/dist/reset.css";
|
||||||
|
import "dayjs/locale/zh-cn";
|
||||||
|
import { BugOutlined } from "@ant-design/icons";
|
||||||
|
import useAuthStore from "@/stores/Auth";
|
||||||
|
import { uploadPageSpyLog, sendNotify } from "@/pageSpy";
|
||||||
|
|
||||||
|
function LogUploader() {
|
||||||
|
const [open, setOpen] = useState(false);
|
||||||
|
const hide = () => {
|
||||||
|
setOpen(false);
|
||||||
|
};
|
||||||
|
const handleOpenChange = (newOpen) => {
|
||||||
|
setOpen(newOpen);
|
||||||
|
};
|
||||||
|
|
||||||
|
const [currentUser] = useAuthStore((s) => [s.currentUser]);
|
||||||
|
|
||||||
|
const [messageApi, contextHolder] = message.useMessage();
|
||||||
|
const [formBug] = Form.useForm();
|
||||||
|
|
||||||
|
const popoverContent = (
|
||||||
|
<Form
|
||||||
|
layout={"vertical"}
|
||||||
|
form={formBug}
|
||||||
|
initialValues={{ problem: '' }}
|
||||||
|
scrollToFirstError
|
||||||
|
onFinish={async (values) => {
|
||||||
|
const success = await uploadPageSpyLog();
|
||||||
|
messageApi.success("Thanks for the feedback😊");
|
||||||
|
if (success) {
|
||||||
|
sendNotify(currentUser?.realname + "说:" + values.problem);
|
||||||
|
} else {
|
||||||
|
sendNotify(currentUser?.realname + "上传日志失败");
|
||||||
|
}
|
||||||
|
hide();
|
||||||
|
formBug.setFieldsValue({problem: ''});
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Form.Item
|
||||||
|
name="problem"
|
||||||
|
label="Need help?"
|
||||||
|
rules={[{ required: true, message: "Specify the issue you need support with." }]}
|
||||||
|
>
|
||||||
|
<Input.TextArea rows={3} />
|
||||||
|
</Form.Item>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
htmlType="submit"
|
||||||
|
color="cyan"
|
||||||
|
variant="solid"
|
||||||
|
block
|
||||||
|
>
|
||||||
|
Submit
|
||||||
|
</Button>
|
||||||
|
</Form>
|
||||||
|
);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>{contextHolder}
|
||||||
|
<Popover
|
||||||
|
content={popoverContent}
|
||||||
|
trigger={["click"]}
|
||||||
|
placement="topRight"
|
||||||
|
open={open}
|
||||||
|
onOpenChange={handleOpenChange}
|
||||||
|
fresh
|
||||||
|
destroyOnHidden
|
||||||
|
>
|
||||||
|
<FloatButton icon={<BugOutlined />} />
|
||||||
|
</Popover>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default LogUploader;
|
Loading…
Reference in New Issue