build/static/js/218.d192b3ae.chunk.js

1 line
15 KiB
JavaScript

(this.webpackJsonp=this.webpackJsonp||[]).push([[218],{"/hWb":function(e,t,A){"use strict";A.r(t),A("T2oS");var a=A("W9HT"),n=(A("DjyN"),A("NUBc")),c=(A("+L6B"),A("2/Rp")),l=(A("/zsF"),A("PArb")),s=A("Vi3r"),i=A.n(s),r=(A("miYZ"),A("tsqr")),m=A("zLi2"),o=A.n(m),u=A("o+MX"),E=A.n(u),d=A("RXMP"),p=A.n(d),v=A("KYsz"),f=A.n(v),g=A("j6J1"),b=A.n(g),h=A("Kwsy"),N=A.n(h),k=A("ZbhI"),y=A.n(k),R=A("M5Mt"),O=A.n(R),j=A("UtpJ"),S=A.n(j),C=A("FLGM"),Q=A.n(C),w=A("mnMc"),x=A.n(w),J=A("i5y0"),F=A.n(J),G=A("cDcd"),I=A.n(G),B=A("yJN6"),D=(A("AB5N"),A("y6OT")),W=A("JVvY");function K(e){if(null!=e)return e>=1e9?(e/1e9).toFixed(1)+"B":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString()}var Y=A("OgRQ"),M=A.n(Y),L=A.p+"static/media/code_lines.6a107916.svg",P=A.p+"static/media/repeat.66baa3b5.svg",T=A.p+"static/media/cover.ccb21cf3.svg",U=A("dF3D"),X=A("zRA8"),H=A.n(X),V=A.p+"static/media/files.f8e74d98.svg",Z=A.p+"static/media/class.4084a107.svg",z=A.p+"static/media/right-arrow.d8d1a0cf.svg",q=A("y6dH"),_=A("uixg"),$=A.n(_);t.default=function(e){var t,A=Object(G.useState)({}),s=o()(A,2),m=s[0],u=s[1],d=Object(G.useState)({}),v=o()(d,2),g=v[0],h=v[1],k=Object(G.useState)({}),R=o()(k,2),j=R[0],C=R[1],w=Object(G.useState)({}),J=o()(w,2),Y=J[0],X=J[1],_=Object(G.useState)(null),ee=o()(_,2),te=ee[0],Ae=ee[1],ae=Object(G.useState)(!0),ne=o()(ae,2),ce=ne[0],le=ne[1],se=Object(G.useState)({}),ie=o()(se,2),re=ie[0],me=ie[1],oe=Object(G.useState)([]),ue=o()(oe,2),Ee=ue[0],de=ue[1],pe=Object(G.useState)([]),ve=o()(pe,2),fe=ve[0],ge=ve[1],be=Object(G.useState)([]),he=o()(be,2),Ne=he[0],ke=he[1],ye=Object(G.useState)(1),Re=o()(ye,2),Oe=Re[0],je=Re[1],Se=Object(G.useState)(10),Ce=o()(Se,2),Qe=Ce[0],we=Ce[1],xe=Object(G.useState)(!1),Je=o()(xe,2),Fe=Je[0],Ge=Je[1],Ie=Object(G.useState)(!0),Be=o()(Ie,2),De=Be[0],We=Be[1],Ke=Object(G.useState)(null),Ye=o()(Ke,2),Me=Ye[0],Le=Ye[1],Pe=Object(G.useState)(!1),Te=o()(Pe,2),Ue=Te[0],Xe=Te[1],He=Object(G.useState)(!1),Ve=o()(He,2),Ze=Ve[0],ze=Ve[1],qe=Object(G.useState)(!1),_e=o()(qe,2),$e=_e[0],et=_e[1],tt=Object(G.useState)(null),At=o()(tt,2),at=At[0],nt=At[1],ct=e.projectDetail,lt=e.history,st=e.match.params,it=st.owner,rt=st.projectsId,mt=Object(G.useRef)(null);Object(G.useEffect)((function(){var e=document.getElementsByClassName("newContainer")[0];return e.style.backgroundColor="#F7F9FCFF",function(){e.style.backgroundColor="#FFFFFF"}}),[]),Object(G.useEffect)((function(){if(ct){var e,t=ct.author,A=ct.name;if(document.title=E()(e="代码质量分析-".concat(t.name,"/")).call(e,A),!ct.has_actions)return void Le(7);We(!0),Object(B.a)(it,rt).then((function(e){We(!1),0!==e.status?0===e.runs.length?Le(7):(Le(e.runs[0].status),e.runs[0].status&&(ot(),ut())):r.a.error(e.message)}))}}),[ct]),Object(G.useEffect)((function(){var e=mt.current;if(e&&at){var t=function(){try{var t,A=null===(t=e.contentWindow)||void 0===t?void 0:t.document;if(A){var a=Math.max(A.body.scrollHeight,A.body.offsetHeight,A.documentElement.clientHeight,A.documentElement.scrollHeight,A.documentElement.offsetHeight);e.style.height=a+"px"}}catch(e){}};return e.addEventListener("load",t),function(){e.removeEventListener("load",t)}}}),[at]);var ot=function(){Object(B.e)(it,rt,"lines,coverage,lines_to_cover,duplicated_lines_density,maintainability_issues,vulnerabilities,bugs,code_smells").then((function(e){if(0===e.status){var t=e.component.measures,A={};p()(t).call(t,(function(e){A[e.metric]=e.value})),C(A)}}))},ut=function(){var e={facets:"impactSeverities,tags,types",types:Ee.join(","),impactSeverities:fe.join(","),tags:Ne.join(","),p:Oe,ps:Qe};We(!0),Object(B.d)(e,it,rt).then((function(e){var t,A;We(!1);var a=e.issues?f()(t=e.issues).call(t,(function(e,t){return e[t.component]?e[t.component].push(t):e[t.component]=[t],e}),{}):[],n=e.facets?f()(A=e.facets).call(A,(function(e,t){return e[t.property]=b()(t),e}),{}):[];X(n),h(e),u(a)}))};Object(G.useEffect)((function(){1===Oe?ut():je(1)}),[Ee,fe,Ne]),Object(G.useEffect)((function(){ct&&1===Me&&ut()}),[Oe,Qe]),Object(G.useEffect)((function(){Ue?ze(Ue):N()((function(){ze(Ue)}),450)}),[Ue]);var Et=function(e,t,A){et(void 0),nt(void 0),window.scrollTo(0,0);var a,n=y()(e).call(e,A);n>-1?(O()(e).call(e,n,1),t(i()(e))):t(E()(a=[]).call(a,i()(e),[A]))},dt=function(){de([]),ge([]),ke([])},pt=function(e,t,A,a){var n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],c=n&&e&&!Ze?S()(e).call(e,0,10):e;return I.a.createElement("div",{className:"filters"},I.a.createElement("div",{className:"filter-title"},I.a.createElement("span",null,a),t.length>0&&I.a.createElement("button",{className:"clear-button",onClick:function(){return A([])}},"清空")),c&&Q()(c).call(c,(function(e,n){return I.a.createElement("div",{className:"filter-item".concat(x()(t).call(t,e.val)?" selected-item":""),key:e.val,onClick:function(){return Et(t,A,e.val)}},I.a.createElement("span",{className:"item-type"},"缺陷预警提示"===a?I.a.createElement("img",{className:"type-icon",src:W.e[e.val],alt:""}):I.a.createElement(q.a,{className:"type-icon",src:"代码缺陷及风格检查类型"===a?W.b[e.val]:W.c[n%5]}),"代码缺陷及风格检查类型"===a?W.a[e.val]:W.d[e.val]||e.val),I.a.createElement("span",null,e.count))})),n&&e.length>10&&I.a.createElement("span",{className:"show-more",onClick:function(){Xe(!Ue)}}," ",Ue?"收起":"显示更多"," "),I.a.createElement(l.a,{dashed:!0}))},vt=function(e,t,A){return I.a.createElement("div",{className:"total-item"},I.a.createElement("span",{className:"item-text"}," ",I.a.createElement("img",{src:A,alt:""})," ",e),I.a.createElement("span",{className:"ml20 item-value"},t))},ft=function(e,t,A,a,n){return I.a.createElement("div",{className:"total-item"},I.a.createElement("span",{className:"item-text"}," ",I.a.createElement("img",{src:n,alt:""})," ",e),I.a.createElement("span",{className:"item-more"},"(",a,I.a.createElement("span",null,K(t)),"行)"),I.a.createElement("span",{className:"ml20 item-value"},A,"%"))},gt=function(e){et(e),dt(),Object(B.b)(it,rt).then((function(t){var A;t.doxygen_url&&nt(E()(A="".concat(t.doxygen_url,"/")).call(A,2===e?"files":"annotated",".html"))}))},bt=function(){Ge(!0),Object(B.g)(!0,it,rt).then((function(e){0===e.status?Object(B.h)(ct.default_branch,it,rt).then((function(e){0===e.status&&(r.a.success("创建分析成功,请等待分析完成"),Le(5)),Ge(!1)})):Ge(!1)}))};return I.a.createElement(a.a,{spinning:De},I.a.createElement("div",{className:"page-quality"},1===Me&&I.a.createElement("div",{className:"quality-title"},I.a.createElement("span",null,"代码质量静态扫描"),I.a.createElement("span",null,"护航研发效能")),I.a.createElement("div",{className:"issue-total"},I.a.createElement(D.a,{visible:ce,issue:te,issueDetail:re,onClose:function(){return le(!1)}}),1!==Me&&I.a.createElement(G.Fragment,null,I.a.createElement("div",{className:"headBox font-16 pl15"},"sonar代码质量分析工具"),I.a.createElement("div",{className:"nullStoreBox mt25"},I.a.createElement("img",{src:M.a,alt:"",className:"loBox mt50"}),I.a.createElement("p",{className:"font-22 mt10"},"欢迎使用代码质量分析工具"),I.a.createElement("div",{className:"introBox font-15"},"代码质量分析工具通过静态代码分析帮助开发者识别和修复代码库潜在的缺陷、代码异味、复杂度过高的代码段以及潜在的安全漏洞。同时能够评估代码的结构和风格,提供关于代码覆盖率、重复率等关键指标的深入洞察。"),I.a.createElement("div",{className:"borBox"}),function(){switch(Me){case 7:return I.a.createElement(c.a,{type:"primary",style:{width:"112px",height:"36px"},onClick:bt,loading:Fe},"开始体验");case 5:case 6:return I.a.createElement(c.a,{type:"primary",style:{height:"36px"},disabled:!0},"代码正在分析中,请稍候");case 2:return I.a.createElement("div",null,I.a.createElement("p",null,"分析失败,请重试"),I.a.createElement(c.a,{type:"primary",style:{width:"112px",height:"36px"},onClick:bt,loading:Fe},"开始分析"));default:return I.a.createElement(I.a.Fragment,null)}}())),1===Me&&I.a.createElement("div",null,I.a.createElement("div",{className:"container total-info"},I.a.createElement("div",{className:"sub-container"},I.a.createElement("p",null,"软件质量统计结果,全方位精准定位问题"),I.a.createElement("p",null,"深度剖析代码细节,精准定位潜在问题,助力团队提升开发效率,打造高质量软件,为项目稳定运行保驾护航,开启高效开发新时代。"),I.a.createElement("img",{className:"triangular-arrow",src:H.a,alt:""}),I.a.createElement("div",{className:"info-list"},vt("Bugs",j.bugs,W.b.BUG),vt("漏洞",K(j.vulnerabilities),W.b.VULNERABILITY),vt("异味",K(j.code_smells),W.b.CODE_SMELL),ft("重复率",j.lines||"-",j.duplicated_lines_density||"-","代码",P),ft("覆盖率",j.lines_to_cover||"-",j.coverage||"-","代码",T),vt("代码行数",function(e){if(null!=e)return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}(j.lines||"-"),L)))),I.a.createElement("div",{className:"issue-list"},I.a.createElement("div",{className:"left-content ".concat(Ue?"show-more-list":"show-less-list")},I.a.createElement("div",{className:"count"},m&&I.a.createElement("div",{className:"count-title"},"共",j.maintainability_issues&&JSON.parse(j.maintainability_issues).total,"个问题"),(Ee.length>0||fe.length>0||Ne.length>0)&&I.a.createElement("button",{className:"clear-button",onClick:dt},"清空条件")),pt(Y.types,Ee,de,"代码缺陷及风格检查类型"),pt(Y.impactSeverities,fe,ge,"缺陷预警提示"),I.a.createElement("div",{className:"filters"},I.a.createElement("div",{className:"filter-title"},I.a.createElement("span",null,"代码执行分析功能")),I.a.createElement("div",{className:"filter-item".concat(1===$e?" selected-item":""),onClick:function(){return gt(1)}},I.a.createElement("span",{className:"item-type"}," ",I.a.createElement(q.a,{className:"type-icon",src:Z}),"classes类溯源"),I.a.createElement("img",{className:"type-icon",src:z,alt:""})),I.a.createElement("div",{className:"filter-item".concat(2===$e?" selected-item":""),onClick:function(){return gt(2)}},I.a.createElement("span",{className:"item-type"}," ",I.a.createElement(q.a,{className:"type-icon",src:V}),"files文件溯源"),I.a.createElement("img",{className:"type-icon",src:z,alt:""})),I.a.createElement(l.a,{dashed:!0})),pt(Y.tags,Ne,ke,"标签",!0)),I.a.createElement("div",{className:"right-content"},!$e&&I.a.createElement("div",{className:"content-warap ".concat(m&&g.total>0&&"has-issues")},m&&g.total>0&&Q()(t=F()(m)).call(t,(function(e){var t=o()(e,2),A=t[0],a=t[1];return I.a.createElement("div",{key:A},I.a.createElement("div",{className:"doc-title",title:A.split(":")[1]},I.a.createElement("img",{src:$.a,alt:""}),A.split(":")[1]),Q()(a).call(a,(function(e){var t;return I.a.createElement("div",{key:e.key,className:"issue",onClick:function(){return function(e){var t;lt.push({pathname:E()(t="/".concat(it,"/")).call(t,rt,"/service/quality/detail"),state:{baseInfo:g,selectedIssue:e}})}(e)}},I.a.createElement("p",{className:"issue-message"},e.message,I.a.createElement("span",{onClick:function(t){t.stopPropagation(),function(e){Ae(e),Object(B.f)(e.rule,it,rt).then((function(e){me(null==e?void 0:e.rule),le(!0)}))}(e)}},"问题分析"),I.a.createElement("span",null,"L",e.line)),I.a.createElement("p",{className:"content-info"},I.a.createElement("span",{className:"icon-text"}," ",I.a.createElement("img",{src:W.b[e.type],alt:""})," ",W.a[e.type]),I.a.createElement("span",{className:"icon-text"}," ",I.a.createElement("img",{src:W.e[e.impacts[0].severity],alt:""})," ",W.d[e.impacts[0].severity]),I.a.createElement("span",null,e.debt,"工作"),I.a.createElement("span",{className:"icon-text"},e.tags&&e.tags.length>0&&I.a.createElement(q.a,{className:"svg-icon",src:W.c[0]}),e.tags&&Q()(t=e.tags).call(t,(function(t,A){return I.a.createElement("span",{key:t},t,A<e.tags.length-1?",":"")})))))})))})),!g.total&&I.a.createElement("div",{className:"nodata"},I.a.createElement("img",{src:U.a,alt:""}),I.a.createElement("p",null,"暂无问题"))),$e&&I.a.createElement("iframe",{ref:mt,src:at,style:{width:"100%",border:"none"},scrolling:"no",title:"代码质量扫描结果"}),!$e&&g.total>0&&I.a.createElement(n.a,{showSizeChanger:!0,showQuickJumper:!0,current:Oe,total:g.total,onChange:function(e){return je(e)},onShowSizeChange:function(e,t){return we(t)}})))))))}},OgRQ:function(e,t){e.exports="data:image/png;base64,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"}}]);