perf: 主动收件: 放到浮动按钮, 修改参数

2.0/email-builder
Lei OT 11 months ago
parent 10b51274a2
commit 50b4698a9a

@ -57,33 +57,12 @@ export const getEmailDetailAction = async (param) => {
/**
* 主动收邮件, 单个账户
* @param {object} { opi_sn, mat_sn }
* @param {object} { opi_sn, }
*/
export const getEmailFetchAction = async (param) => {
const { opi_sn, mat_sn } = param
const { opi_sn, } = param
const { result } = await fetchJSON(`${EMAIL_HOST}/email_fetch`, {
opi_sn,
mat_sn, // TODO 废弃,后端自己查询
// 以下是废弃的参数
externalid: 0,
actionid: 0,
token: 0,
})
return result
};
/**
* 主动收邮件, 所有账户
* @param {object} { opi_sn, mat_sn }
*/
export const getAllEmailFetchAction = async (emailList) => {
try {
const promises = emailList.map((eaccount) => getEmailFetchAction(eaccount))
const result = await Promise.all(promises);
return result;
} catch (error) {
console.error('Error:', error);
throw error;
}
};

@ -22,6 +22,7 @@ import { loadPageSpy } from '@/utils/pagespy'
import AppLogo from '@/assets/highlights_travel_300_300.png'
import '@/assets/App.css'
import 'react-chat-elements/dist/main.css'
import EmailFetch from './Conversations/Online/Components/EmailFetch'
function AuthApp() {
const navigate = useNavigate()
@ -99,7 +100,7 @@ function AuthApp() {
insetInlineEnd: 94,
}}
>
<FloatButton icon={<MailOutlined />} tooltip={<div>立即收件</div>} onClick={() => console.info('立即收件')} />
<EmailFetch />
<FloatButton icon={<BugOutlined />} tooltip={<div>上传日志给研发部</div>} onClick={() => uploadLog()} />
<FloatButton.BackTop />
</FloatButton.Group>

@ -1,7 +1,7 @@
import { createContext, useEffect, useState } from 'react'
import { App, Tooltip, Button } from 'antd'
import { PlusOutlined, LoadingOutlined, HistoryOutlined, FireOutlined, AudioTwoTone } from '@ant-design/icons'
import { getEmailFetchAction, getAllEmailFetchAction } from '@/actions/EmailActions'
import { useEffect, useState } from 'react'
import { App, Tooltip, Button, FloatButton } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
import { getEmailFetchAction } from '@/actions/EmailActions'
import useAuthStore from '@/stores/AuthStore'
import useConversationStore from '@/stores/ConversationStore'
import { MailDownloadIcon } from '@/components/Icons'
@ -37,22 +37,30 @@ const EmailFetch = ({ ...props }) => {
const [getEmailLoading, setEmailLoading] = useState(false)
const [fetchingText, setFetchingText] = useState('件')
const [fetchingText, setFetchingText] = useState('立即收件')
const handleGetEmail = async () => {
setEmailLoading(true)
// TODO SN
const ret = await getAllEmailFetchAction(emailList)
// setFetchingText('...');
setFetchingText('正在接收邮件...');
const ret = await getEmailFetchAction({opi_sn: userId})
setEmailLoading(false)
message.info('正在接收邮件...') // .info
setFetchingText('立即收件');
// message.info('...') // .info
}
return (
<>
<Tooltip key={'email-fetch'} title={fetchingText}>
<Button type='text' onClick={handleGetEmail} icon={getEmailLoading ? <LoadingOutlined className='text-indigo-500' /> : <MailDownloadIcon className='text-indigo-500' />} />
</Tooltip>
</>
<FloatButton
key={'email-fetch'}
icon={getEmailLoading ? <LoadingOutlined className='text-indigo-500' /> : <MailDownloadIcon className='text-indigo-500' />}
tooltip={fetchingText}
onClick={handleGetEmail}
/>
)
// return (
// <>
// <Tooltip key={'email-fetch'} title={fetchingText}>
// <Button type='text' onClick={handleGetEmail} icon={getEmailLoading ? <LoadingOutlined className='text-indigo-500' /> : <MailDownloadIcon className='text-indigo-500' />} />
// </Tooltip>
// </>
// )
}
export default EmailFetch

@ -260,8 +260,6 @@ const Conversations = () => {
// addonBefore={<FilterOutlined />}
// enterButton={'Filter'}
/>
{/* TODO 邮件接收放到右下角,和小虫子一起 */}
<EmailFetch />
{/* TODO 这个在完成搜索历史会话后去掉 */}
<Tooltip key={'conversation-list'} title={activeList ? '隐藏会话' : '活跃会话'}>
<Button onClick={toggleClosedConversationsList} icon={activeList ? <HistoryOutlined className='text-neutral-500' /> : <FireOutlined className=' text-orange-500' />} type='text' />

Loading…
Cancel
Save