mirror of
https://github.com/vbenjs/vue-vben-admin.git
synced 2025-08-25 16:16:20 +08:00
feat: 初步集成PageSpy,设置内增加上传离线日志按钮
This commit is contained in:
@@ -14,7 +14,7 @@ import type { SegmentedItem } from '@vben-core/shadcn-ui';
|
||||
|
||||
import { computed, ref } from 'vue';
|
||||
|
||||
import { Copy, RotateCw } from '@vben/icons';
|
||||
import { CloudUpload, Copy, RotateCw } from '@vben/icons';
|
||||
import { $t, loadLocaleMessages } from '@vben/locales';
|
||||
import {
|
||||
clearPreferencesCache,
|
||||
@@ -30,7 +30,7 @@ import {
|
||||
} from '@vben-core/shadcn-ui';
|
||||
import { globalShareState } from '@vben-core/shared/global-state';
|
||||
|
||||
import { useClipboard } from '@vueuse/core';
|
||||
import { useClipboard, useThrottleFn } from '@vueuse/core';
|
||||
|
||||
import {
|
||||
Animation,
|
||||
@@ -217,6 +217,18 @@ async function handleReset() {
|
||||
resetPreferences();
|
||||
await loadLocaleMessages(preferences.app.locale);
|
||||
}
|
||||
const harbor = computed(() => window.$harbor);
|
||||
// 防抖
|
||||
const handleUploadLog = useThrottleFn(() => {
|
||||
if (!harbor.value) {
|
||||
return;
|
||||
}
|
||||
harbor.value.onOfflineLog('upload');
|
||||
message.copyPreferencesSuccess?.(
|
||||
$t('preferences.logUploadSuccessTitle'),
|
||||
$t('preferences.logUploadSuccess'),
|
||||
);
|
||||
}, 5000);
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -228,6 +240,13 @@ async function handleReset() {
|
||||
>
|
||||
<template #extra>
|
||||
<div class="flex items-center">
|
||||
<VbenIconButton
|
||||
:disabled="!harbor"
|
||||
:tooltip="$t('preferences.logUpload')"
|
||||
class="relative"
|
||||
>
|
||||
<CloudUpload class="size-4" @click="handleUploadLog" />
|
||||
</VbenIconButton>
|
||||
<VbenIconButton
|
||||
:disabled="!diffPreference"
|
||||
:tooltip="$t('preferences.resetTip')"
|
||||
|
@@ -28,6 +28,9 @@
|
||||
"copyPreferencesSuccessTitle": "Copy successful",
|
||||
"copyPreferencesSuccess": "Copy successful, please override in `src/preferences.ts` under app",
|
||||
"clearAndLogout": "Clear Cache & Logout",
|
||||
"logUpload": "Upload Log",
|
||||
"logUploadSuccess": "Log Upload Successful",
|
||||
"logUploadSuccessTitle": "Upload Successful",
|
||||
"mode": "Mode",
|
||||
"general": "General",
|
||||
"language": "Language",
|
||||
|
@@ -28,6 +28,9 @@
|
||||
"copyPreferencesSuccessTitle": "复制成功",
|
||||
"copyPreferencesSuccess": "复制成功,请在 app 下的 `src/preferences.ts`内进行覆盖",
|
||||
"clearAndLogout": "清空缓存 & 退出登录",
|
||||
"logUpload": "上传日志",
|
||||
"logUploadSuccess": "离线日志上传成功",
|
||||
"logUploadSuccessTitle": "上传成功",
|
||||
"mode": "模式",
|
||||
"general": "通用",
|
||||
"language": "语言",
|
||||
|
Reference in New Issue
Block a user