feat: 添加localStorage工具方法用于导入状态持久化
- saveImportTaskToStorage: 保存导入任务到localStorage - getImportTaskFromStorage: 读取并校验导入任务数据 - clearImportTaskFromStorage: 清除localStorage数据 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -425,6 +425,68 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
/**
|
||||||
|
* 保存导入任务到localStorage
|
||||||
|
* @param {Object} taskData - 任务数据
|
||||||
|
*/
|
||||||
|
saveImportTaskToStorage(taskData) {
|
||||||
|
try {
|
||||||
|
const data = {
|
||||||
|
...taskData,
|
||||||
|
saveTime: Date.now()
|
||||||
|
};
|
||||||
|
localStorage.setItem('employee_import_last_task', JSON.stringify(data));
|
||||||
|
} catch (error) {
|
||||||
|
console.error('保存导入任务状态失败:', error);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 从localStorage读取导入任务
|
||||||
|
* @returns {Object|null} 任务数据或null
|
||||||
|
*/
|
||||||
|
getImportTaskFromStorage() {
|
||||||
|
try {
|
||||||
|
const data = localStorage.getItem('employee_import_last_task');
|
||||||
|
if (!data) return null;
|
||||||
|
|
||||||
|
const task = JSON.parse(data);
|
||||||
|
|
||||||
|
// 数据格式校验
|
||||||
|
if (!task || !task.taskId) {
|
||||||
|
this.clearImportTaskFromStorage();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 时间戳校验
|
||||||
|
if (task.saveTime && typeof task.saveTime !== 'number') {
|
||||||
|
this.clearImportTaskFromStorage();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 过期检查(7天)
|
||||||
|
const sevenDays = 7 * 24 * 60 * 60 * 1000;
|
||||||
|
if (Date.now() - task.saveTime > sevenDays) {
|
||||||
|
this.clearImportTaskFromStorage();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return task;
|
||||||
|
} catch (error) {
|
||||||
|
console.error('读取导入任务状态失败:', error);
|
||||||
|
this.clearImportTaskFromStorage();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 清除localStorage中的导入任务
|
||||||
|
*/
|
||||||
|
clearImportTaskFromStorage() {
|
||||||
|
try {
|
||||||
|
localStorage.removeItem('employee_import_last_task');
|
||||||
|
} catch (error) {
|
||||||
|
console.error('清除导入任务状态失败:', error);
|
||||||
|
}
|
||||||
|
},
|
||||||
/** 查询员工列表 */
|
/** 查询员工列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user