feat: 偏好设置的快捷键列表追加ESC快捷键的控制(关闭当前窗口) (#7947)

* feat: 快捷键追加ESC控制,关闭当前窗口

* feat: 偏好设置中,页面切换动画的颜色看不清的问题(使用当前主题色)

* feat: 三种弹出框支持快捷键ESC动作

* feat: 代码自动格式化(3个框架改动)

* feat: 代码自动格式化(3个框架改动)

* fix: 修正locale数据获取方式

* 单元测试问题修改

* 单元测试问题修改

* fix: 解决代码评论的问题

* fix: 解决代码评论的问题

* fix: 解决代码评论的问题

* fix: 解决代码评论的问题

* 单元测试问题修改

* fix: 解决评论问题

* fix: 解决代码格式导致pnpm run lint报错的问题

---------

Co-authored-by: PanFu <panfu@zhihuaai.com>
This commit is contained in:
PanFu
2026-05-23 09:50:35 +08:00
committed by GitHub
parent e98f0b7558
commit f813245827
17 changed files with 98 additions and 18 deletions

View File

@@ -76,6 +76,7 @@ const defaultPreferences: Preferences = {
},
shortcutKeys: {
enable: true,
globalEscape: false,
globalLockScreen: true,
globalLogout: true,
globalPreferences: true,

View File

@@ -135,7 +135,7 @@ class PreferenceManager {
const cachedPreferences = (await this.loadFromCache()) || {};
const mergedPreference = merge(
{},
cachedPreferences, // 用户缓存的设置优先
cachedPreferences, // 用户缓存的设置优先
this.initialPreferences, // 初始设置仅补齐缺失字段
);

View File

@@ -277,6 +277,8 @@ interface SidebarPreferences {
interface ShortcutKeyPreferences {
/** 是否启用快捷键-全局 */
enable: boolean;
/** 是否启用全局关闭窗口快捷键 */
globalEscape: boolean;
/** 是否启用全局锁屏快捷键 */
globalLockScreen: boolean;
/** 是否启用全局注销快捷键 */

View File

@@ -39,7 +39,7 @@ function usePreferences() {
});
const locale = computed(() => {
return preferences.app.locale;
return appPreferences.value.locale;
});
const isMobile = computed(() => {
@@ -185,6 +185,14 @@ function usePreferences() {
return enable && globalLogout;
});
/**
* @zh_CN 是否启用全局注销快捷键
*/
const globalEscapeShortcutKey = computed(() => {
const { enable, globalEscape } = shortcutKeysPreferences.value;
return enable && globalEscape;
});
const globalLockScreenShortcutKey = computed(() => {
const { enable, globalLockScreen } = shortcutKeysPreferences.value;
return enable && globalLockScreen;
@@ -247,6 +255,7 @@ function usePreferences() {
diffCustomPreference,
globalLockScreenShortcutKey,
globalLogoutShortcutKey,
globalEscapeShortcutKey,
globalSearchShortcutKey,
isDark,
isFullContent,
@@ -265,6 +274,7 @@ function usePreferences() {
preferencesButtonPosition,
sidebarCollapsed,
theme,
app: appPreferences.value,
};
}