feat:拆分工具函数
This commit is contained in:
45
src/views/AgentChat/utils/sessionUtils.js
Normal file
45
src/views/AgentChat/utils/sessionUtils.js
Normal file
@@ -0,0 +1,45 @@
|
||||
// src/views/AgentChat/utils/sessionUtils.js
|
||||
// 会话管理工具函数
|
||||
|
||||
/**
|
||||
* 按日期分组会话列表
|
||||
*
|
||||
* @param {Array} sessions - 会话列表
|
||||
* @returns {Object} 分组后的会话对象 { today, yesterday, thisWeek, older }
|
||||
*
|
||||
* @example
|
||||
* const groups = groupSessionsByDate(sessions);
|
||||
* console.log(groups.today); // 今天的会话
|
||||
* console.log(groups.yesterday); // 昨天的会话
|
||||
*/
|
||||
export const groupSessionsByDate = (sessions) => {
|
||||
const today = new Date();
|
||||
const yesterday = new Date(today);
|
||||
yesterday.setDate(yesterday.getDate() - 1);
|
||||
const weekAgo = new Date(today);
|
||||
weekAgo.setDate(weekAgo.getDate() - 7);
|
||||
|
||||
const groups = {
|
||||
today: [],
|
||||
yesterday: [],
|
||||
thisWeek: [],
|
||||
older: [],
|
||||
};
|
||||
|
||||
sessions.forEach((session) => {
|
||||
const sessionDate = new Date(session.created_at || session.timestamp);
|
||||
const daysDiff = Math.floor((today - sessionDate) / (1000 * 60 * 60 * 24));
|
||||
|
||||
if (daysDiff === 0) {
|
||||
groups.today.push(session);
|
||||
} else if (daysDiff === 1) {
|
||||
groups.yesterday.push(session);
|
||||
} else if (daysDiff <= 7) {
|
||||
groups.thisWeek.push(session);
|
||||
} else {
|
||||
groups.older.push(session);
|
||||
}
|
||||
});
|
||||
|
||||
return groups;
|
||||
};
|
||||
Reference in New Issue
Block a user