import { useState, useEffect } from 'react' import { isEmpty } from '@/utils/commons' import { getEmailDetailAction, postResendEmailAction } from '@/actions/EmailActions' import { App, Button, Divider, Avatar } from 'antd' /** * @param mai_sn 邮件编号ID * @param data 直接传递, 不重复获取 * * 在详情点击`回复`呼出编辑时 */ export const useEmailDetail = (mai_sn, data) => { const {notification} = App.useApp() const [loading, setLoading] = useState(false) const [mailData, setMailData] = useState({ loading, info: {}, content: '', attachments: [] }) useEffect(() => { const getEmailDetail = async () => { if (isEmpty(mai_sn)) { return false } try { setLoading(true) const data = await getEmailDetailAction({ mai_sn }) setMailData(data) setLoading(false) } catch (err) { setLoading(false) notification.error({ message: "请求失败", description: err.message || '网络异常', placement: "top", duration: 3, }); } } if (isEmpty(data)) getEmailDetail() else setMailData(data) }, [mai_sn]) const postEmailResend = async ({ mai_sn, conversationid: externalid, actionId: actionid, ...body }) => { if (isEmpty(mai_sn)) { return false } await postResendEmailAction({ mai_sn, externalid, actionid, token: 0 }) } return { loading, mailData, postEmailResend } }