perf(前端): 上传日志, 读取最近的websocket记录

dev/RoosterEditor
Lei OT 4 months ago
parent 569039c311
commit c61795ea97

@ -614,7 +614,7 @@ export const logWebsocket = (message, direction) => {
}
}
};
export const readWebsocketLog = () => {
export const readWebsocketLog = (limit = 20) => {
return new Promise((resolve, reject) => {
let openRequest = indexedDB.open('LogWebsocketData')
openRequest.onerror = function (e) {
@ -627,17 +627,29 @@ export const readWebsocketLog = () => {
resolve('Database does not exist.')
return
}
let transaction = db.transaction('LogStore')
let transaction = db.transaction('LogStore', 'readonly')
let store = transaction.objectStore('LogStore')
let request = store.getAll()
const request = store.openCursor(null, 'prev'); // 从后往前
const results = [];
let count = 0;
request.onerror = function (e) {
reject('Error getting all records.')
reject('Error getting records.')
}
request.onsuccess = function (e) {
let data = e.target.result
sessionStorage.setItem('websocketLogData', JSON.stringify(data))
console.log(JSON.stringify(data))
resolve(data)
const cursor = e.target.result
if (cursor) {
if (count < limit) {
results.unshift(cursor.value)
count++
cursor.continue()
} else {
console.log(JSON.stringify(results))
resolve(results)
}
} else {
console.log(JSON.stringify(results))
resolve(results)
}
}
}
})

@ -101,7 +101,7 @@ function AuthApp() {
endTime: now,
})
messageApi.info('Success')
clearWebsocketLog()
// clearWebsocketLog()
sendNotify()
} catch (error) {
messageApi.error('Failure')

Loading…
Cancel
Save