diff --git a/src/App.vue b/src/App.vue index f0e549b..aed1fd7 100644 --- a/src/App.vue +++ b/src/App.vue @@ -77,6 +77,10 @@ export default defineComponent({ }) watch(() => store.current, () => { + updateVConsoleVisibility(); + }, { deep: true }) + + function updateVConsoleVisibility() { // vConsole 仅对 sudoer(有 SYS_CAN_SUDO tag)用户可见 let showVConsole = store.current.tags?.some(t => t.tag_name === 'SYS_CAN_SUDO') ?? false; console.log('vconsole visibility (sudoer only)...', { showVConsole, tags: store.current.tags }); @@ -84,6 +88,13 @@ export default defineComponent({ if (vconsole) { vconsole.hidden = !showVConsole; } + } + + // 同时监听 tags 的独立变化(getTags 异步加载完成后触发) + watch(() => store.current.tags, (val) => { + if (val && val.length > 0) { + updateVConsoleVisibility(); + } }) const tab_change_check = (name: number | string) => {