mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2025-12-13 09:28:14 +08:00
🐛 修正过时日志检测逻辑
This commit is contained in:
@@ -4,8 +4,8 @@
|
|||||||
<v-divider :inset="true" class="border-opacity-75" />
|
<v-divider :inset="true" class="border-opacity-75" />
|
||||||
<v-list-item prepend-icon="mdi-folder-key">
|
<v-list-item prepend-icon="mdi-folder-key">
|
||||||
<v-list-item-title style="cursor: pointer" @click="confirmCUD"
|
<v-list-item-title style="cursor: pointer" @click="confirmCUD"
|
||||||
>用户数据目录</v-list-item-title
|
>用户数据目录
|
||||||
>
|
</v-list-item-title>
|
||||||
<v-list-item-subtitle @click="openPath('user')">{{ appStore.userDir }}</v-list-item-subtitle>
|
<v-list-item-subtitle @click="openPath('user')">{{ appStore.userDir }}</v-list-item-subtitle>
|
||||||
<template #append>
|
<template #append>
|
||||||
<v-icon @click="copyPath('user')">mdi-content-copy</v-icon>
|
<v-icon @click="copyPath('user')">mdi-content-copy</v-icon>
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
</v-list-item>
|
</v-list-item>
|
||||||
<v-list-item prepend-icon="mdi-folder-multiple">
|
<v-list-item prepend-icon="mdi-folder-multiple">
|
||||||
<v-list-item-title style="cursor: pointer" @click="confirmCLD">日志目录</v-list-item-title>
|
<v-list-item-title style="cursor: pointer" @click="confirmCLD">日志目录</v-list-item-title>
|
||||||
<v-list-item-subtitle @click="openPath('log')">{{ appStore.logDir }} </v-list-item-subtitle>
|
<v-list-item-subtitle @click="openPath('log')">{{ appStore.logDir }}</v-list-item-subtitle>
|
||||||
<template #append>
|
<template #append>
|
||||||
<v-icon @click="copyPath('log')">mdi-content-copy</v-icon>
|
<v-icon @click="copyPath('log')">mdi-content-copy</v-icon>
|
||||||
</template>
|
</template>
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
</v-list>
|
</v-list>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { dialog, fs, path } from "@tauri-apps/api";
|
import { dialog, fs } from "@tauri-apps/api";
|
||||||
|
|
||||||
import TGSqlite from "../../plugins/Sqlite";
|
import TGSqlite from "../../plugins/Sqlite";
|
||||||
import { useAppStore } from "../../store/modules/app";
|
import { useAppStore } from "../../store/modules/app";
|
||||||
@@ -89,6 +89,15 @@ async function confirmCUD(): Promise<void> {
|
|||||||
}, 4000);
|
}, 4000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取当天日期数字,如 20240204
|
||||||
|
function getNowDate(): number {
|
||||||
|
const now = new Date();
|
||||||
|
const year = now.getFullYear().toString(); // 4位年份
|
||||||
|
const month = (now.getMonth() + 1).toString().padStart(2, "0"); // 月份
|
||||||
|
const day = now.getDate().toString().padStart(2, "0"); // 日期
|
||||||
|
return parseInt(year + month + day);
|
||||||
|
}
|
||||||
|
|
||||||
async function confirmCLD(): Promise<void> {
|
async function confirmCLD(): Promise<void> {
|
||||||
const check = await showConfirm({
|
const check = await showConfirm({
|
||||||
title: "确认清理日志文件吗?",
|
title: "确认清理日志文件吗?",
|
||||||
@@ -101,15 +110,17 @@ async function confirmCLD(): Promise<void> {
|
|||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const now = new Date();
|
|
||||||
const nowDate = `${now.getFullYear()}${now.getMonth() + 1}${now.getDate()}`;
|
|
||||||
const logDir = appStore.logDir;
|
const logDir = appStore.logDir;
|
||||||
const files = await fs.readDir(logDir);
|
const files = await fs.readDir(logDir);
|
||||||
const delFiles = files.filter((file) => {
|
const delFiles = files.filter((file) => {
|
||||||
const fileName = file.path.split(path.sep).pop()?.replace(".log", "");
|
// yyyy-mm-dd.log
|
||||||
if (fileName === undefined) return false;
|
const reg = /(\d{4}-\d{2}-\d{2}\.log)/;
|
||||||
const fileDate = parseInt(fileName.replace(/-/g, ""));
|
const match = file.path.match(reg);
|
||||||
return fileDate < parseInt(nowDate) - 7;
|
if (match === null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const date = match[1].replace(".log", "");
|
||||||
|
return getNowDate() - parseInt(date.replace(/-/g, "")) > 7;
|
||||||
});
|
});
|
||||||
if (delFiles.length < 1) {
|
if (delFiles.length < 1) {
|
||||||
showSnackbar({
|
showSnackbar({
|
||||||
|
|||||||
Reference in New Issue
Block a user