diff --git a/common/constants.go b/common/constants.go index ca721be..499e556 100644 --- a/common/constants.go +++ b/common/constants.go @@ -11,6 +11,7 @@ var Version = "v0.0.0" var SystemName = "消息推送服务" var ServerAddress = "http://localhost:3000" var Footer = "" +var HomePageLink = "" var MessageCount = 0 // Non critical value, no need to use atomic var UserCount = 0 // Non critical value, no need to use atomic diff --git a/controller/misc.go b/controller/misc.go index 1b0278f..7ae4892 100644 --- a/controller/misc.go +++ b/controller/misc.go @@ -20,6 +20,7 @@ func GetStatus(c *gin.Context) { "github_oauth": common.GitHubOAuthEnabled, "github_client_id": common.GitHubClientId, "system_name": common.SystemName, + "home_page_link": common.HomePageLink, "footer_html": common.Footer, "wechat_qrcode": common.WeChatAccountQRCodeImageURL, "wechat_login": common.WeChatAuthEnabled, diff --git a/model/option.go b/model/option.go index d37e5de..7c0f2d5 100644 --- a/model/option.go +++ b/model/option.go @@ -41,6 +41,7 @@ func InitOptionMap() { common.OptionMap["Notice"] = "" common.OptionMap["About"] = "" common.OptionMap["Footer"] = common.Footer + common.OptionMap["HomePageLink"] = common.HomePageLink common.OptionMap["ServerAddress"] = "" common.OptionMap["GitHubClientId"] = "" common.OptionMap["GitHubClientSecret"] = "" @@ -131,6 +132,8 @@ func updateOptionMap(key string, value string) { common.GitHubClientSecret = value case "Footer": common.Footer = value + case "HomePageLink": + common.HomePageLink = value case "WeChatServerAddress": common.WeChatServerAddress = value case "WeChatServerToken": diff --git a/web/src/App.js b/web/src/App.js index 1711133..b8e8224 100644 --- a/web/src/App.js +++ b/web/src/App.js @@ -43,6 +43,7 @@ function App() { localStorage.setItem('status', JSON.stringify(data)); statusDispatch({ type: 'set', payload: data }); localStorage.setItem('footer_html', data.footer_html); + localStorage.setItem('home_page_link', data.home_page_link); if ( data.version !== process.env.REACT_APP_VERSION && data.version !== 'v0.0.0' && diff --git a/web/src/components/OtherSetting.js b/web/src/components/OtherSetting.js index e85f361..9813328 100644 --- a/web/src/components/OtherSetting.js +++ b/web/src/components/OtherSetting.js @@ -8,6 +8,7 @@ const OtherSetting = () => { Footer: '', Notice: '', About: '', + HomePageLink: '', }); let originInputs = {}; let [loading, setLoading] = useState(false); @@ -65,6 +66,10 @@ const OtherSetting = () => { await updateOption('Footer', inputs.Footer); }; + const submitHomePageLink = async () => { + await updateOption('HomePageLink', inputs.HomePageLink); + }; + const submitAbout = async () => { await updateOption('About', inputs.About); }; @@ -109,6 +114,17 @@ const OtherSetting = () => { 保存公告
个性化设置
+ + + + 设置首页链接 { const [statusState, statusDispatch] = useContext(StatusContext); + const homePageLink = localStorage.getItem('home_page_link') || ''; const displayNotice = async () => { const res = await API.get('/api/notice'); @@ -30,81 +31,92 @@ const Home = () => { }, []); return ( <> - -
系统状况
- - - - - 系统信息 - 系统信息总览 - -

名称:{statusState?.status?.system_name}

-

版本:{statusState?.status?.version}

-

- 源码: - - https://github.com/songquanpeng/message-pusher - -

-

启动时间:{getStartTimeString()}

-

自从上次启动已发送消息数目:{statusState?.status?.message_count}

-

自从上次启动新注册用户数目:{statusState?.status?.user_count}

-
-
-
-
- - - - 系统配置 - 系统配置总览 - -

- 邮箱验证: - {statusState?.status?.email_verification === true - ? '已启用' - : '未启用'} -

-

- GitHub 身份验证: - {statusState?.status?.github_oauth === true - ? '已启用' - : '未启用'} -

-

- 微信身份验证: - {statusState?.status?.wechat_login === true - ? '已启用' - : '未启用'} -

-

- Turnstile 用户校验: - {statusState?.status?.turnstile_check === true - ? '已启用' - : '未启用'} -

-

- 全局消息持久化: - {statusState?.status?.message_persistence === true - ? '已启用' - : '未启用'} -

-

- 全局消息渲染: - {statusState?.status?.message_render === true - ? '已启用' - : '未启用'} -

-
-
-
-
-
-
+ {homePageLink !== '' ? ( + <> +