1import{D as ve}from"./DailyTrendChart-BL8NpSnZ.js";import{ac as S}from"./index-CvxDUdwh.js";import{_ as me}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{a4 as F,a8 as pe,a7 as be,b7 as fe,be as ye,m as _e,a as ge,aW as Ce}from"./icons-B5R-B_eA.js";import{o as we,x as k,y as G,z as n,L as t,H as o,u as h,G as A,B as s,C as u,I as H,N as he,O as Ve,K as Ne,b as p,D as m,c as C}from"./vendor-CGUashZo.js";import"./vue-DF2iH-iO.js";const K={partner:"åä½å",web:"ç½é¡µ",browser_extension:"æµè§å¨æä»¶",miniprogram:"å°ç¨åº",other:"å
¶ä»"};function ke(b={}){const c=b.leading_channel;return[{label:"æ°å¢ç¨æ·",value:Number(b.new_users||0),note:"ç»è®¡æå
å®ææ³¨å"},{label:"å·²å½å ç¨æ·",value:Number(b.attributed_users||0),note:"æ³¨åæ¶å½ä¸æææ¸ éç "},{label:"ç´æ¥ / æªç¥",value:Number(b.direct_users||0),note:"æªæºå¸¦æææ¸ éç "},{label:"ç¬¬ä¸æ¥æº",value:(c==null?void 0:c.name)||"-",note:c?`å¸¦æ¥ ${Number(c.new_users||0)} 使°ç¨æ·`:"ææ æ¸ éå½å "}]}function xe(b,c){const f=String(c||"").trim().toLowerCase();if(!f)return"";const x=new URL(b);return x.searchParams.set("channel",f),x.toString()}function W(b){return K[b]||K.other}const ze={class:"page channel-analytics-page"},Te={class:"page-header"},Se={class:"heading-actions"},Ue={class:"period-line"},$e={class:"metric-grid"},Le={class:"metric-icon"},Ae={class:"section-heading"},Be={class:"channel-name-cell"},De={class:"detail-grid"},Ie={class:"section-heading"},Pe={class:"row-actions"},Re={class:"channel-form"},qe={class:"span-2"},Ee={class:"dialog-actions"},Me={__name:"ChannelAnalytics",setup(b){const c=p(30),f=p(null),x=p([]),w=p(!1),U=p(!1),v=p(""),y=p(""),V=p(!1),g=p(""),i=p(R()),Y=[{label:"è¿ 7 天",value:7},{label:"è¿ 30 天",value:30}],j=[{label:"åä½å",value:"partner"},{label:"ç½é¡µ",value:"web"},{label:"æµè§å¨æä»¶",value:"browser_extension"},{label:"å°ç¨åº",value:"miniprogram"},{label:"å
¶ä»",value:"other"}],J=[ye,_e,ge,Ce],Q=C(()=>{var a;return ke((a=f.value)==null?void 0:a.summary).map((e,d)=>({...e,icon:J[d]}))}),I=C(()=>{var a;return((a=f.value)==null?void 0:a.channels)||[]}),P=C(()=>{var a;return((a=f.value)==null?void 0:a.daily)||[]}),B=C(()=>{const a=new Map;for(const e of P.value){const d=String((e==null?void 0:e.date)||"");d&&a.set(d,(a.get(d)||0)+Number((e==null?void 0:e.new_users)||0))}return[...a.entries()].sort((e,d)=>e[0].localeCompare(d[0])).map(([e,d])=>({date:e,calls:d}))}),X=C(()=>{var a;return((a=B.value.at(-1))==null?void 0:a.calls)??null}),Z=C(()=>B.value.slice(-7).reduce((a,e)=>a+Number(e.calls||0),0)),ee=C(()=>{var a;return((a=f.value)==null?void 0:a.features)||[]}),le=C(()=>{var e;const a=(e=f.value)==null?void 0:e.period;return a?`${a.start} è³ ${a.end}`:""});function R(){return{code:"",name:"",type:"other",attribution_days:30,partner_name:"",contact:"",note:""}}async function z(){w.value=!0,v.value="";try{const[a,e]=await Promise.all([S.channelAnalytics(c.value),S.acquisitionChannels()]);f.value=a,x.value=Array.isArray(e==null?void 0:e.items)?e.items:[]}catch(a){v.value=a.message||"æ¸ éç»è®¡å 载失败"}finally{w.value=!1}}function q(){g.value="",i.value=R(),v.value="",y.value="",V.value=!0}function ae(a){g.value=a.id,i.value={code:a.code,name:a.name||"",type:a.type||"other",attribution_days:Number(a.attribution_days||30),partner_name:a.partner_name||"",contact:a.contact||"",note:a.note||""},v.value="",y.value="",V.value=!0}async function ne(){if(!U.value){U.value=!0,v.value="",y.value="";try{const a={...i.value,code:String(i.value.code||"").trim().toLowerCase(),name:String(i.value.name||"").trim()};g.value?await S.updateAcquisitionChannel({...a,id:g.value}):await S.createAcquisitionChannel(a),V.value=!1,await z(),y.value=g.value?"æ¸ é设置已ä¿åã":"æ¸ éå·²å建ï¼å¯ä»¥å¼å§ä½¿ç¨æ¸ é龿¥ã"}catch(a){v.value=a.message||"æ¸ éä¿å失败"}finally{U.value=!1}}}async function te(a){v.value="",y.value="";try{await S.setAcquisitionChannelStatus({id:a.id,enabled:!a.enabled}),await z(),y.value=a.enabled?`å·²åç¨æ¸ éï¼${a.name}`:`å·²å¯ç¨æ¸ éï¼${a.name}`}catch(e){v.value=e.message||"æ¸ éç¶ææ´æ°å¤±è´¥"}}async function oe(a){const e=typeof window>"u"?"https://koo.ai":window.location.origin,d=xe(`${e}/register`,a.code);try{await navigator.clipboard.writeText(d),y.value=`å·²å¤å¶ ${a.name}
1 çæ³¨åæ¸ é龿¥ã`,v.value=""}catch{v.value=`å¤å¶å¤±è´¥ï¼è¯·æå¨ä½¿ç¨ï¼${d}`}}function N(a){return Number(a||0).toLocaleString("zh-CN")}function se(a){return`${Number(a||0).toFixed(1)}%`}function ue(a){if(!a)return"-";const e=new Date(a);return Number.isNaN(e.getTime())?String(a):e.toLocaleString("zh-CN",{hour12:!1})}function E(a){return a.channel_name||"ç´æ¥è®¿é® / æªç¥æ¥æº"}return we(z),(a,e)=>{const d=m("SelectButton"),_=m("Button"),M=m("Message"),D=m("Tag"),T=m("Card"),r=m("Column"),$=m("DataTable"),L=m("InputText"),re=m("Select"),ie=m("InputNumber"),de=m("Textarea"),ce=m("Dialog");return k(),G("section",ze,[n("header",Te,[e[11]||(e[11]=n("div",null,[n("p",{class:"eyebrow"},"Acquisition"),n("h1",null,"æ°å¢ç¨æ·æ¥æº"),n("p",null,"ç¨å¯ä¸æ¸ éç è¯å«æ³¨åæ¥æºï¼æ¥çåªä¸ªåä½åãç½é¡µãæä»¶æå°ç¨åºå¸¦æ¥çæ°ç¨æ·æå¤ã")],-1)),n("div",Se,[t(d,{modelValue:c.value,"onUpdate:modelValue":e[0]||(e[0]=l=>c.value=l),options:Y,"option-label":"label","option-value":"value",onChange:z},null,8,["modelValue"]),t(_,{rounded:"",onClick:q},{default:o(()=>[t(h(F),{size:17}),e[10]||(e[10]=n("span",null,"åå»ºæ¸ é",-1))]),_:1}),t(_,{severity:"secondary",outlined:"",rounded:"","aria-label":"å·æ°",loading:w.value,onClick:z},{default:o(()=>[t(h(pe),{size:18})]),_:1},8,["loading"])])]),v.value?(k(),A(M,{key:0,severity:"error",closable:!1},{default:o(()=>[s(u(v.value),1)]),_:1})):H("",!0),y.value?(k(),A(M,{key:1,severity:"success",closable:!1},{default:o(()=>[s(u(y.value),1)]),_:1})):H("",!0),n("div",Ue,[t(D,{severity:"secondary",rounded:""},{default:o(()=>[s(u(le.value||`è¿ ${c.value} 天`),1)]),_:1}),e[12]||(e[12]=n("span",null,"注åæåæ¶å»ç»æ¥æºï¼åå²è´¦å·ä¸ä¼åæ¨æ¸ éã",-1))]),n("section",$e,[t(ve,{rows:B.value,title:"æå¤©æ°å¢ç¨æ·",subtitle:"æ¯æ ¹æ±åä¸ºå½æ¥æ°å¢æ³¨åç¨æ·æ°",today:X.value,last7:Z.value,unit:"人"},null,8,["rows","today","last7"]),(k(!0),G(he,null,Ve(Q.value,l=>(k(),A(T,{key:l.label,class:"metric-card"},{content:o(()=>[n("span",Le,[(k(),A(Ne(l.icon),{size:18}))]),n("span",null,u(l.label),1),n("strong",null,u(typeof l.value=="number"?N(l.value):l.value),1),n("small",null,u(l.note),1)]),_:2},1024))),128))]),t(T,{class:"table-section"},{content:o(()=>[n("div",Ae,[e[13]||(e[13]=n("div",null,[n("h2",null,"æ¸ éæ°å¢ç¨æ·æè¡"),n("p",null,"æç»è®¡æå
å®ææ³¨åçç¨æ·æ°æåºï¼æ¸ éè®¿é®æ¬¡æ°åªä½ä¸ºè¾
å©å¤æã")],-1)),t(D,{severity:"info",rounded:""},{default:o(()=>[s(u(I.value.length)+" ä¸ªæ¸ é",1)]),_:1})]),t($,{value:I.value,size:"small","striped-rows":"","show-gridlines":"",loading:w.value,class:"prime-data-table","sort-field":"new_users","sort-order":-1},{empty:o(()=>[...e[14]||(e[14]=[s("ææ æ¸ éï¼è¯·å
å建ä¸ä¸ªå¯ä¸æ¸ éç ã",-1)])]),default:o(()=>[t(r,{field:"name",header:"æ¸ é"},{body:o(({data:l})=>[n("div",Be,[n("strong",null,u(l.name),1),n("code",null,u(l.code),1)])]),_:1}),t(r,{field:"type",header:"ç±»å"},{body:o(({data:l})=>[s(u(h(W)(l.type)),1)]),_:1}),t(r,{field:"new_users",header:"æ°å¢ç¨æ·",sortable:""},{body:o(({data:l})=>[n("strong",null,u(N(l.new_users)),1)]),_:1}),t(r,{field:"share_pct",header:"æ°å¢å æ¯",sortable:""},{body:o(({data:l})=>[s(u(se(l.share_pct)),1)]),_:1}),t(r,{field:"touches",header:"æ¸ é访é®",sortable:""},{body:o(({data:l})=>[s(u(N(l.touches)),1)]),_:1}),t(r,{field:"last_touch_at",header:"æè¿è®¿é®"},{body:o(({data:l})=>[s(u(ue(l.last_touch_at)),1)]),_:1}),t(r,{field:"enabled",header:"ç¶æ"},{body:o(({data:l})=>[t(D,{severity:l.enabled?"success":"secondary",rounded:""},{default:o(()=>[s(u(l.enabled?"å¯ç¨":"åç¨"),1)]),_:2},1032,["severity"])]),_:1})]),_:1},8,["value","loading"])]),_:1}),n("div",De,[t(T,{class:"table-section"},{content:o(()=>[e[16]||(e[16]=n("div",{class:"section-heading"},[n("div",null,[n("h2",null,"æ¯æ¥æ¥æºæç»"),n("p",null,"ææ³¨åæ¥ææåæ¸ éæ¥æºã")])],-1)),t($,{value:P.value,size:"small","striped-rows":"",loading:w.value,class:"prime-data-table"},{empty:o(()=>[...e[15]||(e[15]=[s("ç»è®¡æå
ææ æ°å¢ç¨æ·ã",-1)])]),default:o(()=>[t(r,{field:"date",header:"æ¥æ"}),t(r,{header:"æ¥æº"},{body:o(({data:l})=>[s(u(E(l)),1)]),_:1}),t(r,{field:"new_users",header:"æ°å¢ç¨æ·",sortable:""},{body:o(({data:l})=>[s(u(N(l.new_users)),1)]),_:1})]),_:1},8,["value","loading"])]),_:1}),t(T,{class:"table-section"},{content:o(()=>[e[18]||(e[18]=n("div",{class:"section-heading"},[n("div",null,[n("h2",null,"æ¥æºç¨æ·å¸¸ç¨åè½"),n("p",null,"æ³¨åæ¥æºä¸ç»å½åçåè½è®¿é®å
³èã")])],-1)),t($,{value:ee.value,size:"small","striped-rows":"",loading:w.value,class:"prime-data-table"},{empty:o(()=>[...e[17]||(e[17]=[s("ææ æ¥æºç¨æ·çåè½ä½¿ç¨è®°å½ã",-1)])]),default:o(()=>[t(r,{header:"æ¥æº"},{body:o(({data:l})=>[s(u(E(l)),1)]),_:1}),t(r,{field:"module_label",header:"åè½"}),t(r,{field:"users",header:"ç¨æ·æ°",sortable:""},{body:o(({data:l})=>[s(u(N(l.users)),1)]),_:1}),t(r,{field:"page_views",header:"访é®é",sortable:""},{body:o(({data:l})=>[s(u(N(l.page_views)),1)]),_:1})]),_:1},8,["value","loading"])]),_:1})]),t(T,{class:"table-section channel-management"},{content:o(()=>[n("div",Ie,[e[20]||(e[20]=n("div",null,[n("h2",null,"æ¸ é管ç"),n("p",null,[s("æ¸ éç å建åä¿æå¯ä¸ãæ "),n("code",null,"?channel=æ¸ éç "),s(" å å°ä»»æç«å
龿¥å³å¯è®°å½æ¥æºã")])],-1)),t(_,{size:"small",rounded:"",onClick:q},{default:o(()=>[t(h(F),{size:16}),e[19]||(e[19]=n("span",null,"åå»ºæ¸ é",-1))]),_:1})]),t($,{value:x.value,size:"small","striped-rows":"","show-gridlines":"",loading:w.value,class:"prime-data-table"},{empty:o(()=>[...e[22]||(e[22]=[s("ææ æ¸ éã",-1)])]),default:o(()=>[t(r,{field:"name",header:"æ¸ éåç§°"}),t(r,{field:"code",header:"å¯ä¸æ¸ éç "},{body:o(({data:l})=>[n("code",null,u(l.code),1)]),_:1}),t(r,{field:"type",header:"ç±»å"},{body:o(({data:l})=>[s(u(h(W)(l.type)),1)]),_:1}),t(r,{field:"partner_name",header:"å使¹"},{body:o(({data:l})=>[s(u(l.partner_name||"-"),1)]),_:1}),t(r,{field:"attribution_days",header:"Cookie æææ"},{body:o(({data:l})=>[s(u(l.attribution_days)+" 天",1)]),_:1}),t(r,{header:"使ç¨"},{body:o(({data:l})=>[t(_,{severity:"secondary",text:"",size:"small",onClick:O=>oe(l)},{default:o(()=>[t(h(be),{size:15}),e[21]||(e[21]=n("span",null,"å¤å¶é¾æ¥",-1))]),_:1},8,["onClick"])]),_:1}),t(r,{header:"æä½"},{body:o(({data:l})=>[n("div",Pe,[t(_,{severity:"secondary",text:"",rounded:"","aria-label":"ç¼è¾æ¸ é",onClick:O=>ae(l)},{default:o(()=>[t(h(fe),{size:16})]),_:1},8,["onClick"]),t(_,{severity:l.enabled?"danger":"success",text:"",size:"small",onClick:O=>te(l)},{default:o(()=>[s(u(l.enabled?"åç¨":"å¯ç¨"),1)]),_:2}
1,1032,["severity","onClick"])])]),_:1})]),_:1},8,["value","loading"])]),_:1}),t(ce,{visible:V.value,"onUpdate:visible":e[9]||(e[9]=l=>V.value=l),modal:"",header:g.value?"ç¼è¾æ¸ é":"åå»ºæ¸ é",class:"channel-dialog",style:{width:"min(680px, 94vw)"}},{footer:o(()=>[n("div",Ee,[t(_,{severity:"secondary",text:"",onClick:e[8]||(e[8]=l=>V.value=!1)},{default:o(()=>[...e[31]||(e[31]=[s("åæ¶",-1)])]),_:1}),t(_,{loading:U.value,onClick:ne},{default:o(()=>[s(u(g.value?"ä¿å设置":"åå»ºæ¸ é"),1)]),_:1},8,["loading"])])]),default:o(()=>[n("div",Re,[n("label",null,[e[23]||(e[23]=n("span",null,"å¯ä¸æ¸ éç ",-1)),t(L,{modelValue:i.value.code,"onUpdate:modelValue":e[1]||(e[1]=l=>i.value.code=l),class:"full",disabled:!!g.value,placeholder:"ä¾å¦ partner_aãchrome_plugin"},null,8,["modelValue","disabled"]),e[24]||(e[24]=n("small",null,"2-64 ä½å°ååæ¯ãæ°åãä¸å线æç横线ï¼å建åä¸å¯ä¿®æ¹ã",-1))]),n("label",null,[e[25]||(e[25]=n("span",null,"æ¸ éåç§°",-1)),t(L,{modelValue:i.value.name,"onUpdate:modelValue":e[2]||(e[2]=l=>i.value.name=l),class:"full",placeholder:"ä¾å¦ åä½å AãChrome æä»¶"},null,8,["modelValue"])]),n("label",null,[e[26]||(e[26]=n("span",null,"æ¸ éç±»å",-1)),t(re,{modelValue:i.value.type,"onUpdate:modelValue":e[3]||(e[3]=l=>i.value.type=l),options:j,"option-label":"label","option-value":"value",fluid:""},null,8,["modelValue"])]),n("label",null,[e[27]||(e[27]=n("span",null,"Cookie æææ",-1)),t(ie,{modelValue:i.value.attribution_days,"onUpdate:modelValue":e[4]||(e[4]=l=>i.value.attribution_days=l),min:1,max:365,suffix:" 天",fluid:""},null,8,["modelValue"])]),n("label",null,[e[28]||(e[28]=n("span",null,"å使¹ï¼å¯éï¼",-1)),t(L,{modelValue:i.value.partner_name,"onUpdate:modelValue":e[5]||(e[5]=l=>i.value.partner_name=l),class:"full",placeholder:"åä½å
¬å¸æè´è´£äºº"},null,8,["modelValue"])]),n("label",null,[e[29]||(e[29]=n("span",null,"èç³»æ¹å¼ï¼å¯éï¼",-1)),t(L,{modelValue:i.value.contact,"onUpdate:modelValue":e[6]||(e[6]=l=>i.value.contact=l),class:"full",placeholder:"微信ãçµè¯æé®ç®±"},null,8,["modelValue"])]),n("label",qe,[e[30]||(e[30]=n("span",null,"夿³¨ï¼å¯éï¼",-1)),t(de,{modelValue:i.value.note,"onUpdate:modelValue":e[7]||(e[7]=l=>i.value.note=l),rows:"3",class:"full",placeholder:"è®°å½æ¸ éç¨éï¼ä¸å½±åå½å é»è¾"},null,8,["modelValue"])])])]),_:1},8,["visible","header"])])}}},Ye=me(Me,[["__scopeId","data-v-7ccb0528"]]);export{Ye 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.