add vConsole debug
This commit is contained in:
@@ -33,6 +33,7 @@
|
||||
"timi-web": "link:E:/WebProject/timi-web",
|
||||
"timi-web-api": "link:E:/WebProject/timi-web-api",
|
||||
"ts-node": "^10.9.2",
|
||||
"vconsole": "^3.15.1",
|
||||
"vue": "^3.5.16",
|
||||
"vue-draggable-next": "^2.3.0",
|
||||
"vue-echarts": "^8.0.1",
|
||||
|
||||
Generated
+29
@@ -44,6 +44,9 @@ importers:
|
||||
ts-node:
|
||||
specifier: ^10.9.2
|
||||
version: 10.9.2(@types/node@24.13.3)(typescript@5.8.3)
|
||||
vconsole:
|
||||
specifier: ^3.15.1
|
||||
version: 3.15.1
|
||||
vue:
|
||||
specifier: ^3.5.16
|
||||
version: 3.5.40(typescript@5.8.3)
|
||||
@@ -904,6 +907,13 @@ packages:
|
||||
resolution: {integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
copy-text-to-clipboard@3.2.2:
|
||||
resolution: {integrity: sha512-T6SqyLd1iLuqPA90J5N4cTalrtovCySh58iiZDGJ6FGznbclKh4UI+FGacQSgFzwKG77W7XT5gwbVEbd9cIH1A==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
core-js@3.50.0:
|
||||
resolution: {integrity: sha512-BRWgOLKkFeCgRudR6zrs8p9XJZcE14grzKMMssoYrk6krtuEZ7MTKPIY5RzOnqsEKIR9kst7wNzphttraT+Yqw==}
|
||||
|
||||
cors@2.8.6:
|
||||
resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==}
|
||||
engines: {node: '>= 0.10'}
|
||||
@@ -1439,6 +1449,9 @@ packages:
|
||||
muggle-string@0.4.1:
|
||||
resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
|
||||
|
||||
mutation-observer@1.0.3:
|
||||
resolution: {integrity: sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA==}
|
||||
|
||||
nanoid@3.3.16:
|
||||
resolution: {integrity: sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==}
|
||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||
@@ -1871,6 +1884,9 @@ packages:
|
||||
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
vconsole@3.15.1:
|
||||
resolution: {integrity: sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==}
|
||||
|
||||
vite@6.4.3:
|
||||
resolution: {integrity: sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==}
|
||||
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
|
||||
@@ -2763,6 +2779,10 @@ snapshots:
|
||||
dependencies:
|
||||
is-what: 5.5.0
|
||||
|
||||
copy-text-to-clipboard@3.2.2: {}
|
||||
|
||||
core-js@3.50.0: {}
|
||||
|
||||
cors@2.8.6:
|
||||
dependencies:
|
||||
object-assign: 4.1.1
|
||||
@@ -3333,6 +3353,8 @@ snapshots:
|
||||
|
||||
muggle-string@0.4.1: {}
|
||||
|
||||
mutation-observer@1.0.3: {}
|
||||
|
||||
nanoid@3.3.16: {}
|
||||
|
||||
natural-compare@1.4.0: {}
|
||||
@@ -3818,6 +3840,13 @@ snapshots:
|
||||
|
||||
vary@1.1.2: {}
|
||||
|
||||
vconsole@3.15.1:
|
||||
dependencies:
|
||||
'@babel/runtime': 7.29.7
|
||||
copy-text-to-clipboard: 3.2.2
|
||||
core-js: 3.50.0
|
||||
mutation-observer: 1.0.3
|
||||
|
||||
vite@6.4.3(@types/node@24.13.3)(less@4.8.0)(terser@5.49.0):
|
||||
dependencies:
|
||||
esbuild: 0.25.12
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="about-page">
|
||||
<section class="brand" v-entrance-transition>
|
||||
<logo />
|
||||
<logo @click="handleLogoClick" />
|
||||
<h1 v-text="appName" />
|
||||
<p v-text="appDescription" />
|
||||
</section>
|
||||
@@ -37,6 +37,7 @@ import { SettingAPI } from "timi-web-api";
|
||||
import Logo from "@/pages/user/component/Logo.vue";
|
||||
import { getErrorMessage } from "@/utils/error";
|
||||
import { Message } from "@/utils/message";
|
||||
import { toggleVConsole } from "@/utils/vConsole";
|
||||
|
||||
type AgreementItem = {
|
||||
icon: string;
|
||||
@@ -55,6 +56,30 @@ const router = useRouter();
|
||||
const agreementItemList = ref<AgreementItem[]>([]);
|
||||
const isLoading = ref(false);
|
||||
|
||||
let debugClickCount = 0;
|
||||
let debugClickTimer: number | undefined;
|
||||
|
||||
async function handleLogoClick(): Promise<void> {
|
||||
debugClickCount++;
|
||||
if (debugClickTimer !== undefined) {
|
||||
window.clearTimeout(debugClickTimer);
|
||||
}
|
||||
debugClickTimer = window.setTimeout(() => {
|
||||
debugClickCount = 0;
|
||||
debugClickTimer = undefined;
|
||||
}, 1_500);
|
||||
|
||||
if (debugClickCount < 5) {
|
||||
return;
|
||||
}
|
||||
|
||||
debugClickCount = 0;
|
||||
window.clearTimeout(debugClickTimer);
|
||||
debugClickTimer = undefined;
|
||||
|
||||
await toggleVConsole();
|
||||
}
|
||||
|
||||
async function openAgreement(item: AgreementItem): Promise<void> {
|
||||
await router.push({
|
||||
name: "Agreement",
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
import type VConsole from "vconsole";
|
||||
|
||||
let vConsoleInstance: VConsole | undefined;
|
||||
let isVConsoleLoading = false;
|
||||
|
||||
/**
|
||||
* 切换移动端调试控制台。
|
||||
*/
|
||||
export async function toggleVConsole(): Promise<void> {
|
||||
if (vConsoleInstance) {
|
||||
vConsoleInstance.destroy();
|
||||
vConsoleInstance = undefined;
|
||||
console.warn("[调试] vConsole 已关闭");
|
||||
return;
|
||||
}
|
||||
if (isVConsoleLoading) {
|
||||
return;
|
||||
}
|
||||
|
||||
isVConsoleLoading = true;
|
||||
try {
|
||||
const { default: VConsole } = await import("vconsole");
|
||||
vConsoleInstance = new VConsole();
|
||||
console.warn("[调试] vConsole 已启用");
|
||||
} catch (error) {
|
||||
console.error("[调试] vConsole 启用失败", error);
|
||||
} finally {
|
||||
isVConsoleLoading = false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user