This is an automated email from the ASF dual-hosted git repository.

benjobs pushed a commit to branch dev-2.1.2
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git


The following commit(s) were added to refs/heads/dev-2.1.2 by this push:
     new e75639e7b [Bug] project build bug fixed
e75639e7b is described below

commit e75639e7b360a4f8ca4889b17a83dc5d74297e5c
Author: benjobs <[email protected]>
AuthorDate: Sat Sep 16 19:21:30 2023 +0800

    [Bug] project build bug fixed
---
 dist-material/release-docs/LICENSE                 |  3 +--
 .../streampark-console-service/pom.xml             | 13 ++++++++++
 .../streampark/console/base/util/GitUtils.java     | 20 ++++++++++++---
 .../src/api/system/user.ts                         |  3 +--
 .../src/assets/icons/http.svg                      |  2 +-
 .../src/assets/icons/ssh.svg                       |  1 +
 .../Application/src/AppDarkModeToggle.vue          |  4 ++-
 .../src/components/ContextMenu/src/ContextMenu.vue |  4 ++-
 .../src/components/Form/src/BasicForm.vue          |  2 +-
 .../src/components/Icon/src/SvgIcon.vue            |  3 ++-
 .../src/components/Page/src/PageFooter.vue         |  4 ++-
 .../src/hooks/web/useLockPage.ts                   |  9 ++++---
 .../src/locales/lang/en/flink/project.ts           |  2 ++
 .../src/locales/lang/en/setting/yarnQueue.ts       |  3 ++-
 .../src/locales/lang/en/system/user.ts             |  2 +-
 .../src/locales/lang/zh-CN/flink/project.ts        |  2 ++
 .../src/locales/lang/zh-CN/setting/yarnQueue.ts    |  3 ++-
 .../src/locales/lang/zh-CN/system/user.ts          |  2 +-
 .../streampark-console-webapp/src/utils/props.ts   |  2 +-
 .../src/views/base/login/Login.vue                 |  9 ++++---
 .../components/AppView/StopApplicationModal.vue    |  4 +--
 .../src/views/flink/app/hooks/useFlinkRender.tsx   |  2 +-
 .../src/views/flink/app/utils/index.ts             |  5 +++-
 .../src/views/flink/project/Add.vue                |  2 +-
 .../src/views/flink/project/Edit.vue               |  2 +-
 .../views/flink/project/components/LogModal.vue    | 24 ++---------------
 .../flink/project/components/RepositoryGroup.tsx   | 30 ++++++++++++++++++----
 .../views/setting/Alarm/components/AlertModal.vue  |  2 +-
 .../src/views/setting/FlinkHome/index.vue          | 12 +++------
 .../src/views/system/user/user.data.ts             |  4 +--
 30 files changed, 110 insertions(+), 70 deletions(-)

diff --git a/dist-material/release-docs/LICENSE 
b/dist-material/release-docs/LICENSE
index 7a903c3c2..9c5ee7b60 100644
--- a/dist-material/release-docs/LICENSE
+++ b/dist-material/release-docs/LICENSE
@@ -589,8 +589,7 @@ The following components are provided under the BSD 
License. See project link fo
 The text of each license is also included in licenses/LICENSE-[project].txt.
 
     
https://mvnrepository.com/artifact/com.thoughtworks.paranamer/paranamer/2.8 BSD
-    https://mvnrepository.com/artifact/com.jcraft/jsch/0.1.55 BSD
-    https://mvnrepository.com/artifact/com.jcraft/jzlib/1.1.1 BSD
+    https://mvnrepository.com/artifact/com.github.mwiede/jsch/0.2.11 BSD
 
 
 ========================================================================
diff --git a/streampark-console/streampark-console-service/pom.xml 
b/streampark-console/streampark-console-service/pom.xml
index 82add886c..68a4ac04b 100644
--- a/streampark-console/streampark-console-service/pom.xml
+++ b/streampark-console/streampark-console-service/pom.xml
@@ -45,6 +45,7 @@
         <springdoc-openapi-ui.version>1.6.9</springdoc-openapi-ui.version>
         <commons-compress.version>1.21</commons-compress.version>
         <javax-mail.version>1.4.7</javax-mail.version>
+        <jsch.version>0.2.11</jsch.version>
         <shiro.version>1.10.0</shiro.version>
         <p6spy.version>3.9.1</p6spy.version>
         <freemarker.version>2.3.30</freemarker.version>
@@ -300,6 +301,18 @@
             <groupId>org.eclipse.jgit</groupId>
             <artifactId>org.eclipse.jgit.ssh.jsch</artifactId>
             <version>${eclipse.jgit.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.jcraft</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>com.github.mwiede</groupId>
+            <artifactId>jsch</artifactId>
+            <version>${jsch.version}</version>
         </dependency>
 
         <dependency>
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/util/GitUtils.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/util/GitUtils.java
index d2eec554c..bd61a4d1b 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/util/GitUtils.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/util/GitUtils.java
@@ -38,6 +38,7 @@ import org.eclipse.jgit.transport.SshTransport;
 import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
 import org.eclipse.jgit.util.FS;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -46,6 +47,8 @@ import java.util.List;
 /** */
 public class GitUtils {
 
+  private GitUtils() {}
+
   public static Git clone(Project project) throws GitAPIException {
     CloneCommand cloneCommand =
         
Git.cloneRepository().setURI(project.getUrl()).setDirectory(project.getAppSource());
@@ -98,13 +101,24 @@ public class GitUtils {
                     @Override
                     protected JSch createDefaultJSch(FS fs) throws 
JSchException {
                       JSch jSch = super.createDefaultJSch(fs);
-                      if (project.getPrvkeyPath() == null) {
+                      String prvkeyPath = project.getPrvkeyPath();
+                      if (StringUtils.isBlank(prvkeyPath)) {
+                        String userHome = System.getProperty("user.home");
+                        if (userHome != null) {
+                          String rsaPath = userHome.concat("/.ssh/id_rsa");
+                          File resFile = new File(rsaPath);
+                          if (resFile.exists()) {
+                            prvkeyPath = rsaPath;
+                          }
+                        }
+                      }
+                      if (prvkeyPath == null) {
                         return jSch;
                       }
                       if (StringUtils.isEmpty(project.getPassword())) {
-                        jSch.addIdentity(project.getPrvkeyPath());
+                        jSch.addIdentity(prvkeyPath);
                       } else {
-                        jSch.addIdentity(project.getPrvkeyPath(), 
project.getPassword());
+                        jSch.addIdentity(prvkeyPath, project.getPassword());
                       }
                       return jSch;
                     }
diff --git 
a/streampark-console/streampark-console-webapp/src/api/system/user.ts 
b/streampark-console/streampark-console-webapp/src/api/system/user.ts
index b5767df01..30a17ad53 100644
--- a/streampark-console/streampark-console-webapp/src/api/system/user.ts
+++ b/streampark-console/streampark-console-webapp/src/api/system/user.ts
@@ -104,8 +104,7 @@ export function deleteUser(data) {
 }
 
 export function resetPassword(data): Promise<AxiosResponse<Result<string>>> {
-  return defHttp.put({ url: Api.ResetPassword, data },
-    { isReturnNativeResponse: true },);
+  return defHttp.put({ url: Api.ResetPassword, data }, { 
isReturnNativeResponse: true });
 }
 
 export function checkUserName(data) {
diff --git 
a/streampark-console/streampark-console-webapp/src/assets/icons/http.svg 
b/streampark-console/streampark-console-webapp/src/assets/icons/http.svg
index 95b8fc9c6..f49cbd71c 100644
--- a/streampark-console/streampark-console-webapp/src/assets/icons/http.svg
+++ b/streampark-console/streampark-console-webapp/src/assets/icons/http.svg
@@ -1 +1 @@
-<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 
1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";><svg 
t="1615703629730" class="icon" viewBox="0 0 1024 1024" version="1.1" 
xmlns="http://www.w3.org/2000/svg"; p-id="5964" 
xmlns:xlink="http://www.w3.org/1999/xlink"; width="200" 
height="200"><defs><style type="text/css"></style></defs><path d="M684.672 
591.189333c3.157333-26.154667 5.546667-52.266667 
5.546667-79.189333s-2.389333-53.077333-5.546667-79.189333 [...]
\ No newline at end of file
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 
1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";><svg 
t="1694830808867" class="icon" viewBox="0 0 1024 1024" version="1.1" 
xmlns="http://www.w3.org/2000/svg"; p-id="9591" 
xmlns:xlink="http://www.w3.org/1999/xlink"; width="200" height="200"><path 
d="M918.016 489.984l0-41.984-86.016 0 0 41.984 86.016 0zM918.016 384q25.984 0 
45.013333 18.986667t18.986667 45.013333l0 41.984q0 25.984-18.986667 
45.013333t-45.01 [...]
\ No newline at end of file
diff --git 
a/streampark-console/streampark-console-webapp/src/assets/icons/ssh.svg 
b/streampark-console/streampark-console-webapp/src/assets/icons/ssh.svg
new file mode 100644
index 000000000..1e024d1c9
--- /dev/null
+++ b/streampark-console/streampark-console-webapp/src/assets/icons/ssh.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 
1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";><svg 
t="1694830905072" class="icon" viewBox="0 0 1024 1024" version="1.1" 
xmlns="http://www.w3.org/2000/svg"; p-id="22900" 
xmlns:xlink="http://www.w3.org/1999/xlink"; width="200" height="200"><path 
d="M192 384c-25.6 0-42.666667 21.333333-42.666667 42.666667v74.666666c0 
21.333333 17.066667 42.666667 42.666667 
42.666667H298.666667v32H149.333333V640h170.666667 [...]
\ No newline at end of file
diff --git 
a/streampark-console/streampark-console-webapp/src/components/Application/src/AppDarkModeToggle.vue
 
b/streampark-console/streampark-console-webapp/src/components/Application/src/AppDarkModeToggle.vue
index 40b5c4964..abf6c47ea 100644
--- 
a/streampark-console/streampark-console-webapp/src/components/Application/src/AppDarkModeToggle.vue
+++ 
b/streampark-console/streampark-console-webapp/src/components/Application/src/AppDarkModeToggle.vue
@@ -79,7 +79,9 @@
       height: 18px;
       background-color: #fff;
       border-radius: 50%;
-      transition: transform 0.5s, background-color 0.5s;
+      transition:
+        transform 0.5s,
+        background-color 0.5s;
       will-change: transform;
     }
 
diff --git 
a/streampark-console/streampark-console-webapp/src/components/ContextMenu/src/ContextMenu.vue
 
b/streampark-console/streampark-console-webapp/src/components/ContextMenu/src/ContextMenu.vue
index 122b6e711..61cc99b7f 100644
--- 
a/streampark-console/streampark-console-webapp/src/components/ContextMenu/src/ContextMenu.vue
+++ 
b/streampark-console/streampark-console-webapp/src/components/ContextMenu/src/ContextMenu.vue
@@ -195,7 +195,9 @@
     background-color: @component-background;
     border: 1px solid rgb(0 0 0 / 8%);
     border-radius: 0.25rem;
-    box-shadow: 0 2px 2px 0 rgb(0 0 0 / 14%), 0 3px 1px -2px rgb(0 0 0 / 10%),
+    box-shadow:
+      0 2px 2px 0 rgb(0 0 0 / 14%),
+      0 3px 1px -2px rgb(0 0 0 / 10%),
       0 1px 5px 0 rgb(0 0 0 / 6%);
     background-clip: padding-box;
     user-select: none;
diff --git 
a/streampark-console/streampark-console-webapp/src/components/Form/src/BasicForm.vue
 
b/streampark-console/streampark-console-webapp/src/components/Form/src/BasicForm.vue
index 0169b4c86..ab4c10638 100644
--- 
a/streampark-console/streampark-console-webapp/src/components/Form/src/BasicForm.vue
+++ 
b/streampark-console/streampark-console-webapp/src/components/Form/src/BasicForm.vue
@@ -129,7 +129,7 @@
       });
 
       const getBindValue = computed(
-        () => ({ ...attrs, ...props, ...unref(getProps) } as Recordable),
+        () => ({ ...attrs, ...props, ...unref(getProps) }) as Recordable,
       );
 
       const getSchema = computed((): FormSchema[] => {
diff --git 
a/streampark-console/streampark-console-webapp/src/components/Icon/src/SvgIcon.vue
 
b/streampark-console/streampark-console-webapp/src/components/Icon/src/SvgIcon.vue
index 2c565d68b..d3274cc38 100644
--- 
a/streampark-console/streampark-console-webapp/src/components/Icon/src/SvgIcon.vue
+++ 
b/streampark-console/streampark-console-webapp/src/components/Icon/src/SvgIcon.vue
@@ -13,7 +13,8 @@
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
---><template>
+-->
+<template>
   <svg
     :class="[prefixCls, $attrs.class, spin && 'svg-icon-spin']"
     :style="getStyle"
diff --git 
a/streampark-console/streampark-console-webapp/src/components/Page/src/PageFooter.vue
 
b/streampark-console/streampark-console-webapp/src/components/Page/src/PageFooter.vue
index 153302646..c499ccf65 100644
--- 
a/streampark-console/streampark-console-webapp/src/components/Page/src/PageFooter.vue
+++ 
b/streampark-console/streampark-console-webapp/src/components/Page/src/PageFooter.vue
@@ -55,7 +55,9 @@
     line-height: 44px;
     background-color: @component-background;
     border-top: 1px solid @border-color-base;
-    box-shadow: 0 -6px 16px -8px rgb(0 0 0 / 8%), 0 -9px 28px 0 rgb(0 0 0 / 
5%),
+    box-shadow:
+      0 -6px 16px -8px rgb(0 0 0 / 8%),
+      0 -9px 28px 0 rgb(0 0 0 / 5%),
       0 -12px 48px 16px rgb(0 0 0 / 3%);
     transition: width 0.2s;
 
diff --git 
a/streampark-console/streampark-console-webapp/src/hooks/web/useLockPage.ts 
b/streampark-console/streampark-console-webapp/src/hooks/web/useLockPage.ts
index de0380811..47aa6eb5f 100644
--- a/streampark-console/streampark-console-webapp/src/hooks/web/useLockPage.ts
+++ b/streampark-console/streampark-console-webapp/src/hooks/web/useLockPage.ts
@@ -48,9 +48,12 @@ export function useLockPage() {
     }
     clear();
 
-    timeId = setTimeout(() => {
-      lockPage();
-    }, lockTime * 60 * 1000);
+    timeId = setTimeout(
+      () => {
+        lockPage();
+      },
+      lockTime * 60 * 1000,
+    );
   }
 
   function lockPage(): void {
diff --git 
a/streampark-console/streampark-console-webapp/src/locales/lang/en/flink/project.ts
 
b/streampark-console/streampark-console-webapp/src/locales/lang/en/flink/project.ts
index 88fb824ee..4f569def3 100644
--- 
a/streampark-console/streampark-console-webapp/src/locales/lang/en/flink/project.ts
+++ 
b/streampark-console/streampark-console-webapp/src/locales/lang/en/flink/project.ts
@@ -81,5 +81,7 @@ export default {
     updateProject: 'Update Project',
     deleteProject: 'Delete Project',
     deleteProjectMessage: 'Are you sure delete this project ?',
+    httpsCredential: 'Use Git or checkout with SVN using the web URL.',
+    sshCredential: 'Use a password-protected SSH key.',
   },
 };
diff --git 
a/streampark-console/streampark-console-webapp/src/locales/lang/en/setting/yarnQueue.ts
 
b/streampark-console/streampark-console-webapp/src/locales/lang/en/setting/yarnQueue.ts
index dff659561..0d4fc31ad 100644
--- 
a/streampark-console/streampark-console-webapp/src/locales/lang/en/setting/yarnQueue.ts
+++ 
b/streampark-console/streampark-console-webapp/src/locales/lang/en/setting/yarnQueue.ts
@@ -27,7 +27,8 @@ export default {
     yarnQueueLabelExpression: "Please input queue label like {'{queue} or 
{queue}@{lab1,...}'}",
     description: 'Please input the description of the queue.',
   },
-  selectionHint: "Quick-set 'yarn.application.name' and 
'yarn.application.node-label'. Please contact admins to add queue by the 
'Settings' -> 'Yarn Queue' page if no available queues.",
+  selectionHint:
+    "Quick-set 'yarn.application.name' and 'yarn.application.node-label'. 
Please contact admins to add queue by the 'Settings' -> 'Yarn Queue' page if no 
available queues.",
   checkResult: {
     emptyHint: 'Queue label can not be empty.',
     invalidFormatHint: 'Invalid queue label format',
diff --git 
a/streampark-console/streampark-console-webapp/src/locales/lang/en/system/user.ts
 
b/streampark-console/streampark-console-webapp/src/locales/lang/en/system/user.ts
index 74d56ccdc..f33bfba75 100644
--- 
a/streampark-console/streampark-console-webapp/src/locales/lang/en/system/user.ts
+++ 
b/streampark-console/streampark-console-webapp/src/locales/lang/en/system/user.ts
@@ -55,5 +55,5 @@ export default {
   locked: 'locked',
   effective: 'effective',
   resetSucceeded: 'Reset Succeeded',
-  newPasswordTip: "The new password is: ",
+  newPasswordTip: 'The new password is: ',
 };
diff --git 
a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/project.ts
 
b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/project.ts
index 8c85a2987..572e153d3 100644
--- 
a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/project.ts
+++ 
b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/project.ts
@@ -78,5 +78,7 @@ export default {
     updateProject: '更新项目',
     deleteProject: '删除项目',
     deleteProjectMessage: '确定删除项目?',
+    httpsCredential: '通过WebURL方式进行Git连接',
+    sshCredential: '使用受密码保护的SSH密钥进行Git连接',
   },
 };
diff --git 
a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/setting/yarnQueue.ts
 
b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/setting/yarnQueue.ts
index 9ecc9186a..d620073aa 100644
--- 
a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/setting/yarnQueue.ts
+++ 
b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/setting/yarnQueue.ts
@@ -27,7 +27,8 @@ export default {
     yarnQueueLabelExpression: "请输入队列,如 {'{queue} 或 {queue}@{lab1,...}'}",
     description: '请输入描述',
   },
-  selectionHint: "用来快速设置 'yarn.application.name' 与 
'yarn.application.node-label'。如果没有可用队列请联系管理员在 'Settings' -> 'Yarn Queue' 页面中创建",
+  selectionHint:
+    "用来快速设置 'yarn.application.name' 与 
'yarn.application.node-label'。如果没有可用队列请联系管理员在 'Settings' -> 'Yarn Queue' 页面中创建",
   checkResult: {
     emptyHint: '队列标签不能为空',
     invalidFormatHint: '队列标签格式错误',
diff --git 
a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/system/user.ts
 
b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/system/user.ts
index 4b51ee53a..c0358129f 100644
--- 
a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/system/user.ts
+++ 
b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/system/user.ts
@@ -55,5 +55,5 @@ export default {
   locked: '锁定',
   effective: '有效',
   resetSucceeded: '重置成功',
-  newPasswordTip: "新的密码为:",
+  newPasswordTip: '新的密码为:',
 };
diff --git a/streampark-console/streampark-console-webapp/src/utils/props.ts 
b/streampark-console/streampark-console-webapp/src/utils/props.ts
index 92fe2810b..5828c8cf7 100644
--- a/streampark-console/streampark-console-webapp/src/utils/props.ts
+++ b/streampark-console/streampark-console-webapp/src/utils/props.ts
@@ -191,7 +191,7 @@ export const buildProps = <
       : never;
   };
 
-export const definePropType = <T>(val: any) => ({ [wrapperKey]: val } as 
PropWrapper<T>);
+export const definePropType = <T>(val: any) => ({ [wrapperKey]: val }) as 
PropWrapper<T>;
 
 export const keyOf = <T extends Object>(arr: T) => Object.keys(arr) as 
Array<keyof T>;
 export const mutable = <T extends readonly any[] | Record<string, 
unknown>>(val: T) =>
diff --git 
a/streampark-console/streampark-console-webapp/src/views/base/login/Login.vue 
b/streampark-console/streampark-console-webapp/src/views/base/login/Login.vue
index 0bb1a2678..d34791923 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/base/login/Login.vue
+++ 
b/streampark-console/streampark-console-webapp/src/views/base/login/Login.vue
@@ -121,9 +121,12 @@
     }
   }
 
-  [data-theme='dark']{
-    .@{prefix-cls}-form{
-      .ant-form-item-has-error 
:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper,
+  [data-theme='dark'] {
+    .@{prefix-cls}-form {
+      .ant-form-item-has-error
+        :not(.ant-input-affix-wrapper-disabled):not(
+          .ant-input-affix-wrapper-borderless
+        ).ant-input-affix-wrapper,
       .ant-input-affix-wrapper,
       .ant-input {
         color: rgba(0, 0, 0, 0.85);
diff --git 
a/streampark-console/streampark-console-webapp/src/views/flink/app/components/AppView/StopApplicationModal.vue
 
b/streampark-console/streampark-console-webapp/src/views/flink/app/components/AppView/StopApplicationModal.vue
index 453b24e3e..8e2fbde87 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/flink/app/components/AppView/StopApplicationModal.vue
+++ 
b/streampark-console/streampark-console-webapp/src/views/flink/app/components/AppView/StopApplicationModal.vue
@@ -23,7 +23,6 @@
 </script>
 
 <script setup lang="ts" name="StopApplicationModal">
-  import { InputNumber } from 'ant-design-vue';
   import { BasicForm, useForm } from '/@/components/Form';
   import { SvgIcon } from '/@/components/Icon';
   import { BasicModal, useModalInner } from '/@/components/Modal';
@@ -91,8 +90,7 @@
   /* submit */
   async function handleSubmit() {
     try {
-      const { stopSavePointed, customSavepoint, drain } =
-        (await validate()) as Recordable;
+      const { stopSavePointed, customSavepoint, drain } = (await validate()) 
as Recordable;
       const stopReq = {
         id: app.id,
         savePointed: stopSavePointed,
diff --git 
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
 
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
index e23609925..4a103f81b 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
+++ 
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
@@ -461,7 +461,7 @@ export const renderSqlHistory = (
             )}
 
             <span style="color: darkgrey">
-                <Icon icon="ant-design:clock-circle-outlined" />
+              <Icon icon="ant-design:clock-circle-outlined" />
               {ver.createTime}
             </span>
           </div>
diff --git 
a/streampark-console/streampark-console-webapp/src/views/flink/app/utils/index.ts
 
b/streampark-console/streampark-console-webapp/src/views/flink/app/utils/index.ts
index 98857e361..715dc1ebd 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/flink/app/utils/index.ts
+++ 
b/streampark-console/streampark-console-webapp/src/views/flink/app/utils/index.ts
@@ -161,7 +161,10 @@ export function handleIsStart(app: Recordable, optionApps: 
Recordable) {
 }
 
 export function handleYarnQueue(values: Recordable) {
-  if (values.executionMode == ExecModeEnum.YARN_APPLICATION || 
values.executionMode == ExecModeEnum.YARN_PER_JOB) {
+  if (
+    values.executionMode == ExecModeEnum.YARN_APPLICATION ||
+    values.executionMode == ExecModeEnum.YARN_PER_JOB
+  ) {
     const queue = values['yarnQueue'];
     if (queue != null && queue !== '' && queue !== undefined) {
       return queue;
diff --git 
a/streampark-console/streampark-console-webapp/src/views/flink/project/Add.vue 
b/streampark-console/streampark-console-webapp/src/views/flink/project/Add.vue
index 6c3ff847f..41c6215d9 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/flink/project/Add.vue
+++ 
b/streampark-console/streampark-console-webapp/src/views/flink/project/Add.vue
@@ -71,7 +71,7 @@
   <PageWrapper contentFullHeight contentBackground contentClass="p-26px">
     <BasicForm
       @register="registerForm"
-      @submit="(values:Recordable)=>handleSubmit(values,handleCreateAction)"
+      @submit="(values: Recordable) => handleSubmit(values, 
handleCreateAction)"
     >
       <template #formFooter>
         <div class="flex items-center w-full justify-center">
diff --git 
a/streampark-console/streampark-console-webapp/src/views/flink/project/Edit.vue 
b/streampark-console/streampark-console-webapp/src/views/flink/project/Edit.vue
index 2650ad78d..99748c59f 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/flink/project/Edit.vue
+++ 
b/streampark-console/streampark-console-webapp/src/views/flink/project/Edit.vue
@@ -101,7 +101,7 @@
   <PageWrapper contentFullHeight contentBackground contentClass="p-26px">
     <BasicForm
       @register="registerForm"
-      @submit="(values:Recordable)=>handleSubmit(values,handleEditAction)"
+      @submit="(values: Recordable) => handleSubmit(values, handleEditAction)"
     >
       <template #formFooter>
         <div class="flex items-center w-full justify-center">
diff --git 
a/streampark-console/streampark-console-webapp/src/views/flink/project/components/LogModal.vue
 
b/streampark-console/streampark-console-webapp/src/views/flink/project/components/LogModal.vue
index 2257e63b2..b706af38e 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/flink/project/components/LogModal.vue
+++ 
b/streampark-console/streampark-console-webapp/src/views/flink/project/components/LogModal.vue
@@ -33,7 +33,6 @@
 
   let startOffset: Nullable<number> = null;
   const logTime = ref<string>('');
-  const getLogLoading = ref<boolean>(false);
   const showRefresh = ref<boolean>(false);
   const project = reactive<Recordable>({});
 
@@ -49,17 +48,16 @@
     await refreshLog();
     start();
   }
-  const { isPending, start, stop } = useTimeoutFn(
+  const { start, stop } = useTimeoutFn(
     () => {
       refreshLog();
     },
-    3000,
+    2000,
     { immediate: false },
   );
 
   async function refreshLog() {
     try {
-      getLogLoading.value = true;
       const { data } = await buildLog({
         id: project.id,
         startOffset,
@@ -79,17 +77,12 @@
       closeModal();
       console.error('logModal error', error);
     } finally {
-      getLogLoading.value = false;
       changeLoading(false);
     }
   }
   async function handleClose() {
     stop();
   }
-  function handleLogStatus() {
-    if (isPending.value) stop();
-    else start();
-  }
 </script>
 <template>
   <BasicModal
@@ -108,19 +101,6 @@
       <div class="flex align-items-center">
         <div class="flex-1 text-left">{{ t('flink.app.view.refreshTime') }}:{{ 
logTime }}</div>
         <div class="button-group">
-          <template v-if="showRefresh">
-            <a-button
-              key="status"
-              :type="isPending ? 'error' : 'primary'"
-              @click="handleLogStatus()"
-            >
-              {{ isPending ? 'pause' : 'resume' }}
-            </a-button>
-            <a-button key="refresh" type="primary" @click="refreshLog" 
:loading="getLogLoading">
-              {{ t('flink.app.view.refresh') }}
-            </a-button>
-          </template>
-
           <a-button key="stop" type="primary" @click="closeModal()">
             {{ t('common.closeText') }}
           </a-button>
diff --git 
a/streampark-console/streampark-console-webapp/src/views/flink/project/components/RepositoryGroup.tsx
 
b/streampark-console/streampark-console-webapp/src/views/flink/project/components/RepositoryGroup.tsx
index 8bef222ef..5f317752f 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/flink/project/components/RepositoryGroup.tsx
+++ 
b/streampark-console/streampark-console-webapp/src/views/flink/project/components/RepositoryGroup.tsx
@@ -14,15 +14,16 @@
   See the License for the specific language governing permissions and
   limitations under the License. 
 */
-import { defineComponent } from 'vue';
+import { defineComponent, h } from 'vue';
 import type { PropType } from 'vue';
-import { Form, Input, Select } from 'ant-design-vue';
+import { Form, Input, Select, Tag } from 'ant-design-vue';
 export interface RepositoryProps {
   gitCredential: string | number;
   url: string;
 }
 import { useI18n } from '/@/hooks/web/useI18n';
 import { GitCredentialEnum } from '/@/enums/projectEnum';
+import { SvgIcon } from '/@/components/Icon';
 export default defineComponent({
   name: 'RepositoryUrl',
   props: {
@@ -45,8 +46,14 @@ export default defineComponent({
     };
 
     const options = [
-      { label: 'http/https', value: GitCredentialEnum.HTTPS },
-      { label: 'ssh', value: GitCredentialEnum.SSH },
+      {
+        label: h('div', {}, [h(SvgIcon, { name: 'http', color: '#108ee9', 
size: '30' }, '')]),
+        value: GitCredentialEnum.HTTPS,
+      },
+      {
+        label: h('div', {}, [h(SvgIcon, { name: 'ssh', color: '#108ee9', size: 
'30' }, '')]),
+        value: GitCredentialEnum.SSH,
+      },
     ];
 
     return () => {
@@ -55,7 +62,7 @@ export default defineComponent({
           <Input.Group compact class="!flex custom-input-group">
             <Select
               name="gitCredential"
-              style="width: 120px"
+              style="width: 80px"
               placeholder={t('flink.project.form.gitCredentialPlaceholder')}
               value={props.value?.gitCredential}
               onChange={(e: any) => handleProtocolChange(e)}
@@ -70,6 +77,19 @@ export default defineComponent({
               onInput={(e: any) => handleUrlChange(e.target.value)}
             />
           </Input.Group>
+          <p class="conf-desc mt-10px">
+            <span class="note-info">
+              <Tag color="#2db7f5" class="tag-note">
+                {t('flink.app.noteInfo.note')}
+              </Tag>
+              {props.value?.gitCredential === 1 && (
+                <span>{t('flink.project.operationTips.httpsCredential')}</span>
+              )}
+              {props.value?.gitCredential === 2 && (
+                <span>{t('flink.project.operationTips.sshCredential')}</span>
+              )}
+            </span>
+          </p>
         </div>
       );
     };
diff --git 
a/streampark-console/streampark-console-webapp/src/views/setting/Alarm/components/AlertModal.vue
 
b/streampark-console/streampark-console-webapp/src/views/setting/Alarm/components/AlertModal.vue
index 824277770..1a4a56e86 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/setting/Alarm/components/AlertModal.vue
+++ 
b/streampark-console/streampark-console-webapp/src/views/setting/Alarm/components/AlertModal.vue
@@ -209,7 +209,7 @@
           :placeholder="t('setting.alarm.faultAlertType')"
           allowClear
           mode="multiple"
-          @change="(value: string[]) => alertType = value"
+          @change="(value: string[]) => (alertType = value)"
         >
           <SelectOption
             v-for="(v, k) in alertTypes"
diff --git 
a/streampark-console/streampark-console-webapp/src/views/setting/FlinkHome/index.vue
 
b/streampark-console/streampark-console-webapp/src/views/setting/FlinkHome/index.vue
index 04f33fe34..6715dd307 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/setting/FlinkHome/index.vue
+++ 
b/streampark-console/streampark-console-webapp/src/views/setting/FlinkHome/index.vue
@@ -25,20 +25,14 @@
   import { onMounted, ref } from 'vue';
   import { useModal } from '/@/components/Modal';
   import { SvgIcon } from '/@/components/Icon';
-  import {
-    List,
-    Switch,
-    Card,
-    Popconfirm,
-    Tooltip
-  } from 'ant-design-vue';
+  import { List, Switch, Card, Popconfirm, Tooltip } from 'ant-design-vue';
   import {
     CheckOutlined,
     CloseOutlined,
     DeleteOutlined,
     EyeOutlined,
     EditOutlined,
-    PlusOutlined
+    PlusOutlined,
   } from '@ant-design/icons-vue';
   import { FlinkEnvModal, FlinkEnvDrawer } from './components';
   import {
@@ -46,7 +40,7 @@
     fetchDefaultSet,
     fetchFlinkEnv,
     fetchFlinkEnvRemove,
-    fetchFlinkInfo
+    fetchFlinkInfo,
   } from '/@/api/flink/setting/flinkEnv';
   import { FlinkEnv } from '/@/api/flink/setting/types/flinkEnv.type';
   import { useMessage } from '/@/hooks/web/useMessage';
diff --git 
a/streampark-console/streampark-console-webapp/src/views/system/user/user.data.ts
 
b/streampark-console/streampark-console-webapp/src/views/system/user/user.data.ts
index 57ab342b1..b01884559 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/system/user/user.data.ts
+++ 
b/streampark-console/streampark-console-webapp/src/views/system/user/user.data.ts
@@ -151,10 +151,10 @@ export const formSchema = (formType: string): 
FormSchema[] => {
       component: 'Select',
       componentProps: {
         disabled: isView,
-        options:  [
+        options: [
           { label: t('ADMIN'), value: UserTypeEnum.ADMIN },
           { label: t('USER'), value: UserTypeEnum.USER },
-        ]
+        ],
       },
       rules: [{ required: true }],
     },

Reply via email to