PageSourceSearch

https://cdn.wisgate.ai/wisgate/_nuxt/Bc3GuwXP.js

js wisgate.ai collected 2026-10-04 13:25:43 UTC 15,348 bytes, 1 lines download raw bytes

1import{d as ke,u as Ne,T as $e,U as we,a as G,r as w,v as Te,j as p,o as d,k as b,K as _,ac as Fe,m as x,l as r,p as u,q as te,c as Pe,s as T,E as oe,F as Me,x as qe,M as Se,L as Be,e as se}from"./DZ7mik94.js";import k from"./CcjRpxp1.js";import{g as De}from"./Lmt8mlL8.js";import{g as ne}from"./DXDH8whQ.js";import{_ as Re}from"./BDcM2FMb.js";import{H as Ce,a as Le}from"./BacmjrzH.js";import"./BxYReGA1.js";import"./Du7nxuHz.js";import"./DXgfVhBd.js";import"./CmG3zTr9.js";import"./COJFURLF.js";import"./CnnAWtRi.js";import"./rSTlLCgx.js";import"./BZKu3Cxi.js";import"./B6bz1XqG.js";import"./Cky70c8k.js";import"./B-T_MQ6L.js";import"./M164V7hc.js";import"./CFmxRTIl.js";import"./Cu8igjOL.js";import"./v22BJWT9.js";import"./DGpUZ0d1.js";import"./B1Rf_HE1.js";import"./CDAiuzJL.js";import"./lugWVUni.js";import"./CrntA7hl.js";import"./Bngt7IOy.js";import"./mNahu1yw.js";import"./CW7yqrCv.js";import"./DDY6rDHF.js";import"./d6--TbHR.js";import"./DPwV76yq.js";import"./1CRgFJIK.js";import"./D7bbJmtS.js";import"./GefESYmt.js";import"./0J-1uiXP.js";import"./Ci2gcBr-.js";import"./Y2uuUinc.js";import"./Dvp_0FNl.js";import"./B31PNEW8.js";import"./CI_W-t5K.js";import"./CK69QeyS.js";import"./uI37vTtg.js";const ze={class:"h-full font-sans"},Ve={class:"hidden md:inline"},He={class:"text-xs text-slate-500 tabular-nums"},Ue=["title"],Oe={key:0,class:"flex items-center gap-1.5"},je=["title"],Ee={key:1,class:"text-xs text-slate-400"},Ae={key:0,class:"text-xs text-slate-500 tabular-nums"},Ie={key:1,class:"text-xs text-slate-300"},Qe={class:"flex items-center gap-2 text-[11px] tabular-nums"},Ge={class:"text-slate-600 font-medium"},Je={class:"text-slate-600 font-medium"},Ke={key:0,class:"flex items-center gap-2 text-[10px] mt-0.5"},We={key:0,class:"text-slate-400"},Xe={class:"text-slate-500 font-medium"},Ye={key:1,class:"text-slate-400"},Ze={class:"text-slate-500 font-medium"},et={key:0,class:"flex items-center gap-1"},tt={class:"text-xs font-medium text-orange-500"},ot={key:1,class:"flex items-center gap-1.5"},st={class:"text-xs font-medium text-slate-700 tabular-nums"},nt=["title"],it={class:"max-w-[420px]"},at=["title"],rt={key:0,class:"mt-1 text-[11px] leading-5"},lt=["title"],ct={class:"text-center py-12"},ut={class:"text-lg font-medium text-slate-900 mb-2"},mt={class:"text-slate-500"},oo=ke({__name:"index",setup(dt){const{t:n}=Ne(),R=$e();we(G(()=>De(n).hallLogs));const L=w([]),F=w(!1),z=w(0),N=w(1),C=w(20),P=w(""),y=w({model_name:"",type:0,dateRange:[new Date(Date.now()-10080*60*1e3),new Date]}),ie=G(()=>[{label:n("logs.types.all"),value:0},{label:n("logs.types.api_request"),value:2},{label:n("logs.types.admin_action"),value:3}]),ae=G(()=>[{key:"model_name",label:n("logs.filter.model_name"),type:"text",placeholder:n("logs.filter.model_placeholder")},{key:"type",label:n("logs.filter.type"),type:"select",placeholder:n("logs.filter.type_placeholder"),options:ie.value},{key:"dateRange",label:n("logs.filter.date_range"),type:"daterange",placeholder:n("logs.filter.date_range_placeholder")}]),re=t=>{switch(t){case 2:return n("logs.types.api_request");case 3:return n("logs.types.admin_action");case 4:return n("logs.types.system");case 5:return n("logs.types.channel_test");default:return n("logs.types.unknown")}},le=t=>{switch(t){case 2:return"text-blue-600 bg-blue-100";case 3:return"text-green-600 bg-green-100";case 4:return"text-yellow-600 bg-yellow-100";case 5:return"text-purple-600 bg-purple-100";default:return"text-gray-600 bg-gray-100"}},ce=t=>new Date(t*1e3).toLocaleString(),V=t=>Be(se(t),6),ue=(t,e)=>{const o=t+e;return o<=0?0:Math.round(e/o*100)},M=t=>t?t>=1e6?(t/1e6).toFixed(1)+"m":t>=1e3?(t/1e3).toFixed(1)+"k":t.toString():"0",l={perToken:"per-token",perRequest:"per-request",perSecond:"per-second",imageBaseRatio:"image-base-ratio",videoBaseRatio:"video-base-ratio",videoTokenTier:"video-token-tier"},me=[l.imageBaseRatio,l.videoBaseRatio,l.videoTokenTier],a=t=>{const e=Number(t);return Number.isFinite(e)&&e>0},g=(t,e=6)=>{const o=Number(t);return Number.isFinite(o)?`$${o.toFixed(e).replace(/\.?0+$/,"")}`:"-"},v=(t,e=6)=>{const o=Number(t);if(!Number.isFinite(o))return"-";const i=o.toFixed(e);return e>0?i.replace(/(\.\d*?)0+$/,"$1").replace(/\.$/,""):i},H=t=>{const e=t.other;if(!e)return{};if(typeof e=="string")try{return JSON.parse(e)}catch{return{}}return e},U=t=>{const e=H(t);return e?.media_pricing_mode?e.media_pricing_mode:e?.pricing_mode?e.pricing_mode:a(e?.media_duration_seconds)&&a(e?.model_price)?l.perSecond:""},O=t=>{const e=H(t);if(U(t)===l.videoTokenTier&&a(e?.media_pricing_total_price)){const s=Number(e.media_pricing_total_price),m=se(Number(t.quota))/s;return!Number.isFinite(m)||m>=.9999?null:{original:g(s),percent:Math.round((1-m)*100)}}const o=Number(t.discount_quota),i=Number(t.quota)+o;return!a(o)||i<=0?null:{original:V(i),percent:ue(Number(t.quota),o)}},J=t=>me.includes(t),de=t=>{const e=U(t);return e===l.perSecond||J(e)},pe=t=>{const e={[l.perToken]:"model_detail.pricing.modes.per_token",[l.perRequest]:"model_detail.pricing.modes.per_request",[l.perSecond]:"model_detail.pricing.modes.per_second",[l.imageBaseRatio]:"model_detail.pricing.modes.image_base_ratio",[l.videoBaseRatio]:"model_detail.pricing.modes.video_base_ratio",[l.videoTokenTier]:"model_detail.pricing.modes.video_token_tier"};return n(e[t]||"model_detail.pricing.modes.custom")},_e=t=>{const e={[l.perSecond]:"model_detail.pricing.formulas.per_second",[l.imageBaseRatio]:"model_detail.pricing.formulas.image_base_ratio",[l.videoBaseRatio]:"model_detail.pricing.formulas.video_base_ratio",[l.videoTokenTier]:"model_detail.pricing.formulas.video_token_tier"};return n(e[t]||"model_detail.pricing.formulas.custom")},ge=t=>{const e=Number(t?.user_group_ratio);if(Number.isFinite(e)&&e!==-1)return{label:n("logs.billing.dedicated_ratio"),value:e};const o=Number(t?.group_ratio);return{label:n("logs.billing.group_ratio"),value:Number.isFinite(o)?o:1}},K=t=>{const e=Number(t?.media_count);return Number.isFinite(e)&&e>0?e:1},fe=t=>({mode:"text-indigo-600",tier:"text-violet-600",ratio:"text-sky-600",seconds:"text-amber-600",count:"text-teal-600",price:"text-emerald-600",total:"text-rose-600",group:"text-slate-600",operator:"text-slate-400"})[t]||"text-slate-600",q=(t,e)=>{const i=t.filter(Boolean).flatMap((s,f)=>f===0?[s]:[{text:"x",tone:"operator"},s]);return e&&i.push({text:"=",tone:"operator"},{text:e,tone:"total"}),{parts:i,text:i.map(s=>s.text).join(" ")}},W=(t,e)=>{const o=v(t);return e?`${o} (${e})`:o},S=t=>{const e=Number(t);return!Number.isFinite(e)||e<=0?"":g(e)},be=(t,e,o)=>{const i=K(t),s=Number(t?.media_duration_seconds),f=t?.media_pricing_tier,m=Number(t?.media_pricing_ratio),$=Number(t?.media_pricing_unit_price),h=Number(t?.media_pricing_total_price),D=c=>Number.isFinite(c)&&Math.abs(c-1)>1e-6?{text:`${v(c)} (${n("logs.billing.group_ratio")})`,tone:"group"}:null;if(e===l.videoTokenTier){const c=Number(t?.media_actual_tokens),E=Number(t?.media_estimated_tokens),A=a(c)?c:E,I=Number(t?.media_token_price_per_million),Y=a(c),Q=Number(A)*I/1e6*(Y?1:i);let Z=o;if(a(Q)&&a(h)){const ee=h/Q;Number.isFinite(ee)&&Math.abs(Q*o-h)>1e-6&&(Z=ee)}return q([a(A)?{text:`${M(Number(A))} tokens`,tone:"count"}:null,a(I)?{text:`${g(I)}/1M`,tone:"price"}:null,!Y&&i>1?{text:`${i} (count)`,tone:"count"}:null,D(Z)],S(h))}if(e===l.perSecond){const c=Number(t?.model_price),E=Number.isFinite(c)&&Number.isFinite(s)?c*s*o:0;return q([a(c)?{text:`${g(c)}/s`,tone:"price"}:null,a(s)?{text:`${v(s,2)}s`,tone:"seconds"}:null,D(o)],S(E))}if(e===l.imageBaseRatio&&a($)&&a(m)){const c=$/m;return q([{text:g(c),tone:"price"},{text:W(m,f),tone:"ratio"},{text:`${i} (count)`,tone:"count"},D(o)],S(a(h)?h:c*m*i*o))}if(e===l.videoBaseRatio&&a($)&&a(m)&&a(s)){const c=$/m/s;return q([{text:`${g(c)}/s`,tone:"price"},{text:`${v(s,2)}s`,tone:"seconds"},{text:W(m,f),tone:"ratio"},{text:`${i} (count)`,tone:"count"},D(o)],S(a(h)?h:c*s*m*i*o))}if(a($))return q([{text:g($),tone:"price"},{text:`${i} (count)`,tone:"count"},D(o)],S(a(h)?h:$*i*o));const X=_e(e);return{parts:[{text:X,tone:"group"}],text:X}},j=t=>{if(!de(t))return null;const e=H(t),o=U(t),i=ge(e),s=[{label:n("logs.billing.mode"),value:pe(o),tone:"mode"}];J(o)?(e?.media_pricing_tier&&s.push({label:n("logs.billing.tier"),value:e.media_pricing_tier,tone:"tier"}),a(e?.media_pricing_ratio)&&s.push({label:n("logs.billing.tier_ratio"),value:v(e.media_pricing_ratio),tone:"ratio"}),a(e?.media_duration_seconds)&&s.push({label:n("logs.billing.seconds"),value:`${v(e.media_duration_seconds,2)}s`,tone:"seconds"}),s.push({label:e?.media_type==="video"?n("logs.billing.video_count"):n("logs.billing.image_count"),value:K(e),tone:"count"}),a(e?.media_pricing_unit_price)&&s.push({label:n("logs.billing.unit_price"),value:g(e.media_pricing_unit_price),tone:"price"}),a(e?.media_pricing_total_price)&&s.push({label:n("logs.billing.pre_discount_total"),value:g(e.media_pricing_total_price),tone:"total"}),o===l.videoTokenTier&&(s.push({label:n("logs.billing.has_video_input"),value:e?.media_has_video_input?n("logs.billing.yes"):n("logs.billing.no"),tone:"tier"}),a(e?.media_estimated_tokens)&&s.push({label:n("logs.billing.estimated_tokens"),value:v(e.media_estimated_tokens,0),tone:"count"}),a(e?.media_actual_tokens)&&s.push({label:n("logs.billing.actual_tokens"),value:v(e.media_actual_tokens,0),tone:"count"}),a(e?.media_token_price_per_million)&&s.push({label:n("logs.billing.token_price"),value:`${g(e.media_token_price_per_million)}/1M`,tone:"price"}))):o===l.perSecond&&(a(e?.model_price)&&s.push({label:n("logs.billing.second_price"),value:`${g(e.model_price)}/s`,tone:"price"}),a(e?.media_duration_seconds)&&s.push({label:n("logs.billing.seconds"),value:`${v(e.media_duration_seconds,2)}s`,tone:"seconds"})),Math.abs(i.value-1)>1e-6&&s.push({label:i.label,value:v(i.value),tone:"group"});const f=be(e,o,i.value);return{parts:s,summary:s.map(m=>`${m.label}: ${m.value}`).join(" / "),formula:f.text,formulaParts:f.parts}},xe=()=>{const t={p:N.value-1,token_name:P.value||"",model_name:y.value.model_name||"",type:y.value.type||0,page_size:C.value,page:N.value},e=y.value.dateRange;if(e&&Array.isArray(e)&&e.length===2&&e[0]){const o=new Date(e[0]);if(o.setHours(0,0,0,0),t.start_timestamp=Math.floor(o.getTime()/1e3),e[1]){const i=new Date(e[1]);i.setHours(23,59,59,999),t.end_timestamp=Math.floor(i.getTime()/1e3)}}return t},B=async()=>{try{F.value=!0;const t=await Fe(xe());L.value=(t.items||[]).map(e=>{if(typeof e.other=="string")try{e.other=JSON.parse(e.other||"{}")}catch{e.other={}}else e.other=e.other||{};return e}),z.value=t.total}catch(t){console.error("Failed to fetch logs:",t),L.value=[],z.value=0}finally{F.value=!1}},ve=t=>{N.value=t.page,C.value=t.pageSize,B()},he=()=>{N.value=1,B()},ye=()=>{P.value="",y.value={model_name:"",type:0,dateRange:[new Date(Date.now()-10080*60*1e3),new Date]},N.value=1,B()};return Te(()=>{const t=R.query.model_name,e=R.query.token_name,o=R.query.date_from,i=R.query.date_to;if(t&&(y.value.model_name=t),e&&(P.value=e),o&&i){const s=new Date(o);s.setHours(0,0,0,0);const f=new Date(i);f.setHours(23,59,59,999),y.value.dateRange=[s,f]}B()}),(t,e)=>(d(),p("div",ze,[b(Ce,{data:L.value,loading:F.value,total:z.value,paginated:!0,page:N.value,"onUpdate:page":e[2]||(e[2]=o=>N.value=o),pageSize:C.value,"onUpdate:pageSize":e[3]||(e[3]=o=>C.value=o),rowsPerPageOptions:[20,50,100],onPageChange:ve},{search:_(()=>[b(Le,{searchValue:P.value,"onUpdate:searchValue":e[0]||(e[0]=o=>P.value=o),filterValues:y.value,"onUpdate:filterValues":e[1]||(e[1]=o=>y.value=o),searchPlaceholder:t.$t("logs.filter.token_placeholder"),filters:ae.value,loading:F.value,onSearch:he,onReset:ye},{actions:_(()=>[b(x(Se),{onClick:B,loading:F.value,size:"small",class:"!size-[30px] md:!size-auto !min-w-0 !p-0 md:!px-3 md:!py-0 md:!h-[34px] !text-xs !font-medium !rounded-lg !bg-slate-100 hover:!bg-slate-200 !text-slate-600 !border-0 inline-flex items-center justify-center"},{default:_(()=>[e[4]||(e[4]=r("i",{class:"pi pi-refresh text-xs md:mr-1.5"},null,-1)),r("span",Ve,u(t.$t("logs.refresh")),1)]),_:1},8,["loading"])]),_:1},8,["searchValue","filterValues","searchPlaceholder","filters","loading"])]),empty:_(()=>[r("div",ct,[r("h3",ut,u(t.$t("logs.empty.title")),1),r("p",mt,u(t.$t("logs.empty.desc")),1
1)])]),default:_(()=>[b(x(k),{field:"created_at",header:t.$t("logs.columns.time"),class:"w-42 min-w-42"},{body:_(({data:o})=>[r("span",He,u(ce(o.created_at)),1)]),_:1},8,["header"]),b(x(k),{field:"type",header:t.$t("logs.columns.type"),class:"w-28 min-w-28"},{body:_(({data:o})=>[r("span",{class:te(["inline-flex items-center px-1.5 py-0.5 rounded text-[11px] font-medium",le(o.type)])},u(re(o.type)),3)]),_:1},8,["header"]),b(x(k),{field:"token_name",header:t.$t("logs.columns.token"),class:"w-28 min-w-28"},{body:_(({data:o})=>[r("span",{class:"text-xs font-medium text-slate-700 truncate block max-w-28",title:o.token_name},u(o.token_name||"-"),9,Ue)]),_:1},8,["header"]),b(x(k),{field:"model_name",header:t.$t("logs.columns.model"),class:"min-w-44 w-72"},{body:_(({data:o})=>[o.model_name?(d(),p("div",Oe,[x(ne)(o.model_name)?.svg?(d(),Pe(Re,{key:0,name:x(ne)(o.model_name).svg,class:"size-3.5 shrink-0"},null,8,["name"])):T("",!0),r("span",{class:"text-xs text-slate-600 truncate max-w-40",title:o.model_name},u(o.model_name),9,je)])):(d(),p("span",Ee,"-"))]),_:1},8,["header"]),b(x(k),{field:"use_time",header:t.$t("logs.columns.duration"),class:"w-16 min-w-16"},{body:_(({data:o})=>[o.type===2?(d(),p("span",Ae,u(o.use_time)+"s ",1)):(d(),p("span",Ie,"-"))]),_:1},8,["header"]),b(x(k),{field:"prompt_tokens",header:t.$t("logs.columns.tokens"),class:"w-36 min-w-36"},{body:_(({data:o})=>[r("div",Qe,[e[5]||(e[5]=r("span",{class:"text-slate-400"},"In",-1)),r("span",Ge,u(M(o.prompt_tokens)),1),e[6]||(e[6]=r("span",{class:"text-slate-300"},"/",-1)),e[7]||(e[7]=r("span",{class:"text-slate-400"},"Out",-1)),r("span",Je,u(M(o.completion_tokens)),1)]),o.cache_tokens||o.cache_create_tokens?(d(),p("div",Ke,[o.cache_tokens?(d(),p("span",We,[e[8]||(e[8]=oe(" C·Hit ",-1)),r("span",Xe,u(M(o.cache_tokens)),1)])):T("",!0),o.cache_create_tokens?(d(),p("span",Ye,[e[9]||(e[9]=oe(" C·New ",-1)),r("span",Ze,u(M(o.cache_create_tokens)),1)])):T("",!0)])):T("",!0)]),_:1},8,["header"]),b(x(k),{field:"quota",header:t.$t("logs.columns.cost"),class:"w-24 min-w-24"},{body:_(({data:o})=>[o.quota<0?(d(),p("div",et,[e[10]||(e[10]=r("span",{class:"text-[10px] text-orange-500 bg-orange-50 px-1 py-0.5 rounded font-medium"},"REFUND",-1)),r("span",tt,u(V(-o.quota)),1)])):(d(),p("div",ot,[r("span",st,u(V(o.quota)),1),O(o)?(d(),p("span",{key:0,class:"text-[10px] font-medium text-emerald-600 bg-emerald-50 px-1 py-0.5 rounded",title:`${t.$t("logs.cost.original")}: ${O(o)?.original}`}," -"+u(O(o)?.percent)+"% ",9,nt)):T("",!0)]))]),_:1},8,["header"]),b(x(k),{field:"content",header:t.$t("logs.columns.content"),class:"min-w-48"},{body:_(({data:o})=>[r("div",it,[r("span",{class:"text-xs text-slate-500 truncate block",title:o.content},u(o.content||""),9,at),j(o)?(d(),p("div",rt,[r("div",{class:"truncate",title:j(o)?.formula},[(d(!0),p(Me,null,qe(j(o)?.formulaParts,(i,s)=>(d(),p("span",{key:`formula-${i.text}-${s}`,class:te([fe(i.tone),i.tone==="operator"?"mx-1":"font-medium"])},u(i.text),3))),128))],8,lt)])):T("",!0)])]),_:1},8,["header"])]),_:1},8,["data","loading","total","page","pageSize"])]))}});export{oo as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.