diff --git a/controller/misc.go b/controller/misc.go index 0259426..9a51479 100644 --- a/controller/misc.go +++ b/controller/misc.go @@ -5,6 +5,7 @@ import ( "fmt" "net/http" "one-api/common" + "one-api/constant" "one-api/model" "strings" @@ -59,6 +60,7 @@ func GetStatus(c *gin.Context) { "data_export_default_time": common.DataExportDefaultTime, "default_collapse_sidebar": common.DefaultCollapseSidebar, "enable_online_topup": common.PayAddress != "" && common.EpayId != "" && common.EpayKey != "", + "mj_notify_enabled": constant.MjNotifyEnabled, }, }) return diff --git a/web/src/components/MjLogsTable.js b/web/src/components/MjLogsTable.js index 1d5e5c4..6a6fbd9 100644 --- a/web/src/components/MjLogsTable.js +++ b/web/src/components/MjLogsTable.js @@ -1,7 +1,7 @@ import React, { useEffect, useState } from 'react'; import { API, copy, isAdmin, showError, showSuccess, timestamp2string } from '../helpers'; -import { Button, Form, ImagePreview, Layout, Modal, Progress, Table, Tag, Typography } from '@douyinfe/semi-ui'; +import { Banner, Button, Form, ImagePreview, Layout, Modal, Progress, Table, Tag, Typography } from '@douyinfe/semi-ui'; import { ITEMS_PER_PAGE } from '../constants'; @@ -289,6 +289,7 @@ const LogsTable = () => { const [logType, setLogType] = useState(0); const isAdminUser = isAdmin(); const [isModalOpenurl, setIsModalOpenurl] = useState(false); + const [showBanner, setShowBanner] = useState(false); // 定义模态框图片URL的状态和更新函数 const [modalImageUrl, setModalImageUrl] = useState(''); @@ -380,11 +381,22 @@ const LogsTable = () => { refresh().then(); }, [logType]); + useEffect(() => { + const mjNotifyEnabled = localStorage.getItem('mj_notify_enabled'); + if (mjNotifyEnabled !== 'true') { + setShowBanner(true); + } + }, []); return ( <> + {isAdminUser && showBanner ? : <> + }
<> { if (name.endsWith('Enabled') || name === 'DataExportInterval' || name === 'DataExportDefaultTime' || name === 'DefaultCollapseSidebar') { if (name === 'DataExportDefaultTime') { localStorage.setItem('data_export_default_time', value); + } else if (name === 'MjNotifyEnabled') { + localStorage.setItem('mj_notify_enabled', value); } await updateOption(name, value); } else { diff --git a/web/src/components/SiderBar.js b/web/src/components/SiderBar.js index ca250b2..cfd448f 100644 --- a/web/src/components/SiderBar.js +++ b/web/src/components/SiderBar.js @@ -130,6 +130,7 @@ const SiderBar = () => { localStorage.setItem('enable_data_export', data.enable_data_export); localStorage.setItem('data_export_default_time', data.data_export_default_time); localStorage.setItem('default_collapse_sidebar', data.default_collapse_sidebar); + localStorage.setItem('mj_notify_enabled', data.mj_notify_enabled); if (data.chat_link) { localStorage.setItem('chat_link', data.chat_link); } else {