Commit 1dc3420c authored by godkaikai's avatar godkaikai

支持非分离部署与页面优化

parent d8db52d0
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
实时即未来,Dlink 为 Apache Flink 而生,让 Flink SQL 纵享丝滑。 实时即未来,Dlink 为 Apache Flink 而生,让 Flink SQL 纵享丝滑。
Dlink 是一个交互式的 FlinkSQL Studio,可以在线开发、补全、校验 、执行、预览 FlinkSQL,支持 Flink 官方所有语法及其增强语法,并且可以同时对多 Flink 集群实例进行提交、停止、SavePoint 等运维操作,如同您的 IntelliJ IDEA For Flink SQL。 Dlink 是一个专业的 FlinkSQL Studio,可以在线开发、补全、校验 、执行、调试、预览 FlinkSQL,支持 Flink 官方所有语法及其增强语法,并且可以同时对多 Flink 集群实例进行提交、停止、SavePoint 等运维操作,如同您的 IntelliJ IDEA For Flink SQL。
需要注意的是:Dlink 更专注于 FlinkSQL 的应用,而不是 DataStream。在开发过程中您不会看到任何一句 java、scala 或者 python。所以,它的目标是基于 100% FlinkSQL 来实现批流一体的实时计算平台。 需要注意的是:Dlink 更专注于 FlinkSQL 的应用,而不是 DataStream。在开发过程中您不会看到任何一句 java、scala 或者 python。所以,它的目标是基于 100% FlinkSQL 来实现批流一体的实时计算平台。
...@@ -82,6 +82,10 @@ Dlink 是一个交互式的 FlinkSQL Studio,可以在线开发、补全、校 ...@@ -82,6 +82,10 @@ Dlink 是一个交互式的 FlinkSQL Studio,可以在线开发、补全、校
| | | 新增 savepoint 触发接口 | 0.5.0 | | | | 新增 savepoint 触发接口 | 0.5.0 |
| 关于 | 关于 Dlink | 版本更新记录 | 0.4.0 | | 关于 | 关于 Dlink | 版本更新记录 | 0.4.0 |
## 优势
## 部署 ## 部署
### 版本 ### 版本
...@@ -120,14 +124,15 @@ plugins/ ...@@ -120,14 +124,15 @@ plugins/
|- flink-table_2.11-1.13.3.jar |- flink-table_2.11-1.13.3.jar
|- mysql-connector-java-8.0.21.jar |- mysql-connector-java-8.0.21.jar
sql/ sql/
|- dlink.sql --Mysql初始化脚本 |- dlink.sql -- Mysql初始化脚本(首次部署执行这个)
|- dlink_history.sql -- Mysql各版本及时间点升级脚本
auto.sh --启动停止脚本 auto.sh --启动停止脚本
dlink-admin.jar --程序包 dlink-admin.jar --程序包
``` ```
解压后结构如上所示,修改配置文件内容。lib 文件夹下存放 dlink 自身的扩展文件,plugins 文件夹下存放 flink 及 hadoop 的官方扩展文件。其中 plugins 中的所有 jar 需要根据版本号自行下载并添加,才能体验完整功能,当然也可以放自己修改的 Flink 源码编译包。extends 文件夹只作为扩展插件的备份管理,不会被 dlink 加载。 解压后结构如上所示,修改配置文件内容。lib 文件夹下存放 dlink 自身的扩展文件,plugins 文件夹下存放 flink 及 hadoop 的官方扩展文件( 如果plugins下引入了flink-shaded-hadoop-3-uber 或者其他可能冲突的jar,请手动删除内部的 javax.servlet 等冲突内容)。其中 plugins 中的所有 jar 需要根据版本号自行下载并添加,才能体验完整功能,当然也可以放自己修改的 Flink 源码编译包。extends 文件夹只作为扩展插件的备份管理,不会被 dlink 加载。
在Mysql数据库中创建数据库并执行初始化脚本 在Mysql数据库中创建 dlink 数据库并执行初始化脚本 dlink.sql
执行以下命令管理应用。 执行以下命令管理应用。
...@@ -137,9 +142,12 @@ sh auto.sh stop ...@@ -137,9 +142,12 @@ sh auto.sh stop
sh auto.sh restart sh auto.sh restart
sh auto.sh status sh auto.sh status
``` ```
前端快捷访问(推荐):
如果plugins下引入了flink-shaded-hadoop-3-uber 的jar,请手动删除内部的 javax.servlet 后既可以访问默认 8888 端口号(如127.0.0.1:8888),正常打开前端页面。
前端 Nginx 部署: 前后端分离部署—— Nginx 部署(可选):
将 html 文件夹上传至 nginx 的 html 文件夹下,修改 nginx 配置文件并重启。 Nginx 如何部署请见百度或谷歌。
将 html 文件夹上传至 nginx 的 html 文件夹下或者指定 nginx 配置文件的静态资源绝对路径,修改 nginx 配置文件并重启。
```shell ```shell
server { server {
...@@ -183,7 +191,7 @@ sh auto.sh status ...@@ -183,7 +191,7 @@ sh auto.sh status
1. server.listen 填写前端访问端口 1. server.listen 填写前端访问端口
2. proxy_pass 填写后端地址如 http://127.0.0.1:8888 2. proxy_pass 填写后端地址如 http://127.0.0.1:8888
3. 将 html 文件夹下打包好的前端资源上传到 nginx 的 html 文件夹中,重启 nginx,访问即可。 3. 将 html 文件夹下打包好的前端资源上传到 nginx 的 html 文件夹中,如果 nginx 已经启动,则执行 nginx -s reload 重载配置,访问即可。
### 从源码编译 ### 从源码编译
...@@ -205,9 +213,9 @@ dlink -- 父项目 ...@@ -205,9 +213,9 @@ dlink -- 父项目
|-dlink-core -- 执行中心 |-dlink-core -- 执行中心
|-dlink-doc -- 文档 |-dlink-doc -- 文档
| |-bin -- 启动脚本 | |-bin -- 启动脚本
| |-bug -- bug 反馈
| |-config -- 配置文件 | |-config -- 配置文件
| |-doc -- 使用文档 | |-doc -- 使用文档
| |-extends -- Docker K8S模板
| |-sql -- sql脚本 | |-sql -- sql脚本
|-dlink-executor -- 执行中心 |-dlink-executor -- 执行中心
|-dlink-extends -- 扩展中心 |-dlink-extends -- 扩展中心
...@@ -241,11 +249,11 @@ mvn clean install -Dmaven.test.skip=true ...@@ -241,11 +249,11 @@ mvn clean install -Dmaven.test.skip=true
#### 扩展Connector及UDF #### 扩展Connector及UDF
将 Flink 集群上已扩展好的 Connector 和 UDF 直接放入 Dlink 的 lib 或者 plugins 下,然后重启即可。定制 Connector 过程同 Flink 官方一样。 将 Flink 集群上已扩展好的 Connector 和 UDF 直接放入 Dlink 的 plugins 下,然后重启即可。定制 Connector 过程同 Flink 官方一样。
#### 扩展Metadata #### 扩展Metadata
遵循SPI。 遵循SPI。请参考 dlink-meta-mysql 的实现。
#### 扩展其他版本的Flink #### 扩展其他版本的Flink
...@@ -329,6 +337,8 @@ AGG BY TOP2(value) as (value,rank); ...@@ -329,6 +337,8 @@ AGG BY TOP2(value) as (value,rank);
7.[Dlink On Yarn 三种 Flink 执行方式的实践](https://github.com/DataLinkDC/dlink/blob/main/dlink-doc/doc/DlinkOnYarn%E4%B8%89%E7%A7%8DFlink%E6%89%A7%E8%A1%8C%E6%96%B9%E5%BC%8F%E7%9A%84%E5%AE%9E%E8%B7%B5.md) 7.[Dlink On Yarn 三种 Flink 执行方式的实践](https://github.com/DataLinkDC/dlink/blob/main/dlink-doc/doc/DlinkOnYarn%E4%B8%89%E7%A7%8DFlink%E6%89%A7%E8%A1%8C%E6%96%B9%E5%BC%8F%E7%9A%84%E5%AE%9E%E8%B7%B5.md)
8.[Dlink 在 Flink-mysql-cdc 到 Doris 的实践](https://gitee.com/DataLinkDC/dlink/blob/main/dlink-doc/doc/Dlink%E5%9C%A8Flink-mysql-cdc%E5%88%B0Doris%E7%9A%84%E5%AE%9E%E8%B7%B5.md)
#### 常见问题及解决 #### 常见问题及解决
期待您提出问题。 期待您提出问题。
......
...@@ -126,6 +126,11 @@ ...@@ -126,6 +126,11 @@
<groupId>com.dlink</groupId> <groupId>com.dlink</groupId>
<artifactId>dlink-gateway</artifactId> <artifactId>dlink-gateway</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.dlink</groupId>
<artifactId>dlink-metadata-mysql</artifactId>
<version>0.5.0-SNAPSHOT</version>
</dependency>
<!--<dependency> <!--<dependency>
<groupId>com.dlink</groupId> <groupId>com.dlink</groupId>
<artifactId>dlink-metadata-clickhouse</artifactId> <artifactId>dlink-metadata-clickhouse</artifactId>
...@@ -211,7 +216,7 @@ ...@@ -211,7 +216,7 @@
</configuration> </configuration>
</plugin>--> </plugin>-->
<!--<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId> <artifactId>maven-resources-plugin</artifactId>
<version>${maven.resource.version}</version> <version>${maven.resource.version}</version>
...@@ -227,14 +232,14 @@ ...@@ -227,14 +232,14 @@
<overwrite>true</overwrite> <overwrite>true</overwrite>
<resources> <resources>
<resource> <resource>
&lt;!&ndash; 因为dlink-web打包目录在项目跟目录,所以从这里复制 &ndash;&gt; <!-- 因为dlink-web打包目录在项目跟目录,所以从这里复制 -->
<directory>../dlink-web/dist</directory> <directory>../dlink-web/dist</directory>
</resource> </resource>
</resources> </resources>
</configuration> </configuration>
</execution> </execution>
</executions> </executions>
</plugin>--> </plugin>
</plugins> </plugins>
<finalName>${project.artifactId}-${project.version}</finalName> <finalName>${project.artifactId}-${project.version}</finalName>
</build> </build>
......
...@@ -18,7 +18,7 @@ public class SaTokenConfigure implements WebMvcConfigurer { ...@@ -18,7 +18,7 @@ public class SaTokenConfigure implements WebMvcConfigurer {
public void addInterceptors(InterceptorRegistry registry) { public void addInterceptors(InterceptorRegistry registry) {
// 注册Sa-Token的路由拦截器 // 注册Sa-Token的路由拦截器
registry.addInterceptor(new SaRouteInterceptor()) registry.addInterceptor(new SaRouteInterceptor())
.addPathPatterns("/**") .addPathPatterns("/api/*")
.excludePathPatterns("/api/login") .excludePathPatterns("/api/login")
.excludePathPatterns("/openapi/**"); .excludePathPatterns("/openapi/**");
} }
......
...@@ -11,11 +11,6 @@ import java.sql.SQLException; ...@@ -11,11 +11,6 @@ import java.sql.SQLException;
**/ **/
public abstract class AbstractDBQuery implements IDBQuery { public abstract class AbstractDBQuery implements IDBQuery {
@Override
public boolean isKeyIdentity(ResultSet results) throws SQLException {
return false;
}
@Override @Override
public String[] columnCustom() { public String[] columnCustom() {
return null; return null;
......
...@@ -114,12 +114,4 @@ public interface IDBQuery { ...@@ -114,12 +114,4 @@ public interface IDBQuery {
* 自定义字段名称 * 自定义字段名称
*/ */
String[] columnCustom(); String[] columnCustom();
/**
* 判断主键是否为identity,目前仅对mysql进行检查
*
* @param results ResultSet
* @return 主键是否为identity
* @throws SQLException ignore
*/
boolean isKeyIdentity(ResultSet results) throws SQLException;
} }
...@@ -31,48 +31,36 @@ public class ClickHouseQuery extends AbstractDBQuery { ...@@ -31,48 +31,36 @@ public class ClickHouseQuery extends AbstractDBQuery {
return "db"; return "db";
} }
@Override @Override
public String tableName() { public String tableName() {
return "name"; return "name";
} }
@Override @Override
public String tableComment() { public String tableComment() {
return "comment"; return "comment";
} }
@Override @Override
public String columnName() { public String columnName() {
return "name"; return "name";
} }
@Override @Override
public String columnType() { public String columnType() {
return "type"; return "type";
} }
@Override @Override
public String columnComment() { public String columnComment() {
return "comment"; return "comment";
} }
@Override @Override
public String columnKey() { public String columnKey() {
return "KEY"; return "KEY";
} }
@Override
public boolean isKeyIdentity(ResultSet results) throws SQLException {
return "auto_increment".equals(results.getString("Extra"));
}
@Override @Override
public String isNullable() { public String isNullable() {
return "NULL"; return "NULL";
......
...@@ -38,8 +38,4 @@ public class MySqlQuery extends AbstractDBQuery { ...@@ -38,8 +38,4 @@ public class MySqlQuery extends AbstractDBQuery {
return "Database"; return "Database";
} }
@Override
public boolean isKeyIdentity(ResultSet results) throws SQLException {
return "auto_increment".equals(results.getString("Extra"));
}
} }
...@@ -42,37 +42,31 @@ public class OracleQuery extends AbstractDBQuery { ...@@ -42,37 +42,31 @@ public class OracleQuery extends AbstractDBQuery {
return "OWNER"; return "OWNER";
} }
@Override @Override
public String tableName() { public String tableName() {
return "TABLE_NAME"; return "TABLE_NAME";
} }
@Override @Override
public String tableComment() { public String tableComment() {
return "COMMENTS"; return "COMMENTS";
} }
@Override @Override
public String columnName() { public String columnName() {
return "COLUMN_NAME"; return "COLUMN_NAME";
} }
@Override @Override
public String columnType() { public String columnType() {
return "DATA_TYPE"; return "DATA_TYPE";
} }
@Override @Override
public String columnComment() { public String columnComment() {
return "COMMENTS"; return "COMMENTS";
} }
@Override @Override
public String columnKey() { public String columnKey() {
return "KEY"; return "KEY";
......
...@@ -17,7 +17,6 @@ public class PostgreSqlQuery extends AbstractDBQuery { ...@@ -17,7 +17,6 @@ public class PostgreSqlQuery extends AbstractDBQuery {
return "SELECT A.tablename, obj_description(relfilenode, 'pg_class') AS comments FROM pg_tables A, pg_class B WHERE A.schemaname='"+schemaName+"' AND A.tablename = B.relname"; return "SELECT A.tablename, obj_description(relfilenode, 'pg_class') AS comments FROM pg_tables A, pg_class B WHERE A.schemaname='"+schemaName+"' AND A.tablename = B.relname";
} }
@Override @Override
public String columnsSql(String schemaName,String tableName) { public String columnsSql(String schemaName,String tableName) {
return "SELECT A.attname AS name,format_type (A.atttypid,A.atttypmod) AS type,col_description (A.attrelid,A.attnum) AS comment,\n" + return "SELECT A.attname AS name,format_type (A.atttypid,A.atttypmod) AS type,col_description (A.attrelid,A.attnum) AS comment,\n" +
...@@ -30,37 +29,31 @@ public class PostgreSqlQuery extends AbstractDBQuery { ...@@ -30,37 +29,31 @@ public class PostgreSqlQuery extends AbstractDBQuery {
return null; return null;
} }
@Override @Override
public String tableName() { public String tableName() {
return "tablename"; return "tablename";
} }
@Override @Override
public String tableComment() { public String tableComment() {
return "comments"; return "comments";
} }
@Override @Override
public String columnName() { public String columnName() {
return "name"; return "name";
} }
@Override @Override
public String columnType() { public String columnType() {
return "type"; return "type";
} }
@Override @Override
public String columnComment() { public String columnComment() {
return "comment"; return "comment";
} }
@Override @Override
public String columnKey() { public String columnKey() {
return "key"; return "key";
......
...@@ -38,45 +38,46 @@ export default [ ...@@ -38,45 +38,46 @@ export default [
icon: 'task', icon: 'task',
component: './Task', component: './Task',
},*/ },*/
{
path: '/taskcenter/jar',
name: 'jar',
icon: 'code-sandbox',
component: './Jar',
},
], ],
}, },
{ {
path: '/clusters', path: '/registration',
name: 'clusters', name: 'registration',
icon: 'cluster', icon: 'appstore',
routes: [ routes: [
{ {
path: '/clusters/cluster', path: '/registration/cluster',
name: 'cluster', name: 'cluster',
icon: 'cluster', icon: 'cluster',
component: './Cluster', component: './Cluster',
}, },
{ {
path: '/clusters/clusterConfiguration', path: '/registration/clusterConfiguration',
name: 'clusterConfiguration', name: 'clusterConfiguration',
icon: 'setting', icon: 'setting',
component: './ClusterConfiguration', component: './ClusterConfiguration',
}, },
], {
path: '/registration/jar',
name: 'jar',
icon: 'code-sandbox',
component: './Jar',
}, },
{ {
path: '/database', path: '/registration/database',
name: 'database', name: 'database',
icon: 'database', icon: 'database',
component: './DataBase', component: './DataBase',
}, },
{ {
path: '/document', path: '/registration/document',
name: 'document', name: 'document',
icon: 'container', icon: 'container',
component: './Document', component: './Document',
}, },
],
},
{ {
path: '/', path: '/',
redirect: '/welcome', redirect: '/welcome',
......
...@@ -144,7 +144,7 @@ const StudioTree: React.FC<StudioTreeProps> = (props) => { ...@@ -144,7 +144,7 @@ const StudioTree: React.FC<StudioTreeProps> = (props) => {
result.then(result=>{ result.then(result=>{
let newTabs = tabs; let newTabs = tabs;
let newPane:any = { let newPane:any = {
title: node!.name, title: <>{node!.icon} {node!.name}</>,
key: node!.taskId, key: node!.taskId,
value:(result.datas.statement?result.datas.statement:''), value:(result.datas.statement?result.datas.statement:''),
closable: true, closable: true,
......
import Icon from "@ant-design/icons"; import Icon from "@ant-design/icons";
import {DIALECT} from "@/components/Studio/conf"; import {DIALECT} from "@/components/Studio/conf";
const svgSize = '21px';
export const getIcon = (type: string)=>{ export const getIcon = (type: string)=>{
switch (type){ switch (type){
case DIALECT.SQL: case DIALECT.SQL:
...@@ -22,9 +24,10 @@ export const getIcon = (type: string)=>{ ...@@ -22,9 +24,10 @@ export const getIcon = (type: string)=>{
} }
}; };
export const FlinkSQLSvg = () => ( export const FlinkSQLSvg = () => (
<svg t="1640784681443" className="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" <svg t="1640784681443" className="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
p-id="6264" width="20px" height="20px"> p-id="6264" width={svgSize} height={svgSize}>
<path <path
d="M821.76 870.4s-5.12 33.28 5.12 48.64l43.52 30.72-2.56 10.24v15.36l10.24 2.56 15.36-2.56 2.56 5.12 7.68 10.24h10.24l10.24-23.04v-10.24l10.24-2.56s69.12-23.04 53.76-48.64l-5.12-2.56s-30.72 12.8-43.52 10.24c0 0-58.88 2.56-87.04-17.92l-30.72-25.6z" d="M821.76 870.4s-5.12 33.28 5.12 48.64l43.52 30.72-2.56 10.24v15.36l10.24 2.56 15.36-2.56 2.56 5.12 7.68 10.24h10.24l10.24-23.04v-10.24l10.24-2.56s69.12-23.04 53.76-48.64l-5.12-2.56s-30.72 12.8-43.52 10.24c0 0-58.88 2.56-87.04-17.92l-30.72-25.6z"
fill="#D77083" p-id="6265"></path> fill="#D77083" p-id="6265"></path>
...@@ -112,7 +115,7 @@ export const FlinkSQLSvg = () => ( ...@@ -112,7 +115,7 @@ export const FlinkSQLSvg = () => (
export const SqlSvg = () => ( export const SqlSvg = () => (
<svg t="1640788645374" className="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" <svg t="1640788645374" className="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
p-id="9314" width="20px" height="20px"> p-id="9314" width={svgSize} height={svgSize}>
<path <path
d="M145.621959 0c-44.79888 0-79.998 36.81188-79.998 81.61076v860.77848c0 44.79888 35.19912 81.61076 79.998 81.61076h732.781681a81.969151 81.969151 0 0 0 81.61076-81.61076V324.80468L657.60916 0h-511.987201z" d="M145.621959 0c-44.79888 0-79.998 36.81188-79.998 81.61076v860.77848c0 44.79888 35.19912 81.61076 79.998 81.61076h732.781681a81.969151 81.969151 0 0 0 81.61076-81.61076V324.80468L657.60916 0h-511.987201z"
fill="#A4D3EE" p-id="9315"></path> fill="#A4D3EE" p-id="9315"></path>
...@@ -123,9 +126,10 @@ export const SqlSvg = () => ( ...@@ -123,9 +126,10 @@ export const SqlSvg = () => (
fill="#FFFFFF" p-id="9317"></path> fill="#FFFFFF" p-id="9317"></path>
</svg> </svg>
); );
export const MysqlSvg = () => ( export const MysqlSvg = () => (
<svg t="1641038977488" className="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" <svg t="1641038977488" className="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
p-id="3761" width="24px" height="24px"> p-id="3761" width={svgSize} height={svgSize}>
<path <path
d="M326.357333 333.781333c-12.501333 0-16.896-11.52-18.602666-15.829333a2749.653333 2749.653333 0 0 0-10.709334-17.834667l1.493334-5.973333-3.669334 2.261333c-14.549333-14.506667-8.746667-25.088-4.138666-30.208a24.192 24.192 0 0 1 18.56-8.021333c5.12 0 10.581333 1.408 15.658666 4.096 16 8.490667 25.130667 21.290667 25.6 35.925333-0.469333 10.666667-1.706667 29.824-18.773333 34.773334a20.181333 20.181333 0 0 1-5.418667 0.810666m559.616 565.12c-7.338667 0-12.8-4.266667-16.682666-7.338666-15.146667-11.264-30.122667-18.816-46.08-26.794667-16.469333-8.32-33.322667-16.725333-48.896-28.330667-17.322667-12.885333-36.821333-29.44-50.176-54.058666-2.176-4.010667-8.789333-16.213333-4.138667-27.946667 4.096-10.410667 14.208-14.677333 21.461333-17.066667 22.442667-7.253333 48.512-14.933333 76.458667-16.042666l-1.749333-1.322667c-32.597333-24.448-61.482667-46.122667-96.896-54.613333-48.256-11.434667-69.376-44.245333-83.669334-74.837334a1563.733333 1563.733333 0 0 1-26.496-60.842666c-18.346667-43.605333-37.12-88.32-63.658666-127.573334-42.88-63.402667-97.834667-112.64-163.413334-146.261333-18.090667-9.301333-42.368-19.968-69.248-19.968h-4.48c-21.76 0-40.32-7.125333-56.96-21.845333-13.696-12.074667-31.445333-18.858667-50.261333-26.069334l-8.533333-3.242666a25.258667 25.258667 0 0 0-9.088-2.133334c-4.053333 2.048-6.101333 4.352 0.298666 14.165334 9.173333 14.037333 19.456 28.586667 31.530667 44.458666 21.589333 28.416 32.938667 60.885333 40.362667 86.058667 10.496 35.584 21.930667 63.914667 43.776 86.570667 20.224 21.034667 9.770667 44.458667 2.901333 59.989333l-5.888 2.730667 3.925333 1.664c-18.688 43.733333-18.56 89.856 0.341334 149.461333 1.536 4.693333 4.096 9.642667 6.4 13.824l0.298666 0.554667c2.56-27.306667 5.717333-57.941333 27.306667-83.712 5.205333-8.277333 11.050667-17.834667 22.869333-17.834667 16.896 1.834667 19.968 15.786667 21.162667 21.12 21.674667 58.282667 53.504 108.885333 81.792 152.021333a13.44 13.44 0 0 1 1.152 12.330667 13.397333 13.397333 0 0 1-9.6 7.893333 37.930667 37.930667 0 0 1-7.296 0.768c-15.786667 0-25.642667-10.026667-54.528-41.728-8.576-9.429333-14.762667-20.394667-20.181333-30.037333l-4.181334-7.296c-0.426667 5.290667-0.981333 9.898667-2.176 14.464-6.570667 25.258667-23.552 40.96-44.245333 40.96-12.842667 0-25.6-6.058667-36.864-17.493333-25.344-25.642667-39.296-58.965333-44.032-104.746667-4.693333-45.653333 0.256-88.832 14.762667-128.512 3.968-10.922667 3.968-16.512-3.925334-26.112-26.282667-32.213333-38.912-71.808-49.578666-109.568-7.125333-25.258667-20.394667-45.738667-38.186667-68.693333-13.226667-16.981333-24.874667-32-30.592-51.754667-5.888-20.096-3.2-39.253333 7.466667-53.802667 10.496-14.293333 27.306667-22.186667 47.36-22.357333 42.496 0 75.946667 21.418667 104.064 41.386667l4.608 3.498666c5.205333 4.053333 7.808 5.845333 10.965333 5.845334 88.448 0 152.490667 50.048 210.517333 101.290666a478.037333 478.037333 0 0 1 129.109334 183.04c11.477333 29.013333 25.429333 57.898667 38.912 85.76 6.485333 13.482667 13.141333 27.221333 19.456 40.874667 3.370667 7.253333 8.192 11.648 16.597333 15.104 68.565333 28.16 123.733333 66.517333 168.618667 117.077333 6.4 7.210667 13.354667 16.853333 10.026666 27.733334-3.669333 11.946667-16.725333 15.146667-25.344 17.237333-11.562667 2.858667-23.466667 4.650667-34.986666 6.4-13.226667 1.962667-26.794667 4.010667-39.936 7.808 5.333333 4.778667 11.648 8.234667 17.322666 11.008 26.026667 12.885333 45.056 32.938667 63.402667 52.266667 5.845333 6.186667 10.24 10.88 14.677333 15.317333 16.725333 16.64 9.301333 28.8 6.570667 32.085333a18.432 18.432 0 0 1-14.506667 7.168" d="M326.357333 333.781333c-12.501333 0-16.896-11.52-18.602666-15.829333a2749.653333 2749.653333 0 0 0-10.709334-17.834667l1.493334-5.973333-3.669334 2.261333c-14.549333-14.506667-8.746667-25.088-4.138666-30.208a24.192 24.192 0 0 1 18.56-8.021333c5.12 0 10.581333 1.408 15.658666 4.096 16 8.490667 25.130667 21.290667 25.6 35.925333-0.469333 10.666667-1.706667 29.824-18.773333 34.773334a20.181333 20.181333 0 0 1-5.418667 0.810666m559.616 565.12c-7.338667 0-12.8-4.266667-16.682666-7.338666-15.146667-11.264-30.122667-18.816-46.08-26.794667-16.469333-8.32-33.322667-16.725333-48.896-28.330667-17.322667-12.885333-36.821333-29.44-50.176-54.058666-2.176-4.010667-8.789333-16.213333-4.138667-27.946667 4.096-10.410667 14.208-14.677333 21.461333-17.066667 22.442667-7.253333 48.512-14.933333 76.458667-16.042666l-1.749333-1.322667c-32.597333-24.448-61.482667-46.122667-96.896-54.613333-48.256-11.434667-69.376-44.245333-83.669334-74.837334a1563.733333 1563.733333 0 0 1-26.496-60.842666c-18.346667-43.605333-37.12-88.32-63.658666-127.573334-42.88-63.402667-97.834667-112.64-163.413334-146.261333-18.090667-9.301333-42.368-19.968-69.248-19.968h-4.48c-21.76 0-40.32-7.125333-56.96-21.845333-13.696-12.074667-31.445333-18.858667-50.261333-26.069334l-8.533333-3.242666a25.258667 25.258667 0 0 0-9.088-2.133334c-4.053333 2.048-6.101333 4.352 0.298666 14.165334 9.173333 14.037333 19.456 28.586667 31.530667 44.458666 21.589333 28.416 32.938667 60.885333 40.362667 86.058667 10.496 35.584 21.930667 63.914667 43.776 86.570667 20.224 21.034667 9.770667 44.458667 2.901333 59.989333l-5.888 2.730667 3.925333 1.664c-18.688 43.733333-18.56 89.856 0.341334 149.461333 1.536 4.693333 4.096 9.642667 6.4 13.824l0.298666 0.554667c2.56-27.306667 5.717333-57.941333 27.306667-83.712 5.205333-8.277333 11.050667-17.834667 22.869333-17.834667 16.896 1.834667 19.968 15.786667 21.162667 21.12 21.674667 58.282667 53.504 108.885333 81.792 152.021333a13.44 13.44 0 0 1 1.152 12.330667 13.397333 13.397333 0 0 1-9.6 7.893333 37.930667 37.930667 0 0 1-7.296 0.768c-15.786667 0-25.642667-10.026667-54.528-41.728-8.576-9.429333-14.762667-20.394667-20.181333-30.037333l-4.181334-7.296c-0.426667 5.290667-0.981333 9.898667-2.176 14.464-6.570667 25.258667-23.552 40.96-44.245333 40.96-12.842667 0-25.6-6.058667-36.864-17.493333-25.344-25.642667-39.296-58.965333-44.032-104.746667-4.693333-45.653333 0.256-88.832 14.762667-128.512 3.968-10.922667 3.968-16.512-3.925334-26.112-26.282667-32.213333-38.912-71.808-49.578666-109.568-7.125333-25.258667-20.394667-45.738667-38.186667-68.693333-13.226667-16.981333-24.874667-32-30.592-51.754667-5.888-20.096-3.2-39.253333 7.466667-53.802667 10.496-14.293333 27.306667-22.186667 47.36-22.357333 42.496 0 75.946667 21.418667 104.064 41.386667l4.608 3.498666c5.205333 4.053333 7.808 5.845333 10.965333 5.845334 88.448 0 152.490667 50.048 210.517333 101.290666a478.037333 478.037333 0 0 1 129.109334 183.04c11.477333 29.013333 25.429333 57.898667 38.912 85.76 6.485333 13.482667 13.141333 27.221333 19.456 40.874667 3.370667 7.253333 8.192 11.648 16.597333 15.104 68.565333 28.16 123.733333 66.517333 168.618667 117.077333 6.4 7.210667 13.354667 16.853333 10.026666 27.733334-3.669333 11.946667-16.725333 15.146667-25.344 17.237333-11.562667 2.858667-23.466667 4.650667-34.986666 6.4-13.226667 1.962667-26.794667 4.010667-39.936 7.808 5.333333 4.778667 11.648 8.234667 17.322666 11.008 26.026667 12.885333 45.056 32.938667 63.402667 52.266667 5.845333 6.186667 10.24 10.88 14.677333 15.317333 16.725333 16.64 9.301333 28.8 6.570667 32.085333a18.432 18.432 0 0 1-14.506667 7.168"
fill="#1296db" p-id="3762"></path> fill="#1296db" p-id="3762"></path>
...@@ -133,7 +137,7 @@ export const MysqlSvg = () => ( ...@@ -133,7 +137,7 @@ export const MysqlSvg = () => (
); );
export const OracleSvg = () => ( export const OracleSvg = () => (
<svg t="1640789029266" className="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" <svg t="1640789029266" className="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
p-id="11509" width="24px" height="24px"> p-id="11509" width={svgSize} height={svgSize}>
<path <path
d="M670.62528 711.899955h-316.933062c-57.361215 0-103.363076-14.287388-127.492886-71.40166H175.999449c28.292555 71.401661 94.931753 114.228546 177.692769 114.228546h316.545009c82.902126 0 149.541324-42.826885 177.728047-114.228546h-49.847108C773.988356 697.612568 728.021773 711.899955 670.62528 711.899955zM353.727495 312.100045H670.62528c57.361215 0 103.363076 14.287388 127.492886 71.40166h49.847108c-28.186723-71.401661-94.825921-114.228546-177.728047-114.228546h-316.545009c-82.761016 0-149.400214 42.826885-177.692769 114.228546h50.23516c24.12981-57.14955 70.131671-71.401661 127.492886-71.40166zM313.616977 513.569849c0-47.095463-39.193303-85.406828-87.382368-85.406828H151.375754c-48.189065 0-87.382368 38.311365-87.382369 85.406828s39.193303 85.406828 87.382369 85.406828h74.894133c48.189065 0 87.347091-38.346643 87.34709-85.406828z m-207.996141 0c0-24.658973 20.531505-44.73187 45.754918-44.731871h74.894133c25.223413 0 45.754918 20.072898 45.754917 44.731871s-20.531505 44.73187-45.754917 44.73187H151.375754c-25.25869 0-45.754918-20.072898-45.754918-44.73187z m416.73311-22.471768c0-34.71306-28.892273-62.970338-64.416715-62.970338h-124.882351v171.342819H374.647053v-83.325456l79.44493 83.325456h56.867331l-43.779378-45.896028c31.18531-4.409688 55.17401-30.726703 55.17401-62.476453z m-64.416715 22.471768H374.647053V468.837978h83.290178c12.594068 0 22.789265 10.089365 22.789265 22.436491 0.035278 12.27657-10.195198 22.29538-22.789265 22.29538z m170.249216-44.767148h86.500431l41.592173-40.674958h-128.092604c-48.189065 0-87.382368 38.311365-87.382368 85.406828s39.193303 85.406828 87.382368 85.406828h85.442106l41.592173-40.674957h-127.069556c-25.25869 0-45.754918-20.072898-45.754918-44.731871 0.035278-24.658973 20.566783-44.73187 45.790195-44.73187z m188.487684 81.561581v-122.201261h-49.917663v171.025321h143.297206l49.917663-48.788783H816.674131z" d="M670.62528 711.899955h-316.933062c-57.361215 0-103.363076-14.287388-127.492886-71.40166H175.999449c28.292555 71.401661 94.931753 114.228546 177.692769 114.228546h316.545009c82.902126 0 149.541324-42.826885 177.728047-114.228546h-49.847108C773.988356 697.612568 728.021773 711.899955 670.62528 711.899955zM353.727495 312.100045H670.62528c57.361215 0 103.363076 14.287388 127.492886 71.40166h49.847108c-28.186723-71.401661-94.825921-114.228546-177.728047-114.228546h-316.545009c-82.761016 0-149.400214 42.826885-177.692769 114.228546h50.23516c24.12981-57.14955 70.131671-71.401661 127.492886-71.40166zM313.616977 513.569849c0-47.095463-39.193303-85.406828-87.382368-85.406828H151.375754c-48.189065 0-87.382368 38.311365-87.382369 85.406828s39.193303 85.406828 87.382369 85.406828h74.894133c48.189065 0 87.347091-38.346643 87.34709-85.406828z m-207.996141 0c0-24.658973 20.531505-44.73187 45.754918-44.731871h74.894133c25.223413 0 45.754918 20.072898 45.754917 44.731871s-20.531505 44.73187-45.754917 44.73187H151.375754c-25.25869 0-45.754918-20.072898-45.754918-44.73187z m416.73311-22.471768c0-34.71306-28.892273-62.970338-64.416715-62.970338h-124.882351v171.342819H374.647053v-83.325456l79.44493 83.325456h56.867331l-43.779378-45.896028c31.18531-4.409688 55.17401-30.726703 55.17401-62.476453z m-64.416715 22.471768H374.647053V468.837978h83.290178c12.594068 0 22.789265 10.089365 22.789265 22.436491 0.035278 12.27657-10.195198 22.29538-22.789265 22.29538z m170.249216-44.767148h86.500431l41.592173-40.674958h-128.092604c-48.189065 0-87.382368 38.311365-87.382368 85.406828s39.193303 85.406828 87.382368 85.406828h85.442106l41.592173-40.674957h-127.069556c-25.25869 0-45.754918-20.072898-45.754918-44.731871 0.035278-24.658973 20.566783-44.73187 45.790195-44.73187z m188.487684 81.561581v-122.201261h-49.917663v171.025321h143.297206l49.917663-48.788783H816.674131z"
fill="#E04E31" p-id="11510"></path> fill="#E04E31" p-id="11510"></path>
...@@ -141,7 +145,7 @@ export const OracleSvg = () => ( ...@@ -141,7 +145,7 @@ export const OracleSvg = () => (
); );
export const PostGreSqlSvg = () => ( export const PostGreSqlSvg = () => (
<svg t="1640789293797" className="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" <svg t="1640789293797" className="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
p-id="12358" width="20px" height="20px"> p-id="12358" width={svgSize} height={svgSize}>
<path <path
d="M930.56415839 579.12956914c-14.30569336-12.26202276-32.69872793-14.30569336-51.09176337-8.17468154-14.30569336 4.08734121-30.65505732 6.13101182-44.96075156 6.13101094 40.87341035-67.44112734 71.52846768-141.01326563 91.96517373-218.67274424 10.21835214-34.74239854 16.34936396-71.52846768 16.34936396-110.35820831 4.08734121-30.65505732-4.08734121-61.31011552-22.48037578-85.83416102-51.0917625-65.39745674-130.7949126-102.18352588-212.5417333-100.13985528h-6.13101181c-34.74239854 0-69.48479707 6.13101182-102.18352588 14.30569336h-2.04367061c-20.43670518-4.08734121-42.91708096-6.13101182-63.35378525-6.13101182-38.82973974-2.0436706-79.7031501 8.17468242-114.44554864 28.6113876-49.04809277-18.39303457-104.22719648-26.567717-157.36262959-24.52404639-49.04809277 0-98.09618467 20.43670518-132.83858408 55.17910371-36.78606914 38.82973974-55.17910371 98.09618467-53.13543311 181.88667598 4.08734121 36.78606914 10.21835214 73.57213828 18.39303458 108.31453681 12.26202276 53.1354331 26.567717 104.22719648 44.96075156 155.31895898 14.30569336 47.00442217 38.82973974 91.96517286 71.52846767 128.75124288 16.34936396 16.34936396 38.82973974 26.567717 63.35378614 28.61138672 18.39303457 0 34.74239854-8.17468242 49.04809189-20.4367043 12.26202276 14.30569336 28.6113876 22.48037578 47.00442217 26.56771612 24.52404638 6.13101182 49.04809277 8.17468242 73.57213828 4.08734121 12.26202276-2.0436706 22.48037578-6.13101182 32.69872881-10.21835303 0 12.26202276 0 24.52404638 2.0436706 36.78607002-2.0436706 36.78606914 4.08734121 71.52846768 14.30569336 106.27086621 4.08734121 20.43670518 14.30569336 38.82973974 28.61138672 55.17910372 28.6113876 26.567717 67.44112734 36.78606914 104.22719648 28.61138759 38.82973974-6.13101182 75.61580888-26.567717 98.09618468-57.22277431 26.567717-36.78606914 38.82973974-91.96517286 40.87341034-179.84300538 0-4.08734121 2.0436706-8.17468242 2.04367061-12.26202275h6.13101182c34.74239854 2.0436706 69.48479707-4.08734121 100.13985439-16.34936484 24.52404638-10.21835214 47.00442217-26.567717 63.35378613-49.0480919 4.08734121-8.17468242 8.17468242-16.34936396 10.21835304-24.52404639 2.0436706-16.34936396-4.08734121-30.65505732-16.34936397-40.87341035z m-12.26202362 47.00442217c-14.30569336 18.39303457-30.65505732 30.65505732-53.13543311 38.82973975-24.52404638 10.21835214-51.0917625 14.30569336-77.65947949 14.30569336-12.26202276 0-24.52404638-2.0436706-36.78606914-4.08734122-6.13101182 51.0917625-10.21835214 102.18352588-20.43670517 153.27528926-2.0436706 24.52404638-14.30569336 49.04809277-30.65505821 69.48479707-20.43670518 18.39303457-44.96075156 30.65505732-71.52846767 32.69872793-30.65505732 8.17468242-61.31011552 2.0436706-85.83416192-16.34936397-14.30569336-12.26202276-24.52404638-30.65505732-32.69872793-49.04809189-4.08734121-12.26202276-6.13101182-22.48037578-8.17468242-34.74239941-2.0436706-18.39303457-4.08734121-36.78606914-4.08734033-53.13543311-2.0436706-32.69872793-2.0436706-63.35378614-2.04367061-94.00884345-16.34936396 14.30569336-36.78606914 24.52404638-57.22277432 28.6113876-20.43670518 4.08734121-42.91708096 2.0436706-63.35378612-4.08734122-6.13101182-2.0436706-12.26202276-4.08734121-18.39303458-8.17468242-8.17468242-2.0436706-12.26202276-8.17468242-16.34936396-14.30569336-2.0436706-4.08734121-4.08734121-10.21835214-2.04367061-14.30569336 2.0436706-4.08734121 4.08734121-10.21835214 8.17468155-12.26202363 10.21835214-6.13101182 20.43670518-10.21835214 32.6987288-12.26202276 14.30569336-2.0436706 28.6113876-6.13101182 42.91708008-12.26202363 8.17468242-6.13101182 14.30569336-14.30569336 20.43670518-22.4803749v-2.04367061c-18.39303457 0-34.74239854-6.13101182-51.0917625-12.26202363-6.13101182 6.13101182-32.69872793 34.74239854-69.48479708 77.65947949-12.26202276 16.34936396-28.6113876 26.567717-49.04809277 28.6113876-18.39303457 0-34.74239854-8.17468242-47.00442216-20.43670517-30.65505732-34.74239854-51.0917625-75.61580888-65.39745586-118.53288985-16.34936396-53.1354331-30.65505732-104.22719648-40.87341036-155.31895898-8.17468242-34.74239854-14.30569336-67.44112734-18.39303456-102.18352588-4.08734121-77.65947949 14.30569336-128.751242 44.96075068-161.44997081 30.65505732-30.65505732 71.52846768-47.00442217 116.48922011-49.04809188 55.17910371-2.0436706 110.35820742 8.17468242 161.44996992 28.61138671 32.69872793-20.43670518 69.48479707-30.65505732 108.3145377-30.65505733 20.43670518 0 42.91708096 4.08734121 63.35378613 8.17468242 8.17468242-4.08734121 18.39303457-6.13101182 28.61138672-8.17468242 26.567717-6.13101182 51.0917625-8.17468242 77.6594795-10.21835302 77.65947949-2.0436706 151.23161777 30.65505732 200.27971054 91.96517373 12.26202276 20.43670518 18.39303457 47.00442217 16.34936397 71.52846767-2.0436706 34.74239854-8.17468242 69.48479707-16.34936397 104.22719649-22.48037578 85.83416191-59.26644492 167.58098174-108.3145377 243.19679062 2.0436706 2.0436706 4.08734121 2.0436706 6.13101182 4.08734122 28.6113876 6.13101182 57.22277432 6.13101182 85.83416192-2.04367061 10.21835214-4.08734121 22.48037578-2.0436706 32.69872793 2.04367061 4.08734121 4.08734121 8.17468242 10.21835214 8.17468242 16.34936396-6.13101182 0-6.13101182 6.13101182-8.17468242 10.21835303z" d="M930.56415839 579.12956914c-14.30569336-12.26202276-32.69872793-14.30569336-51.09176337-8.17468154-14.30569336 4.08734121-30.65505732 6.13101182-44.96075156 6.13101094 40.87341035-67.44112734 71.52846768-141.01326563 91.96517373-218.67274424 10.21835214-34.74239854 16.34936396-71.52846768 16.34936396-110.35820831 4.08734121-30.65505732-4.08734121-61.31011552-22.48037578-85.83416102-51.0917625-65.39745674-130.7949126-102.18352588-212.5417333-100.13985528h-6.13101181c-34.74239854 0-69.48479707 6.13101182-102.18352588 14.30569336h-2.04367061c-20.43670518-4.08734121-42.91708096-6.13101182-63.35378525-6.13101182-38.82973974-2.0436706-79.7031501 8.17468242-114.44554864 28.6113876-49.04809277-18.39303457-104.22719648-26.567717-157.36262959-24.52404639-49.04809277 0-98.09618467 20.43670518-132.83858408 55.17910371-36.78606914 38.82973974-55.17910371 98.09618467-53.13543311 181.88667598 4.08734121 36.78606914 10.21835214 73.57213828 18.39303458 108.31453681 12.26202276 53.1354331 26.567717 104.22719648 44.96075156 155.31895898 14.30569336 47.00442217 38.82973974 91.96517286 71.52846767 128.75124288 16.34936396 16.34936396 38.82973974 26.567717 63.35378614 28.61138672 18.39303457 0 34.74239854-8.17468242 49.04809189-20.4367043 12.26202276 14.30569336 28.6113876 22.48037578 47.00442217 26.56771612 24.52404638 6.13101182 49.04809277 8.17468242 73.57213828 4.08734121 12.26202276-2.0436706 22.48037578-6.13101182 32.69872881-10.21835303 0 12.26202276 0 24.52404638 2.0436706 36.78607002-2.0436706 36.78606914 4.08734121 71.52846768 14.30569336 106.27086621 4.08734121 20.43670518 14.30569336 38.82973974 28.61138672 55.17910372 28.6113876 26.567717 67.44112734 36.78606914 104.22719648 28.61138759 38.82973974-6.13101182 75.61580888-26.567717 98.09618468-57.22277431 26.567717-36.78606914 38.82973974-91.96517286 40.87341034-179.84300538 0-4.08734121 2.0436706-8.17468242 2.04367061-12.26202275h6.13101182c34.74239854 2.0436706 69.48479707-4.08734121 100.13985439-16.34936484 24.52404638-10.21835214 47.00442217-26.567717 63.35378613-49.0480919 4.08734121-8.17468242 8.17468242-16.34936396 10.21835304-24.52404639 2.0436706-16.34936396-4.08734121-30.65505732-16.34936397-40.87341035z m-12.26202362 47.00442217c-14.30569336 18.39303457-30.65505732 30.65505732-53.13543311 38.82973975-24.52404638 10.21835214-51.0917625 14.30569336-77.65947949 14.30569336-12.26202276 0-24.52404638-2.0436706-36.78606914-4.08734122-6.13101182 51.0917625-10.21835214 102.18352588-20.43670517 153.27528926-2.0436706 24.52404638-14.30569336 49.04809277-30.65505821 69.48479707-20.43670518 18.39303457-44.96075156 30.65505732-71.52846767 32.69872793-30.65505732 8.17468242-61.31011552 2.0436706-85.83416192-16.34936397-14.30569336-12.26202276-24.52404638-30.65505732-32.69872793-49.04809189-4.08734121-12.26202276-6.13101182-22.48037578-8.17468242-34.74239941-2.0436706-18.39303457-4.08734121-36.78606914-4.08734033-53.13543311-2.0436706-32.69872793-2.0436706-63.35378614-2.04367061-94.00884345-16.34936396 14.30569336-36.78606914 24.52404638-57.22277432 28.6113876-20.43670518 4.08734121-42.91708096 2.0436706-63.35378612-4.08734122-6.13101182-2.0436706-12.26202276-4.08734121-18.39303458-8.17468242-8.17468242-2.0436706-12.26202276-8.17468242-16.34936396-14.30569336-2.0436706-4.08734121-4.08734121-10.21835214-2.04367061-14.30569336 2.0436706-4.08734121 4.08734121-10.21835214 8.17468155-12.26202363 10.21835214-6.13101182 20.43670518-10.21835214 32.6987288-12.26202276 14.30569336-2.0436706 28.6113876-6.13101182 42.91708008-12.26202363 8.17468242-6.13101182 14.30569336-14.30569336 20.43670518-22.4803749v-2.04367061c-18.39303457 0-34.74239854-6.13101182-51.0917625-12.26202363-6.13101182 6.13101182-32.69872793 34.74239854-69.48479708 77.65947949-12.26202276 16.34936396-28.6113876 26.567717-49.04809277 28.6113876-18.39303457 0-34.74239854-8.17468242-47.00442216-20.43670517-30.65505732-34.74239854-51.0917625-75.61580888-65.39745586-118.53288985-16.34936396-53.1354331-30.65505732-104.22719648-40.87341036-155.31895898-8.17468242-34.74239854-14.30569336-67.44112734-18.39303456-102.18352588-4.08734121-77.65947949 14.30569336-128.751242 44.96075068-161.44997081 30.65505732-30.65505732 71.52846768-47.00442217 116.48922011-49.04809188 55.17910371-2.0436706 110.35820742 8.17468242 161.44996992 28.61138671 32.69872793-20.43670518 69.48479707-30.65505732 108.3145377-30.65505733 20.43670518 0 42.91708096 4.08734121 63.35378613 8.17468242 8.17468242-4.08734121 18.39303457-6.13101182 28.61138672-8.17468242 26.567717-6.13101182 51.0917625-8.17468242 77.6594795-10.21835302 77.65947949-2.0436706 151.23161777 30.65505732 200.27971054 91.96517373 12.26202276 20.43670518 18.39303457 47.00442217 16.34936397 71.52846767-2.0436706 34.74239854-8.17468242 69.48479707-16.34936397 104.22719649-22.48037578 85.83416191-59.26644492 167.58098174-108.3145377 243.19679062 2.0436706 2.0436706 4.08734121 2.0436706 6.13101182 4.08734122 28.6113876 6.13101182 57.22277432 6.13101182 85.83416192-2.04367061 10.21835214-4.08734121 22.48037578-2.0436706 32.69872793 2.04367061 4.08734121 4.08734121 8.17468242 10.21835214 8.17468242 16.34936396-6.13101182 0-6.13101182 6.13101182-8.17468242 10.21835303z"
p-id="12359"></path> p-id="12359"></path>
...@@ -161,7 +165,7 @@ export const PostGreSqlSvg = () => ( ...@@ -161,7 +165,7 @@ export const PostGreSqlSvg = () => (
); );
export const ClickHouseSvg = () => ( export const ClickHouseSvg = () => (
<svg t="1640789681111" className="icon" viewBox="0 0 1152 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" <svg t="1640789681111" className="icon" viewBox="0 0 1152 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
p-id="13211" width="20px" height="20px"> p-id="13211" width={svgSize} height={svgSize}>
<path d="M0 896h128v128H0z" fill="#ff0000" p-id="13212"></path> <path d="M0 896h128v128H0z" fill="#ff0000" p-id="13212"></path>
<path d="M0 0h128v896H0zM256 0h128v1024H256zM512 0h128v1024H512zM768 0h128v1024H768zM1024 416h128v192H1024z" <path d="M0 0h128v896H0zM256 0h128v1024H256zM512 0h128v1024H512zM768 0h128v1024H768zM1024 416h128v192H1024z"
fill="#ffcc00" p-id="13213"></path> fill="#ffcc00" p-id="13213"></path>
...@@ -169,7 +173,7 @@ export const ClickHouseSvg = () => ( ...@@ -169,7 +173,7 @@ export const ClickHouseSvg = () => (
); );
export const DorisSvg = () => ( export const DorisSvg = () => (
<svg t="1640789853861" className="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" <svg t="1640789853861" className="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
p-id="13678" width="20px" height="20px"> p-id="13678" width={svgSize} height={svgSize}>
<path <path
d="M272.816 43.1136c57.4848-57.4848 150.688-57.4848 208.1728 0l113.136 113.136c57.4848 57.488 57.4848 150.688 0 208.1728l-85.984 85.984a25.6 25.6 0 0 1-36.2048 0L272.816 251.2864c-57.4848-57.4848-57.4848-150.688 0-208.1728z" d="M272.816 43.1136c57.4848-57.4848 150.688-57.4848 208.1728 0l113.136 113.136c57.4848 57.488 57.4848 150.688 0 208.1728l-85.984 85.984a25.6 25.6 0 0 1-36.2048 0L272.816 251.2864c-57.4848-57.4848-57.4848-150.688 0-208.1728z"
fill="#14A9CA" p-id="13679"></path> fill="#14A9CA" p-id="13679"></path>
...@@ -182,7 +186,7 @@ export const DorisSvg = () => ( ...@@ -182,7 +186,7 @@ export const DorisSvg = () => (
</svg> </svg>
);export const JavaSvg = () => ( );export const JavaSvg = () => (
<svg t="1640791080436" className="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" <svg t="1640791080436" className="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
p-id="19717" width="20px" height="20px"> p-id="19717" width={svgSize} height={svgSize}>
<path <path
d="M558.08 472.064c48.128 53.248-13.312 103.424-13.312 103.424s119.808-61.44 65.536-139.264c-51.2-71.68-91.136-107.52 122.88-232.448 0 1.024-335.872 86.016-175.104 268.288" d="M558.08 472.064c48.128 53.248-13.312 103.424-13.312 103.424s119.808-61.44 65.536-139.264c-51.2-71.68-91.136-107.52 122.88-232.448 0 1.024-335.872 86.016-175.104 268.288"
fill="#FF0000" p-id="19718"></path> fill="#FF0000" p-id="19718"></path>
...@@ -202,7 +206,7 @@ export const DorisSvg = () => ( ...@@ -202,7 +206,7 @@ export const DorisSvg = () => (
); );
export const UDFSvg = () => ( export const UDFSvg = () => (
<svg t="1640792304032" className="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" <svg t="1640792304032" className="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
p-id="28067" width="20px" height="20px"> p-id="28067" width={svgSize} height={svgSize}>
<path <path
d="M234.56 1024a164.288 164.288 0 0 0 150.656-118.848l0.64-2.112c32.512-126.08 84.224-325.888 122.56-471.232h137.152a43.84 43.84 0 1 0 0-87.488h-113.92c12.288-45.76 21.248-78.4 24.768-89.6l3.904-12.48c14.464-46.272 48.384-154.752 100.8-154.752 48.64 0 55.872 70.4 56.192 73.536a45.632 45.632 0 0 0 50.112 40.064 44.8 44.8 0 0 0 43.136-46.912A157.12 157.12 0 0 0 660.928 0C538.496 0 492.544 147.2 470.464 217.6l-3.776 11.904c-4.48 13.952-16.256 57.088-31.616 114.688H271.744a43.84 43.84 0 1 0 0 87.488h140.288c-47.936 182.208-109.952 422.4-116.736 449.088-2.56 6.912-21.696 55.616-60.864 55.616-59.84 0-85.696-78.656-85.952-79.232a47.168 47.168 0 0 0-57.6-29.888 43.456 43.456 0 0 0-32 54.208A193.216 193.216 0 0 0 234.56 1024z" d="M234.56 1024a164.288 164.288 0 0 0 150.656-118.848l0.64-2.112c32.512-126.08 84.224-325.888 122.56-471.232h137.152a43.84 43.84 0 1 0 0-87.488h-113.92c12.288-45.76 21.248-78.4 24.768-89.6l3.904-12.48c14.464-46.272 48.384-154.752 100.8-154.752 48.64 0 55.872 70.4 56.192 73.536a45.632 45.632 0 0 0 50.112 40.064 44.8 44.8 0 0 0 43.136-46.912A157.12 157.12 0 0 0 660.928 0C538.496 0 492.544 147.2 470.464 217.6l-3.776 11.904c-4.48 13.952-16.256 57.088-31.616 114.688H271.744a43.84 43.84 0 1 0 0 87.488h140.288c-47.936 182.208-109.952 422.4-116.736 449.088-2.56 6.912-21.696 55.616-60.864 55.616-59.84 0-85.696-78.656-85.952-79.232a47.168 47.168 0 0 0-57.6-29.888 43.456 43.456 0 0 0-32 54.208A193.216 193.216 0 0 0 234.56 1024z"
fill="#262626" p-id="28068"></path> fill="#262626" p-id="28068"></path>
......
...@@ -30,6 +30,17 @@ ...@@ -30,6 +30,17 @@
.ant-tabs-top > .ant-tabs-nav, .ant-tabs-bottom > .ant-tabs-nav, .ant-tabs-top > div > .ant-tabs-nav, .ant-tabs-bottom > div > .ant-tabs-nav { .ant-tabs-top > .ant-tabs-nav, .ant-tabs-bottom > .ant-tabs-nav, .ant-tabs-top > div > .ant-tabs-nav, .ant-tabs-bottom > div > .ant-tabs-nav {
margin: 0; margin: 0;
} }
.ant-tabs-card.ant-tabs-small>.ant-tabs-nav .ant-tabs-tab {
padding: 4px 8px;
}
.ant-tabs-small>.ant-tabs-nav .ant-tabs-tab {
padding: 5px 0;
font-size: 14px;
}
.ant-tabs-editable-card .ant-tabs-tab .anticon {
margin-right: 4px;
vertical-align: text-top;
}
/* --- 水平 tabs --- end */ /* --- 水平 tabs --- end */
/* --- card 内偏移样式 --- start */ /* --- card 内偏移样式 --- start */
#studio_card > .ant-card-body { #studio_card > .ant-card-body {
......
...@@ -50,16 +50,16 @@ export default { ...@@ -50,16 +50,16 @@ export default {
'menu.editor.mind': '脑图编辑器', 'menu.editor.mind': '脑图编辑器',
'menu.editor.koni': '拓扑编辑器', 'menu.editor.koni': '拓扑编辑器',
'menu.demo': 'Demo 开发模板', 'menu.demo': 'Demo 开发模板',
'menu.clusters': '集群中心', 'menu.registration': '注册中心',
'menu.clusters.cluster': '集群实例', 'menu.registration.cluster': '集群实例',
'menu.clusters.clusterConfiguration': '集群配置', 'menu.registration.clusterConfiguration': '集群配置',
'menu.database': '数据源中心', 'menu.registration.database': '数据源管理',
'menu.studio': 'FlinkSql IDE', 'menu.studio': 'FlinkSql IDE',
'menu.flinksqlstudio': 'FlinkSql Studio', 'menu.flinksqlstudio': 'FlinkSQL Studio',
'menu.taskcenter': '作业中心', 'menu.taskcenter': '作业中心',
'menu.taskcenter.task': '作业管理', 'menu.taskcenter.task': '作业管理',
'menu.taskcenter.jar': 'Jar 管理', 'menu.registration.jar': 'Jar 管理',
'menu.document': '文档中心', 'menu.registration.document': '文档管理',
'menu.settings': '系统设置', 'menu.settings': '系统设置',
'menu.dev.flink': 'Flink 计算框架', 'menu.dev.flink': 'Flink 计算框架',
'menu.dev.flink.docs': '官方文档', 'menu.dev.flink.docs': '官方文档',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment