Merge pull request #240 from jamebal/search

perf: 优化删除操作和移动操作
This commit is contained in:
jmal 2024-07-25 18:07:33 +08:00 committed by GitHub
commit 41275b21ac
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 28 additions and 7 deletions

View File

@ -1351,7 +1351,6 @@ export default {
keydown(event) {
const { keyCode } = event
const isCmd = this.checkCmdKey(event)
console.log('keydown', 'keyCode', keyCode, 'isCmd', isCmd)
const checkPreviewVisible = this.checkPreviewVisible()
// space
@ -2595,7 +2594,7 @@ export default {
child[1].iconClass = 'menu-empty'
}
if (child[2]) {
if (localStorage.getItem('showFolderSize') === 'true') {
if (localStorage.getItem('showFolderSize') === '1') {
child[2].iconClass = 'duigou'
} else {
child[2].iconClass = 'menu-empty'
@ -3414,7 +3413,11 @@ export default {
break
case 'show-folder-size':
const showFolderSize = localStorage.getItem('showFolderSize')
localStorage.setItem('showFolderSize', showFolderSize ? false : true)
if (showFolderSize === '1') {
localStorage.setItem('showFolderSize', '0')
} else {
localStorage.setItem('showFolderSize', '1')
}
this.getFileList()
break
case 'orderName':

View File

@ -5,6 +5,7 @@ import { generateUUID } from "ant-design-vue/lib/vc-select/util";
let eventSource = null;
let timer = null;
let lastHeartbeat = new Date().getTime();
const uuid = generateUUID();
const throttledConnectSSE = _.throttle((username) => {
@ -31,11 +32,16 @@ function connectToSSE(username) {
eventSource.addEventListener('message', handleMessage);
eventSource.addEventListener('error', handleError.bind(null, username));
startHeartbeatCheck(username);
}
function handleMessage(event) {
const msg = JSON.parse(event.data);
onMessage(msg);
if (event.data === 'h') {
lastHeartbeat = new Date().getTime();
} else {
const msg = JSON.parse(event.data);
onMessage(msg);
}
}
function handleError(username) {
@ -49,6 +55,18 @@ function clearExistingTimer() {
}
}
function startHeartbeatCheck(username) {
clearExistingTimer();
timer = setInterval(() => {
if (eventSource.readyState === 1 && new Date().getTime() - lastHeartbeat > 5000) {
eventSource.close();
}
if (eventSource.readyState === 2) {
throttledConnectSSE(username);
}
}, 3000);
}
function onMessage(msg) {
const { url, body } = msg;
const eventMapping = {

View File

@ -209,7 +209,6 @@ const actions = {
// update token
setToken({ commit }, jmalToken) {
commit('SET_TOKEN', jmalToken)
console.log('jmalToken', jmalToken)
},
// remove share token

View File

@ -34,7 +34,8 @@ export default {
{
label: '查看', operation: 'viewMode', child: [
{ iconClass: this.grid ? '' : 'menu-point', label: '列表', operation: 'vmode-list' },
{ iconClass: this.grid ? 'menu-point' : '', label: '缩略图', operation: 'vmode-grid' }
{ iconClass: this.grid ? 'menu-point' : '', label: '缩略图', operation: 'vmode-grid' },
{ label: '显示文件夹大小', operation: 'show-folder-size'},
]
},
{