diff --git a/packages/base/src/locale/en-US/dmsMenu.ts b/packages/base/src/locale/en-US/dmsMenu.ts
index 6e88e9a3e..f7d3525e1 100644
--- a/packages/base/src/locale/en-US/dmsMenu.ts
+++ b/packages/base/src/locale/en-US/dmsMenu.ts
@@ -52,5 +52,6 @@ export default {
ruleManage: '规则管理',
system: '系统设置',
changeTheme: '模式切换'
- }
+ },
+ copyRight: '© 2024 上海爱可生信息技术股份有限公司 版权所有'
};
diff --git a/packages/base/src/locale/zh-CN/dmsMenu.ts b/packages/base/src/locale/zh-CN/dmsMenu.ts
index 3b92e470c..886afdc57 100644
--- a/packages/base/src/locale/zh-CN/dmsMenu.ts
+++ b/packages/base/src/locale/zh-CN/dmsMenu.ts
@@ -54,5 +54,6 @@ export default {
ruleManage: '规则管理',
system: '系统设置',
changeTheme: '模式切换'
- }
+ },
+ copyRight: '© 2024 上海爱可生信息技术股份有限公司 版权所有'
};
diff --git a/packages/base/src/page/DataExportManagement/Detail/components/ExportDetail/OverviewList/index.tsx b/packages/base/src/page/DataExportManagement/Detail/components/ExportDetail/OverviewList/index.tsx
index ccb454861..d878bb694 100644
--- a/packages/base/src/page/DataExportManagement/Detail/components/ExportDetail/OverviewList/index.tsx
+++ b/packages/base/src/page/DataExportManagement/Detail/components/ExportDetail/OverviewList/index.tsx
@@ -3,12 +3,22 @@ import useDataExportDetailReduxManage from '../../../hooks/index.redux';
import { OverviewListAction, OverviewListColumn } from './column';
import { IGetDataExportTask } from '@actiontech/shared/lib/api/base/service/common';
import dms from '@actiontech/shared/lib/api/base/service/dms';
-import { useCurrentProject } from '@actiontech/shared/lib/global';
+import {
+ useCurrentProject,
+ useCurrentUser
+} from '@actiontech/shared/lib/global';
import { useBoolean } from 'ahooks';
+import { useMemo } from 'react';
const OverviewList: React.FC = () => {
- const { taskInfos, updateCurTaskID } = useDataExportDetailReduxManage();
+ const { taskInfos, updateCurTaskID, workflowInfo } =
+ useDataExportDetailReduxManage();
const { projectID } = useCurrentProject();
+ const { uid } = useCurrentUser();
+
+ const isCreateWorkflowUser = useMemo(() => {
+ return uid === workflowInfo?.create_user?.uid;
+ }, [uid, workflowInfo?.create_user?.uid]);
const [
downloadLoading,
@@ -36,7 +46,11 @@ const OverviewList: React.FC = () => {
dataSource={taskInfos ?? []}
pagination={false}
columns={OverviewListColumn()}
- actions={OverviewListAction(downloadLoading, downloadAction)}
+ actions={
+ isCreateWorkflowUser
+ ? OverviewListAction(downloadLoading, downloadAction)
+ : undefined
+ }
onRow={(record: IGetDataExportTask) => {
return {
onClick() {
diff --git a/packages/base/src/page/DataExportManagement/Detail/components/PageHeaderAction/index.tsx b/packages/base/src/page/DataExportManagement/Detail/components/PageHeaderAction/index.tsx
index 17d0ddb2f..6a099b4c5 100644
--- a/packages/base/src/page/DataExportManagement/Detail/components/PageHeaderAction/index.tsx
+++ b/packages/base/src/page/DataExportManagement/Detail/components/PageHeaderAction/index.tsx
@@ -30,23 +30,22 @@ const ExportDetailPageHeaderAction: React.FC = () => {
{messageContentHolder}
-
-
- {t('dmsDataExport.detail.action.close.text')}
-
-
-
-
-
+
+
+ {t('dmsDataExport.detail.action.close.text')}
+
+
+
+
{
+ const { t } = useTranslation();
+ return {t('dmsMenu.copyRight')}
;
+};
+
+export default CopyrightInformation;
diff --git a/packages/base/src/page/Nav/index.tsx b/packages/base/src/page/Nav/index.tsx
index 227ef1ea4..f53f26b73 100644
--- a/packages/base/src/page/Nav/index.tsx
+++ b/packages/base/src/page/Nav/index.tsx
@@ -7,6 +7,10 @@ import EESideMenu from './SideMenu';
import CESideMenu from './SideMenu/index.ce';
// #endif
+// #if [demo || ce]
+import CopyrightInformation from './Copyright';
+// #endif
+
const Nav: React.FC<{ children?: ReactNode }> = (props) => {
return (
@@ -16,7 +20,12 @@ const Nav: React.FC<{ children?: ReactNode }> = (props) => {
{/* #endif */}
- {props.children}
+
+ {props.children}
+ {/* #if [demo || ce] */}
+
+ {/* #endif */}
+
);
};
diff --git a/packages/shared/lib/Icon/common.tsx b/packages/shared/lib/Icon/common.tsx
index 69135e93f..b2ef2fcd3 100644
--- a/packages/shared/lib/Icon/common.tsx
+++ b/packages/shared/lib/Icon/common.tsx
@@ -1597,3 +1597,87 @@ export const IconPosition = () => {
);
};
+
+export const IconCheckout = () => {
+ return (
+
+
+
+
+
+ );
+};
+
+export const IconBookMark = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export const IconCustomService = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/packages/shared/lib/components/EnterpriseFeatureDisplay/EnterpriseFeatureDisplay.tsx b/packages/shared/lib/components/EnterpriseFeatureDisplay/EnterpriseFeatureDisplay.tsx
index eaed7236c..aad6d3c05 100644
--- a/packages/shared/lib/components/EnterpriseFeatureDisplay/EnterpriseFeatureDisplay.tsx
+++ b/packages/shared/lib/components/EnterpriseFeatureDisplay/EnterpriseFeatureDisplay.tsx
@@ -4,10 +4,7 @@ import { useTranslation } from 'react-i18next';
import { CEIndexStyleWrapper } from './style';
import Icon from '@ant-design/icons';
import BasicButton from '../BasicButton';
-import {
- IconBookMark,
- IconCustomService
-} from '../Icons/EnterpriseFeatureDisplay';
+import { IconBookMark, IconCustomService } from '../../Icon/common';
import { DMS_DEFAULT_WEB_TITLE } from '../../data/common';
import EmptyBox from '../EmptyBox';
import VersionComparison from './components/VersionComparison';
diff --git a/packages/shared/lib/components/EnterpriseFeatureDisplay/__snapshots__/ce.test.tsx.snap b/packages/shared/lib/components/EnterpriseFeatureDisplay/__snapshots__/ce.test.tsx.snap
index 7a087756c..b28cb12f0 100644
--- a/packages/shared/lib/components/EnterpriseFeatureDisplay/__snapshots__/ce.test.tsx.snap
+++ b/packages/shared/lib/components/EnterpriseFeatureDisplay/__snapshots__/ce.test.tsx.snap
@@ -3,7 +3,7 @@
exports[`test ce EnterpriseFeatureDisplay should match snapshot 1`] = `
eeFeatureDescription
-
- 当前版本
- :
- SQLE
- 社区版
-
-
-
- MySQL插件
-
-
-
+
+
+
-
- 100+规则
-
-
-
+
+
-
+
+
+
-
- 创建工单时支持单数据源审核
-
-
+ 适用于MySQL基础审核场景
+
+
+
-
- 支持库表元数据、MyBatis等扫描任务
-
-
+ class="ant-divider css-dev-only-do-not-override-txh9fw ant-divider-horizontal"
+ role="separator"
+ />
+
+
-
- 单一项目
-
-
-
-
+
+
+
+ 支持纳管MySQL数据源
+
+
+
+
+
- 自定义审批流程模板
-
-
-
+
+
- 自定义审核规则模板
-
-
-
-
+
+
+
+ 集成CloudBeaver在线查询
+
+
+
+
+
- 钉钉审批
-
-
-
-
+
+
+
+ 提供专业SQL审核能力
+
+
+
+
+
- 邮件、企业微信、飞书推送告警
-
-
-
-
+
+
+
+ 支持多方式采集MySQL数据
+
+
+
+
+
-
-
-
+
+ Free
+
+
-
-
- 全量数据库插件
-
-
-
+
+
-
+
+
+
-
- SQL快捷审核
-
-
+ 适用于多种数据源类型体验场景
+
+
+
-
- 创建工单时支持多数据源审核
-
-
+ class="ant-divider css-dev-only-do-not-override-txh9fw ant-divider-horizontal"
+ role="separator"
+ />
+
+
-
- 白名单审核
-
-
-
-
+
+
+
+ 支持纳管10多种主流数据源
+
+
+
+
+
- SQL下钻分析
-
-
-
+
+
- 在社区版基础上,支持慢日志扫描
-
-
-
-
+
+
+
+ 集成CloudBeaver在线查询
+
+
+
+
+
- SQL管控
-
-
-
-
+
+
+
+ 提供专业SQL审核能力
+
+
+
+
+
- 多项目
-
-
-
-
+
+
+
+ 支持多方式采集各数据源数据
+
+
+
+
+
- 自定义审批流程模板
-
-
-
-
- 自定义审核规则模板
-
-
-
-
- 钉钉、飞书审批
-
-
-
-
- 在社区版基础上,支持webhook告警
-
-
-
-
-
-
-
- 全量数据库插件
-
-
-
-
- 900+规则
-
-
-
-
- SQL快捷审核
-
-
-
+
+
+
+
+
-
+
+
+
-
- 白名单审核
-
-
+ 适用于私有云用户定制场景
+
+
+
-
- SQL下钻分析
-
-
+ class="ant-divider css-dev-only-do-not-override-txh9fw ant-divider-horizontal"
+ role="separator"
+ />
+
+
-
- 在社区版基础上,支持慢日志扫描
-
-
-
-
+
+
+
+ 支持纳管10多种主流数据源
+
+
+
+
+
- SQL管控
-
-
-
+
+
- 多项目
-
-
-
-
+
+
+
+ 集成CloudBeaver在线查询
+
+
+
+
+
- 自定义审批流程模板
-
-
-
-
+
+
+
+ 提供专业SQL审核能力
+
+
+
+
+
- 自定义审核规则模板
-
-
-
-
+
+
+
+ 支持多方式采集各数据源数据
+
+
+
+
+
- 钉钉、飞书审批
-
-
-
+
+
- 在社区版基础上,支持webhook告警
-
-
-
+
+
@@ -620,6 +1108,25 @@ exports[`test ce EnterpriseFeatureDisplay should match snapshot 1`] = `
+
@@ -829,7 +1336,7 @@ exports[`test ce EnterpriseFeatureDisplay should match snapshot 1`] = `
exports[`test ce EnterpriseFeatureDisplay should match snapshot when isConfigPage is equal true 1`] = `
eeFeatureDescription
-
- 当前版本
- :
- SQLE
- 社区版
-
-
+
+ Free
+
+
-
-
- MySQL插件
-
-
-
+
+
-
+
+
+
-
- SQL快捷审核
-
-
-
-
- 创建工单时支持单数据源审核
-
-
+ 适用于MySQL基础审核场景
+
+
+
-
- 支持库表元数据、MyBatis等扫描任务
-
-
+ class="ant-divider css-dev-only-do-not-override-txh9fw ant-divider-horizontal"
+ role="separator"
+ />
+
+
-
- 单一项目
-
-
-
-
+
+
+
+ 支持纳管MySQL数据源
+
+
+
+
+
- 自定义审批流程模板
-
-
-
+
+
- 自定义审核规则模板
-
-
-
-
+
+
+
+ 集成CloudBeaver在线查询
+
+
+
+
+
- 钉钉审批
-
-
-
-
+
+
+
+ 提供专业SQL审核能力
+
+
+
+
+
- 邮件、企业微信、飞书推送告警
-
-
-
-
+
+
+
+ 支持多方式采集MySQL数据
+
+
+
+
+
-
-
-
-
- 全量数据库插件
-
-
-
-
- 每种插件15+规则
-
-
-
-
- SQL快捷审核
-
-
-
-
- 创建工单时支持多数据源审核
-
-
-
+
+
+
-
- 白名单审核
-
-
-
+
+
-
+
+
+
-
- 在社区版基础上,支持慢日志扫描
-
-
+ 适用于多种数据源类型体验场景
+
+
+
-
- SQL管控
-
-
+ class="ant-divider css-dev-only-do-not-override-txh9fw ant-divider-horizontal"
+ role="separator"
+ />
+
+
-
- 多项目
-
-
-
-
+
+
+
+ 支持纳管10多种主流数据源
+
+
+
+
+
- 自定义审批流程模板
-
-
-
+
+
- 自定义审核规则模板
-
-
-
-
+
+
+
+ 集成CloudBeaver在线查询
+
+
+
+
+
- 钉钉、飞书审批
-
-
-
-
+
+
+
+ 提供专业SQL审核能力
+
+
+
+
+
- 在社区版基础上,支持webhook告警
-
-
-
-
+
+
+
+ 支持多方式采集各数据源数据
+
+
+
+
+
-
-
-
-
- 全量数据库插件
-
-
-
-
- 900+规则
-
-
-
-
- SQL快捷审核
-
-
-
+
+
+
+
+
-
+
+
+
-
- 白名单审核
-
-
+ 适用于私有云用户定制场景
+
+
+
-
- SQL下钻分析
-
-
+ class="ant-divider css-dev-only-do-not-override-txh9fw ant-divider-horizontal"
+ role="separator"
+ />
+
+
-
- 在社区版基础上,支持慢日志扫描
-
-
-
-
+
+
+
+ 支持纳管10多种主流数据源
+
+
+
+
+
- SQL管控
-
-
-
+
+
- 多项目
-
-
-
-
+
+
+
+ 集成CloudBeaver在线查询
+
+
+
+
+
- 自定义审批流程模板
-
-
-
-
+
+
+
+ 提供专业SQL审核能力
+
+
+
+
+
- 自定义审核规则模板
-
-
-
-
+
+
+
+ 支持多方式采集各数据源数据
+
+
+
+
+
- 钉钉、飞书审批
-
-
-
+
+
- 在社区版基础上,支持webhook告警
-
-
-
+
+
@@ -1443,6 +2438,25 @@ exports[`test ce EnterpriseFeatureDisplay should match snapshot when isConfigPag
+
{
const { t } = useTranslation();
- const renderHeader = (title: I18nKey, buttonLink: string, aLink: string) => {
+ const renderHeader = (data: VersionComparisonItem) => {
return (
<>
-
{t(title)}
-
+
{t(data.title)}
+
+ {data.termText ? t(data.termText) : ''}
+
- {t('common.version.startApply')}
+ {t(data.buttonText)}
-
- {t('common.version.contactUs')}
-
+
+ {t(data.subtitle)}
+
+
>
);
};
@@ -40,9 +41,14 @@ const VersionComparison: React.FC = () => {
{content.split('\n').map((item, index) => {
return (
-
- {item}
-
+
+
+ {item}
+
);
})}
@@ -52,32 +58,46 @@ const VersionComparison: React.FC = () => {
const renderContent = () => {
return versionList.map((item) => {
return (
-
+
+
+
+ {t(item.type)}
+
+
- {renderHeader(item.title, item.applyLink, item.contactLink)}
+ {renderHeader(item)}
{renderDesc(t(item.contentDesc))}
-
+
);
});
};
return (
-
-
- {t('common.version.currentVersion')}: {DMS_DEFAULT_WEB_TITLE}
- {/* #if [demo] */}
- {t('common.version.demo')}
- {/*#elif [ce] */}
- {t('common.version.ce')}
- {/* #endif */}
-
+
{renderContent()}
+
+ {t('common.version.bottomDesc')}
+
+ {t('common.version.functionalComparison')}
+
+
);
};
diff --git a/packages/shared/lib/components/EnterpriseFeatureDisplay/index.data.ts b/packages/shared/lib/components/EnterpriseFeatureDisplay/index.data.ts
index 4e232dcdd..782a66d8b 100644
--- a/packages/shared/lib/components/EnterpriseFeatureDisplay/index.data.ts
+++ b/packages/shared/lib/components/EnterpriseFeatureDisplay/index.data.ts
@@ -3,26 +3,35 @@ import { VersionComparisonItem } from './index.type';
export const versionList: VersionComparisonItem[] = [
{
key: 'version_ce',
- title: 'common.version.ce',
- applyLink: 'http://demo.sqle.actionsky.com/',
- contactLink:
- 'https://actiontech.github.io/sqle-docs/docs/support/community-support',
+ color: 'green',
+ type: 'common.version.ce',
+ title: 'common.version.ceTitle',
+ subtitle: 'common.version.ceSubTitle',
+ buttonText: 'common.version.ceButtonText',
+ termText: 'common.version.ceTerm',
+ applyLink:
+ 'https://actiontech.github.io/sqle-docs/docs/deploy-manual/intro',
contentDesc: 'common.version.ceDesc'
},
{
key: 'version_demo',
- title: 'common.version.demo',
+ color: 'blue',
+ type: 'common.version.demo',
+ title: 'common.version.demoTitle',
+ subtitle: 'common.version.demoSubTitle',
+ buttonText: 'common.version.demoButtonText',
+ termText: 'common.version.demoTerm',
applyLink: 'https://jinshuju.net/f/daLFaG',
- contactLink:
- 'https://actiontech.github.io/sqle-docs/docs/support/community-support',
contentDesc: 'common.version.demoDesc'
},
{
key: 'version_ee',
- title: 'common.version.ee',
- applyLink: 'http://demo.sqle.actionsky.com:8889/',
- contactLink:
- 'https://actiontech.github.io/sqle-docs/docs/support/commercial-support',
+ color: 'orange',
+ type: 'common.version.ee',
+ title: 'common.version.eeTitle',
+ subtitle: 'common.version.eeSubTitle',
+ buttonText: 'common.version.eeButtonText',
+ applyLink: 'https://jinshuju.net/f/daLFaG',
contentDesc: 'common.version.eeDesc'
}
];
diff --git a/packages/shared/lib/components/EnterpriseFeatureDisplay/index.type.ts b/packages/shared/lib/components/EnterpriseFeatureDisplay/index.type.ts
index 1fd9c9ad4..dfb4a009f 100644
--- a/packages/shared/lib/components/EnterpriseFeatureDisplay/index.type.ts
+++ b/packages/shared/lib/components/EnterpriseFeatureDisplay/index.type.ts
@@ -1,4 +1,5 @@
import { I18nKey } from '../../locale';
+import { BasicTagColor } from '../../theme/theme.type';
export type EnterpriseFeatureDisplayProps = {
children: React.ReactNode;
@@ -9,8 +10,12 @@ export type EnterpriseFeatureDisplayProps = {
export type VersionComparisonItem = {
key: string;
+ color: BasicTagColor;
+ type: I18nKey;
title: I18nKey;
+ subtitle: I18nKey;
+ buttonText: I18nKey;
+ termText?: I18nKey;
applyLink: string;
- contactLink: string;
contentDesc: I18nKey;
};
diff --git a/packages/shared/lib/components/EnterpriseFeatureDisplay/style.ts b/packages/shared/lib/components/EnterpriseFeatureDisplay/style.ts
index aa251bbfe..1503f9596 100644
--- a/packages/shared/lib/components/EnterpriseFeatureDisplay/style.ts
+++ b/packages/shared/lib/components/EnterpriseFeatureDisplay/style.ts
@@ -1,14 +1,13 @@
import { styled } from '@mui/material/styles';
+import { Space, Card } from 'antd';
+import { BasicTagColor } from '../../theme/theme.type';
export const CEIndexStyleWrapper = styled('section')`
background: ${({ theme }) => theme.sharedTheme.basic.colorBgLayoutGray};
.common-mode-wrapper {
- height: calc(100vh - 60px);
-
.ant-col {
padding: 40px;
- height: calc(100vh - 60px);
}
}
@@ -87,17 +86,20 @@ export const CEIndexStyleWrapper = styled('section')`
.left {
margin-top: 12px;
}
- }
-`;
-export const VersionComparisonStyleWrapper = styled('div')`
- width: 100%;
+ .version-subTitle-wrap {
+ display: inline-block;
+ height: 44px;
+ text-align: center;
+ }
- & .ant-tag.ant-tag-geekblue.basic-tag-wrapper {
- display: inline-block;
- margin-bottom: 16px;
+ .version-desc-wrap {
+ width: auto;
+ }
}
+`;
+export const VersionComparisonStyleWrapper = styled(Space)`
.content-wrap {
width: 100%;
display: flex;
@@ -107,14 +109,33 @@ export const VersionComparisonStyleWrapper = styled('div')`
width: 32%;
}
}
+`;
+
+export const VersionComparisonItemCardStyleWrapper = styled(Card)<{
+ color: BasicTagColor;
+}>`
+ &.ant-card.ant-card-bordered {
+ border: 2px solid
+ ${({ theme, color }) =>
+ theme.sharedTheme.components.basicTag[color].color};
+
+ &:hover {
+ border: 2px solid
+ ${({ theme, color }) =>
+ theme.sharedTheme.components.basicTag[color].color};
+ }
+ }
- & .ant-card.ant-card-hoverable .ant-card-body {
- padding: 24px 0;
+ &.ant-card.ant-card-hoverable .ant-card-body {
+ padding: 24px 16px;
}
- & .ant-row .ant-col {
- padding-top: 0;
- height: 100%;
+ &.ant-card.ant-card-hoverable {
+ border-radius: 20px;
+ }
+
+ .version-tag-wrap {
+ margin-bottom: 20px;
}
.version-item {
@@ -134,29 +155,21 @@ export const VersionComparisonStyleWrapper = styled('div')`
}
}
- .contact-link {
- text-decoration: underline;
- }
-
- h5.ant-typography {
- margin: 0;
- }
-
.apply-button {
- width: 80%;
+ width: 50%;
}
}
- .content-list .ant-typography {
- padding-left: 18px;
- position: relative;
+ .term-wrap {
display: inline-block;
+ height: 22px;
+ }
- &::before {
- content: '•';
- color: ${({ theme }) => theme.sharedTheme.uiToken.colorTextTertiary};
- position: absolute;
- left: 0;
- }
+ & .content-list {
+ width: 216px;
+ }
+
+ & .content-list .ant-space-item {
+ width: auto;
}
`;
diff --git a/packages/shared/lib/components/Icons/EnterpriseFeatureDisplay/index.tsx b/packages/shared/lib/components/Icons/EnterpriseFeatureDisplay/index.tsx
deleted file mode 100644
index ba6cd29ef..000000000
--- a/packages/shared/lib/components/Icons/EnterpriseFeatureDisplay/index.tsx
+++ /dev/null
@@ -1,63 +0,0 @@
-export const IconBookMark = () => {
- return (
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export const IconCustomService = () => {
- return (
-
-
-
-
-
-
-
-
-
-
-
- );
-};
diff --git a/packages/shared/lib/components/Icons/index.tsx b/packages/shared/lib/components/Icons/index.tsx
deleted file mode 100644
index a010ab7c3..000000000
--- a/packages/shared/lib/components/Icons/index.tsx
+++ /dev/null
@@ -1,123 +0,0 @@
-/* eslint-disable react/no-unknown-property */
-export const Moon = () => {
- return (
-
-
-
- );
-};
-
-export const Sun = () => {
- return (
-
-
-
-
-
-
-
-
- );
-};
-
-export const ZhCN = () => {
- return (
-
-
-
-
- );
-};
-
-export const EnUS = () => {
- return (
-
-
-
-
-
-
-
-
-
- );
-};
diff --git a/packages/shared/lib/locale/en-US/common.ts b/packages/shared/lib/locale/en-US/common.ts
index 7d0dde520..8e22be9ce 100644
--- a/packages/shared/lib/locale/en-US/common.ts
+++ b/packages/shared/lib/locale/en-US/common.ts
@@ -218,14 +218,26 @@ export default {
currentVersion: '当前版本',
ce: '社区版',
ee: '企业版',
- demo: '企业体验版',
+ demo: '专业版',
startApply: '开始试用',
- contactUs: '联系我们',
ceDesc:
- 'MySQL插件\n100+规则\nSQL快捷审核\n创建工单时支持单数据源审核\n支持库表元数据、MyBatis等扫描任务\n单一项目\n自定义审批流程模板\n自定义审核规则模板\n钉钉审批\n邮件、企业微信、飞书推送告警\n免费',
+ '支持纳管MySQL数据源\n支持资源权限隔离\n集成CloudBeaver在线查询\n提供专业SQL审核能力\n支持多方式采集MySQL数据\n无实例限制',
demoDesc:
- '全量数据库插件\n每种插件15+规则\nSQL快捷审核\n创建工单时支持多数据源审核\n白名单审核\nSQL下钻分析\n在社区版基础上,支持慢日志扫描\nSQL管控\n多项目\n自定义审批流程模板\n自定义审核规则模板\n钉钉、飞书审批\n在社区版基础上,支持webhook告警\n免费',
+ '支持纳管10多种主流数据源\n支持资源权限隔离\n集成CloudBeaver在线查询\n提供专业SQL审核能力\n支持多方式采集各数据源数据\n最大实例个数20',
eeDesc:
- '全量数据库插件\n900+规则\nSQL快捷审核\n创建工单时支持多数据源审核\n白名单审核\nSQL下钻分析\n在社区版基础上,支持慢日志扫描\nSQL管控\n多项目\n自定义审批流程模板\n自定义审核规则模板\n钉钉、飞书审批\n在社区版基础上,支持webhook告警\n付费'
+ '支持纳管10多种主流数据源\n支持资源权限隔离\n集成CloudBeaver在线查询\n提供专业SQL审核能力\n支持多方式采集各数据源数据\n无实例限制\n多维度智能统计\n个性化定制',
+ ceSubTitle: '适用于MySQL基础审核场景',
+ demoSubTitle: '适用于多种数据源类型体验场景',
+ eeSubTitle: '适用于私有云用户定制场景',
+ ceTitle: 'Free',
+ demoTitle: 'Free',
+ eeTitle: 'Custom',
+ ceTerm: '永久',
+ demoTerm: '永久',
+ ceButtonText: '快速部署',
+ demoButtonText: '立即申请',
+ eeButtonText: '联系我们',
+ bottomDesc: '各版本完整功能对比请参考:',
+ functionalComparison: '功能对比'
}
};
diff --git a/packages/shared/lib/locale/zh-CN/common.ts b/packages/shared/lib/locale/zh-CN/common.ts
index 94e12d9f8..b94e7f9de 100644
--- a/packages/shared/lib/locale/zh-CN/common.ts
+++ b/packages/shared/lib/locale/zh-CN/common.ts
@@ -230,14 +230,26 @@ export default {
currentVersion: '当前版本',
ce: '社区版',
ee: '企业版',
- demo: '企业体验版',
+ demo: '专业版',
startApply: '开始试用',
- contactUs: '联系我们',
ceDesc:
- 'MySQL插件\n100+规则\nSQL快捷审核\n创建工单时支持单数据源审核\n支持库表元数据、MyBatis等扫描任务\n单一项目\n自定义审批流程模板\n自定义审核规则模板\n钉钉审批\n邮件、企业微信、飞书推送告警\n免费',
+ '支持纳管MySQL数据源\n支持资源权限隔离\n集成CloudBeaver在线查询\n提供专业SQL审核能力\n支持多方式采集MySQL数据\n无实例限制',
demoDesc:
- '全量数据库插件\n每种插件15+规则\nSQL快捷审核\n创建工单时支持多数据源审核\n白名单审核\nSQL下钻分析\n在社区版基础上,支持慢日志扫描\nSQL管控\n多项目\n自定义审批流程模板\n自定义审核规则模板\n钉钉、飞书审批\n在社区版基础上,支持webhook告警\n免费',
+ '支持纳管10多种主流数据源\n支持资源权限隔离\n集成CloudBeaver在线查询\n提供专业SQL审核能力\n支持多方式采集各数据源数据\n最大实例个数20',
eeDesc:
- '全量数据库插件\n900+规则\nSQL快捷审核\n创建工单时支持多数据源审核\n白名单审核\nSQL下钻分析\n在社区版基础上,支持慢日志扫描\nSQL管控\n多项目\n自定义审批流程模板\n自定义审核规则模板\n钉钉、飞书审批\n在社区版基础上,支持webhook告警\n付费'
+ '支持纳管10多种主流数据源\n支持资源权限隔离\n集成CloudBeaver在线查询\n提供专业SQL审核能力\n支持多方式采集各数据源数据\n无实例限制\n多维度智能统计\n个性化定制',
+ ceSubTitle: '适用于MySQL基础审核场景',
+ demoSubTitle: '适用于多种数据源类型体验场景',
+ eeSubTitle: '适用于私有云用户定制场景',
+ ceTitle: 'Free',
+ demoTitle: 'Free',
+ eeTitle: 'Custom',
+ ceTerm: '永久',
+ demoTerm: '永久',
+ ceButtonText: '快速部署',
+ demoButtonText: '立即申请',
+ eeButtonText: '联系我们',
+ bottomDesc: '各版本完整功能对比请参考:',
+ functionalComparison: '功能对比'
}
};
diff --git a/packages/shared/lib/styleWrapper/nav.ts b/packages/shared/lib/styleWrapper/nav.ts
index 312be1d50..fa94cf076 100644
--- a/packages/shared/lib/styleWrapper/nav.ts
+++ b/packages/shared/lib/styleWrapper/nav.ts
@@ -345,5 +345,17 @@ export const LayoutStyleWrapper = styled('section')`
min-width: 1060px;
background-color: ${({ theme }) => theme.sharedTheme.uiToken.colorBgBase};
overflow: hidden;
+ display: flex;
+ flex-direction: column;
+
+ .copyright-information {
+ color: ${({ theme }) => theme.sharedTheme.uiToken.colorTextTertiary};
+ font-size: 13px;
+ text-align: center;
+ margin-top: auto;
+ z-index: 1000;
+ padding: 20px 0;
+ background-color: transparent;
+ }
}
`;
diff --git a/packages/sqle/src/components/RuleDetail/__snapshots__/index.test.tsx.snap b/packages/sqle/src/components/RuleDetail/__snapshots__/index.test.tsx.snap
index 1c4735e8e..341f077a5 100644
--- a/packages/sqle/src/components/RuleDetail/__snapshots__/index.test.tsx.snap
+++ b/packages/sqle/src/components/RuleDetail/__snapshots__/index.test.tsx.snap
@@ -249,7 +249,7 @@ exports[`sqle/components/RuleDetail render error snap 1`] = `
{
/>
)}
diff --git a/packages/sqle/src/components/RuleList/RuleList.tsx b/packages/sqle/src/components/RuleList/RuleList.tsx
index 0ae9c7cbe..d8a57edb2 100644
--- a/packages/sqle/src/components/RuleList/RuleList.tsx
+++ b/packages/sqle/src/components/RuleList/RuleList.tsx
@@ -215,6 +215,9 @@ const RuleList: React.FC
= ({
0}
diff --git a/packages/sqle/src/components/RuleList/style.ts b/packages/sqle/src/components/RuleList/style.ts
index 154423ac8..aa8043154 100644
--- a/packages/sqle/src/components/RuleList/style.ts
+++ b/packages/sqle/src/components/RuleList/style.ts
@@ -69,15 +69,22 @@ export const RuleTypeItemStyleWrapper = styled('div')<{ active?: boolean }>`
}
`;
-export const RulesStyleWrapper = styled('div')<{ pageHeaderHeight: number }>`
+export const RulesStyleWrapper = styled('div')<{
+ pageHeaderHeight: number;
+ paddingBottomNone: boolean;
+}>`
display: flex;
- padding: 0 30px 8px 40px;
flex-direction: column;
align-items: flex-start;
align-self: stretch;
- height: calc(
- 100vh - ${({ pageHeaderHeight }) => 59 + 68 + pageHeaderHeight}px
- );
+ height: ${({ paddingBottomNone, pageHeaderHeight }) =>
+ `calc(100vh - ${
+ paddingBottomNone
+ ? 59 + 68 + 55 + pageHeaderHeight
+ : 59 + 68 + pageHeaderHeight
+ }px)`};
+ padding: 0 30px ${({ paddingBottomNone }) => (paddingBottomNone ? 0 : '8px')}
+ 40px;
overflow: hidden;
.end-bottom-cont {
diff --git a/packages/sqle/src/icon/ReportStatistics.tsx b/packages/sqle/src/icon/ReportStatistics.tsx
index 9f743a1b4..cc21de286 100644
--- a/packages/sqle/src/icon/ReportStatistics.tsx
+++ b/packages/sqle/src/icon/ReportStatistics.tsx
@@ -258,67 +258,3 @@ export const IconFlashlight = () => {
);
};
-
-export const IconBookMark = () => {
- return (
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export const IconCustomService = () => {
- return (
-
-
-
-
-
-
-
-
-
-
-
- );
-};
diff --git a/packages/sqle/src/page/OperationRecord/__snapshots__/index.ce.test.tsx.snap b/packages/sqle/src/page/OperationRecord/__snapshots__/index.ce.test.tsx.snap
index b2df9316b..ade8937be 100644
--- a/packages/sqle/src/page/OperationRecord/__snapshots__/index.ce.test.tsx.snap
+++ b/packages/sqle/src/page/OperationRecord/__snapshots__/index.ce.test.tsx.snap
@@ -16,7 +16,7 @@ exports[`slqe/OperationRecord CE should match snap shot 1`] = `
/>
-
- 当前版本
- :
- SQLE
- 社区版
-
-
+
+ Free
+
+
-
-
- MySQL插件
-
-
-
+
+
-
+
+
+
-
- SQL快捷审核
-
-
+ 适用于MySQL基础审核场景
+
+
+
-
- 创建工单时支持单数据源审核
-
-
+ class="ant-divider css-dev-only-do-not-override-txh9fw ant-divider-horizontal"
+ role="separator"
+ />
+
+
-
- 支持库表元数据、MyBatis等扫描任务
-
-
-
-
+
+
+
+ 支持纳管MySQL数据源
+
+
+
+
+
- 单一项目
-
-
-
+
+
- 自定义审批流程模板
-
-
-
-
+
+
+
+ 集成CloudBeaver在线查询
+
+
+
+
+
- 自定义审核规则模板
-
-
-
-
+
+
+
+ 提供专业SQL审核能力
+
+
+
+
+
- 钉钉审批
-
-
-
-
- 邮件、企业微信、飞书推送告警
-
-
-
-
+
+
+
+ 支持多方式采集MySQL数据
+
+
+
+
+
-
-
-
-
- 全量数据库插件
-
-
-
-
- 每种插件15+规则
-
-
-
-
- SQL快捷审核
-
-
-
-
- 创建工单时支持多数据源审核
-
-
-
+
+
+
-
- 白名单审核
-
-
-
+
+
-
+
+
+
-
- 在社区版基础上,支持慢日志扫描
-
-
+ 适用于多种数据源类型体验场景
+
+
+
-
- SQL管控
-
-
+ class="ant-divider css-dev-only-do-not-override-txh9fw ant-divider-horizontal"
+ role="separator"
+ />
+
+
-
- 多项目
-
-
-
-
+
+
+
+ 支持纳管10多种主流数据源
+
+
+
+
+
- 自定义审批流程模板
-
-
-
+
+
- 自定义审核规则模板
-
-
-
-
+
+
+
+ 集成CloudBeaver在线查询
+
+
+
+
+
- 钉钉、飞书审批
-
-
-
-
+
+
+
+ 提供专业SQL审核能力
+
+
+
+
+
- 在社区版基础上,支持webhook告警
-
-
-
-
+
+
+
+ 支持多方式采集各数据源数据
+
+
+
+
+
-
-
-
-
- 全量数据库插件
-
-
-
-
- 900+规则
-
-
-
-
- SQL快捷审核
-
-
-
+
+
+
+
+
-
+
+
+
-
- 白名单审核
-
-
+ 适用于私有云用户定制场景
+
+
+
-
- SQL下钻分析
-
-
+ class="ant-divider css-dev-only-do-not-override-txh9fw ant-divider-horizontal"
+ role="separator"
+ />
+
+
-
- 在社区版基础上,支持慢日志扫描
-
-
-
-
+
+
+
+ 支持纳管10多种主流数据源
+
+
+
+
+
- SQL管控
-
-
-
+
+
- 多项目
-
-
-
-
+
+
+
+ 集成CloudBeaver在线查询
+
+
+
+
+
- 自定义审批流程模板
-
-
-
-
+
+
+
+ 提供专业SQL审核能力
+
+
+
+
+
- 自定义审核规则模板
-
-
-
-
+
+
+
+ 支持多方式采集各数据源数据
+
+
+
+
+
- 钉钉、飞书审批
-
-
-
+
+
- 在社区版基础上,支持webhook告警
-
-
-
+
+
@@ -637,6 +1125,25 @@ exports[`slqe/OperationRecord CE should match snap shot 1`] = `
+
diff --git a/packages/sqle/src/page/Order/AuditDetail/ScheduleTimeModal/index.test.tsx b/packages/sqle/src/page/Order/AuditDetail/ScheduleTimeModal/index.test.tsx
index 516b92a99..d2b461c35 100644
--- a/packages/sqle/src/page/Order/AuditDetail/ScheduleTimeModal/index.test.tsx
+++ b/packages/sqle/src/page/Order/AuditDetail/ScheduleTimeModal/index.test.tsx
@@ -4,7 +4,6 @@ import { ScheduleTimeModalProps } from './index.type';
import { renderWithTheme } from '../../../../testUtils/customRender';
import { act, cleanup, fireEvent, screen } from '@testing-library/react';
import MockDate from 'mockdate';
-import dayjs from 'dayjs';
import { getBySelector } from '@actiontech/shared/lib/testUtil/customQuery';
describe('sqle/Order/AuditDetail/ScheduleTimeModal', () => {
@@ -24,7 +23,6 @@ describe('sqle/Order/AuditDetail/ScheduleTimeModal', () => {
};
beforeEach(() => {
- MockDate.set(dayjs('2023-12-18 12:00:00').valueOf());
jest.useFakeTimers();
// date picker : custom attr [hideSuperIcon]
jest.spyOn(console, 'error').mockImplementation(() => {});
@@ -33,7 +31,6 @@ describe('sqle/Order/AuditDetail/ScheduleTimeModal', () => {
afterEach(() => {
jest.useRealTimers();
jest.clearAllMocks();
- MockDate.reset();
(console.error as jest.Mock).mockRestore();
cleanup();
});
@@ -98,6 +95,7 @@ describe('sqle/Order/AuditDetail/ScheduleTimeModal', () => {
});
it('render submit btn', async () => {
+ MockDate.set(new Date('2024-12-18T00:00:00Z').getTime());
submitFn.mockImplementation(() => new Promise(() => 1));
const { baseElement } = customRender({
open: true
@@ -120,6 +118,7 @@ describe('sqle/Order/AuditDetail/ScheduleTimeModal', () => {
fireEvent.click(submitBtn);
await act(async () => jest.advanceTimersByTime(300));
expect(submitFn).toBeCalled();
- expect(submitFn).toBeCalledWith('2024-01-29T00:00:00+08:00');
+ expect(submitFn).toBeCalledWith('2024-12-29T00:00:00+08:00');
+ MockDate.reset();
});
});
diff --git a/packages/sqle/src/page/ProjectOverview/component/ScanRiskList/__snapshots__/index.test.tsx.snap b/packages/sqle/src/page/ProjectOverview/component/ScanRiskList/__snapshots__/index.test.tsx.snap
index 876efdb6d..0a8e1ea24 100644
--- a/packages/sqle/src/page/ProjectOverview/component/ScanRiskList/__snapshots__/index.test.tsx.snap
+++ b/packages/sqle/src/page/ProjectOverview/component/ScanRiskList/__snapshots__/index.test.tsx.snap
@@ -282,7 +282,7 @@ exports[`page/ProjectOverview/ScanRiskList render scan risk list and check more
-
- 当前版本
- :
- SQLE
- 社区版
-
-
+
+ Free
+
+
-
-
- MySQL插件
-
-
-
+
+
-
+
+
+
-
- SQL快捷审核
-
-
+ 适用于MySQL基础审核场景
+
+
+
-
- 创建工单时支持单数据源审核
-
-
+ class="ant-divider css-dev-only-do-not-override-oz76h1 ant-divider-horizontal"
+ role="separator"
+ />
+
+
-
- 支持库表元数据、MyBatis等扫描任务
-
-
-
-
+
+
+
+ 支持纳管MySQL数据源
+
+
+
+
+
- 单一项目
-
-
-
+
+
- 自定义审批流程模板
-
-
-
-
+
+
+
+ 集成CloudBeaver在线查询
+
+
+
+
+
- 自定义审核规则模板
-
-
-
-
+
+
+
+ 提供专业SQL审核能力
+
+
+
+
+
- 钉钉审批
-
-
-
-
- 邮件、企业微信、飞书推送告警
-
-
-
-
+
+
+
+ 支持多方式采集MySQL数据
+
+
+
+
+
-
-
-
-
- 全量数据库插件
-
-
-
-
- 每种插件15+规则
-
-
-
-
- SQL快捷审核
-
-
-
-
- 创建工单时支持多数据源审核
-
-
-
+
+
+
-
- 白名单审核
-
-
-
+
+
-
+
+
+
-
- 在社区版基础上,支持慢日志扫描
-
-
+ 适用于多种数据源类型体验场景
+
+
+
-
- SQL管控
-
-
+ class="ant-divider css-dev-only-do-not-override-oz76h1 ant-divider-horizontal"
+ role="separator"
+ />
+
+
-
- 多项目
-
-
-
-
+
+
+
+ 支持纳管10多种主流数据源
+
+
+
+
+
- 自定义审批流程模板
-
-
-
+
+
- 自定义审核规则模板
-
-
-
-
+
+
+
+ 集成CloudBeaver在线查询
+
+
+
+
+
- 钉钉、飞书审批
-
-
-
-
+
+
+
+ 提供专业SQL审核能力
+
+
+
+
+
- 在社区版基础上,支持webhook告警
-
-
-
-
+
+
+
+ 支持多方式采集各数据源数据
+
+
+
+
+
-
-
-
-
- 全量数据库插件
-
-
-
-
- 900+规则
-
-
-
-
- SQL快捷审核
-
-
-
+
+
+
+
+
-
+
+
+
-
- 白名单审核
-
-
+ 适用于私有云用户定制场景
+
+
+
-
- SQL下钻分析
-
-
+ class="ant-divider css-dev-only-do-not-override-oz76h1 ant-divider-horizontal"
+ role="separator"
+ />
+
+
-
- 在社区版基础上,支持慢日志扫描
-
-
-
-
+
+
+
+ 支持纳管10多种主流数据源
+
+
+
+
+
- SQL管控
-
-
-
+
+
- 多项目
-
-
-
-
+
+
+
+ 集成CloudBeaver在线查询
+
+
+
+
+
- 自定义审批流程模板
-
-
-
-
+
+
+
+ 提供专业SQL审核能力
+
+
+
+
+
- 自定义审核规则模板
-
-
-
-
+
+
+
+ 支持多方式采集各数据源数据
+
+
+
+
+
- 钉钉、飞书审批
-
-
-
+
+
- 在社区版基础上,支持webhook告警
-
-
-
+
+
@@ -640,6 +1128,25 @@ exports[`sqle/ReportStatistics CE should match snap shot 1`] = `
+
diff --git a/packages/sqle/src/page/Rule/__snapshots__/index.test.tsx.snap b/packages/sqle/src/page/Rule/__snapshots__/index.test.tsx.snap
index a09f68a4d..368022c69 100644
--- a/packages/sqle/src/page/Rule/__snapshots__/index.test.tsx.snap
+++ b/packages/sqle/src/page/Rule/__snapshots__/index.test.tsx.snap
@@ -390,7 +390,7 @@ exports[`sqle/Rule filter list based on project name 1`] = `
{
{
rules={rulesData}
activeDataKeys={rulesData.map((item) => item?.rule_name ?? '')}
onActionHandle={(record, type) => onAction(record, type)}
- pageHeaderHeight={118}
+ pageHeaderHeight={110}
/>
+
+
+
+
+
+
+
+
+ 功能说明
+
+
+ SQL管控为用户提供SQL全生命周期监控,面板将整合所有的业务SQL,用户可以在该面板中查看项目中采集并审核的所有SQL,暴露其中的问题SQL,同时支持用户解决问题SQL。
+
+
+
+ 当前版本
+ :
+ SQLE
+ 社区版
+
+
+
+
+
+
+
+ 社区版
+
+
+
+
+
+
+
+
+
+ MySQL插件
+
+
+
+
+ 100+规则
+
+
+
+
+ SQL快捷审核
+
+
+
+
+ 创建工单时支持单数据源审核
+
+
+
+
+ 支持库表元数据、MyBatis等扫描任务
+
+
+
+
+ 单一项目
+
+
+
+
+ 自定义审批流程模板
+
+
+
+
+ 自定义审核规则模板
+
+
+
+
+ 钉钉审批
+
+
+
+
+ 邮件、企业微信、飞书推送告警
+
+
+
+
+ 免费
+
+
+
+
+
+
+
+
+
+
+
+
+ 企业体验版
+
+
+
+
+
+
+
+
+
+ 全量数据库插件
+
+
+
+
+ 每种插件15+规则
+
+
+
+
+ SQL快捷审核
+
+
+
+
+ 创建工单时支持多数据源审核
+
+
+
+
+ 白名单审核
+
+
+
+
+ SQL下钻分析
+
+
+
+
+ 在社区版基础上,支持慢日志扫描
+
+
+
+
+ SQL管控
+
+
+
+
+ 多项目
+
+
+
+
+ 自定义审批流程模板
+
+
+
+
+ 自定义审核规则模板
+
+
+
+
+ 钉钉、飞书审批
+
+
+
+
+ 在社区版基础上,支持webhook告警
+
+
+
+
+ 免费
+
+
+
+
+
+
+
+
+
+
+
+
+ 企业版
+
+
+
+
+
+
+
+
+
+ 全量数据库插件
+
+
+
+
+ 900+规则
+
+
+
+
+ SQL快捷审核
+
+
+
+
+ 创建工单时支持多数据源审核
+
+
+
+
+ 白名单审核
+
+
+
+
+ SQL下钻分析
+
+
+
+
+ 在社区版基础上,支持慢日志扫描
+
+
+
+
+ SQL管控
+
+
+
+
+ 多项目
+
+
+
+
+ 自定义审批流程模板
+
+
+
+
+ 自定义审核规则模板
+
+
+
+
+ 钉钉、飞书审批
+
+
+
+
+ 在社区版基础上,支持webhook告警
+
+
+
+
+ 付费
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 更多关注
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Action
+ SQLE
+
+
+ SQL管控为企业版功能。如您想使用该功能,可以通过以下链接联系我们。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Action
+ SQLE
+
+
+ 如您想了解更多关于企业版及社区版功能的差异,可参考用户手册
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+ SQL总数
+
+
+
+
+
+ 0
+
+
+ 问题SQL数
+
+
+
+
+
+ 0
+
+
+ 已优化SQL数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+