From 19200ccde08d02f898ec8b7fe3760f65978955c8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=99=86=E5=85=89LG?=
Date: Fri, 8 Aug 2025 00:31:09 +0800
Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E6=B7=BB=E5=8A=A0=E7=BD=91?=
=?UTF-8?q?=E7=BB=9C=E9=A2=98=E5=87=BA=E9=A2=98=E7=95=8C=E9=9D=A2=E4=BA=8B?=
=?UTF-8?q?=E4=BB=B6=E7=BB=91=E5=AE=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env.local | 2 +-
.../Setting/children/components/clear.vue | 19 +
.../children/components/dictionary.vue | 61 ++-
.../Setting/children/components/exception.vue | 98 ++++-
.../Setting/children/components/import.vue | 98 +++--
.../Setting/children/components/manage.vue | 157 ++++++-
.../Setting/children/components/mouse.vue | 397 +++++++-----------
.../children/components/preference.vue | 201 ++++++++-
.../Setting/children/components/rewards.vue | 6 +
.../Setting/children/components/share.vue | 6 +
.../Setting/children/components/split.vue | 20 +-
.../Setting/children/components/sync.vue | 150 +++++--
.../Setting/children/components/urlsearch.vue | 8 +
src/components/Setting/components/about.vue | 7 +
.../Setting/components/assistant.vue | 87 ++--
.../Setting/components/commonLine.vue | 34 +-
src/components/Setting/components/cookie.vue | 103 +++--
src/components/Setting/components/default.vue | 22 +-
src/components/Setting/components/device.vue | 65 ++-
.../Setting/components/download.vue | 38 +-
.../Setting/components/kong-template.vue | 1 -
.../Setting/components/language.vue | 97 ++++-
src/components/Setting/components/newtabs.vue | 104 ++++-
src/components/Setting/components/operate.vue | 46 +-
src/components/Setting/components/outlook.vue | 150 +++++--
.../Setting/components/personal.vue | 79 +++-
src/components/Setting/components/print.vue | 9 +
src/components/Setting/components/reset.vue | 24 +-
src/components/Setting/components/safe.vue | 25 +-
.../Setting/components/security.vue | 154 ++++---
src/components/Setting/components/sidebar.vue | 33 +-
src/components/Setting/components/system.vue | 110 ++++-
src/components/Setting/index.ts | 44 ++
src/components/Setting/index.vue | 1 -
src/store/modules/settings.ts | 15 +
src/views/paper/question/EmailForm.vue | 4 +-
src/views/paper/question/SettingForm.vue | 270 +-----------
src/views/paper/question/index.vue | 5 +-
38 files changed, 1874 insertions(+), 876 deletions(-)
create mode 100644 src/components/Setting/index.ts
create mode 100644 src/store/modules/settings.ts
diff --git a/.env.local b/.env.local
index 3576558..8e9004b 100644
--- a/.env.local
+++ b/.env.local
@@ -4,7 +4,7 @@ NODE_ENV=development
VITE_DEV=true
# 请求路径
-VITE_BASE_URL='http://localhost:48080'
+VITE_BASE_URL='http://8.153.195.62:48080'
# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持 S3 服务
VITE_UPLOAD_TYPE=server
diff --git a/src/components/Setting/children/components/clear.vue b/src/components/Setting/children/components/clear.vue
index 06be6d4..99f42b7 100644
--- a/src/components/Setting/children/components/clear.vue
+++ b/src/components/Setting/children/components/clear.vue
@@ -7,6 +7,7 @@
{ browsingHistory = val; sendMsg(name, '浏览历史记录', 'clearOnClose', 'browsingHistory', val); }"
class="ptb_8"
>
@@ -19,6 +20,7 @@
{ downloadHistory = val; sendMsg(name, '下载历史记录', 'clearOnClose', 'downloadHistory', val); }"
class="ptb_8"
>
@@ -31,6 +33,7 @@
{ cookiesAndData = val; sendMsg(name, 'Cookie 和其他站点数据', 'clearOnClose', 'cookiesAndData', val); }"
class="ptb_8"
>
@@ -43,6 +46,7 @@
{ cachedImages = val; sendMsg(name, '缓存的图像和文件', 'clearOnClose', 'cachedImages', val); }"
class="ptb_8"
>
@@ -55,6 +59,7 @@
{ passwords = val; sendMsg(name, '密码', 'clearOnClose', 'passwords', val); }"
class="ptb_8"
>
@@ -67,6 +72,7 @@
{ autofillData = val; sendMsg(name, '自动填充表单数据', 'clearOnClose', 'autofillData', val); }"
class="ptb_8"
>
@@ -79,6 +85,7 @@
{ sitePermissions = val; sendMsg(name, '站点权限', 'clearOnClose', 'sitePermissions', val); }"
class="ptb_8"
>
@@ -93,7 +100,19 @@
diff --git a/src/components/Setting/children/components/exception.vue b/src/components/Setting/children/components/exception.vue
index 1eb32ef..8b13e7f 100644
--- a/src/components/Setting/children/components/exception.vue
+++ b/src/components/Setting/children/components/exception.vue
@@ -9,7 +9,32 @@
@button-group="handleException"
/>
-
+
+
+
+
+
+

+
{{ site }}
+
+
+
+
+
@@ -33,8 +63,12 @@
diff --git a/src/components/Setting/children/components/import.vue b/src/components/Setting/children/components/import.vue
index 51382f9..8b48551 100644
--- a/src/components/Setting/children/components/import.vue
+++ b/src/components/Setting/children/components/import.vue
@@ -1,5 +1,5 @@
-
+
将所有凭据保存在Microsoft Edge
@@ -14,11 +14,11 @@
name: '导入'
}"
class="ptb_16"
- @button-one="openImportDialog"
+ @button-one="openImportDialog('Google Chrome')"
>
@@ -34,11 +34,11 @@
name: '导入'
}"
class="ptb_16"
- @button-one="openImportDialog"
+ @button-one="openImportDialog('IE11')"
>
@@ -59,7 +59,7 @@
name: '选择要导入的内容'
}"
class="ptb_16"
- @button-one="openImportDialog"
+ @button-one="openImportDialog('Other')"
>
从第三方密码管理器应用程序导入密码
@@ -93,17 +93,19 @@
:dialog-top="'30vh'"
:dialog-width="'40%'"
:visible="importVisible"
+ @close="handleCancel"
>
导入位置
sendMsg(name, '选择导入位置', 'import', 'selectImportSource', val)"
>
选择要导入的内容
-
-
+
+ handleCheckboxChange(item, val)"
+ />
@@ -127,29 +133,67 @@
diff --git a/src/components/Setting/children/components/manage.vue b/src/components/Setting/children/components/manage.vue
index d8d63b1..2405ded 100644
--- a/src/components/Setting/children/components/manage.vue
+++ b/src/components/Setting/children/components/manage.vue
@@ -1,9 +1,19 @@
-
+
{ allowCookie = val; sendMsg(name, '允许站点保存和读取Cookie', 'manage', 'allowCookie', val); }"
+ class="ptb_8"
+ />
-
+ { blockThirdPartyCookie = val; sendMsg(name, '阻止第三方Cookie', 'manage', 'blockThirdPartyCookie', val); }"
+ class="ptb_8"
+ >
阻止站点使用跨 Web 跟踪你的 Cookie。某些网站上的功能可能会中断。
@@ -11,7 +21,12 @@
-
+ { preloadPages = val; sendMsg(name, '预加载页面', 'manage', 'preloadPages', val); }"
+ class="ptb_8"
+ >
使用 cookie 记住你的首选项,即使你不访问这些页面
@@ -25,6 +40,7 @@
text: true
}"
class="ptb_8"
+ @button-one="sendMsg(name, '查看所有Cookie和站点数据', 'manage', 'viewAllCookies', true)"
/>
@@ -32,26 +48,25 @@
你已阻止以下网站在你的设备上保存和读取 Cookie。
+
@@ -92,20 +108,123 @@
-
-
-
- 未添加站点
-
-
-
+
+
+
diff --git a/src/components/Setting/children/components/mouse.vue b/src/components/Setting/children/components/mouse.vue
index 694e5d6..3649ea2 100644
--- a/src/components/Setting/children/components/mouse.vue
+++ b/src/components/Setting/children/components/mouse.vue
@@ -1,11 +1,26 @@
-
+ { enableGestures = val; sendMsg(name, '启用鼠标手势', 'mouse', 'enableGestures', val); }"
+ class="ptb_8"
+ />
-
+ { showTrail = val; sendMsg(name, '显示鼠标轨迹', 'mouse', 'showTrail', val); }"
+ class="ptb_8"
+ />
-
+ { showTips = val; sendMsg(name, '显示操作提示', 'mouse', 'showTips', val); }"
+ class="ptb_8"
+ />
@@ -16,247 +31,28 @@
name: '重置所有手势'
}"
class="ptb_8"
+ @button-one="resetGestures"
/>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
handleGestureChange(gesture, val)"
+ class="ptb_8"
+ >
+
+
+
+
+
+
@@ -267,25 +63,134 @@
name: '添加'
}"
class="ptb_8"
+ @button-one="openBlockDialog"
>
可在此处添加网站以禁用鼠标手势。
+
+
+
+
diff --git a/src/components/Setting/children/components/preference.vue b/src/components/Setting/children/components/preference.vue
index f939c77..c61dec1 100644
--- a/src/components/Setting/children/components/preference.vue
+++ b/src/components/Setting/children/components/preference.vue
@@ -1,7 +1,12 @@
-
+ { autoLogin = val; sendMsg(name, '自动登录Microsoft Edge', 'preference', 'autoLogin', val); }"
+ class="ptb_8"
+ >
如果你当前未登录 Microsoft Edge,我们将使用来自其他 Microsoft 站点(如
@@ -14,7 +19,9 @@
:title="'外部链接的默认工作区'"
:options="linkSelectOptions"
:type="'select'"
- :selectWidth="'150px'"
+ :selectWidth="'250px'"
+ v-model="defaultWorkspace"
+ @select="val => sendMsg(name, '外部链接的默认工作区', 'preference', 'defaultWorkspace', val)"
class="ptb_8"
>
@@ -27,6 +34,7 @@
{ allowSSO = val; sendMsg(name, '允许工作或学校网站单一登录', 'preference', 'allowSSO', val); }"
class="ptb_8"
>
@@ -42,7 +50,12 @@
自动配置文件切换
-
+ { accountBasedSwitch = val; sendMsg(name, '基于账户的个人资料切换', 'preference', 'accountBasedSwitch', val); }"
+ class="ptb_8"
+ >
访问需要工作或个人账户的网站时,自动切换到工作或个人配置文件。
@@ -50,7 +63,12 @@
-
+ { curatedSiteSwitch = val; sendMsg(name, '基于特选网站的个人资料切换', 'preference', 'curatedSiteSwitch', val); }"
+ class="ptb_8"
+ >
Microsoft Edge 的特选网站将自动切换到相关个人资料。这包括在个人资料中打开购物网站。
@@ -58,19 +76,34 @@
-
+ { internetBasedSwitch = val; sendMsg(name, '基于Internet的个人资料切换', 'preference', 'internetBasedSwitch', val); }"
+ class="ptb_8"
+ >
Internet站点将自动切换到工作配置文件。
-
+ { ieModeSwitch = val; sendMsg(name, '基于IE模式的个人资料切换', 'preference', 'ieModeSwitch', val); }"
+ class="ptb_8"
+ >
在IE模式网站列表中配置的站点将自动切换到工作配置文件
-
+ { showSwitchNotification = val; sendMsg(name, '显示自动切换通知', 'preference', 'showSwitchNotification', val); }"
+ class="ptb_8"
+ />
@@ -81,6 +114,7 @@
name: '添加'
}"
class="ptb_8"
+ @button-one="openAddDialog"
>
@@ -88,32 +122,157 @@
Edge首选浏览器设置。如果组织使用应用程序防护且链接不受信任,则应用程序防护设置将
替代这些设置。
-
- 你选择自动切换配置文件的站点将显示在此处
+
+
+
+
+
+
{{ item.site }}
+
{{ item.profileLabel }}
+
+
+
+
+
+
diff --git a/src/components/Setting/children/components/rewards.vue b/src/components/Setting/children/components/rewards.vue
index aed3166..3baa786 100644
--- a/src/components/Setting/children/components/rewards.vue
+++ b/src/components/Setting/children/components/rewards.vue
@@ -8,6 +8,7 @@
{ earnRewards = val; sendMsg(name, '在 Microsoft Edge 中赚取 Microsoft Rewards', 'rewards', 'earnRewards', val); }"
class="ptb_8"
>
@@ -21,7 +22,12 @@
diff --git a/src/components/Setting/children/components/urlsearch.vue b/src/components/Setting/children/components/urlsearch.vue
index 9ec78dd..c0edd18 100644
--- a/src/components/Setting/children/components/urlsearch.vue
+++ b/src/components/Setting/children/components/urlsearch.vue
@@ -58,6 +58,7 @@
:options="selectOptions"
:type="'select'"
:selectWidth="'200px'"
+ @select="val => { searchEngine = val; sendMsg(name, '地址栏中使用的搜索引擎', 'urlsearch', 'searchEngine', val); }"
class="ptb_8"
/>
@@ -68,6 +69,7 @@
icon: 'arrow_left_icon.png',
text: true
}"
+ @button-one="() => sendMsg(name, '点击管理搜索引擎', 'urlsearch', 'manageSearchEngines', true)"
class="ptb_4"
/>
@@ -78,6 +80,7 @@
icon: 'arrow_left_icon.png',
text: true
}"
+ @button-one="() => sendMsg(name, '点击搜索建议和筛选器', 'urlsearch', 'manageSuggestions', true)"
class="ptb_4"
/>
@@ -85,7 +88,12 @@
+
diff --git a/src/components/Setting/components/commonLine.vue b/src/components/Setting/components/commonLine.vue
index 175a2d4..5559daf 100644
--- a/src/components/Setting/components/commonLine.vue
+++ b/src/components/Setting/components/commonLine.vue
@@ -47,7 +47,12 @@
-
+
-
+
[]
+ },
+ switchState: {
+ type: Boolean,
+ default: false
}
})
@@ -173,10 +187,16 @@ watch(
}
)
-const emit = defineEmits(['switch', 'buttonOne', 'buttonGroup'])
+const emit = defineEmits(['switch', 'buttonOne', 'buttonGroup', 'select-change'])
// 切换
-let switchVal = ref(false)
+let switchVal = ref(props.switchState)
+watch(
+ () => props.switchState,
+ (newVal) => {
+ switchVal.value = newVal
+ }
+)
const switchHandle = (val: boolean) => {
emit('switch', val)
}
@@ -188,9 +208,15 @@ const handleOperate = () => {
const handleGroupOperate = (item: any) => {
emit('buttonGroup', item)
}
+
+// 下拉框
+const selectChangeHandle = (val: any) => {
+ emit('select-change', val)
+}
+
diff --git a/src/components/Setting/components/default.vue b/src/components/Setting/components/default.vue
index 8c95f3b..6f5b3fd 100644
--- a/src/components/Setting/components/default.vue
+++ b/src/components/Setting/components/default.vue
@@ -11,10 +11,10 @@
name: '设为默认值'
}"
class="ptb_8"
+ @button-one="() => sendMsg(name, '设为默认浏览器', 'default', 'setAsDefault', true)"
/>
-
@@ -26,10 +26,14 @@
:type="'select'"
:selectWidth="'130px'"
class="ptb_8"
+ @select-change="
+ val => sendMsg(name, '允许在IE模式下重新加载网站', 'default', 'allowReloadInIEMode', val)
+ "
>
- 在 Microsoft Edge 中浏览时,如果某个网站因兼容问题需要使用 Internet Explorer,则可以选择在 Internet Explorer 模式下重新加载网站
+ 在 Microsoft Edge 中浏览时,如果某个网站因兼容问题需要使用 Internet
+ Explorer,则可以选择在 Internet Explorer 模式下重新加载网站
@@ -41,10 +45,12 @@
name: '添加'
}"
class="ptb_8"
+ @button-one="() => sendMsg(name, '添加IE模式页面', 'default', 'addIEModePage', true)"
>
- 这些页面将从你添加的那天起在 Internet Explorer 模式下打开 30 天. 尚未将任何页面添加到 Internet Explorer 模式列表中.
+ 这些页面将从你添加的那天起在 Internet Explorer 模式下打开 30 天. 尚未将任何页面添加到
+ Internet Explorer 模式列表中.
@@ -57,15 +63,20 @@
text: true
}"
class="ptb_8"
+ @button-one="() => sendMsg(name, '打开Internet选项', 'default', 'openInternetOptions', true)"
/>
-
+
diff --git a/src/components/Setting/components/device.vue b/src/components/Setting/components/device.vue
index d6de995..8a5599e 100644
--- a/src/components/Setting/components/device.vue
+++ b/src/components/Setting/components/device.vue
@@ -24,27 +24,74 @@
登录并打开同步,以便在任何已登录的设备上查看收藏夹、密码等。登录后,你可以自定义同步设置。
- 自定义同步设置
+ sendMsg(name, '自定义同步设置', 'device', 'customizeSyncSettings', true)"
+ >自定义同步设置
将应用下载到手机
在常用的 App Store 中搜索 "Microsoft Edge",或使用你的手机扫描 QR
- 码,我们将指导你进行下载。获取应用的更多方法
sendMsg(name, '获取应用的更多方法', 'device', 'getAppMoreWays', true)"
+ >获取应用的更多方法
在手机上登录 Microsoft Edge
在你的手机上打开同步 sendMsg(name, '在你的手机上打开同步', 'device', 'openSyncOnPhone', true)"
+ >在你的手机上打开同步后,你将可以查看和管理其他已登录设备上的信息:
- - ·收藏夹
- - ·密码
- - ·个人信息
- - ·来自其他设备的标签页
+ - · sendMsg(name, '查看收藏夹', 'device', 'viewFavorites', true)"
+ >收藏夹
+ - · sendMsg(name, '查看密码', 'device', 'viewPasswords', true)"
+ >密码
+ - · sendMsg(name, '查看个人信息', 'device', 'viewPersonalInfo', true)"
+ >个人信息
+ - · sendMsg(name, '查看其他设备标签页', 'device', 'viewTabsFromOtherDevices', true)
+ "
+ >来自其他设备的标签页
@@ -52,6 +99,10 @@
+
diff --git a/src/components/Setting/components/kong-template.vue b/src/components/Setting/components/kong-template.vue
index 01f6ce0..5b6c587 100644
--- a/src/components/Setting/components/kong-template.vue
+++ b/src/components/Setting/components/kong-template.vue
@@ -3,7 +3,6 @@
+
diff --git a/src/components/Setting/components/newtabs.vue b/src/components/Setting/components/newtabs.vue
index 53f80e8..4c58cda 100644
--- a/src/components/Setting/components/newtabs.vue
+++ b/src/components/Setting/components/newtabs.vue
@@ -8,7 +8,7 @@
-
+
打开新标签页
@@ -40,8 +40,8 @@
- 编辑
- 删除
+ 编辑
+ 删除
@@ -50,15 +50,16 @@
清除列表并将其设置为当前打开的所有标签页
-
使用所有已打开的标签页
+
使用所有已打开的标签页
@@ -79,13 +80,18 @@
-
+ { showHomeButton = val; sendMsg(name, '在工具栏上显示“首页”按钮', 'newtabs', 'showHomeButton', val); }"
+ >
设置“首页”按钮打开的以下内容:
-
+
新标签页
@@ -96,8 +102,11 @@
:disabled="radioTab != '2'"
placeholder="输入 URL"
style="margin-right: 10px"
+ @input="handleInputTab"
/>
- 保存
+ 保存
@@ -118,15 +127,24 @@
name: '自定义'
}"
class="ptb_8"
+ @button-one="customizeNewTabPage"
>
控制新闻源、背景图像、主题等
-
+ { preloadNewTab = val; sendMsg(name, '预加载新标签页', 'newtabs', 'preloadNewTab', val); }"
+ >
- 在后台打开 Microsoft 新选项卡页,以便更快访问。如果允许 Cookie,则新选项卡页上的内容可能包括 Cookie。
+
+ 在后台打开 Microsoft 新选项卡页,以便更快访问。如果允许 Cookie,则新选项卡页上的内容可能包括
+ Cookie。
+
@@ -134,27 +152,72 @@
+
diff --git a/src/components/Setting/components/outlook.vue b/src/components/Setting/components/outlook.vue
index f9e9b90..fa1f03e 100644
--- a/src/components/Setting/components/outlook.vue
+++ b/src/components/Setting/components/outlook.vue
@@ -44,7 +44,7 @@
- 发现更多主题
+ sendMsg(name, '发现更多主题', 'outlook', 'discoverThemes', true)"> 发现更多主题
没有找到你想要的内容?在
Chrome Web Store中发现更多主题
{ pageColor = val; sendMsg(name, '页面颜色', 'outlook', 'pageColor', val); }"
>
通过修改页面上的颜色,使网站更易于阅读
-
+ { highContrastOnly = val; sendMsg(name, '仅在开启高对比度主题时应用页面颜色', 'outlook', 'highContrastOnly', val); }" />
-
+ { newLook = val; sendMsg(name, '试用 Microsoft Edge 的全新外观', 'outlook', 'newLook', val); }" />
sendMsg(name, '安装游戏助手小组件', 'outlook', 'installGameAssist', true)"
>
@@ -112,6 +114,7 @@
:type="'select'"
:selectWidth="'100px'"
class="ptb_8"
+ @select="val => { pageZoom = val; sendMsg(name, '页面缩放', 'outlook', 'pageZoom', val); }"
>
@@ -132,6 +135,7 @@
:type="'select'"
:selectWidth="'130px'"
class="ptb_8"
+ @select="val => { touchMode = val; sendMsg(name, '触控模式', 'outlook', 'touchMode', val); }"
>
@@ -144,7 +148,7 @@
自定义工具栏
-
+ { showTabActions = val; sendMsg(name, '显示选项卡操作菜单', 'outlook', 'showTabActions', val); }">
-
+ { hideTitleInVerticalTabs = val; sendMsg(name, '在垂直选项卡中隐藏标题栏', 'outlook', 'hideTitleInVerticalTabs', val); }" />
-
+ { showTabPreviewOnHover = val; sendMsg(name, '悬停时显示标签页预览', 'outlook', 'showTabPreviewOnHover', val); }" />
-
+ { showProfileIconInTitleBar = val; sendMsg(name, '在标题栏中显示个人资料图标', 'outlook', 'showProfileIconInTitleBar', val); }" />
-
+ { showProfileTypeInButton = val; sendMsg(name, '在配置文件按钮中显示配置文件类型', 'outlook', 'showProfileTypeInButton', val); }" />
-
+ { showBriefcaseIcon = val; sendMsg(name, '在工作配置文件上显示公文包图标', 'outlook', 'showBriefcaseIcon', val); }" />
-
+ { showWorkspaces = val; sendMsg(name, '显示工作区', 'outlook', 'showWorkspaces', val); }" />
{ showFavoritesBar = val; sendMsg(name, '显示收藏夹栏', 'outlook', 'showFavoritesBar', val); }"
/>
@@ -190,6 +196,7 @@
:title="`"开始"按钮`"
:optGroup="[{ type: 'button', name: '设置按钮 URL' }, { type: 'switch' }]"
class="ptb_8"
+ @opt-group-click="handleStartButton"
>
{ forwardButton = val; sendMsg(name, '前进按钮', 'outlook', 'forwardButton', val); }"
>
{ extensionsButton = val; sendMsg(name, '扩展按钮', 'outlook', 'extensionsButton', val); }"
>
-
+ { favoritesButton = val; sendMsg(name, '收藏按钮', 'outlook', 'favoritesButton', val); }">
-
+ { collectionsButton = val; sendMsg(name, '锦集按钮', 'outlook', 'collectionsButton', val); }">
-
+ { splitScreenButton = val; sendMsg(name, '拆分屏幕按钮', 'outlook', 'splitScreenButton', val); }">
-
+ { historyButton = val; sendMsg(name, '历史按钮', 'outlook', 'historyButton', val); }">
-
+ { appsButton = val; sendMsg(name, '应用按钮', 'outlook', 'appsButton', val); }">
-
+ { downloadsButton = val; sendMsg(name, '下载按钮', 'outlook', 'downloadsButton', val); }">
-
+ { healthHelperButton = val; sendMsg(name, '浏览器健康助手按钮', 'outlook', 'healthHelperButton', val); }">
-
+ { ieModeButton = val; sendMsg(name, 'IE模式按钮', 'outlook', 'ieModeButton', val); }">
-
+ { screenshotButton = val; sendMsg(name, '屏幕截图按钮', 'outlook', 'screenshotButton', val); }">
-
+ { learningToolsButton = val; sendMsg(name, '学习工具包按钮', 'outlook', 'learningToolsButton', val); }">
-
+ { shareButton = val; sendMsg(name, '共享按钮', 'outlook', 'shareButton', val); }">
-
+ { feedbackButton = val; sendMsg(name, '反馈按钮', 'outlook', 'feedbackButton', val); }">
-
+ { sidebarButton = val; sendMsg(name, '显示边栏按钮', 'outlook', 'sidebarButton', val); }">
-
+ { showMiniMenuOnSelect = val; sendMsg(name, '选择文本时显示迷你菜单', 'outlook', 'showMiniMenuOnSelect', val); }" />
sendMsg(name, '微型菜单不允许的站点', 'outlook', 'miniMenuDisallowedSites', true)"
>
已禁用微型上下文菜单的网站的列表
@@ -387,26 +397,27 @@
-
-
+ { askBeforeClosingMultipleTabs = val; sendMsg(name, '在关闭具有多个选项卡的窗口之前询问', 'outlook', 'askBeforeClosingMultipleTabs', val); }" />
+ { disableCustomScrollbars = val; sendMsg(name, '关闭自定义滚动条', 'outlook', 'disableCustomScrollbars', val); }">
启用此功能时,所有站点中将仅提供默认滚动条
-
+ { doubleClickToCloseTab = val; sendMsg(name, '使用双击关闭浏览器选项卡', 'outlook', 'doubleClickToCloseTab', val); }" />
{ keepWindowOpenOnLastTabClose = val; sendMsg(name, '关闭最后一个标签页时保持 Edge 窗口打开', 'outlook', 'keepWindowOpenOnLastTabClose', val); }"
/>
-
+
{ enableMouseGestures = val; sendMsg(name, '启用鼠标手势', 'outlook', 'enableMouseGestures', val); }" />
-
+ { enableSplitScreen = val; sendMsg(name, '启用拆分屏幕', 'outlook', 'enableSplitScreen', val); }">
在一个浏览选项卡上跨并排屏幕高效地进行多任务处理。
@@ -460,6 +471,7 @@
:type="'select'"
:selectWidth="'100px'"
class="ptb_8"
+ @select="val => { fontSize = val; sendMsg(name, '字体大小', 'outlook', 'fontSize', val); }"
>
在一个浏览选项卡上跨并排屏幕高效地进行多任务处理。
@@ -474,13 +486,18 @@
text: true
}"
class="ptb_8"
+ @button-one="() => sendMsg(name, '自定义字体', 'outlook', 'customizeFonts', true)"
/>
+
diff --git a/src/components/Setting/components/safe.vue b/src/components/Setting/components/safe.vue
index f977244..da099c6 100644
--- a/src/components/Setting/components/safe.vue
+++ b/src/components/Setting/components/safe.vue
@@ -5,7 +5,7 @@
使用 Microsoft Edge 帮助你的家人提高安全性
对于家庭组,每个人都可以更轻松地在线浏览。
-
立即开始
+
立即开始
@@ -16,7 +16,9 @@
活动报告
-

查看你的孩子在Microsoft Edge上访问的网站,以及他们在Microsoft必应上搜索的内容。
内容筛选器
-

通过在 Microsoft Edge 上筛选掉不适当的网站并在 Microsoft Bing
@@ -41,7 +45,9 @@
可安心无忧地跨设备使用
-

使用 Microsoft 帐户登录,以使设置在 Windows、Xbox 和 Android 中生效
获取更多提示和信息>
想要获得有关如何保持在线互动安全且充满趣味的更多提示? 我们提供了相关资源。请试一试
想要获得有关如何保持在线互动安全且充满趣味的更多提示?
+ 我们提供了相关资源。
请试一试
diff --git a/src/components/Setting/components/sidebar.vue b/src/components/Setting/components/sidebar.vue
index 532c4a6..e986d2f 100644
--- a/src/components/Setting/components/sidebar.vue
+++ b/src/components/Setting/components/sidebar.vue
@@ -4,7 +4,13 @@
边栏可见性
-
+ sendMsg(name, '显示边栏按钮', 'sidebar', 'showSidebarButton', val)"
+ >
-
+ sendMsg(name, '始终显示边栏', 'sidebar', 'alwaysShowSidebar', val)"
+ />
应用和通知设置
@@ -28,6 +40,7 @@
text: true
}"
class="ptb_8"
+ @button-one="goChildPage('copilot', '边栏', 'Copilot')"
>
-
+
diff --git a/src/components/Setting/components/system.vue b/src/components/Setting/components/system.vue
index 594eab7..68f2d0b 100644
--- a/src/components/Setting/components/system.vue
+++ b/src/components/Setting/components/system.vue
@@ -4,7 +4,13 @@
系统
-
+ sendMsg(name, '启动增强', 'system', 'startupBoost', val)"
+ >
快速转到浏览。启用此功能后,有助于启动设备时更快打开 Microsoft Edge。
@@ -17,11 +23,25 @@
:title="'在 Microsoft Edge 关闭后继续运行后台扩展和应用'"
:type="'switch'"
class="ptb_8"
+ v-model="runInBackground"
+ @switch="(val) => sendMsg(name, '后台运行', 'system', 'runInBackground', val)"
/>
-
+ sendMsg(name, '图形加速', 'system', 'useGraphicsAcceleration', val)"
+ />
-
+ sendMsg(name, '增强视频', 'system', 'enhanceVideos', val)"
+ >
插入设备时锐化视频并改进颜色、照明和对比度。受保护视频和屏幕上较小的视频将不会得到增强。当多个视频在一个网站上处于活动状态时,只会增强最近播放的视频。
@@ -35,10 +55,14 @@
:type="'select'"
:selectWidth="'200px'"
class="ptb_8"
+ v-model="videoEnhancementMethod"
+ @change="
+ (val) => sendMsg(name, '视频增强方法', 'system', 'videoEnhancementMethod', val)
+ "
>
- 插入设备时锐化视频并改进颜色、照明和对比度。受保护视频和屏幕上较小的视频将不会得到增强。当多个视频在一个网站上处于活动状态时,只会增强最近播放的视频。
+ 插入设备时锐化视频并改进颜色、照明和对比度。受保护视频和屏幕上较小的视频将不会得到增强。当多个视频在一个网站上处于活动状态时,只会增强最近播放的_视频。
@@ -57,7 +81,13 @@
优化性能
-
+ sendMsg(name, '效率模式', 'system', 'efficiencyMode', val)"
+ >
快速转到浏览。启用此功能后,有助于启动设备时更快打开 Microsoft
@@ -67,7 +97,15 @@
-
+ sendMsg(name, '改善游戏体验', 'system', 'improveGamingExperience', val)
+ "
+ >
当你玩电脑游戏时,Microsoft Edge减少其计算机资源 (CPU) 使用量,以创建更好的游戏体验。
@@ -75,7 +113,13 @@
-
+ sendMsg(name, '标签页休眠', 'system', 'useSleepingTabs', val)"
+ >
启用此选项后,不活动的标签页将在指定时间后进入休眠状态以节约系统资源。
@@ -84,7 +128,13 @@
-
+ sendMsg(name, '淡出睡眠标签页', 'system', 'fadeOutSleepingTabs', val)"
+ >
保存内存和 CPU 以提高性能时,标签页将显示为淡出。
@@ -96,6 +146,8 @@
:type="'select'"
:selectWidth="'200px'"
class="ptb_8"
+ v-model="sleepTabsAfter"
+ @change="(val) => sendMsg(name, '标签页休眠时间', 'system', 'sleepTabsAfter', val)"
>
@@ -134,7 +186,13 @@
管理你的性能
-
+ sendMsg(name, '性能检测器', 'system', 'performanceDetector', val)"
+ >
当此项打开时,浏览器将检测到选项卡性能问题并推荐一个操作以修复此问题。
@@ -146,15 +204,31 @@
开发人员工具
-
+ sendMsg(name, 'F12打开开发者工具', 'system', 'useF12ForDevTools', val)"
+ />
-
+
diff --git a/src/components/Setting/index.ts b/src/components/Setting/index.ts
new file mode 100644
index 0000000..8e2a455
--- /dev/null
+++ b/src/components/Setting/index.ts
@@ -0,0 +1,44 @@
+import { useSettingStore } from "@/store/modules/settings"
+/**
+ * 通用的消息发送函数,用于将设置更改添加到全局状态
+ * @param pageName 设置页面的顶级标题, e.g., '隐私、搜索和服务'
+ * @param description 更改项的具体描述, e.g., 'InPrivate时使用严格跟踪防护'
+ * @param category 更改项的分类, e.g., 'security'
+ * @param key 更改项的唯一标识, e.g., 'inPrivateStrictTracking'
+ * @param value 更改项的值 (可以是 boolean, string, number 等)
+ */
+export const sendMsg = (pageName: string, description: string, category: string, key: string, value: any) => {
+ const settingStore = useSettingStore()
+
+ let displayValue: string;
+
+ // 根据值的类型格式化显示文本
+ if (typeof value === 'boolean') {
+ displayValue = value ? '打开' : '关闭';
+ } else {
+ displayValue = value;
+ }
+
+ // 拼接 contentIn 字符串
+ const contentIn = `设置${pageName}${description}: ${displayValue}`
+
+ // 拼接 content 字符串
+ const content = `${category}@${key}@${value}`
+
+ // 创建数据对象并添加到 store
+ const data = { contentIn, content };
+
+ // 为了避免重复,可以先查找并更新,如果不存在再添加
+ const existingIndex = settingStore.settingsFormList.findIndex(item => item.content.startsWith(`${category}@${key}@`));
+
+ if (existingIndex !== -1) {
+ // 如果已存在,则替换
+ settingStore.settingsFormList[existingIndex] = data;
+ } else {
+ // 如果不存在,则添加
+ settingStore.settingsFormList.push(data);
+ }
+
+ console.log('Updated settings data:', data);
+ console.log('Current form list:', settingStore.settingsFormList);
+}
diff --git a/src/components/Setting/index.vue b/src/components/Setting/index.vue
index 87b3316..96e564f 100644
--- a/src/components/Setting/index.vue
+++ b/src/components/Setting/index.vue
@@ -79,7 +79,6 @@ import Reset from './components/reset.vue'
import About from './components/about.vue'
import './style/common.scss'
-
const searchValue = ref('')
const tabsList = ref([
diff --git a/src/store/modules/settings.ts b/src/store/modules/settings.ts
new file mode 100644
index 0000000..55eff7c
--- /dev/null
+++ b/src/store/modules/settings.ts
@@ -0,0 +1,15 @@
+import { defineStore } from 'pinia'
+import { ref } from 'vue'
+
+export const useSettingStore = defineStore('settings', () => {
+ const settingsFormList = ref([])
+ // 清除所有 settings 相关数据
+ const clearSettingData = () => {
+ settingsFormList.value = []
+ }
+
+ return {
+ settingsFormList,
+ clearSettingData
+ }
+})
diff --git a/src/views/paper/question/EmailForm.vue b/src/views/paper/question/EmailForm.vue
index 590d635..0d5532a 100644
--- a/src/views/paper/question/EmailForm.vue
+++ b/src/views/paper/question/EmailForm.vue
@@ -278,7 +278,7 @@
-
+
@@ -909,4 +909,4 @@ const openPoints = async () => {
}
}
}
-
\ No newline at end of file
+
diff --git a/src/views/paper/question/SettingForm.vue b/src/views/paper/question/SettingForm.vue
index 97be2b2..1199633 100644
--- a/src/views/paper/question/SettingForm.vue
+++ b/src/views/paper/question/SettingForm.vue
@@ -196,75 +196,6 @@
-->
-
-
-
-
-
-
-
- 提示:文件名称可默认不设置
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ row.url }}
-
-
-
-
-
-
- 上传
-
-
- 下载
-
- 删除
-
-
-
-
-
-
@@ -278,54 +209,37 @@
-
+
\ No newline at end of file
+
diff --git a/src/views/paper/question/index.vue b/src/views/paper/question/index.vue
index 4fdb5ff..e8927f5 100644
--- a/src/views/paper/question/index.vue
+++ b/src/views/paper/question/index.vue
@@ -316,7 +316,7 @@
-
+
@@ -347,6 +347,8 @@ import DeptTree from './DeptTree.vue'
import SpecialtyTree from './SpecialtyTree.vue'
import { handleTree } from '@/utils/tree'
import * as SpecialtyApi from '@/api/points'
+import { useSettingStore } from '@/store/modules/settings'
+const settingStore = useSettingStore()
defineOptions({ name: 'SystemUser' })
const message = useMessage() // 消息弹窗
@@ -403,6 +405,7 @@ const getList = async () => {
} finally {
loading.value = false
}
+ settingStore.clearSettingData() // 清除设置数据
}
/** 用户导入 */
const handleImport = () => {