diff --git a/src/actions/ConversationActions.js b/src/actions/ConversationActions.js index 3f849e8..4cd07a8 100644 --- a/src/actions/ConversationActions.js +++ b/src/actions/ConversationActions.js @@ -125,6 +125,7 @@ export const fetchConversationsSearch = async (params) => { whatsapp_name: `${ele.whatsapp_name || ''}`.trim(), opi_sn: ele.OPI_SN || ele.opi_sn || 0, OPI_Name: `${ele.OPI_Name || ele.opi_name || ''}`.trim(), + opi_name: `${ele.OPI_Name || ele.opi_name || ''}`.trim(), dateText: dayjs((ele.lasttime || ele.lasttime)).format('MM-DD HH:mm'), matchMsgList: parseRenderMessageList((ele.msglist_AsJOSN || [])), // .reverse()), coli_id: '', @@ -145,7 +146,7 @@ export const fetchMessagesHistory = async (params) => { pagedir: 'next', }; const _params = pick(params, Object.keys(defaultParams)); - if (isEmpty(_params.opisn) || isEmpty(_params.whatsappid)) { + if (isEmpty(_params.whatsappid)) { return []; } const { errcode, result } = await fetchJSON(`${API_HOST}/get_item_messages`, {...defaultParams, ..._params}); diff --git a/src/components/ErrorBoundary.jsx b/src/components/ErrorBoundary.jsx index 845839d..9072959 100644 --- a/src/components/ErrorBoundary.jsx +++ b/src/components/ErrorBoundary.jsx @@ -15,6 +15,7 @@ class ErrorBoundary extends PureComponent { componentDidCatch(error, info) { console.error('Sorry, Something went wrong.') console.error(error) + window.$pageSpy.triggerPlugins('onOfflineLog', 'upload'); this.setState({ hasError: true, info: error.message }) } @@ -30,4 +31,4 @@ class ErrorBoundary extends PureComponent { } } -export default ErrorBoundary \ No newline at end of file +export default ErrorBoundary diff --git a/src/views/Conversations/History/MessagesList.jsx b/src/views/Conversations/History/MessagesList.jsx index d4ffcb2..8dbb8ee 100644 --- a/src/views/Conversations/History/MessagesList.jsx +++ b/src/views/Conversations/History/MessagesList.jsx @@ -26,17 +26,25 @@ const MessagesList = ({ ...props }) => { setMessageListPreLoading(true); const data = await fetchMessagesHistory({ ...chatItem, lasttime: chatItem.pretime, pagedir: 'pre', pagesize: BIG_PAGE_SIZE }); setMessageListPreLoading(false); - setChatItemMessages((prevValue) => data.concat(prevValue)); + // const prevChatItemMessages = chatItemMessages; + // setChatItemMessages([].concat(data, prevChatItemMessages)); + setChatItemMessages((prevValue) => [].concat(data, prevValue)); const loadPrePage = !(data.length === 0 || data.length < BIG_PAGE_SIZE); - setParamsForMsgList({ loadPrePage }); + if (data.length > 0) { + setParamsForMsgList({ loadPrePage, pretime: data[0].orgmsgtime }); + } }; const getMessagesNext = async (chatItem) => { setMessageListLoading(true); const data = await fetchMessagesHistory({ ...chatItem, pagedir: 'next', pagesize: BIG_PAGE_SIZE }); setMessageListLoading(false); - setChatItemMessages((prevValue) => prevValue.concat(data)); + // const prevChatItemMessages = chatItemMessages; + // setChatItemMessages([].concat(prevChatItemMessages, data)); + setChatItemMessages((prevValue) => [].concat(prevValue, data)); const loadNextPage = !(data.length === 0 || data.length < BIG_PAGE_SIZE); - setParamsForMsgList({ loadNextPage }); + if (data.length > 0) { + setParamsForMsgList({ loadNextPage, lasttime: data[data.length - 1].orgmsgtime }); + } }; // 选择指定消息之后, 定位 @@ -52,6 +60,7 @@ const MessagesList = ({ ...props }) => { setChatItemMessages([]); setParamsForMsgList({}); setSelectedMatch({}); + setFocusMsg(''); if (isEmpty(selectedConversation.conversationid)) { return () => {}; } @@ -94,7 +103,7 @@ const MessagesList = ({ ...props }) => { // 更新是否需要显示上一页,下一页按钮 useEffect(() => { if (chatItemMessages.length > 0) { - setParamsForMsgList({ pretime: chatItemMessages[0].orgmsgtime, lasttime: chatItemMessages[chatItemMessages.length - 1].orgmsgtime }); + // setParamsForMsgList({ pretime: chatItemMessages[0].orgmsgtime, lasttime: chatItemMessages[chatItemMessages.length - 1].orgmsgtime }); const album = chatItemMessages.filter((ele) => ele.whatsapp_msg_type === 'image').map((ele) => ele.data.uri); setImageAlbumList(album); }