diff --git a/package.json b/package.json index 7a1c3232..d6b36ce0 100644 --- a/package.json +++ b/package.json @@ -200,7 +200,7 @@ "eslintConfig": { "extends": "react-app" }, - "proxy": "http://172.20.32.202:9999", + "proxy": "http://172.20.32.202:4000", "port": "3007", "devDependencies": { "@babel/core": "^7.23.6", diff --git a/src/AppConfig.js b/src/AppConfig.js index e102edbe..308ff1a6 100644 --- a/src/AppConfig.js +++ b/src/AppConfig.js @@ -32,7 +32,7 @@ export function initAxiosInterceptors(props) { // 判断网络是否连接 initOnlineOfflineListener(); - var proxy = "https://testforgeplus.trustie.net"; + var proxy = "http://172.20.32.202:4000/"; // var proxy = "https://www.gitlink.org.cn"; //响应前的设置 diff --git a/src/forge/Server/api.js b/src/forge/Server/api.js index d5daf53d..52dc9dca 100644 --- a/src/forge/Server/api.js +++ b/src/forge/Server/api.js @@ -35,3 +35,10 @@ export function getProblemData(component, keys) { }); } +// 初始化sonar +export function initSonar(open, owner, repo) { + return fetch({ + url: `/api/v1/${owner}/${repo}/sonarqubes/sonar_initialize.json?has_actions=${ open }`, + method: 'post', + }); +} \ No newline at end of file diff --git a/src/forge/Server/quality/index.jsx b/src/forge/Server/quality/index.jsx index f1b4de18..f1fae6be 100644 --- a/src/forge/Server/quality/index.jsx +++ b/src/forge/Server/quality/index.jsx @@ -1,5 +1,5 @@ import React, { useState, useEffect, Fragment } from "react"; -import { getList, getCodeSnippets, getProblemDetail, getProblemData } from "../api"; +import { getList, getCodeSnippets, getProblemDetail, getProblemData, initSonar } from "../api"; import './detail.scss'; import ProblemDetail from "./component/ProblemDetail"; import { issueType, maintainability, issueTypeIcon, maintainabilityIcon } from "../constants/quality"; @@ -25,6 +25,7 @@ function IssueList(props) { const [selectedTag, setSelectedTag] = useState([]); const [pageNum, setPageNum] = useState(1); const [pageSize, setPageSize] = useState(10); + const [isopen, setIsopen] = useState(false); const { projectDetail, history } = props; const metricKeys = 'lines,coverage,lines_to_cover,duplicated_lines_density,maintainability_issues,vulnerabilities,bugs,code_smells'; const facets = 'impactSeverities,tags,types'; @@ -157,6 +158,10 @@ function IssueList(props) { }) } + const openAnalysis = () => { + initSonar(true, owner, projectsId) + } + return (
setDetailVisible(false)} /> { - false && + !isopen &&
sonar代码质量分析工具

欢迎使用代码质量分析工具

代码质量分析工具通过静态代码分析帮助开发者识别和修复代码库潜在的缺陷、代码异味、复杂度过高的代码段以及潜在的安全漏洞。同时能够评估代码的结构和风格,提供关于代码覆盖率、重复率等关键指标的深入洞察。
- +
} { - true &&
+ isopen &&

代码分析结果

diff --git a/src/services/project.js b/src/services/project.js index 0cbe82d5..694cdaac 100644 --- a/src/services/project.js +++ b/src/services/project.js @@ -6,7 +6,9 @@ let baseZoneUrl = `${zoneUrl}/api` if (__CLIENT__ ) { let settings = localStorage.chromesetting && localStorage.chromesetting !== 'undefined' &&JSON.parse(localStorage.chromesetting); - baseUrl = settings ? `${settings && settings.common.main_site_url}/api` : '/api'; + // 测试待删 + // baseUrl = settings ? `${settings && settings.common.main_site_url}/api` : '/api'; + baseUrl = settings ? `http://172.20.32.202:4000/api` : '/api'; baseZoneUrl = settings ? `${settings && settings.common.zone}/api` : `${zoneUrl}/api`; }