File tree Expand file tree Collapse file tree 2 files changed +49
-5
lines changed
Expand file tree Collapse file tree 2 files changed +49
-5
lines changed Original file line number Diff line number Diff line change 2020 </div >
2121
2222 <!-- 中间搜索框 -->
23- <div class =" header-center" >
23+ <div class =" header-center" v-if = " searchAggregationEnabled " >
2424 <a-input-search
2525 placeholder =" 搜索内容..."
2626 enter-button =" 搜索"
7272</template >
7373
7474<script >
75- import {defineComponent , ref } from ' vue' ;
75+ import {defineComponent , ref , computed } from ' vue' ;
7676import {Message } from ' @arco-design/web-vue' ;
7777
7878export default defineComponent ({
7979 components: {},
8080 setup () {
8181 const showConfirmModal = ref (false );
8282
83+ // 从localStorage获取聚搜功能状态
84+ const getSearchAggregationStatus = () => {
85+ try {
86+ const appSettings = localStorage .getItem (' appSettings' );
87+ if (appSettings) {
88+ const settings = JSON .parse (appSettings);
89+ return settings .searchAggregation || false ;
90+ }
91+ } catch (error) {
92+ console .error (' 获取聚搜状态失败:' , error);
93+ }
94+ return false ;
95+ };
96+
97+ // 响应式的聚搜状态
98+ const searchAggregationEnabled = ref (getSearchAggregationStatus ());
99+
100+ // 监听localStorage变化
101+ const updateSearchAggregationStatus = () => {
102+ searchAggregationEnabled .value = getSearchAggregationStatus ();
103+ };
104+
105+ // 监听storage事件
106+ window .addEventListener (' storage' , updateSearchAggregationStatus);
107+
108+ // 定期检查状态变化(用于同一页面内的状态更新)
109+ const checkInterval = setInterval (updateSearchAggregationStatus, 1000 );
110+
83111 return {
84- showConfirmModal
112+ showConfirmModal,
113+ searchAggregationEnabled
85114 };
86115 },
87116 methods: {
Original file line number Diff line number Diff line change 784784 </div >
785785 </div >
786786 <div class =" setting-value" >
787- <span class =" value-text" >已关闭</span >
787+ <span class =" value-text" >{{ settings.searchAggregation ? '已开启' : ' 已关闭' }} </span >
788788 <icon-right class =" arrow-icon" />
789789 </div >
790790 </div >
@@ -934,7 +934,8 @@ const settings = reactive({
934934 autoLive: false ,
935935 secureDns: false ,
936936 cspBypass: true , // CSP绕过开关
937- referrerPolicy: ' no-referrer' // 默认referrer策略
937+ referrerPolicy: ' no-referrer' , // 默认referrer策略
938+ searchAggregation: false // 聚搜功能开关,默认关闭
938939})
939940
940941// 播放器选择对话框状态
@@ -1346,6 +1347,17 @@ const handleCSPBypassToggle = () => {
13461347 }
13471348}
13481349
1350+ // 处理聚搜功能开关
1351+ const handleSearchAggregationToggle = () => {
1352+ settings .searchAggregation = ! settings .searchAggregation
1353+
1354+ if (settings .searchAggregation ) {
1355+ Message .success (' 已开启聚搜功能' )
1356+ } else {
1357+ Message .info (' 已关闭聚搜功能' )
1358+ }
1359+ }
1360+
13491361// 处理Referrer策略选择
13501362const handleReferrerPolicySelect = () => {
13511363 // 使用导入的策略列表
@@ -1405,6 +1417,9 @@ const handleSettingClick = (settingKey) => {
14051417 case ' referrer-policy' :
14061418 handleReferrerPolicySelect ()
14071419 break
1420+ case ' search-aggregation' :
1421+ handleSearchAggregationToggle ()
1422+ break
14081423 case ' backup' :
14091424 backupRestoreVisible .value = true
14101425 break
You can’t perform that action at this time.
0 commit comments