diff --git a/src/components/apps/Style/index.vue b/src/components/apps/Style/index.vue index 96c0fff..07abccb 100644 --- a/src/components/apps/Style/index.vue +++ b/src/components/apps/Style/index.vue @@ -237,6 +237,13 @@ function resetPanelConfig() { </div> <NGrid cols="2"> + <NGridItem span="12 400:12"> + <div class="flex items-center mt-[5px]"> + <span class="mr-[10px]">{{ $t('apps.baseSettings.netModeChangeButtonShow') }}</span> + <NSwitch v-model:value="panelState.panelConfig.netModeChangeButtonShow" /> + </div> + </NGridItem> + <NGridItem span="12 400:12"> <div class="flex items-center mt-[10px]"> <span class="mr-[10px]">{{ $t('apps.baseSettings.maxWidth') }}</span> diff --git a/src/locales/en-US.json b/src/locales/en-US.json index 4b31a96..92b4a1e 100644 --- a/src/locales/en-US.json +++ b/src/locales/en-US.json @@ -64,6 +64,7 @@ "leftRightMargin": "Left-right margin", "mask": "Mask", "maxWidth": "Max width", + "netModeChangeButtonShow": "Show network mode switch button", "publicVisitModeShow": "Allow public mode display", "resetWarnText": "Are you sure you want to reset these styles?", "searchBar": "Search bar component", diff --git a/src/locales/zh-CN.json b/src/locales/zh-CN.json index e5036fe..3744072 100644 --- a/src/locales/zh-CN.json +++ b/src/locales/zh-CN.json @@ -64,6 +64,7 @@ "leftRightMargin": "左右边距", "mask": "遮罩", "maxWidth": "最大宽度", + "netModeChangeButtonShow": "显示网络模式切换按钮", "publicVisitModeShow": "公开模式允许显示", "resetWarnText": "确定要重置这些样式吗?", "searchBar": "搜索栏组件", diff --git a/src/store/modules/panel/helper.ts b/src/store/modules/panel/helper.ts index 934e186..f2039dd 100644 --- a/src/store/modules/panel/helper.ts +++ b/src/store/modules/panel/helper.ts @@ -28,6 +28,7 @@ export function defaultStatePanelConfig(): Panel.panelConfig { systemMonitorShow: false, systemMonitorShowTitle: true, systemMonitorPublicVisitModeShow: false, + netModeChangeButtonShow: true, } } diff --git a/src/store/modules/panel/index.ts b/src/store/modules/panel/index.ts index 7814b88..579850e 100644 --- a/src/store/modules/panel/index.ts +++ b/src/store/modules/panel/index.ts @@ -26,7 +26,7 @@ export const usePanelState = defineStore('panel', { this.recordState() }, - // 获取云端的面板配置 + // 获取云端(搭建的服务器)的面板配置 updatePanelConfigByCloud() { getUserConfig<Panel.userConfig>().then((res) => { if (res.code === 0) diff --git a/src/typings/panel.d.ts b/src/typings/panel.d.ts index 384d76a..362bf3f 100644 --- a/src/typings/panel.d.ts +++ b/src/typings/panel.d.ts @@ -59,6 +59,7 @@ declare namespace Panel { systemMonitorShow?:boolean systemMonitorShowTitle?:boolean systemMonitorPublicVisitModeShow?:boolean + netModeChangeButtonShow?:boolean } interface userConfig{ diff --git a/src/views/home/index.vue b/src/views/home/index.vue index cb08be5..e225b5a 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -503,10 +503,11 @@ function handleAddItem(itemIconGroupId?: number) { /> <!-- 悬浮按钮 --> - <div class="fixed-element shadow-[0_0_10px_2px_rgba(0,0,0,0.2)]"> + <div class="fixed-element shadow-[0_0_10px_2px_rgba(0,0,0,0.2)]"> <NButtonGroup vertical> + <!-- 网络模式切换按钮组 --> <NButton - v-if="panelState.networkMode === PanelStateNetworkModeEnum.lan" color="#2a2a2a6b" + v-if="panelState.networkMode === PanelStateNetworkModeEnum.lan && panelState.panelConfig.netModeChangeButtonShow" color="#2a2a2a6b" :title="t('panelHome.changeToWanModel')" @click="handleChangeNetwork(PanelStateNetworkModeEnum.wan)" > <template #icon> @@ -515,7 +516,7 @@ function handleAddItem(itemIconGroupId?: number) { </NButton> <NButton - v-if="panelState.networkMode === PanelStateNetworkModeEnum.wan" color="#2a2a2a6b" + v-if="panelState.networkMode === PanelStateNetworkModeEnum.wan && panelState.panelConfig.netModeChangeButtonShow" color="#2a2a2a6b" :title="t('panelHome.changeToLanModel')" @click="handleChangeNetwork(PanelStateNetworkModeEnum.lan)" > <template #icon> @@ -536,25 +537,25 @@ function handleAddItem(itemIconGroupId?: number) { </NButton> </NButtonGroup> - <NBackTop - :listen-to="() => scrollContainerRef" - :right="10" - :bottom="10" - style="background-color:transparent;border: none;box-shadow: none;" - > - <div class="shadow-[0_0_10px_2px_rgba(0,0,0,0.2)]"> - <NButton color="#2a2a2a6b"> - <template #icon> - <SvgIcon class="text-white font-xl" icon="icon-park-outline:to-top" /> - </template> - </NButton> - </div> - </NBackTop> - <AppStarter v-model:visible="settingModalShow" /> <!-- <Setting v-model:visible="settingModalShow" /> --> </div> + <NBackTop + :listen-to="() => scrollContainerRef" + :right="10" + :bottom="10" + style="background-color:transparent;border: none;box-shadow: none;" + > + <div class="shadow-[0_0_10px_2px_rgba(0,0,0,0.2)]"> + <NButton color="#2a2a2a6b"> + <template #icon> + <SvgIcon class="text-white font-xl" icon="icon-park-outline:to-top" /> + </template> + </NButton> + </div> + </NBackTop> + <EditItem v-model:visible="editItemInfoShow" :item-info="editItemInfoData" :item-group-id="currentAddItenIconGroupId" @done="handleEditSuccess" /> <!-- 弹窗 -->