diff --git a/src/components/RightContent/AvatarDropdown.tsx b/src/components/RightContent/AvatarDropdown.tsx index 4d4fd92e..b66897a8 100644 --- a/src/components/RightContent/AvatarDropdown.tsx +++ b/src/components/RightContent/AvatarDropdown.tsx @@ -2,6 +2,7 @@ import { BookOutlined, CheckOutlined, GlobalOutlined, + HistoryOutlined, LogoutOutlined, SettingOutlined, SkinOutlined, @@ -11,6 +12,7 @@ import { getLocale, history, setLocale, + useIntl, useModel, } from '@umijs/max'; import type { MenuProps } from 'antd'; @@ -51,6 +53,7 @@ export const AvatarDropdown: React.FC = ({ } }; const { initialState, setInitialState } = useModel('@@initialState'); + const intl = useIntl(); const onMenuClick: MenuProps['onClick'] = (event) => { const { key } = event; @@ -73,6 +76,11 @@ export const AvatarDropdown: React.FC = ({ setLocale(key.replace('lang-', ''), false); return; } + if (key.startsWith('version-')) { + const url = key.replace('version-', ''); + window.open(url, '_blank', 'noopener,noreferrer'); + return; + } history.push(`/account/${key}`); }; @@ -108,6 +116,31 @@ export const AvatarDropdown: React.FC = ({ icon: , label: '使用文档', }, + { + key: 'version', + icon: , + label: intl.formatMessage({ + id: 'component.globalHeader.historyVersion', + }), + children: [ + { + key: 'version-https://v5.pro.ant.design', + label: 'v5', + }, + { + key: 'version-https://v4.pro.ant.design', + label: 'v4', + }, + { + key: 'version-https://v2.pro.ant.design', + label: 'v2', + }, + { + key: 'version-https://v1.pro.ant.design', + label: 'v1', + }, + ], + }, ...(supportLocales.length > 1 ? [ { diff --git a/src/locales/en-US/globalHeader.ts b/src/locales/en-US/globalHeader.ts index 81d386f3..6a6be0dc 100644 --- a/src/locales/en-US/globalHeader.ts +++ b/src/locales/en-US/globalHeader.ts @@ -4,6 +4,7 @@ export default { 'component.globalHeader.search.example2': 'Search example 2', 'component.globalHeader.search.example3': 'Search example 3', 'component.globalHeader.help': 'Help', + 'component.globalHeader.historyVersion': 'Previous Versions', 'component.globalHeader.notification': 'Notification', 'component.globalHeader.notification.empty': 'You have viewed all notifications.', diff --git a/src/locales/zh-CN/globalHeader.ts b/src/locales/zh-CN/globalHeader.ts index 9fd66a58..96e2abc7 100644 --- a/src/locales/zh-CN/globalHeader.ts +++ b/src/locales/zh-CN/globalHeader.ts @@ -4,6 +4,7 @@ export default { 'component.globalHeader.search.example2': '搜索提示二', 'component.globalHeader.search.example3': '搜索提示三', 'component.globalHeader.help': '使用文档', + 'component.globalHeader.historyVersion': '历史版本', 'component.globalHeader.notification': '通知', 'component.globalHeader.notification.empty': '你已查看所有通知', 'component.globalHeader.message': '消息', diff --git a/src/locales/zh-TW/globalHeader.ts b/src/locales/zh-TW/globalHeader.ts index ed584518..845c13e8 100644 --- a/src/locales/zh-TW/globalHeader.ts +++ b/src/locales/zh-TW/globalHeader.ts @@ -4,6 +4,7 @@ export default { 'component.globalHeader.search.example2': '搜索提示二', 'component.globalHeader.search.example3': '搜索提示三', 'component.globalHeader.help': '使用手冊', + 'component.globalHeader.historyVersion': '歷史版本', 'component.globalHeader.notification': '通知', 'component.globalHeader.notification.empty': '妳已查看所有通知', 'component.globalHeader.message': '消息',