提示词保存
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
import { ref, reactive } from 'vue'
|
||||
import storage from '@/utils/storage'
|
||||
import { mapFromDouyin, mapFromXhs } from '../utils/benchmarkUtils'
|
||||
|
||||
const TABLE_DATA_STORAGE_KEY = 'benchmark_table_data'
|
||||
|
||||
export function useBenchmarkData() {
|
||||
const data = ref([])
|
||||
const selectedRowKeys = ref([])
|
||||
const expandedRowKeys = ref([])
|
||||
|
||||
/**
|
||||
* 保存表格数据到 session
|
||||
*/
|
||||
async function saveTableDataToSession() {
|
||||
try {
|
||||
// 过滤掉不需要持久化的临时字段(如 _analyzing)
|
||||
const persistData = (data.value || []).map((item) => {
|
||||
const rest = { ...(item || {}) }
|
||||
delete rest._analyzing
|
||||
return rest
|
||||
})
|
||||
await storage.setJSON(TABLE_DATA_STORAGE_KEY, persistData)
|
||||
} catch (error) {
|
||||
console.warn('保存表格数据到session失败:', error)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 从 session 加载表格数据
|
||||
*/
|
||||
async function loadTableDataFromSession() {
|
||||
try {
|
||||
const savedData = await storage.getJSON(TABLE_DATA_STORAGE_KEY)
|
||||
if (savedData && Array.isArray(savedData) && savedData.length > 0) {
|
||||
// 强制恢复临时字段的初始状态
|
||||
data.value = savedData.map((item) => ({ ...item, _analyzing: false }))
|
||||
console.log('从session加载了表格数据:', savedData.length, '条')
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn('从session加载表格数据失败:', error)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理 API 响应数据
|
||||
*/
|
||||
function processApiResponse(resp, platform) {
|
||||
if (platform === '抖音') {
|
||||
const awemeList = resp?.data?.aweme_list || []
|
||||
console.log('抖音返回的原始数据:', awemeList[0])
|
||||
data.value = mapFromDouyin(awemeList)
|
||||
console.log('映射后的第一条数据:', data.value[0])
|
||||
} else {
|
||||
const notes = resp?.data?.notes || resp?.data?.data || []
|
||||
data.value = mapFromXhs(notes)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 清空数据
|
||||
*/
|
||||
async function clearData() {
|
||||
data.value = []
|
||||
selectedRowKeys.value = []
|
||||
expandedRowKeys.value = []
|
||||
await storage.remove(TABLE_DATA_STORAGE_KEY)
|
||||
}
|
||||
|
||||
return {
|
||||
data,
|
||||
selectedRowKeys,
|
||||
expandedRowKeys,
|
||||
saveTableDataToSession,
|
||||
loadTableDataFromSession,
|
||||
processApiResponse,
|
||||
clearData,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user