码桶
发现社区成员的开源项目
Analysis-CF7gDver.js7.6 KB
import{u as P,a as Z,c as ee,r as c,d as se,q as k,b as D,j as e,B as H,T,f as S,t as te,w as ie,k as le,S as ne,v as ae}from"./index-GWuvg2UH.js";import{B as oe}from"./index-DihvOmSo.js";import{E as N}from"./index-VbOLTMR0.js";import{S as L}from"./index-BZDftoba.js";import{T as F}from"./index-mZVFvfKe.js";import{T as g}from"./index-Bpyda4LF.js";import{E as re}from"./ExportButton-ChE0FTgH.js";import"./IconTickCircle-BYgwCdAe.js";import"./_baseDifference-DopHgqVv.js";import"./index-DIHsQVbu.js";import"./slice-B6jKCnyX.js";import"./object-DkPZvw8u.js";import"./index-BMbdBPA2.js";import"./index-BW_2QB9V.js";const ce=[1,7,30],O=["#2a5cff","#00b42a","#ff7d00","#722ed1","#00b2ff"];function m({title:s,items:u,nameTitle:l,renderName:n,colorIdx:r=0,span:t,onPickPage:j}){const{t:p}=P(),v=[p("colRefHost"),p("colPath"),p("colEntryUrl"),p("colExitUrl")].includes(l);return e.jsxs("div",{className:"card",style:{padding:0,overflow:"hidden",gridColumn:t?"span 2":void 0},children:[e.jsx("div",{className:"card-title",style:{padding:"14px 16px 6px"},children:s}),e.jsx(F,{columns:[{title:l,dataIndex:"name",ellipsis:{showTitle:!0},render:a=>e.jsx("span",{style:{fontFamily:v?"monospace":void 0},children:n?n(a):a})},{title:p("colPv"),dataIndex:"pv",width:100,render:a=>S(a)},{title:p("colPct"),dataIndex:"pctNum",width:210,render:a=>{const h=Math.min(100,Number(a)||0);return e.jsxs(ne,{style:{width:"100%"},children:[e.jsx("span",{style:{width:46,textAlign:"right",fontSize:12},children:ae(h)}),e.jsx("span",{style:{flex:1,height:6,background:"#f0f1f3",borderRadius:3,overflow:"hidden"},children:e.jsx("span",{style:{display:"block",height:"100%",width:`${h}%`,background:O[r%O.length]}})})]})}}],dataSource:u||[],rowKey:(a,h)=>`${a.name}-${h}`,pagination:!1,size:"small",onRow:j?a=>({onClick:()=>j(a.name),style:{cursor:"pointer"}}):void 0,empty:e.jsx(N,{description:p("analysisEmpty")})})]})}function E({title:s,nameTitle:u,items:l}){const{t:n}=P();return e.jsxs("div",{className:"card",style:{padding:0,overflow:"hidden"},children:[e.jsx("div",{className:"card-title",style:{padding:"14px 16px 6px"},children:s}),e.jsx(F,{columns:[{title:u,dataIndex:"u",ellipsis:{showTitle:!0},render:r=>e.jsx("span",{style:{fontFamily:"monospace"},children:r})},{title:n("colPv"),dataIndex:"pv",width:90,render:r=>S(r)},{title:n("uv"),dataIndex:"uv",width:90,render:r=>S(r)}],dataSource:l||[],rowKey:(r,t)=>`${r.u}-${t}`,pagination:!1,size:"small",empty:e.jsx(N,{description:n("analysisEmpty")})})]})}function we(){var R,z,K,U,$;const{t:s}=P(),u=Z(),{site:l}=ee(),[n,r]=c.useState(1),[t,j]=c.useState(null),[p,v]=c.useState(!1),[a,h]=c.useState(""),I=["paths","sources","env","geo","auto"],[G,_]=se(),f=G.get("tab")||"",[w,C]=c.useState(I.includes(f)?f:"paths"),[x,M]=c.useState(null),[B,q]=c.useState("");c.useEffect(()=>{if(w!=="auto"||!l)return;const i=`${l.id}:${n}`;if(B===i)return;const{start:y,end:X}=k(n);D.autoEvents(l.id,y,X).then(Y=>{M(Y),q(i)}).catch(()=>{})},[w,l,n,B]),c.useEffect(()=>{I.includes(f)&&C(f)},[f]);const J=i=>{C(i),_(i==="paths"?{}:{tab:i},{replace:!0})},A=c.useCallback(async()=>{if(l){v(!0);try{const{start:i,end:y}=k(n);j(await D.analysis(l.id,i,y)),h("")}catch(i){h(i.message)}finally{v(!1)}}},[l,n]);if(c.useEffect(()=>{A()},[A]),!l)return e.jsx("div",{className:"page",children:e.jsx(N,{style:{marginTop:60},title:e.jsx(T.Title,{heading:5,children:s("noSiteHint")}),description:s("createHint"),children:e.jsx(H,{theme:"solid",onClick:()=>u("/sites"),children:s("goSites")})})});const o=(t==null?void 0:t.total_pv)||0,d=i=>(i||[]).map(y=>({...y,pctNum:o>0?y.pv/o*100:0})),b={display:"grid",gridTemplateColumns:"1fr 1fr",gap:16,marginBottom:16},Q={display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:16,marginBottom:16},V=i=>ie(i),W=i=>le(i);return e.jsxs("div",{className:"page",children:[e.jsxs("div",{className:"toolbar",children:[e.jsx(T.Title,{heading:5,style:{margin:0},children:s("analysis")}),e.jsxs("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[e.jsx(re,{siteId:l==null?void 0:l.id,items:[{kind:"pages",label:s("expPages")},{kind:"entries",label:s("expEntries")},{kind:"exits",label:s("expExits")},{kind:"devices",label:s("expDevices")},{kind:"browsers",label:s("expBrowsers")},{kind:"oses",label:s("expOses")},{kind:"langs",label:s("expLangs")},{kind:"geo",label:s("expGeo")}],params:()=>k(n)}),ce.map(i=>e.jsx(H,{size:"small",theme:n===i?"solid":"borderless",onClick:()=>r(i),children:s(i===1?"today":i===7?"last7":"last30")},i))]})]}),a&&e.jsx(oe,{type:"danger",style:{marginBottom:12},description:e.jsx("div",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",fontFamily:"Consolas, Menlo, monospace",fontSize:12},children:a})}),e.jsx("div",{className:"stat-grid",children:e.jsxs("div",{className:"stat-card",children:[e.jsx("div",{className:"stat-label",children:s("colPv")}),e.jsx("div",{className:"stat-value",children:S(o)}),e.jsxs("div",{className:"stat-sub",children:[(R=t==null?void 0:t.range)==null?void 0:R.start," ~ ",(z=t==null?void 0:t.range)==null?void 0:z.end]})]})}),p&&!t?e.jsx(L,{active:!0,placeholder:e.jsx(L.Paragraph,{rows:6}),loading:!0}):e.jsxs(g,{type:"line",activeKey:w,onChange:J,style:{background:"#fff",borderRadius:8,padding:"0 16px 16px"},children:[e.jsxs(g.TabPane,{tab:s("tabPaths"),itemKey:"paths",children:[e.jsx(m,{title:s("colPath"),nameTitle:s("colPath"),items:d(t==null?void 0:t.pages),totalPv:o,colorIdx:0,span:!0,onPickPage:i=>u(`/page?url=${encodeURIComponent(i)}`)}),((K=t==null?void 0:t.pages)==null?void 0:K.length)>0&&e.jsx("div",{style:{color:"#86909c",fontSize:12,padding:"6px 4px 12px"},children:s("pdTipDrill")}),e.jsxs("div",{style:b,children:[e.jsx(m,{title:s("colEntryUrl"),nameTitle:s("colEntryUrl"),items:d(t==null?void 0:t.entries),totalPv:o,colorIdx:1}),e.jsx(m,{title:s("colExitUrl"),nameTitle:s("colExitUrl"),items:d(t==null?void 0:t.exits),totalPv:o,colorIdx:2})]})]}),e.jsx(g.TabPane,{tab:s("tabSources"),itemKey:"sources",children:e.jsxs("div",{style:b,children:[e.jsx(m,{title:s("colRefHost"),nameTitle:s("colRefHost"),items:d(t==null?void 0:t.referrers),totalPv:o,colorIdx:3}),e.jsx(m,{title:s("colChannel"),nameTitle:s("colChannel"),items:d(t==null?void 0:t.channels),totalPv:o,colorIdx:4,renderName:W})]})}),e.jsx(g.TabPane,{tab:s("tabEnv"),itemKey:"env",children:e.jsxs("div",{style:Q,children:[e.jsx(m,{title:s("browser"),nameTitle:s("browser"),items:d(t==null?void 0:t.browsers),totalPv:o,colorIdx:0}),e.jsx(m,{title:s("os"),nameTitle:s("os"),items:d(t==null?void 0:t.oses),totalPv:o,colorIdx:1}),e.jsx(m,{title:s("device"),nameTitle:s("device"),items:d(t==null?void 0:t.devices),totalPv:o,colorIdx:2,renderName:V})]})}),e.jsx(g.TabPane,{tab:s("tabGeo"),itemKey:"geo",children:e.jsxs("div",{style:b,children:[e.jsx(m,{title:s("colCountry"),nameTitle:s("colCountry"),items:d(t==null?void 0:t.countries),totalPv:o,colorIdx:3}),e.jsx(m,{title:s("colProvince"),nameTitle:s("colProvince"),items:d(t==null?void 0:t.provinces),totalPv:o,colorIdx:4})]})}),e.jsxs(g.TabPane,{tab:s("tabAuto"),itemKey:"auto",children:[e.jsxs("div",{style:b,children:[e.jsx(E,{title:s("autoOutlinks"),nameTitle:s("autoColUrl"),items:x==null?void 0:x.outlinks}),e.jsx(E,{title:s("autoDownloads"),nameTitle:s("autoColFile"),items:x==null?void 0:x.downloads}),e.jsx(E,{title:s("autoSearches"),nameTitle:s("autoColTerm"),items:x==null?void 0:x.searches})]}),e.jsx(T.Text,{type:"tertiary",style:{fontSize:12,marginTop:8,display:"block"},children:s("autoHint")})]})]}),e.jsxs(T.Text,{type:"tertiary",style:{fontSize:12,display:"block",marginTop:16},children:[l.name," · ",l.domain," · ",s("range"),": ",(U=t==null?void 0:t.range)==null?void 0:U.start," ~ ",($=t==null?void 0:t.range)==null?void 0:$.end,"(",te(),") · TOP 50"]})]})}export{we as default};