From 1763525279af39751eccab9d8a45c6354f78a380 Mon Sep 17 00:00:00 2001 From: Liujian <824010343@qq.com> Date: Mon, 12 Aug 2024 21:59:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/packages/businessEntry/src/App.tsx | 6 +- .../src/components/aoplatform/BasicLayout.tsx | 7 +- .../src/components/aoplatform/InsidePage.tsx | 12 +-- .../aoplatform/InsidePageForHub.tsx | 9 ++- .../src/components/aoplatform/Navigation.tsx | 26 +++---- .../components/aoplatform/PageList.module.css | 6 +- .../src/components/aoplatform/PageList.tsx | 6 +- .../SubscribeApprovalModalContent.tsx | 2 +- .../IntelligentPluginList.tsx | 6 +- .../common/src/components/postcat/ApiEdit.tsx | 16 ++-- .../components/postcat/api/Codebox/index.tsx | 8 +- .../api/MoreSetting/components/ParamLimit.tsx | 12 +-- .../common/src/const/approval/const.tsx | 2 +- .../packages/common/src/utils/navigation.tsx | 2 +- frontend/packages/core/src/App.css | 24 +++--- frontend/packages/core/src/App.tsx | 8 +- .../core/src/const/partitions/const.tsx | 1 + .../packages/core/src/const/system/const.tsx | 12 +-- .../packages/core/src/const/team/const.tsx | 4 +- frontend/packages/core/src/const/team/type.ts | 2 +- frontend/packages/core/src/index.css | 39 +++------- .../core/src/pages/approval/ApprovalPage.tsx | 2 +- .../src/pages/logsettings/LogSettings.tsx | 5 +- .../src/pages/member/MemberDropdownModal.tsx | 2 +- .../core/src/pages/member/MemberList.tsx | 77 ++++++++++--------- .../core/src/pages/member/MemberPage.tsx | 16 +++- .../src/pages/member/Modal/EditMember.tsx | 2 +- .../pages/partitions/PartitionInsideCert.tsx | 30 +++++--- .../partitions/PartitionInsideCluster.tsx | 8 +- .../resourcesettings/ResourceSettings.tsx | 2 +- .../core/src/pages/role/RoleConfig.tsx | 7 +- .../packages/core/src/pages/role/RoleList.tsx | 14 ++-- .../pages/serviceCategory/ServiceCategory.tsx | 7 +- .../core/src/pages/system/SystemConfig.tsx | 14 ++-- .../src/pages/system/SystemInsideDocument.tsx | 2 +- .../src/pages/system/SystemInsidePage.tsx | 14 ++-- .../core/src/pages/system/SystemList.tsx | 4 +- .../core/src/pages/system/SystemPage.tsx | 0 .../system/approval/SystemInsideApproval.tsx | 2 +- .../approval/SystemInsideApprovalList.tsx | 2 +- .../system/publish/SystemInsidePublish.tsx | 2 +- .../publish/SystemInsidePublishList.tsx | 1 + .../core/src/pages/team/TeamConfig.tsx | 34 ++++---- .../core/src/pages/team/TeamInsideMember.tsx | 1 + .../core/src/pages/team/TeamInsidePage.tsx | 4 +- .../packages/core/src/pages/team/TeamList.tsx | 11 ++- frontend/packages/market/src/App.tsx | 2 +- frontend/packages/market/src/index.css | 19 ++--- .../src/pages/serviceHub/ApiTestGroup.tsx | 2 +- .../serviceHub/ServiceHubApiDocument.tsx | 2 +- .../src/pages/serviceHub/ServiceHubDetail.tsx | 11 ++- .../src/pages/serviceHub/ServiceHubGroup.tsx | 8 +- .../src/pages/serviceHub/ServiceHubList.tsx | 6 +- .../management/ManagementConfig.tsx | 27 +++---- .../management/ManagementInsidePage.tsx | 10 ++- .../management/ServiceHubManagement.tsx | 26 +++---- 56 files changed, 304 insertions(+), 282 deletions(-) create mode 100644 frontend/packages/core/src/pages/system/SystemPage.tsx diff --git a/frontend/packages/businessEntry/src/App.tsx b/frontend/packages/businessEntry/src/App.tsx index 6296da9..52dac83 100644 --- a/frontend/packages/businessEntry/src/App.tsx +++ b/frontend/packages/businessEntry/src/App.tsx @@ -10,8 +10,8 @@ import ThemeSwitcher from '@common/components/aoplatform/ThemeSwitcher' const antdComponentThemeToken = { token: { // Seed Token,影响范围大 - colorPrimary: '#7371fc', - colorLink:'#7371fc', + colorPrimary: '#3D46F2', + colorLink:'#3D46F2', colorBorder:'#ededed', colorText:'#333', borderRadius: 4, @@ -38,7 +38,7 @@ const antdComponentThemeToken = { optionHoverBg:'#EBEEF2' }, Layout: { - bodyBg: 'linear-gradient(107.97deg, rgba(32,41,117,1) 4.41%,rgba(16,13,27,1) 86.11%);', + bodyBg: '#17163E', headerBg: 'transparent', headerColor: '#333', headerPadding: '10 20px', diff --git a/frontend/packages/common/src/components/aoplatform/BasicLayout.tsx b/frontend/packages/common/src/components/aoplatform/BasicLayout.tsx index 7446e5a..256f4ea 100644 --- a/frontend/packages/common/src/components/aoplatform/BasicLayout.tsx +++ b/frontend/packages/common/src/components/aoplatform/BasicLayout.tsx @@ -21,7 +21,7 @@ import { UserInfoType, UserProfileHandle } from '@common/const/type.ts'; import { useFetch } from '@common/hooks/http.ts'; const themeToken = { - bgLayout:'linear-gradient(107.97deg, rgba(32,41,117,1) 4.41%,rgba(16,13,27,1) 86.11%);', + bgLayout:'#17163E;', header: { heightLayoutHeader:72 }, @@ -164,7 +164,6 @@ const themeToken = { }) } - return(
-
+
diff --git a/frontend/packages/common/src/components/aoplatform/InsidePage.tsx b/frontend/packages/common/src/components/aoplatform/InsidePage.tsx index c2c82a4..94502fa 100644 --- a/frontend/packages/common/src/components/aoplatform/InsidePage.tsx +++ b/frontend/packages/common/src/components/aoplatform/InsidePage.tsx @@ -3,7 +3,7 @@ import { Button, Tag } from "antd" import {useNavigate} from "react-router-dom"; import WithPermission from "@common/components/aoplatform/WithPermission"; import { FC, ReactNode } from "react"; -import { LeftOutlined } from "@ant-design/icons"; +import { ArrowLeftOutlined, LeftOutlined } from "@ant-design/icons"; class InsidePageProps { @@ -28,11 +28,13 @@ const InsidePage:FC = ({showBanner=true,pageTitle,tagList,showB return ( //
- { showBanner &&
- {backUrl &&

返回

} + { showBanner &&
+ {backUrl &&
+ +
}
- {pageTitle} +

{pageTitle}

{tagList && tagList?.length > 0 && tagList?.map((tag)=>{ return ( {tag.label}) })} @@ -41,7 +43,7 @@ const InsidePage:FC = ({showBanner=true,pageTitle,tagList,showB onBtnClick&&onBtnClick() }}>{btnTitle}}
-

+

{description}

} diff --git a/frontend/packages/common/src/components/aoplatform/InsidePageForHub.tsx b/frontend/packages/common/src/components/aoplatform/InsidePageForHub.tsx index 83a5559..833c717 100644 --- a/frontend/packages/common/src/components/aoplatform/InsidePageForHub.tsx +++ b/frontend/packages/common/src/components/aoplatform/InsidePageForHub.tsx @@ -3,6 +3,7 @@ import { Button, Tag } from "antd" import {useNavigate} from "react-router-dom"; import WithPermission from "@common/components/aoplatform/WithPermission"; import { FC, ReactNode } from "react"; +import { ArrowLeftOutlined } from "@ant-design/icons"; class InsidePageProps { @@ -27,10 +28,12 @@ const InsidePageForHub:FC = ({showBanner=true,pageTitle,tagList return (
{ showBanner &&
-

{"< 返回列表"}

+
+ +
- {pageTitle} + {pageTitle} {tagList && tagList?.length > 0 && tagList?.map((tag)=>{ return ( {tag.label}) })} @@ -39,7 +42,7 @@ const InsidePageForHub:FC = ({showBanner=true,pageTitle,tagList onBtnClick&&onBtnClick() }}>{btnTitle}}
-

+

{description}

} diff --git a/frontend/packages/common/src/components/aoplatform/Navigation.tsx b/frontend/packages/common/src/components/aoplatform/Navigation.tsx index 87d2ba6..afd18c5 100644 --- a/frontend/packages/common/src/components/aoplatform/Navigation.tsx +++ b/frontend/packages/common/src/components/aoplatform/Navigation.tsx @@ -27,10 +27,10 @@ export const routerKeyMap = new Map([ export const TOTAL_MENU_ITEMS: MenuProps['items'] = [ getNavItem('工作空间', 'workspace','/tenantManagement',, [ - getNavItem('我的', 'my','/tenantManagement',,[ - getNavItem(应用, 'tenantManagement','/tenantManagement',null,undefined,undefined,''), - getNavItem(服务, 'service','/service',null,undefined,undefined,''), - getNavItem(团队, 'team','/team',null,undefined,undefined,''), + getNavItem('我的', 'my','/tenantManagement',null,[ + getNavItem(应用, 'tenantManagement','/tenantManagement',,undefined,undefined,''), + getNavItem(服务, 'service','/service',,undefined,undefined,''), + getNavItem(团队, 'team','/team',,undefined,undefined,''), ],undefined,''), getNavItem(API 市场, 'serviceHub','/serviceHub',,undefined,undefined,'system.workspace.api_market.view'), ]), @@ -42,18 +42,18 @@ export const TOTAL_MENU_ITEMS: MenuProps['items'] = [ ]):null, getNavItem('系统设置', 'operationCenter','/member',, [ - getNavItem('组织', 'organization','/member',,[ - getNavItem(成员, 'member','/member',null,undefined,undefined,'system.organization.member.view'), - getNavItem(角色, 'role','/role',null,undefined,undefined,'system.organization.role.view'), + getNavItem('组织', 'organization','/member',null,[ + getNavItem(成员, 'member','/member',,undefined,undefined,'system.organization.member.view'), + getNavItem(角色, 'role','/role',,undefined,undefined,'system.organization.role.view'), ],undefined,''), - getNavItem('API 市场', 'serviceHubSetting','/servicecategories',,[ - getNavItem(服务分类管理, 'servicecategories','/servicecategories',null,undefined,undefined,'system.api_market.service_classification.view'), + getNavItem('API 市场', 'serviceHubSetting','/servicecategories',null,[ + getNavItem(服务分类管理, 'servicecategories','/servicecategories',,undefined,undefined,'system.api_market.service_classification.view'), ],undefined,'system.api_market.service_classification.view'), - getNavItem('运维与集成', 'maintenanceCenter','/cluster', , [ - getNavItem(集群, 'cluster','/cluster',null,undefined,undefined,'system.devops.cluster.view'), - getNavItem(证书, 'cert','/cert',null,undefined,undefined,'system.devops.ssl_certificate.view'), - getNavItem(日志, 'logsettings','/logsettings',null,undefined,undefined,'system.devops.log_configuration.view'), + getNavItem('运维与集成', 'maintenanceCenter','/cluster', null, [ + getNavItem(集群, 'cluster','/cluster',,undefined,undefined,'system.devops.cluster.view'), + getNavItem(证书, 'cert','/cert',,undefined,undefined,'system.devops.ssl_certificate.view'), + getNavItem(日志, 'logsettings','/logsettings',,undefined,undefined,'system.devops.log_configuration.view'), APP_MODE === 'pro' ? getNavItem(资源, 'resourcesettings','/resourcesettings',null,undefined,undefined,'system.partition.self.view'):null, APP_MODE === 'pro' ? getNavItem(Open API, 'openapi','/openapi',null,undefined,undefined,'system.openapi.self.view'):null, ]), diff --git a/frontend/packages/common/src/components/aoplatform/PageList.module.css b/frontend/packages/common/src/components/aoplatform/PageList.module.css index ebc2de8..a5b0918 100644 --- a/frontend/packages/common/src/components/aoplatform/PageList.module.css +++ b/frontend/packages/common/src/components/aoplatform/PageList.module.css @@ -19,7 +19,7 @@ .ant-table-pagination.ant-pagination { margin: 1px 10px 0 !important; padding: 10px 0; - box-shadow: 0 -2px 2px -2px var(--border-color); + /* box-shadow: 0 -2px 2px -2px var(--border-color); */ } .ant-table.ant-table-middle{ .ant-table-thead>tr>th, @@ -34,10 +34,6 @@ } - .ant-table-tbody>tr>td, - .ant-table-cell{ - padding:9px 10px 8px; - } .ant-table-thead>tr>th{ color:#666666; font-weight:normal; diff --git a/frontend/packages/common/src/components/aoplatform/PageList.tsx b/frontend/packages/common/src/components/aoplatform/PageList.tsx index 540c9a9..bf06ea5 100644 --- a/frontend/packages/common/src/components/aoplatform/PageList.tsx +++ b/frontend/packages/common/src/components/aoplatform/PageList.tsx @@ -75,9 +75,9 @@ const PageList = >(props: React.PropsWithChild useEffect(() => { const handleResize = () => { - if (parentRef.current) { + if (parentRef.current && !noScroll) { const res = parentRef.current.getBoundingClientRect(); - const height = res.height - ((noTop ? 0 : 52) + 40 + (showPagination && !dragSortKey ? 52 : 0)); // 减去顶部按钮、底部分页、表头高度 + const height = res.height - ((noTop ? 0 : 52) + 40 + (showPagination && !dragSortKey ? 52 : 0) +( besidesTableHeight ?? 0)); // 减去顶部按钮、底部分页、表头高度 setTableWidth(minTableWidth > res.width ? minTableWidth : undefined); height && setTableHeight(minVirtualHeight === undefined ? height : (height > minVirtualHeight ? height : minVirtualHeight)); } @@ -85,7 +85,7 @@ const PageList = >(props: React.PropsWithChild const debouncedHandleResize = debounce(handleResize, 200); - if (!resizeObserverRef.current || noScroll) { + if (!resizeObserverRef.current && !noScroll) { // 创建一个 ResizeObserver 来监听高度变化,只创建一次 resizeObserverRef.current = new ResizeObserver(debouncedHandleResize); // 开始监听 diff --git a/frontend/packages/common/src/components/aoplatform/SubscribeApprovalModalContent.tsx b/frontend/packages/common/src/components/aoplatform/SubscribeApprovalModalContent.tsx index efa25e8..9f99499 100644 --- a/frontend/packages/common/src/components/aoplatform/SubscribeApprovalModalContent.tsx +++ b/frontend/packages/common/src/components/aoplatform/SubscribeApprovalModalContent.tsx @@ -112,7 +112,7 @@ export const SubscribeApprovalModalContent = forwardRef - + label="审核意见" diff --git a/frontend/packages/common/src/components/aoplatform/intelligent-plugin/IntelligentPluginList.tsx b/frontend/packages/common/src/components/aoplatform/intelligent-plugin/IntelligentPluginList.tsx index 9efd309..4a244e0 100644 --- a/frontend/packages/common/src/components/aoplatform/intelligent-plugin/IntelligentPluginList.tsx +++ b/frontend/packages/common/src/components/aoplatform/intelligent-plugin/IntelligentPluginList.tsx @@ -301,8 +301,8 @@ export default function IntelligentPluginList(){ footer:(_, { OkBtn, CancelBtn }) =>{ return ( <> - - + + ); }, @@ -330,7 +330,7 @@ export default function IntelligentPluginList(){ onSearchWordChange={(e)=>{setSearchWord(e.target.value);setTableHttpReload(true);setTableHttpReload(true)}} /> - {setCurDetail(undefined);setDrawerOpen(false)}} onSubmit={()=>drawerFormRef.current?.save()?.then((res)=>{res && manualReloadTable();return res})} submitAccess='system.partition.self.edit'> + {setCurDetail(undefined);setDrawerOpen(false)}} onSubmit={()=>drawerFormRef.current?.save()?.then((res)=>{res && manualReloadTable();return res})} submitAccess=''> } spinning={drawerLoading}> { > {extraContent} - + 格式化 - + 复制 - + 搜索 - {!readOnly && + {!readOnly && 替代 } diff --git a/frontend/packages/common/src/components/postcat/api/MoreSetting/components/ParamLimit.tsx b/frontend/packages/common/src/components/postcat/api/MoreSetting/components/ParamLimit.tsx index 3152e37..f6fb512 100644 --- a/frontend/packages/common/src/components/postcat/api/MoreSetting/components/ParamLimit.tsx +++ b/frontend/packages/common/src/components/postcat/api/MoreSetting/components/ParamLimit.tsx @@ -64,13 +64,13 @@ export function ParamLimit({ min, max, onChange, minLabel = 'Minimum', maxLabel border: '1px solid #EDEDED' }, '& .Mui-focused .MuiOutlinedInput-notchedOutline':{ - border:'1px solid #7371fc' + border:'1px solid #3D46F2' }, '& .MuiInputLabel-root.Mui-focused':{ - color:'#7371fc' + color:'#3D46F2' }, '& .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline':{ - borderColor:'#7371fc' + borderColor:'#3D46F2' } }} value={minValue} @@ -90,13 +90,13 @@ export function ParamLimit({ min, max, onChange, minLabel = 'Minimum', maxLabel border: '1px solid #EDEDED' }, '& .Mui-focused .MuiOutlinedInput-notchedOutline':{ - border:'1px solid #7371fc' + border:'1px solid #3D46F2' }, '& .MuiInputLabel-root.Mui-focused':{ - color:'#7371fc' + color:'#3D46F2' }, '& .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline':{ - borderColor:'#7371fc' + borderColor:'#3D46F2' } }} onChange={handleMaxChange} diff --git a/frontend/packages/common/src/const/approval/const.tsx b/frontend/packages/common/src/const/approval/const.tsx index 26d411f..fe7181b 100644 --- a/frontend/packages/common/src/const/approval/const.tsx +++ b/frontend/packages/common/src/const/approval/const.tsx @@ -208,7 +208,7 @@ export const PublishTableStatusColorClass = { 'fail' : 'text-[#ff3b30]', 'apply' : 'text-[#46BE11]', 'refuse' : 'text-[#EF0020]', - 'running' : 'text-[#7371FC]', + 'running' : 'text-[#3D46F2]', 'accept' : 'text-[#147AFE]', 'none' : 'text-[var(--MAIN_TEXT)]', 'approval' : 'text-[#03a9f4]', diff --git a/frontend/packages/common/src/utils/navigation.tsx b/frontend/packages/common/src/utils/navigation.tsx index ce5c23c..3b96d42 100644 --- a/frontend/packages/common/src/utils/navigation.tsx +++ b/frontend/packages/common/src/utils/navigation.tsx @@ -12,7 +12,7 @@ export function getNavItem( ): MenuItem { return { key, - icon :icon ?? , + icon :icon , path, routes:children, name:label, diff --git a/frontend/packages/core/src/App.css b/frontend/packages/core/src/App.css index 2ee69fa..583b5ad 100644 --- a/frontend/packages/core/src/App.css +++ b/frontend/packages/core/src/App.css @@ -80,9 +80,10 @@ .apipark-layout-layout{ .apipark-layout-layout-bg-list{ - background:linear-gradient(107.97deg, rgba(32,41,117,1) 4.41%,rgba(16,13,27,1) 86.11%); + background:#17163E; } .ant-layout-header.apipark-layout-layout-header{ + backdrop-filter: unset !important; height:var(--layout-header-height); line-height: var(--layout-header-height); background-color: transparent; @@ -104,8 +105,7 @@ .ant-menu { .ant-menu-item-group-title{ - font-size:14px; - font-weight: bold; + font-size:12px; padding:12px 16px; } @@ -121,10 +121,10 @@ ul.ant-menu.ant-menu-root.ant-menu-inline, ul.ant-menu.ant-menu-root.ant-menu-vertical{ > li { - border-radius: 10px; color:rgb(255 255 255 / 70%) !important; + /* border-radius: 10px; background-color: rgba(255,255,255,0.1) !important; - border: 1px solid rgba(255,255,255,0.15); + border: 1px solid rgba(255,255,255,0.15); */ } > li.ant-menu-item-active { color:#fff !important; @@ -142,9 +142,9 @@ > li:active{ background-color: transparent; } - > li.ant-menu-item-active { + /* > li.ant-menu-item-active { color:#fff !important; - } + } */ > li.ant-menu-item-selected { background-color: #fff !important; border: 1px solid #fff !important; @@ -157,7 +157,7 @@ } } .apipark-layout-drawer-sider{ - background:linear-gradient(107.97deg, rgba(32,41,117,1) 4.41%,rgba(16,13,27,1) 86.11%); + background:#17163E; padding-top:20px; .ant-layout-sider.apipark-layout-sider{ height: 100% !important; @@ -183,7 +183,7 @@ } .ant-menu-item-divider.apipark-layout-base-menu-inline-divider{ - border:none !important; + border-color: rgb(255 255 255 / 15%) !important; } } @@ -206,4 +206,10 @@ a{ display: inline-flex; align-items:center; } +} + +.eo_page_list .ant-pro-table{ + overflow: hidden; + border-radius: 10px; + border:1px solid var(--table-border-color) !important; } \ No newline at end of file diff --git a/frontend/packages/core/src/App.tsx b/frontend/packages/core/src/App.tsx index d8125cf..9353440 100644 --- a/frontend/packages/core/src/App.tsx +++ b/frontend/packages/core/src/App.tsx @@ -10,8 +10,8 @@ import useInitializeMonaco from "@common/hooks/useInitializeMonaco"; const antdComponentThemeToken = { token: { // Seed Token,影响范围大 - colorPrimary: '#7371fc', - colorLink:'#7371fc', + colorPrimary: '#3D46F2', + colorLink:'#3D46F2', colorBorder:'#ededed', colorText:'#333', borderRadius: 4, @@ -55,7 +55,7 @@ const antdComponentThemeToken = { headerBorderRadius:0, headerSplitColor:'#ededed', borderColor:'#ededed', - cellPaddingBlockMD:'10px', + cellPaddingBlockMD:'15px', cellPaddingInlineMD:'12px', cellPaddingBlockSM:'8px', cellPaddingInlineSM:'12px', @@ -63,7 +63,7 @@ const antdComponentThemeToken = { headerSortActiveBg:'#F7F8FA', headerSortHoverBg:'#F7F8FA', fixedHeaderSortActiveBg:'#F7F8FA', - headerBg:'#F7F8FA', + headerBg:'#FAFAFA', rowHoverBg:'#EBEEF2' }, diff --git a/frontend/packages/core/src/const/partitions/const.tsx b/frontend/packages/core/src/const/partitions/const.tsx index 599da8c..dae636d 100644 --- a/frontend/packages/core/src/const/partitions/const.tsx +++ b/frontend/packages/core/src/const/partitions/const.tsx @@ -30,6 +30,7 @@ export const PARTITION_CERT_TABLE_COLUMNS: ProColumns { return `${entity.notBefore} - ${entity.notAfter}` }, diff --git a/frontend/packages/core/src/const/system/const.tsx b/frontend/packages/core/src/const/system/const.tsx index d497092..0054011 100644 --- a/frontend/packages/core/src/const/system/const.tsx +++ b/frontend/packages/core/src/const/system/const.tsx @@ -106,14 +106,6 @@ export const SYSTEM_TABLE_COLUMNS: ProColumns[] = [ return a.apiNum - b.apiNum }, }, - { - title: '服务数量', - dataIndex: 'serviceNum', - ellipsis:true, - sorter: (a,b)=> { - return a.serviceNum - b.serviceNum - }, - }, { title: '描述', dataIndex: 'description', @@ -885,7 +877,7 @@ export const SYSTEM_TOPOLOGY_NODE_TYPE_COLOR_MAP = { name:'调用系统名称' }, subscriberService:{ - stroke:'#7371FC', + stroke:'#3D46F2', fill: '#7371FC33', name:'调用服务名称' }, @@ -895,7 +887,7 @@ export const SYSTEM_TOPOLOGY_NODE_TYPE_COLOR_MAP = { name:'当前系统名称' }, invokeService:{ - stroke:'#7371FC', + stroke:'#3D46F2', fill: '#7371FC33', name:'被调用服务名称' }, diff --git a/frontend/packages/core/src/const/team/const.tsx b/frontend/packages/core/src/const/team/const.tsx index 38d980e..294ed9e 100644 --- a/frontend/packages/core/src/const/team/const.tsx +++ b/frontend/packages/core/src/const/team/const.tsx @@ -35,10 +35,10 @@ export const TEAM_TABLE_COLUMNS: ProColumns[] = [ }, { title: '服务数量', - dataIndex: 'systemNum', + dataIndex: 'serviceNum', ellipsis:true, sorter: (a,b)=> { - return a.systemNum - b.systemNum + return a.serviceNum - b.serviceNum }, }, { diff --git a/frontend/packages/core/src/const/team/type.ts b/frontend/packages/core/src/const/team/type.ts index cf92db9..e5dd334 100644 --- a/frontend/packages/core/src/const/team/type.ts +++ b/frontend/packages/core/src/const/team/type.ts @@ -5,7 +5,7 @@ export type TeamTableListItem = { id:string; name: string; description:string; - systemNum:number; + serviceNum:number; creator:EntityItem; createTime:string; canDelete:boolean diff --git a/frontend/packages/core/src/index.css b/frontend/packages/core/src/index.css index bd5df4b..baf2543 100644 --- a/frontend/packages/core/src/index.css +++ b/frontend/packages/core/src/index.css @@ -79,7 +79,7 @@ --border-color: #ededed; --TITLE_TEXT: #666666; - --primary-color: #7371fc; + --primary-color: #3D46F2; --LABEL_COLOR: #5a5a5a; --scrollbar-thumb-background-color: #EBEEF2; --bar-background-color: #f7f8fa; @@ -128,7 +128,7 @@ --button-danger-active-background-color: #fff; --button-danger-shadow-color: var(--button-shadow-color); --tabs-badge-color: var(--primary-color); - --tabs-active-badge-color: #7371fc; + --tabs-active-badge-color: #3D46F2; --tabs-background-color: var(--background-color); --tabs-text-color: var(--text-color); --tabs-active-color: var(--primary-color); @@ -791,7 +791,7 @@ p{ .ant-table-pagination.ant-pagination { margin: 1px 10px 0 !important; padding: 10px 0; - box-shadow: 0 -2px 2px -2px var(--border-color); + /* box-shadow: 0 -2px 2px -2px var(--border-color); */ } .ant-table.ant-table-middle{ .ant-table-thead>tr>th, @@ -799,27 +799,13 @@ p{ border-top:1px solid var(--border-color); border-bottom:1px solid var(--border-color); } - .ant-table-footer,.ant-table-cell, - .ant-table-thead>tr>th, - .ant-table-tbody>tr>th{ - padding:8px 12px; - } - .ant-table-tbody>tr>td, - .ant-table-cell{ - padding:9px 12px 8px; - } .ant-table-thead>tr>th{ color:#666666; - font-weight:normal; } } - .ant-table.ant-table-middle tfoot>tr>th, - .ant-table.ant-table-middle tfoot>tr>td{ - padding:8px 10px; - } } /* .ant-tree .ant-tree-treenode{ @@ -850,7 +836,7 @@ p{ } } -.ant-dropdown .ant-dropdown-menu{ +/* .ant-dropdown .ant-dropdown-menu{ border-radius: 10px; padding: 10px; li.ant-dropdown-menu-item{ @@ -861,10 +847,9 @@ p{ height:32px !important; } >span.ant-dropdown-menu-title-content{ - width:100%; padding:0px !important; min-width: 80px; - /* padding:0px 12px !important; */ + /* padding:0px 12px !important; height:32px !important; line-height: 32px !important; .ant-btn{ @@ -877,7 +862,7 @@ p{ } } -} +} */ .ant-dropdown-button{ .ant-btn-link{ color:var(--text-color) !important; @@ -1016,7 +1001,7 @@ p{ .ant-input-number.ant-input-number-in-form-item{ width:100% !important; } - background-color: #fafafa; + background-color: #fcfcfc; padding: 10px; border-radius: 10px; border: 1px solid #f2f2f2; @@ -1058,9 +1043,6 @@ p{ justify-content:center; } -.ant-table-wrapper .ant-table-thead >tr>th{ - font-weight: normal !important; -} .ant-table-wrapper .ant-table{ scrollbar-color: none !important; } @@ -1072,7 +1054,6 @@ p{ .transfer-table-api{ .ant-table-wrapper .ant-table-thead >tr>th, .ant-table-wrapper .ant-table-thead >tr>td{ - font-weight: normal; background-color: var(--MAIN_BG); border:none; } @@ -1167,7 +1148,7 @@ p{ .ant-drawer .ant-drawer-mask, .ant-modal-root .ant-modal-mask{ background-attachment: var(--modal-mask-background-color); - backdrop-filter: blur(2px); + /* backdrop-filter: blur(2px); */ } .ant-btn{ @@ -1214,7 +1195,7 @@ p{ font-weight: bold; } -.eo_page_list.role_table .ant-pro-table-list-toolbar-container{ +/* .eo_page_list.role_table .ant-pro-table-list-toolbar-container{ padding-left:0 !important; padding-right:0 !important; -} \ No newline at end of file +} */ \ No newline at end of file diff --git a/frontend/packages/core/src/pages/approval/ApprovalPage.tsx b/frontend/packages/core/src/pages/approval/ApprovalPage.tsx index 460c8d2..0e619bd 100644 --- a/frontend/packages/core/src/pages/approval/ApprovalPage.tsx +++ b/frontend/packages/core/src/pages/approval/ApprovalPage.tsx @@ -55,7 +55,7 @@ export default function ApprovalPage(){ {
-
+
diff --git a/frontend/packages/core/src/pages/member/MemberDropdownModal.tsx b/frontend/packages/core/src/pages/member/MemberDropdownModal.tsx index e8f28e2..2c72941 100644 --- a/frontend/packages/core/src/pages/member/MemberDropdownModal.tsx +++ b/frontend/packages/core/src/pages/member/MemberDropdownModal.tsx @@ -160,7 +160,7 @@ export const MemberDropdownModal = forwardRef label="邮箱" name="email" - rules={[{required: true, message: '必填项',whitespace:true },{type:"email"}]} + rules={[{required: true, message: '必填项',whitespace:true },{type:"email",message: '不是有效邮箱地址'}]} > diff --git a/frontend/packages/core/src/pages/member/MemberList.tsx b/frontend/packages/core/src/pages/member/MemberList.tsx index 369017c..93adb4a 100644 --- a/frontend/packages/core/src/pages/member/MemberList.tsx +++ b/frontend/packages/core/src/pages/member/MemberList.tsx @@ -374,43 +374,46 @@ const MemberList = ()=>{ }) } - return ( getMemberList()} - addNewBtnTitle={(!memberGroupId ||['unknown','disable'].indexOf(memberGroupId?.toString()) === -1)?"添加账号" : ""} - searchPlaceholder="输入用户名、邮箱查找成员" - onAddNewBtnClick={() => { - openModal('addMember') - }} - addNewBtnAccess="system.organization.member.add" - rowSelection={{ - // selections: [Table.SELECTION_ALL, Table.SELECTION_INVERT], - selectedRowKeys, - columnWidth: 40, - onChange:handleSelectChange, - getCheckboxProps: (record: MemberTableListItem) => ({ - disabled: record.id === 'admin', // Column configuration not to be checked - name: record.name, - }), - }} - onRowClick={handleRowClick} - tableClickAccess="system.organization.member.edit" - afterNewBtn={[ - memberGroupId &&, - memberGroupId &&, - memberGroupId !== 'disable' &&, - , - , - ]} - onSearchWordChange={(e) => { - setSearchWord(e.target.value) - }} - onChange={() => { - setTableHttpReload(false) - }} - />) + return ( + <> + getMemberList()} + addNewBtnTitle={(!memberGroupId ||['unknown','disable'].indexOf(memberGroupId?.toString()) === -1)?"添加账号" : ""} + searchPlaceholder="输入用户名、邮箱查找成员" + onAddNewBtnClick={() => { + openModal('addMember') + }} + addNewBtnAccess="system.organization.member.add" + rowSelection={{ + // selections: [Table.SELECTION_ALL, Table.SELECTION_INVERT], + selectedRowKeys, + columnWidth: 40, + onChange:handleSelectChange, + getCheckboxProps: (record: MemberTableListItem) => ({ + disabled: record.id === 'admin', // Column configuration not to be checked + name: record.name, + }), + }} + onRowClick={handleRowClick} + tableClickAccess="system.organization.member.edit" + afterNewBtn={[ + memberGroupId &&, + memberGroupId &&, + memberGroupId !== 'disable' &&, + , + , + ]} + onSearchWordChange={(e) => { + setSearchWord(e.target.value) + }} + onChange={() => { + setTableHttpReload(false) + }} + /> + ) } export default MemberList; \ No newline at end of file diff --git a/frontend/packages/core/src/pages/member/MemberPage.tsx b/frontend/packages/core/src/pages/member/MemberPage.tsx index 0080f47..fb26cd8 100644 --- a/frontend/packages/core/src/pages/member/MemberPage.tsx +++ b/frontend/packages/core/src/pages/member/MemberPage.tsx @@ -2,7 +2,7 @@ import Tree, {DataNode} from "antd/es/tree"; import {Outlet, useNavigate, useParams } from "react-router-dom"; import {Key, useEffect, useMemo, useRef, useState} from "react"; -import {App, Button, Input } from "antd"; +import {App, Button, Divider, Input } from "antd"; import {debounce} from "lodash-es"; import {DownOutlined, SearchOutlined} from "@ant-design/icons"; import TreeWithMore from "@common/components/aoplatform/TreeWithMore.tsx"; @@ -244,8 +244,15 @@ const MemberPage = ()=>{ },[memberGroupId]) return ( -
-
+ +
+
+

成员

+

设置成员和对应的角色,成员只能够看到权限范围内的功能和数据。

+
+ +
+
debounce(onSearchWordChange, 100)(e.target.value)} allowClear placeholder="搜索部门" @@ -283,9 +290,10 @@ const MemberPage = ()=>{
-
+
getDepartmentList()}}/>
+
); } export default MemberPage; \ No newline at end of file diff --git a/frontend/packages/core/src/pages/member/Modal/EditMember.tsx b/frontend/packages/core/src/pages/member/Modal/EditMember.tsx index 7cbc80b..ffa6cd8 100644 --- a/frontend/packages/core/src/pages/member/Modal/EditMember.tsx +++ b/frontend/packages/core/src/pages/member/Modal/EditMember.tsx @@ -89,7 +89,7 @@ export const EditMemberModal = forwardRef label="邮箱" name="email" - rules={[{required: true, message: '必填项',whitespace:true },{type:"email"}]} + rules={[{required: true, message: '必填项',whitespace:true },{type:"email",message: '不是有效邮箱地址'}]} > diff --git a/frontend/packages/core/src/pages/partitions/PartitionInsideCert.tsx b/frontend/packages/core/src/pages/partitions/PartitionInsideCert.tsx index 89611d7..1769338 100644 --- a/frontend/packages/core/src/pages/partitions/PartitionInsideCert.tsx +++ b/frontend/packages/core/src/pages/partitions/PartitionInsideCert.tsx @@ -282,18 +282,24 @@ const PartitionInsideCert:FC = ()=>{ },[memberValueEnum]) return ( - getPartitionCertList()} - showPagination={false} - addNewBtnTitle="添加证书" - addNewBtnAccess="system.devops.ssl_certificate.add" - onAddNewBtnClick={()=>{openModal('add')}} - onRowClick={(row:PartitionCertTableListItem)=>openModal('edit',row)} - tableClickAccess="system.devops.ssl_certificate.edit" - /> +
+
+

证书

+

通过为 API 服务配置和管理 SSL 证书,企业可以加密数据传输,防止敏感信息被窃取或篡改。

+
+ getPartitionCertList()} + showPagination={false} + addNewBtnTitle="添加证书" + addNewBtnAccess="system.devops.ssl_certificate.add" + onAddNewBtnClick={()=>{openModal('add')}} + onRowClick={(row:PartitionCertTableListItem)=>openModal('edit',row)} + tableClickAccess="system.devops.ssl_certificate.edit" + /> +
) } diff --git a/frontend/packages/core/src/pages/partitions/PartitionInsideCluster.tsx b/frontend/packages/core/src/pages/partitions/PartitionInsideCluster.tsx index f4b481c..a41aa03 100644 --- a/frontend/packages/core/src/pages/partitions/PartitionInsideCluster.tsx +++ b/frontend/packages/core/src/pages/partitions/PartitionInsideCluster.tsx @@ -79,7 +79,13 @@ const PartitionInsideCluster:FC = ()=> { return ( <> -
+
+ +
+

集群

+

设置访问 API 的集群,让 API 在分布式环境中稳定运行,并且能够根据业务需求进行灵活扩展和优化。

+
+
} spinning={loading}>
diff --git a/frontend/packages/core/src/pages/resourcesettings/ResourceSettings.tsx b/frontend/packages/core/src/pages/resourcesettings/ResourceSettings.tsx index 8a5706e..209832f 100644 --- a/frontend/packages/core/src/pages/resourcesettings/ResourceSettings.tsx +++ b/frontend/packages/core/src/pages/resourcesettings/ResourceSettings.tsx @@ -66,7 +66,7 @@ const LogSettings = ()=>{ className="h-full overflow-y-auto" selectedKeys={[activeMenu || '']} onClick={onMenuClick} - style={{ width: 182 }} + style={{ width: 220 }} mode="inline" items={menuItems} /> diff --git a/frontend/packages/core/src/pages/role/RoleConfig.tsx b/frontend/packages/core/src/pages/role/RoleConfig.tsx index 8896dad..21aab98 100644 --- a/frontend/packages/core/src/pages/role/RoleConfig.tsx +++ b/frontend/packages/core/src/pages/role/RoleConfig.tsx @@ -5,7 +5,7 @@ import {BasicResponse, STATUS_CODE} from "@common/const/const.ts"; import WithPermission from "@common/components/aoplatform/WithPermission.tsx"; import { useNavigate, useParams } from "react-router-dom"; import { RouterParams } from "@core/components/aoplatform/RenderRoutes.tsx"; -import { LeftOutlined } from "@ant-design/icons"; +import { ArrowLeftOutlined, LeftOutlined } from "@ant-design/icons"; type PermissionItem = { name:string @@ -164,7 +164,6 @@ const RoleConfig = ()=>{ fetchData>(`${roleType}/role`,{method:'GET',eoParams:{role:roleId}}).then(response=>{ const {code,data,msg} = response if(code === STATUS_CODE.SUCCESS){ - message.success(msg || '操作成功!') form.setFieldsValue({name:data.role.name,permits:data.role.permit}) return Promise.resolve(true) }else{ @@ -198,7 +197,9 @@ const RoleConfig = ()=>{ }; return (
- navigateTo(-1)}> 返回 +
+ +
{ }, []); return (<> -
-

系统级别角色

+
+
+

角色

+

设置角色的权限范围。

+
+

系统级别角色

[], ...operation('system')]} request={()=>getRoleList('system')} @@ -134,11 +138,11 @@ const RoleList = ()=>{ onRowClick={(row:RoleTableListItem)=> navigateTo(`/role/system/config/${row.id}`)} tableClickAccess="system.organization.role.system.edit" /> -

团队级别角色

+

团队级别角色

[], ...operation('team')]} request={()=>getRoleList('team')} showPagination={false} diff --git a/frontend/packages/core/src/pages/serviceCategory/ServiceCategory.tsx b/frontend/packages/core/src/pages/serviceCategory/ServiceCategory.tsx index 627c4ec..60449f2 100644 --- a/frontend/packages/core/src/pages/serviceCategory/ServiceCategory.tsx +++ b/frontend/packages/core/src/pages/serviceCategory/ServiceCategory.tsx @@ -246,9 +246,10 @@ export default function ServiceCategory(){ },[]) return ( -
-
- 服务分类管理 +
+
+

服务分类管理

+

设置服务可选择的分类,方便团队成员快速找到API。

} spinning={loading} className=''> diff --git a/frontend/packages/core/src/pages/system/SystemConfig.tsx b/frontend/packages/core/src/pages/system/SystemConfig.tsx index 07c3dfd..af58818 100644 --- a/frontend/packages/core/src/pages/system/SystemConfig.tsx +++ b/frontend/packages/core/src/pages/system/SystemConfig.tsx @@ -6,7 +6,7 @@ import {RouterParams} from "@core/components/aoplatform/RenderRoutes.tsx"; import {BasicResponse, STATUS_CODE} from "@common/const/const.ts"; import {useFetch} from "@common/hooks/http.ts"; import {DefaultOptionType} from "antd/es/cascader"; -import { MemberItem, SimpleTeamItem} from "@common/const/type.ts"; +import { EntityItem, MemberItem, SimpleTeamItem} from "@common/const/type.ts"; import { v4 as uuidv4 } from 'uuid' import { SystemConfigFieldType, SystemConfigHandle } from "../../const/system/type.ts"; import { validateUrlSlash } from "@common/utils/validate.ts"; @@ -117,6 +117,7 @@ const SystemConfig = forwardRef((_,ref) => { ...data.service, team:data.service.team.id, catalogue:data.service.catalogue?.id, + tags:data.service.tags?.map((x:EntityItem)=>x.id), logoFile:[ { uid: '-1', // 文件唯一标识 @@ -244,7 +245,7 @@ const SystemConfig = forwardRef((_,ref) => { labelAlign='left' scrollToFirstError form={form} - className="mx-auto flex flex-col justify-between h-full" + className="mx-auto pb-[20px] " name="systemConfig" onFinish={onFinish} autoComplete="off" @@ -375,12 +376,11 @@ const SystemConfig = forwardRef((_,ref) => { }
{onEdit && <> -
- -

删除服务之后将无法找回,请谨慎操作!

-
+
+

删除服务:删除操作不可恢复,请谨慎操作!

+
- +
diff --git a/frontend/packages/core/src/pages/system/SystemInsideDocument.tsx b/frontend/packages/core/src/pages/system/SystemInsideDocument.tsx index 35b5a4f..83c34a6 100644 --- a/frontend/packages/core/src/pages/system/SystemInsideDocument.tsx +++ b/frontend/packages/core/src/pages/system/SystemInsideDocument.tsx @@ -67,7 +67,7 @@ const ServiceInsideDocument = ()=>{ }, []); return ( -
+
{ } const filteredMenu = filterMenu(SYSTEM_PAGE_MENU_ITEMS as MenuItemGroupType[]) setActiveMenu((pre)=>{ - if(!pre){ - const activeMenu = filteredMenu?.[0]?.children?.[0]?.key as string - return activeMenu - } - return pre + return pre ?? 'api' }) return filteredMenu || [] },[accessData]) @@ -80,13 +76,15 @@ const SystemInsidePage:FC = ()=> { }; useEffect(() => { + console.log(apiId, serviceId, currentUrl) if(apiId !== undefined){ setActiveMenu('api') }else if(serviceId !== currentUrl.split('/')[currentUrl.split('/').length - 1]){ setActiveMenu(currentUrl.split('/')[currentUrl.split('/').length - 1]) }else{ - setActiveMenu('upstream') + setActiveMenu('api') } + console.log(activeMenu) }, [currentUrl]); useEffect(()=>{ @@ -116,12 +114,12 @@ const SystemInsidePage:FC = ()=> { [] } /> -
+
diff --git a/frontend/packages/core/src/pages/system/SystemList.tsx b/frontend/packages/core/src/pages/system/SystemList.tsx index 0878af6..52c62fc 100644 --- a/frontend/packages/core/src/pages/system/SystemList.tsx +++ b/frontend/packages/core/src/pages/system/SystemList.tsx @@ -1,9 +1,8 @@ import PageList from "@common/components/aoplatform/PageList.tsx" import {ActionType} from "@ant-design/pro-components"; import {FC, useEffect, useMemo, useRef, useState} from "react"; -import {useNavigate, useParams} from "react-router-dom"; +import {useNavigate} from "react-router-dom"; import { App} from "antd"; -import {RouterParams} from "@core/components/aoplatform/RenderRoutes.tsx"; import {useBreadcrumb} from "@common/contexts/BreadcrumbContext.tsx"; import {BasicResponse, STATUS_CODE} from "@common/const/const.ts"; import {useFetch} from "@common/hooks/http.ts"; @@ -125,6 +124,7 @@ const SystemList:FC = ()=>{ return ( //
+ { return ( <> - + ) diff --git a/frontend/packages/core/src/pages/system/approval/SystemInsideApprovalList.tsx b/frontend/packages/core/src/pages/system/approval/SystemInsideApprovalList.tsx index 70e9a34..17118d8 100644 --- a/frontend/packages/core/src/pages/system/approval/SystemInsideApprovalList.tsx +++ b/frontend/packages/core/src/pages/system/approval/SystemInsideApprovalList.tsx @@ -171,7 +171,7 @@ const SystemInsideApprovalList:FC = ()=>{ },[pageStatus,memberValueEnum]) return ( -
+
{ return ( <> - + ) diff --git a/frontend/packages/core/src/pages/system/publish/SystemInsidePublishList.tsx b/frontend/packages/core/src/pages/system/publish/SystemInsidePublishList.tsx index b1b75da..178c47b 100644 --- a/frontend/packages/core/src/pages/system/publish/SystemInsidePublishList.tsx +++ b/frontend/packages/core/src/pages/system/publish/SystemInsidePublishList.tsx @@ -444,6 +444,7 @@ const SystemInsidePublicList:FC = ()=>{ onChange={() => { setTableHttpReload(false) }} + besidesTableHeight={58} onRowClick={(row:PublishTableListItem|PublishVersionTableListItem)=>openDrawer('view',row)} tableClickAccess="team.service.release.view" /> diff --git a/frontend/packages/core/src/pages/team/TeamConfig.tsx b/frontend/packages/core/src/pages/team/TeamConfig.tsx index 0f10da3..d98c459 100644 --- a/frontend/packages/core/src/pages/team/TeamConfig.tsx +++ b/frontend/packages/core/src/pages/team/TeamConfig.tsx @@ -1,6 +1,6 @@ import { forwardRef, useEffect, useImperativeHandle, useState} from "react"; import {App, Button, Divider, Form, Input, Row, Select} from "antd"; -import {Link, useLocation, useParams} from "react-router-dom"; +import {Link, useLocation, useNavigate, useParams} from "react-router-dom"; import {RouterParams} from "@core/components/aoplatform/RenderRoutes.tsx"; import { v4 as uuidv4 } from 'uuid' import {BasicResponse, STATUS_CODE} from "@common/const/const.ts"; @@ -36,6 +36,7 @@ const TeamConfig= forwardRef((props,ref) => { const {checkPermission} = useGlobalContext() const pageType= checkPermission('system.organization.team.view') ? 'manage' : 'myteam' const [canDelete, setCanDelete] = useState(false) + const navigateTo = useNavigate() useImperativeHandle(ref, () => ({ save:onFinish })); @@ -91,12 +92,14 @@ const TeamConfig= forwardRef((props,ref) => { }) } - const deleteTeam = (entity:TeamConfigFieldType)=>{ + const deleteTeam = ()=>{ return new Promise((resolve, reject)=>{ - fetchData>(`manager/team`,{method:'DELETE',eoParams:{id:entity.id}}).then(response=>{ + fetchData>(`manager/team`,{method:'DELETE',eoParams:{id:form.getFieldValue('id')}}).then(response=>{ const {code,msg} = response if(code === STATUS_CODE.SUCCESS){ message.success(msg || '操作成功!') + navigateTo('/team/list') + resolve(true) }else{ message.error(msg || '操作失败') @@ -128,14 +131,14 @@ const TeamConfig= forwardRef((props,ref) => { return ( <> -
+
((props,ref) => { } {onEdit && -
- -

删除团队:删除操作不可恢复,请谨慎操作!

-
- + <> +
+

删除团队:删除操作不可恢复,请谨慎操作!

+
+ + + +
-
+ } diff --git a/frontend/packages/core/src/pages/team/TeamInsideMember.tsx b/frontend/packages/core/src/pages/team/TeamInsideMember.tsx index c6d77dc..8addf36 100644 --- a/frontend/packages/core/src/pages/team/TeamInsideMember.tsx +++ b/frontend/packages/core/src/pages/team/TeamInsideMember.tsx @@ -288,6 +288,7 @@ const TeamInsideMember:FC = ()=>{ request={()=>getMemberList()} primaryKey="user.id" addNewBtnTitle="添加成员" + className="ml-[20px] mt-[20px]" searchPlaceholder="输入姓名查找" onAddNewBtnClick={()=>{openModal('add')}} addNewBtnAccess="team.team.member.add" diff --git a/frontend/packages/core/src/pages/team/TeamInsidePage.tsx b/frontend/packages/core/src/pages/team/TeamInsidePage.tsx index d762402..b0b9dee 100644 --- a/frontend/packages/core/src/pages/team/TeamInsidePage.tsx +++ b/frontend/packages/core/src/pages/team/TeamInsidePage.tsx @@ -97,13 +97,13 @@ const TeamInsidePage:FC = ()=> { backUrl="/team/list">
-
+
diff --git a/frontend/packages/core/src/pages/team/TeamList.tsx b/frontend/packages/core/src/pages/team/TeamList.tsx index 7ea2e32..8ec525c 100644 --- a/frontend/packages/core/src/pages/team/TeamList.tsx +++ b/frontend/packages/core/src/pages/team/TeamList.tsx @@ -32,7 +32,7 @@ const TeamList:FC = ()=>{ const [modalType, setModalType] = useState<'add'|'edit'>('add') const getTeamList = ()=>{ - return fetchData>(!checkPermission('system.organization.team.view') ? 'teams':'manager/teams',{method:'GET',eoParams:{keyword:searchWord},eoTransformKeys:['create_time','system_num','can_delete']}).then(response=>{ + return fetchData>(!checkPermission('system.organization.team.view') ? 'teams':'manager/teams',{method:'GET',eoParams:{keyword:searchWord},eoTransformKeys:['create_time','service_num','can_delete']}).then(response=>{ const {code,data,msg} = response if(code === STATUS_CODE.SUCCESS){ return {data:data.teams, success: true} @@ -158,9 +158,14 @@ const TeamList:FC = ()=>{ return ( - <> +
+
+

团队

+

设置团队和成员,然后你可以在团队内创建服务和应用、订阅API,成员只能看到所属团队内的服务和应用。

+
getTeamList()} @@ -198,7 +203,7 @@ const TeamList:FC = ()=>{ > - +
) } diff --git a/frontend/packages/market/src/App.tsx b/frontend/packages/market/src/App.tsx index db55509..7ea7776 100644 --- a/frontend/packages/market/src/App.tsx +++ b/frontend/packages/market/src/App.tsx @@ -10,7 +10,7 @@ import useInitializeMonaco from "@common/hooks/useInitializeMonaco"; const antdComponentThemeToken = { token: { // Seed Token,影响范围大 - colorPrimary: '#7371fc', + colorPrimary: '#3D46F2', colorBorder:'#ededed', colorText:'#333', borderRadius: 4, diff --git a/frontend/packages/market/src/index.css b/frontend/packages/market/src/index.css index f016b0b..f441075 100644 --- a/frontend/packages/market/src/index.css +++ b/frontend/packages/market/src/index.css @@ -79,7 +79,7 @@ --border-color: #ededed; --TITLE_TEXT: #666666; - --primary-color: #7371fc; + --primary-color: #3D46F2; --LABEL_COLOR: #5a5a5a; --scrollbar-thumb-background-color: #EBEEF2; --bar-background-color: #f7f8fa; @@ -128,7 +128,7 @@ --button-danger-active-background-color: #fff; --button-danger-shadow-color: var(--button-shadow-color); --tabs-badge-color: var(--primary-color); - --tabs-active-badge-color: #7371fc; + --tabs-active-badge-color: #3D46F2; --tabs-background-color: var(--background-color); --tabs-text-color: var(--text-color); --tabs-active-color: var(--primary-color); @@ -787,7 +787,7 @@ p{ .ant-table-pagination.ant-pagination { margin: 1px 10px 0 !important; padding: 10px 0; - box-shadow: 0 -2px 2px -2px var(--border-color); + /* box-shadow: 0 -2px 2px -2px var(--border-color); */ } .ant-table.ant-table-middle{ .ant-table-thead>tr>th, @@ -846,7 +846,7 @@ p{ } } -.ant-dropdown .ant-dropdown-menu{ +/* .ant-dropdown .ant-dropdown-menu{ border-radius: 10px; padding: 10px; li.ant-dropdown-menu-item{ @@ -857,10 +857,9 @@ p{ height:32px !important; } >span.ant-dropdown-menu-title-content{ - width:100%; padding:0px !important; min-width: 80px; - /* padding:0px 12px !important; */ + /* padding:0px 12px !important; height:32px !important; line-height: 32px !important; .ant-btn{ @@ -873,7 +872,7 @@ p{ } } -} +} */ .ant-dropdown-button{ .ant-btn-link{ color:var(--text-color) !important; @@ -1050,10 +1049,6 @@ p{ width: 16px !important; justify-content:center; } - -.ant-table-wrapper .ant-table-thead >tr>th{ - font-weight: normal !important; -} .ant-table-wrapper .ant-table{ scrollbar-color: none !important; } @@ -1160,7 +1155,7 @@ p{ .ant-drawer .ant-drawer-mask, .ant-modal-root .ant-modal-mask{ background-attachment: var(--modal-mask-background-color); - backdrop-filter: blur(2px); + /* backdrop-filter: blur(2px); */ } .ant-btn{ diff --git a/frontend/packages/market/src/pages/serviceHub/ApiTestGroup.tsx b/frontend/packages/market/src/pages/serviceHub/ApiTestGroup.tsx index 576daa9..e52acc9 100644 --- a/frontend/packages/market/src/pages/serviceHub/ApiTestGroup.tsx +++ b/frontend/packages/market/src/pages/serviceHub/ApiTestGroup.tsx @@ -60,7 +60,7 @@ export default function ApiTestGroup({apiInfoList,selectedApiId }:ApiTestGroupTy return (
-
+
debounce(onSearchWordChange, 100)(e)} allowClear placeholder="搜索分类或标签" prefix={ { diff --git a/frontend/packages/market/src/pages/serviceHub/ServiceHubApiDocument.tsx b/frontend/packages/market/src/pages/serviceHub/ServiceHubApiDocument.tsx index 0a22b9e..50441c1 100644 --- a/frontend/packages/market/src/pages/serviceHub/ServiceHubApiDocument.tsx +++ b/frontend/packages/market/src/pages/serviceHub/ServiceHubApiDocument.tsx @@ -67,7 +67,7 @@ const ServiceHubApiDocument = ({service}:{service:ServiceDetailType})=>{
*/}
-
+

API 列表

{apiDocs?.map((apiDetail)=>( diff --git a/frontend/packages/market/src/pages/serviceHub/ServiceHubDetail.tsx b/frontend/packages/market/src/pages/serviceHub/ServiceHubDetail.tsx index 2dc09d0..19a2588 100644 --- a/frontend/packages/market/src/pages/serviceHub/ServiceHubDetail.tsx +++ b/frontend/packages/market/src/pages/serviceHub/ServiceHubDetail.tsx @@ -10,7 +10,7 @@ import { ApplyServiceHandle, ServiceBasicInfoType, ServiceDetailType } from "../ import { EntityItem } from "@common/const/type.ts"; import { ApplyServiceModal } from "./ApplyServiceModal.tsx"; import ServiceHubApiDocument from "./ServiceHubApiDocument.tsx"; -import { ApiFilled, LeftOutlined } from "@ant-design/icons"; +import { ApiFilled, ArrowLeftOutlined, LeftOutlined } from "@ant-design/icons"; import { Typography } from 'antd'; import { SimpleSystemItem } from "@core/const/system/type.ts"; import { Icon } from "@iconify/react/dist/iconify.js"; @@ -121,14 +121,17 @@ const ServiceHubDetail = ()=>{
- navigate('/serviceHub/list')}>返回 + +
+ +
{/* {service?.name?.substring(0,1)} */} : undefined} - icon={serviceBasicInfo?.logo ? '' :}> + icon={serviceBasicInfo?.logo ? '' :}>

{serviceName}

@@ -150,7 +153,7 @@ const ServiceHubDetail = ()=>{
- {serviceBasicInfo?.appNum || '-'} + {serviceBasicInfo?.appNum ?? '-'} {serviceBasicInfo?.team?.name || '-'} {serviceBasicInfo?.catalogue?.name || '-'} {serviceBasicInfo?.tags?.map(x=>x.name)?.join(',') || '-'} diff --git a/frontend/packages/market/src/pages/serviceHub/ServiceHubGroup.tsx b/frontend/packages/market/src/pages/serviceHub/ServiceHubGroup.tsx index 0470a13..51ef2df 100644 --- a/frontend/packages/market/src/pages/serviceHub/ServiceHubGroup.tsx +++ b/frontend/packages/market/src/pages/serviceHub/ServiceHubGroup.tsx @@ -34,7 +34,7 @@ export const ServiceHubGroup = ({children,filterOption,dispatch}:ServiceHubGroup const {code,data,msg} = response if(code === STATUS_CODE.SUCCESS){ dispatch({type:SERVICE_HUB_LIST_ACTIONS.GET_CATEGORIES,payload:data.catalogues}) - dispatch({type:SERVICE_HUB_LIST_ACTIONS.GET_TAGS,payload:[...data.tags,{id:'empty',name:'(空标签)'}]}) + dispatch({type:SERVICE_HUB_LIST_ACTIONS.GET_TAGS,payload:[...data.tags,{id:'empty',name:'无标签'}]}) dispatch({type:SERVICE_HUB_LIST_ACTIONS.SET_SELECTED_CATE,payload:[...data.catalogues.map((x:CategorizesType)=>x.id)]}) dispatch({type:SERVICE_HUB_LIST_ACTIONS.SET_SELECTED_TAG,payload:[...data.tags.map((x:TagType)=>x.id),'empty']}) }else{ @@ -71,9 +71,9 @@ export const ServiceHubGroup = ({children,filterOption,dispatch}:ServiceHubGroup return (
-
+
- debounce(onSearchWordChange, 500)(e.target.value)} + debounce(onSearchWordChange, 500)(e.target.value)} allowClear placeholder="搜索服务" prefix={}/>
@@ -108,7 +108,7 @@ export const ServiceHubGroup = ({children,filterOption,dispatch}:ServiceHubGroup
-
+
{children}
); diff --git a/frontend/packages/market/src/pages/serviceHub/ServiceHubList.tsx b/frontend/packages/market/src/pages/serviceHub/ServiceHubList.tsx index 8fe47a5..13ec542 100644 --- a/frontend/packages/market/src/pages/serviceHub/ServiceHubList.tsx +++ b/frontend/packages/market/src/pages/serviceHub/ServiceHubList.tsx @@ -135,7 +135,7 @@ const ServiceHubList:FC = ()=>{
} spinning={filterOption.listLoading}> {filterOption.showServicesList && filterOption.showServicesList.length > 0 ? { @@ -189,10 +189,10 @@ const CardTitle = (service:ServiceHubTableListItem)=>{ {service.catalogue?.name || '-'} - {service.apiNum ?? '-'} + {service.apiNum ?? '-'} - {service.subscriberNum ?? '-'} + {service.subscriberNum ?? '-'}
diff --git a/frontend/packages/market/src/pages/serviceHub/management/ManagementConfig.tsx b/frontend/packages/market/src/pages/serviceHub/management/ManagementConfig.tsx index b1ee7a8..19b7442 100644 --- a/frontend/packages/market/src/pages/serviceHub/management/ManagementConfig.tsx +++ b/frontend/packages/market/src/pages/serviceHub/management/ManagementConfig.tsx @@ -123,7 +123,7 @@ const ManagementConfig = forwardRef }
- - + { type === 'edit' && <> -
- -

删除应用之后将无法找回,请谨慎操作!

-
- - - -
-
- } + +
+

删除应用:删除操作不可恢复,请谨慎操作!

+
+ + + +
+
+ } + + ) }) diff --git a/frontend/packages/market/src/pages/serviceHub/management/ManagementInsidePage.tsx b/frontend/packages/market/src/pages/serviceHub/management/ManagementInsidePage.tsx index 51c868b..05bac89 100644 --- a/frontend/packages/market/src/pages/serviceHub/management/ManagementInsidePage.tsx +++ b/frontend/packages/market/src/pages/serviceHub/management/ManagementInsidePage.tsx @@ -73,20 +73,22 @@ useEffect(()=>{ return (<> } spinning={loading}>
-
-
+
+
+ +
{setOpenKeys(e)}} className="h-[calc(100%-59px)] overflow-auto" - style={{ width: 224, paddingLeft:'8px', paddingRight:'8px' }} + style={{ width: 220}} selectedKeys={[activeMenu!]} mode="inline" items={menuData as unknown as ItemType[] } />
-
+
{}}}>
diff --git a/frontend/packages/market/src/pages/serviceHub/management/ServiceHubManagement.tsx b/frontend/packages/market/src/pages/serviceHub/management/ServiceHubManagement.tsx index 818fbc0..66a1f3d 100644 --- a/frontend/packages/market/src/pages/serviceHub/management/ServiceHubManagement.tsx +++ b/frontend/packages/market/src/pages/serviceHub/management/ServiceHubManagement.tsx @@ -138,18 +138,18 @@ useEffect(() => { return (<>{ teamList && teamList.length > 0 ?
-
-
团队
- -
-
+
+
团队
+ +
+
应用
{

{service.name}

- {(service.subscribeNum + service.subscribeVerifyNum)?? '-'} + {(service.subscribeNum + service.subscribeVerifyNum)?? '-'}