Files
zyt/server/public/admin/assets/index-cAmffpyq.js
T
2026-08-17 09:09:20 +08:00

4 lines
38 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{o as Fe,R as Le,E as _,ap as ft,ac as Ee,bi as gt,q as d,r as g,s as a,v as s,D as i,u as p,cV as vt,w as bt,cO as yt,L as c,T as u,P,by as _e,K as kt,cN as Nt,d0 as Ct,bI as wt,d1 as Vt,ae as I,d2 as Ue,d3 as Te,d4 as $t,c$ as ze,cv as pe,F as R,G as J,cD as xt,at as Me,bu as St,d5 as ht,O as b,bh as Pt,bk as It,aw as Oe,I as At,$ as Dt,ck as Lt,Z as Et,_ as Ut,bB as Tt,bj as zt,cl as Mt,as as Ot,b6 as Ft,bm as qt,bn as jt,bA as Bt,b9 as Rt,bs as Jt,a4 as Kt,d6 as Yt,bq as Ht,b7 as Wt,bt as Zt,J as Gt,bp as Qt,ba as K,M as V,p as O,e as te}from"./.pnpm-CC7b2w5D.js";import{y as Xt,z as en,A as tn,B as nn,C as an,D as ln,E as sn,F as on,G as un,H as dn,I as rn,J as mn}from"./first_visit-x3hNziXb.js";import cn from"./WecomFloatingWidgetBuilder-BHk9Aq3b.js";import{_ as _n}from"./index-qHIBxlsP.js";const pn={class:"promotion-page","element-loading-text":"正在加载推广配置"},fn={class:"page-header"},gn={class:"heading-copy"},vn={class:"heading-icon"},bn={class:"heading-actions"},yn={class:"scope-chip"},kn={key:0,class:"update-time"},Nn={class:"metric-grid"},Cn={class:"metric-card"},wn={class:"metric-icon is-teal"},Vn={class:"metric-card"},$n={class:"metric-icon is-blue"},xn={class:"metric-card"},Sn={class:"metric-icon is-green"},hn={class:"metric-card"},Pn={class:"metric-icon is-orange"},In={class:"workspace-card"},An={class:"tab-nav","aria-label":"企业微信获客助手功能"},Dn={key:0,class:"tab-content links-tab"},Ln={class:"section-heading"},En={key:0,class:"pool-layout"},Un={class:"pool-sidebar"},Tn=["onClick"],zn={class:"pool-main"},Mn={key:0,class:"pool-toolbar"},On={class:"pool-title-row"},Fn={class:"owner-tag"},qn={class:"toolbar-actions"},jn={class:"member-cell"},Bn={class:"link-id-cell"},Rn=["title"],Jn={key:1,class:"legacy-tag"},Kn=["href","title"],Yn={key:4,class:"muted"},Hn={key:1,class:"tab-content customer-stats-tab"},Wn={class:"section-heading customer-stats-heading"},Zn={class:"customer-heading-actions"},Gn={key:0,class:"update-time"},Qn={class:"customer-metric-grid","aria-label":"获客客户消息汇总"},Xn={class:"customer-metric-card"},ea={class:"metric-icon is-teal"},ta={class:"customer-metric-card"},na={class:"metric-icon is-blue"},aa={class:"customer-metric-card"},la={class:"metric-icon is-green"},sa={class:"customer-metric-card"},ia={class:"metric-icon is-orange"},oa={class:"customer-filter-bar"},ua=["title"],da={class:"member-cell"},ra={class:"member-cell"},ma={class:"customer-pagination"},ca={key:2,class:"tab-content authorization-tab"},_a={class:"configuration-state"},pa={key:0},fa={key:1},ga={key:0,class:"missing-fields"},va={class:"callback-list"},ba={class:"configuration-actions"},ya={key:3,class:"tab-content install-tab"},ka={class:"section-heading"},Na={class:"form-grid"},Ca={class:"form-grid"},wa=Fe({name:"firstVisitWecomPromotionPage"}),Va=Fe({...wa,setup($a){const fe=()=>({meta:{scope_label:"",generated_at:""},config:{mode:"internal",configured:!1,ready:!1,missing:[],corp_id_masked:"",agent_id:"",secret_configured:!1,callback_ready:!1,callback_url:"",official_doc:""},summary:{configured_apps:0,pool_count:0,online_links:0,today_clicks:0},pools:[],links:[],member_options:[],customer_acquisition_link_example:"https://work.weixin.qq.com/ca/xxxxxxxx"}),r=K(fe()),Z=V(!1),$=V("links"),U=V(),F=V(),Y=V(!1),H=V(!1),ne=V(!1),ae=V(!1),G=V(!1),le=V(!1),se=V(0),D=K({id:0,name:"",fallback_url:"",status:1}),m=K({id:0,pool_id:0,name:"",group_name:"默认分组",wecom_url:"",member_admin_ids:[],skip_verify:0,legacy:!1,weight:1,status:1,daily_limit:0,active_range:[],remark:""}),W=V(!1),ge=V(!1),ie=V(!1),N=K({link_id:"",userid:"",chat_status:""}),x=K({page_no:1,page_size:20,total:0}),y=K({summary:{customer_count:0,messaged_customer_count:0,message_customer_rate:0,received_message_count:0,message_count_known_count:0},rows:[],link_options:[],member_options:[],meta:{last_synced_at:""}}),C=O(()=>r.pools.find(t=>Number(t.id)===U.value)),oe=O(()=>r.links.filter(t=>Number(t.pool_id)===U.value)),ve=O(()=>oe.value.filter(t=>!!t.remote_link_id).length),be=O(()=>oe.value.length-ve.value),ue=O(()=>r.pools.find(t=>Number(t.id)===F.value)),qe=O(()=>y.link_options.length?y.link_options:r.links.filter(t=>t.id).map(t=>({id:Number(t.id),name:t.name||t.remote_link_id||`链接 ${t.id}`}))),je=O(()=>y.member_options.length?y.member_options:r.member_options.map(t=>({id:Number(t.id),userid:String(t.userid||""),name:t.name,department_name:Array.isArray(t.dept_names)?t.dept_names.join(" / "):t.department_name||t.dept_name||""})));Le(()=>r.pools.map(t=>Number(t.id)).join(","),()=>{const t=r.pools.map(e=>Number(e.id));(!U.value||!t.includes(U.value))&&(U.value=t[0]),(!F.value||!t.includes(F.value))&&(F.value=t[0])},{immediate:!0}),Le($,t=>{t==="customer-stats"&&!ge.value&&z()});async function S(){Z.value=!0;try{const t=await en();Object.assign(r,fe(),t||{})}catch(t){_.error((t==null?void 0:t.message)||"企业微信推广配置加载失败")}finally{Z.value=!1}}function Be(t){return r.links.filter(e=>Number(e.pool_id)===Number(t)).length}function de(t){Object.assign(D,t?{id:Number(t.id),name:t.name,fallback_url:t.fallback_url||"",status:Number(t.status)}:{id:0,name:"",fallback_url:"",status:1}),Y.value=!0}async function Re(){if(!D.name.trim())return _.warning("请输入分流方案名称");ne.value=!0;try{const t=await tn({...D});Y.value=!1,await S(),t!=null&&t.id&&(U.value=Number(t.id)),_.success("分流方案已保存")}catch(t){_.error((t==null?void 0:t.message)||"分流方案保存失败")}finally{ne.value=!1}}async function Je(t){await te.confirm(`删除“${t.name}”后,该方案下的获客助手链接也会停用。确认继续?`,"删除分流方案",{type:"warning"});try{await nn({id:Number(t.id)}),_.success("分流方案已删除"),await S()}catch(e){_.error((e==null?void 0:e.message)||"删除失败")}}function ye(t){if(!C.value)return;const e=t&&Number(t.active_start)>0&&Number(t.active_end)>0?[Se(t.active_start),Se(t.active_end)]:[],l=new Set(((t==null?void 0:t.range_userids)||[]).map(k=>String(k))),o=r.member_options.filter(k=>l.has(String(k.userid))).map(k=>Number(k.id));Object.assign(m,t?{id:Number(t.id),pool_id:Number(t.pool_id),name:t.name,group_name:t.group_name||"默认分组",wecom_url:t.wecom_url,member_admin_ids:o,skip_verify:Number(t.skip_verify)===1?1:0,legacy:!t.is_official,weight:Number(t.weight)||1,status:Number(t.status),daily_limit:Number(t.daily_limit)||0,active_range:e,remark:t.remark||""}:{id:0,pool_id:Number(C.value.id),name:"",group_name:"默认分组",wecom_url:"",member_admin_ids:[],skip_verify:0,legacy:!1,weight:1,status:1,daily_limit:0,active_range:[],remark:""}),H.value=!0}async function Ke(){var t,e;if(!m.name.trim())return _.warning("请输入获客链接名称");if(m.legacy&&!m.wecom_url.trim())return _.warning("请填写企业微信获客助手链接");if(!m.legacy&&!m.member_admin_ids.length)return _.warning("请至少选择一名获客成员");ae.value=!0;try{await an({...m,active_start:((t=m.active_range)==null?void 0:t[0])||"",active_end:((e=m.active_range)==null?void 0:e[1])||""}),H.value=!1,await S(),_.success(m.legacy?"本地分流规则已保存":"企业微信官方获客链接已保存")}catch(l){_.error((l==null?void 0:l.message)||"获客助手链接保存失败")}finally{ae.value=!1}}async function ke(){G.value=!0;try{const t=await ln();t!=null&&t.has_link?_.success((t==null?void 0:t.message)||"API 验证通过:应用凭证、可信 IP 与获客助手权限均可用"):_.warning((t==null?void 0:t.message)||"API 权限可用,但当前应用还没有创建官方获客链接")}catch(t){_.error((t==null?void 0:t.message)||"获客助手 API 验证失败")}finally{G.value=!1}}async function Ye(){await S(),$.value==="customer-stats"&&await z()}function q(t,e){for(const l of e)if((t==null?void 0:t[l])!==void 0&&(t==null?void 0:t[l])!==null&&(t==null?void 0:t[l])!==""){const o=Number(t[l]);return Number.isFinite(o)?o:0}return 0}async function z(){var t,e;W.value=!0;try{const l=await Xt({page_no:x.page_no,page_size:x.page_size,promotion_link_id:N.link_id?Number(N.link_id):void 0,userid:N.userid||void 0,chat_status:N.chat_status===""?void 0:N.chat_status==="messaged"?1:N.chat_status==="unknown"?2:0}),o=(l==null?void 0:l.summary)||(l==null?void 0:l.stats)||{},k=q(o,["customer_count","total_customers","customer_total","total"]),f=q(o,["messaged_customer_count","started_chat_count","chat_customer_count","message_customer_count","chatting_customers"]),A=["message_customer_rate","chat_customer_rate","messaged_rate","chat_rate"],Q=A.some(h=>(o==null?void 0:o[h])!==void 0&&(o==null?void 0:o[h])!==null&&(o==null?void 0:o[h])!=="");Object.assign(y.summary,{customer_count:k,messaged_customer_count:f,message_customer_rate:Q?q(o,A):k?f/k*100:0,received_message_count:q(o,["received_message_count","recv_msg_cnt","recv_msg_count","total_recv_msg_cnt","message_count"]),message_count_known_count:q(o,["message_count_known_count","exact_message_customer_count"])}),y.rows=Array.isArray(l==null?void 0:l.lists)?l.lists:Array.isArray(l==null?void 0:l.list)?l.list:Array.isArray(l==null?void 0:l.rows)?l.rows:[],x.total=Number((l==null?void 0:l.total)??(l==null?void 0:l.count)??((t=l==null?void 0:l.page)==null?void 0:t.total)??y.rows.length)||0;const w=(l==null?void 0:l.filters)||{},X=(l==null?void 0:l.link_options)||(w==null?void 0:w.link_options)||(w==null?void 0:w.links),M=(l==null?void 0:l.member_options)||(w==null?void 0:w.member_options)||(w==null?void 0:w.members);Array.isArray(X)&&(y.link_options=X),Array.isArray(M)&&(y.member_options=M);const ee=y.rows.reduce((h,v)=>{const j=v.last_synced_at||v.last_sync_time||v.synced_at||v.sync_time||"";return Number(j||0)>Number(h||0)?j:h},""),E=((e=l==null?void 0:l.meta)==null?void 0:e.last_synced_at)||(l==null?void 0:l.last_synced_at)||ee||y.meta.last_synced_at||"";Object.assign(y.meta,(l==null?void 0:l.meta)||{},{last_synced_at:E?ce(E):""}),ge.value=!0}catch(l){_.error((l==null?void 0:l.message)||"获客客户统计加载失败")}finally{W.value=!1}}function He(){x.page_no=1,z()}function We(){Object.assign(N,{link_id:"",userid:"",chat_status:""}),x.page_no=1,z()}function Ze(){x.page_no=1,z()}async function Ge(){var t,e,l;ie.value=!0;try{const o=await sn({promotion_link_id:N.link_id?Number(N.link_id):void 0}),k=Number((o==null?void 0:o.scanned)??(o==null?void 0:o.customer_scanned)??((t=o==null?void 0:o.customers)==null?void 0:t.scanned)??0),f=Number((o==null?void 0:o.created)??(o==null?void 0:o.customer_created)??((e=o==null?void 0:o.customers)==null?void 0:e.created)??0),A=Number((o==null?void 0:o.updated)??(o==null?void 0:o.customer_updated)??((l=o==null?void 0:o.customers)==null?void 0:l.updated)??0);_.success((o==null?void 0:o.message)||`客户同步完成:扫描 ${L(k)} 位,新增 ${L(f)} 位,更新 ${L(A)} 位`),x.page_no=1,await Promise.all([S(),z()])}catch(o){_.error((o==null?void 0:o.message)||"获客客户同步失败")}finally{ie.value=!1}}async function Qe(){if(!C.value)return _.warning("请先选择分流方案");le.value=!0;try{const t=await on({pool_id:Number(C.value.id)}),e=`扫描 ${Number((t==null?void 0:t.scanned)||0)} 条,新建 ${Number((t==null?void 0:t.created)||0)} 条,更新 ${Number((t==null?void 0:t.updated)||0)} 条,按权限跳过 ${Number((t==null?void 0:t.skipped)||0)} 条,失败 ${Number((t==null?void 0:t.failed)||0)} 条`;Number((t==null?void 0:t.scanned)||0)===0?await te.alert(`${(t==null?void 0:t.empty_reason)||"当前应用没有可同步的官方获客链接"}
${(t==null?void 0:t.suggestion)||""}`,"没有可同步的官方链接",{type:"warning",confirmButtonText:"知道了"}):t!=null&&t.failed?_.warning(e):_.success(e),await S()}catch(t){_.error((t==null?void 0:t.message)||"同步企业微信获客链接失败")}finally{le.value=!1}}async function Xe(t){se.value=Number(t.id);try{await un({id:Number(t.id)}),_.success("企业微信官方详情已刷新"),await S()}catch(e){_.error((e==null?void 0:e.message)||"刷新官方详情失败")}finally{se.value=0}}async function et(t,e){if(t==="local"){await Ne(e);return}if(t==="remote"){await te.confirm(`将永久删除企业微信后台中的“${e.name}”,现有推广页面会立即失效,且无法恢复。确认继续?`,"永久删除企业微信获客链接",{type:"error",confirmButtonText:"永久删除",cancelButtonText:"取消"});try{await dn({id:Number(e.id)}),_.success("企业微信获客链接已永久删除,本地记录已保留并停止分流"),await S()}catch(l){_.error((l==null?void 0:l.message)||"永久删除失败")}}}async function tt(t,e){try{await rn({id:Number(t.id),status:e?1:0}),t.status=e?1:0,_.success(e?"链接已上线":"链接已下线"),await S()}catch(l){_.error((l==null?void 0:l.message)||"状态更新失败"),await S()}}async function Ne(t){await te.confirm(`仅从本地分流池移除“${t.name}”,不会删除企业微信后台的官方链接。确认继续?`,"从本地移除",{type:"warning"});try{await mn({id:Number(t.id)}),_.success("已从本地分流池移除"),await S()}catch(e){_.error((e==null?void 0:e.message)||"删除失败")}}function Ce(t){const e=Math.floor(Date.now()/1e3);return Number(t.remote_status)===2?{label:"企业微信已删除",className:"is-error"}:t.valid_customer_acquisition_link===!1?{label:"非获客助手链接",className:"is-error"}:Number(t.status)!==1?{label:"已下线",className:"is-muted"}:Number(t.active_start)>0&&Number(t.active_start)>e?{label:"尚未生效",className:"is-waiting"}:Number(t.active_end)>0&&Number(t.active_end)<e?{label:"已过期",className:"is-error"}:Number(t.daily_limit)>0&&we(t)>=Number(t.daily_limit)?{label:"今日已达上限",className:"is-waiting"}:{label:"可参与分流",className:"is-ok"}}function we(t){const e=new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit"}).format(new Date);return t.today_date===e?Number(t.today_count||0):0}function nt(t){const e=Array.isArray(t.dept_names)&&t.dept_names.length?t.dept_names.join(" / "):"未分部门";return`${t.name} · ${e} · ${t.userid}`}function at(t){const l=(Array.isArray(t.range_userids)?t.range_userids:[]).map(k=>{const f=r.member_options.find(A=>String(A.userid)===String(k));return(f==null?void 0:f.name)||String(k)});if(l.length)return l.length>2?`${l.slice(0,2).join("、")}${l.length} 人`:l.join("、");const o=Array.isArray(t.range_department_ids)?t.range_department_ids:[];return o.length?`企微部门 ${o.join("、")}`:t.is_official?"未返回成员范围":"手工配置"}function lt(t){const e=t.department_name||t.dept_name||"";return e?`${t.name} · ${e}`:t.name}function Ve(t){const e=t.external_userid_masked||t.customer_id_masked||t.customer_masked||t.customer_name_masked;return e?String(e):st(t.external_userid||t.customer_id||t.id)}function st(t){const e=String(t||"").trim();return e?e.includes("*")?e:e.length<=4?`${e.slice(0,1)}***`:e.length<=8?`${e.slice(0,2)}***${e.slice(-1)}`:`${e.slice(0,4)}****${e.slice(-4)}`:"-"}function it(t){return t.link_name||t.source_link_name||t.promotion_link_name||"未匹配来源链接"}function ot(t){const e=t.link_id||t.remote_link_id||t.source_link_id;return e?`链接 ID${e}`:"暂无链接 ID"}function re(t){return q(t,["received_message_count","recv_msg_cnt","message_count","received_count"])}function $e(t){const e=t.message_count_known??t.message_count_exact??t.count_known;return e!=null?e===!0||e===1||e==="1"||e==="true":re(t)>0}function me(t){const e=Number(t.chat_status);if(e===2)return"unknown";const l=t.has_messaged??t.has_message??t.messaged;return l!=null?l===!0||l===1||l==="1"||l==="true"||l==="messaged"?"messaged":"silent":e===1||re(t)>0?"messaged":"silent"}function ut(t){const e=me(t);return e==="messaged"?"已发消息":e==="unknown"?"状态未知":"未发消息"}function dt(t){if($e(t))return L(re(t));const e=me(t);return e==="silent"?"0":e==="unknown"?"未知":"待回调"}function xe(t){return t.last_message_at||t.last_chat_time||t.last_message_time||t.last_msg_time||t.event_time||""}function ce(t){if(t==null||t===""||t===0||t==="0")return"-";if(typeof t=="number"||/^\d+$/.test(String(t))){const e=Number(t),l=new Date(e>1e11?e:e*1e3);return Number.isNaN(l.getTime())?"-":l.toLocaleString("zh-CN",{hour12:!1}).replaceAll("/","-")}return String(t).replace("T"," ").replace(/Z$/,"").slice(0,19)}function rt(t){return`${Number(t||0).toFixed(1)}%`}function L(t){return Number(t||0).toLocaleString("zh-CN")}function Se(t){const e=new Date(Number(t||0)*1e3),l=o=>String(o).padStart(2,"0");return`${e.getFullYear()}-${l(e.getMonth()+1)}-${l(e.getDate())} ${l(e.getHours())}:${l(e.getMinutes())}:${l(e.getSeconds())}`}async function he(t,e){if(!t)return _.warning(`${e}暂无内容`);try{await navigator.clipboard.writeText(t)}catch{const l=document.createElement("textarea");l.value=t,l.style.position="fixed",l.style.opacity="0",document.body.appendChild(l),l.select(),document.execCommand("copy"),l.remove()}_.success(`${e}已复制`)}async function mt(){await S()}return ft(async()=>{await S()}),(t,e)=>{var De;const l=bt,o=kt,k=Pt,f=It,A=At,Q=Ut,w=Et,X=Dt,M=Tt,ee=zt,E=jt,h=qt,v=Ft,j=Rt,ct=Jt,_t=Ht,B=Wt,Pe=Zt,Ie=Gt,pt=Qt,Ae=gt;return Ee((d(),g("div",pn,[a("header",fn,[a("div",gn,[a("span",vn,[s(l,null,{default:i(()=>[s(p(vt))]),_:1})]),e[34]||(e[34]=a("div",null,[a("h1",null,"企业微信获客助手"),a("p",null,"对接企业微信获客助手官方 API,按角色与部门管理获客成员,并将链接安全分流到推广页面")],-1))]),a("div",bn,[a("span",yn,[s(l,null,{default:i(()=>[s(p(yt))]),_:1}),c(u(r.meta.scope_label||"当前数据范围"),1)]),r.meta.generated_at?(d(),g("span",kn,"更新于 "+u(r.meta.generated_at),1)):P("",!0),s(o,{icon:p(_e),loading:Z.value||W.value,onClick:Ye},{default:i(()=>[...e[35]||(e[35]=[c("刷新",-1)])]),_:1},8,["icon","loading"])])]),a("section",Nn,[a("article",Cn,[a("span",wn,[s(l,null,{default:i(()=>[s(p(Nt))]),_:1})]),a("div",null,[e[36]||(e[36]=a("small",null,"内部应用",-1)),a("strong",null,u(r.summary.configured_apps),1),e[37]||(e[37]=a("p",null,"直接读取服务器环境配置",-1))])]),a("article",Vn,[a("span",$n,[s(l,null,{default:i(()=>[s(p(Ct))]),_:1})]),a("div",null,[e[38]||(e[38]=a("small",null,"分流方案",-1)),a("strong",null,u(r.summary.pool_count),1),e[39]||(e[39]=a("p",null,"每个方案生成独立 JS",-1))])]),a("article",xn,[a("span",Sn,[s(l,null,{default:i(()=>[s(p(wt))]),_:1})]),a("div",null,[e[40]||(e[40]=a("small",null,"在线链接",-1)),a("strong",null,u(r.summary.online_links),1),e[41]||(e[41]=a("p",null,"停用或超限自动排除",-1))])]),a("article",hn,[a("span",Pn,[s(l,null,{default:i(()=>[s(p(Vt))]),_:1})]),a("div",null,[e[42]||(e[42]=a("small",null,"今日分流点击",-1)),a("strong",null,u(r.summary.today_clicks),1),e[43]||(e[43]=a("p",null,"只记录脱敏访问数据",-1))])])]),a("section",In,[a("nav",An,[a("button",{class:I({active:$.value==="links"}),onClick:e[0]||(e[0]=n=>$.value="links")},[s(l,null,{default:i(()=>[s(p(Ue))]),_:1}),e[44]||(e[44]=c("获客助手链接 ",-1))],2),a("button",{class:I({active:$.value==="customer-stats"}),onClick:e[1]||(e[1]=n=>$.value="customer-stats")},[s(l,null,{default:i(()=>[s(p(Te))]),_:1}),e[45]||(e[45]=c("获客客户统计 ",-1))],2),a("button",{class:I({active:$.value==="configuration"}),onClick:e[2]||(e[2]=n=>$.value="configuration")},[s(l,null,{default:i(()=>[s(p($t))]),_:1}),e[46]||(e[46]=c("应用配置 ",-1))],2),a("button",{class:I({active:$.value==="install"}),onClick:e[3]||(e[3]=n=>$.value="install")},[s(l,null,{default:i(()=>[s(p(ze))]),_:1}),e[47]||(e[47]=c("JS 安装 ",-1))],2)]),$.value==="links"?(d(),g("div",Dn,[a("div",Ln,[e[49]||(e[49]=a("div",null,[a("h2",null,"获客助手链接分流"),a("p",null,"访客点击时由服务端从当前可用的获客助手链接中按权重随机选择,页面端不会暴露完整链接池。")],-1)),s(o,{type:"primary",icon:p(pe),onClick:e[4]||(e[4]=n=>de())},{default:i(()=>[...e[48]||(e[48]=[c("新建分流方案",-1)])]),_:1},8,["icon"])]),r.pools.length?(d(),g("div",En,[a("aside",Un,[(d(!0),g(R,null,J(r.pools,n=>(d(),g("button",{key:n.id,class:I(["pool-item",{active:Number(n.id)===U.value}]),onClick:T=>U.value=Number(n.id)},[a("span",{class:I(["pool-status",Number(n.status)===1?"online":"offline"])},null,2),a("span",null,[a("strong",null,u(n.name),1),a("small",null,u(Be(n.id))+" 条链接 · "+u(L(n.click_count))+" 次点击",1)]),s(l,null,{default:i(()=>[s(p(xt))]),_:1})],10,Tn))),128))]),a("div",zn,[C.value?(d(),g("div",Mn,[a("div",null,[a("div",On,[a("h3",null,u(C.value.name),1),a("span",{class:I(["status-tag",Number(C.value.status)===1?"is-online":"is-offline"])},u(Number(C.value.status)===1?"运行中":"已停用"),3),a("span",Fn,u(C.value.dept_name||"未分部门")+" · "+u(C.value.owner_name||"系统"),1)]),a("p",null,"公开键:"+u(C.value.public_key),1)]),a("div",qn,[s(o,{icon:p(Me),loading:G.value,onClick:ke},{default:i(()=>[...e[50]||(e[50]=[c("验证 API",-1)])]),_:1},8,["icon","loading"]),s(o,{icon:p(_e),loading:le.value,onClick:Qe},{default:i(()=>[...e[51]||(e[51]=[c("同步企业微信",-1)])]),_:1},8,["icon","loading"]),s(o,{icon:p(ze),onClick:e[5]||(e[5]=n=>he(C.value.install_code,"JS 安装代码"))},{default:i(()=>[...e[52]||(e[52]=[c("复制 JS",-1)])]),_:1},8,["icon"]),s(o,{icon:p(St),onClick:e[6]||(e[6]=n=>de(C.value))},{default:i(()=>[...e[53]||(e[53]=[c("编辑方案",-1)])]),_:1},8,["icon"]),s(o,{type:"danger",plain:"",icon:p(ht),onClick:e[7]||(e[7]=n=>Je(C.value))},{default:i(()=>[...e[54]||(e[54]=[c("删除",-1)])]),_:1},8,["icon"]),s(o,{type:"primary",icon:p(pe),onClick:e[8]||(e[8]=n=>ye())},{default:i(()=>[...e[55]||(e[55]=[c("创建官方获客链接",-1)])]),_:1},8,["icon"])])])):P("",!0),be.value>0&&ve.value===0?(d(),b(k,{key:1,class:"legacy-sync-alert",type:"warning","show-icon":"",closable:!1,title:`当前方案的 ${be.value} 条链接都是历史手工链接,企业微信同步不会返回它们`,description:"官方接口只返回当前应用通过 API 创建的获客链接。现有链接仍可参与本地分流;如需同步 link_id、客户和官方统计,请点击“创建官方获客链接”。"},null,8,["title"])):P("",!0),s(ee,{data:oe.value,class:"link-table",stripe:""},{empty:i(()=>[s(M,{"image-size":72,description:"当前方案还没有获客助手链接"})]),default:i(()=>[s(f,{label:"推广成员 / 分组","min-width":"180",fixed:"left"},{default:i(({row:n})=>[a("div",jn,[a("strong",null,u(n.name),1),a("small",null,u(n.group_name||"默认分组"),1)])]),_:1}),s(f,{label:"企业微信链接 ID","min-width":"280"},{default:i(({row:n})=>[a("div",Bn,[n.remote_link_id?(d(),g("span",{key:0,class:"remote-id",title:n.remote_link_id},u(n.remote_link_id),9,Rn)):(d(),g("span",Jn,"历史手工链接")),n.wecom_url?(d(),g("a",{key:2,class:"wecom-url",href:n.wecom_url,title:n.wecom_url,target:"_blank",rel:"noopener noreferrer",onClick:e[9]||(e[9]=Oe(()=>{},["stop"]))},u(n.wecom_url),9,Kn)):P("",!0),n.wecom_url?(d(),b(o,{key:3,type:"primary",link:"",class:"copy-url-btn",onClick:Oe(T=>he(n.wecom_url,"企业微信链接"),["stop"])},{default:i(()=>[...e[56]||(e[56]=[c("复制链接",-1)])]),_:1},8,["onClick"])):(d(),g("span",Yn,"暂无链接地址"))])]),_:1}),s(f,{label:"可用成员","min-width":"150"},{default:i(({row:n})=>[a("span",null,u(at(n)),1)]),_:1}),s(f,{label:"权重",prop:"weight",width:"84",align:"center"}),s(f,{label:"今日 / 上限","min-width":"120",align:"center"},{default:i(({row:n})=>[c(u(we(n))+" / "+u(Number(n.daily_limit)?n.daily_limit:"不限"),1)]),_:1}),s(f,{label:"累计点击",prop:"click_count","min-width":"105",align:"center"}),s(f,{label:"当前可用性","min-width":"130"},{default:i(({row:n})=>[a("span",{class:I(["availability",Ce(n).className])},u(Ce(n).label),3)]),_:1}),s(f,{label:"上线",width:"90",align:"center"},{default:i(({row:n})=>[s(A,{"model-value":Number(n.status)===1,disabled:Number(n.remote_status)===2,onChange:T=>tt(n,T)},null,8,["model-value","disabled","onChange"])]),_:1}),s(f,{label:"操作","min-width":"245",fixed:"right"},{default:i(({row:n})=>[n.is_official&&Number(n.remote_status)!==2?(d(),b(o,{key:0,type:"primary",link:"",loading:se.value===Number(n.id),onClick:T=>Xe(n)},{default:i(()=>[...e[57]||(e[57]=[c("刷新详情",-1)])]),_:1},8,["loading","onClick"])):P("",!0),!n.is_official||Number(n.remote_status)!==2?(d(),b(o,{key:1,type:"primary",link:"",onClick:T=>ye(n)},{default:i(()=>[...e[58]||(e[58]=[c("编辑",-1)])]),_:1},8,["onClick"])):P("",!0),n.is_official?(d(),b(X,{key:2,trigger:"click",onCommand:T=>et(T,n)},{dropdown:i(()=>[s(w,null,{default:i(()=>[s(Q,{command:"local"},{default:i(()=>[...e[60]||(e[60]=[c("从本地移除",-1)])]),_:1}),Number(n.remote_status)!==2?(d(),b(Q,{key:0,command:"remote",divided:"",class:"danger-command"},{default:i(()=>[...e[61]||(e[61]=[c("永久删除企业微信链接",-1)])]),_:1})):P("",!0)]),_:2},1024)]),default:i(()=>[s(o,{type:"primary",link:""},{default:i(()=>[e[59]||(e[59]=c("更多",-1)),s(l,{class:"el-icon--right"},{default:i(()=>[s(p(Lt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):(d(),b(o,{key:3,type:"danger",link:"",onClick:T=>Ne(n)},{default:i(()=>[...e[62]||(e[62]=[c("从本地移除",-1)])]),_:1},8,["onClick"]))]),_:1})]),_:1},8,["data"])])])):(d(),b(M,{key:1,description:"先创建一个分流方案,再添加企业微信获客助手链接"},{default:i(()=>[s(o,{type:"primary",icon:p(pe),onClick:e[10]||(e[10]=n=>de())},{default:i(()=>[...e[63]||(e[63]=[c("创建第一个方案",-1)])]),_:1},8,["icon"])]),_:1}))])):$.value==="customer-stats"?(d(),g("div",Hn,[a("div",Wn,[e[65]||(e[65]=a("div",null,[a("h2",null,"获客客户消息统计"),a("p",null,"统计当前权限范围内由获客助手链接添加的客户,以及客户向承接成员发送消息的情况。")],-1)),a("div",Zn,[y.meta.last_synced_at?(d(),g("span",Gn,"最近同步 "+u(y.meta.last_synced_at),1)):P("",!0),s(o,{type:"primary",icon:p(_e),loading:ie.value,onClick:Ge},{default:i(()=>[...e[64]||(e[64]=[c("同步客户",-1)])]),_:1},8,["icon","loading"])])]),a("section",Qn,[a("article",Xn,[a("span",ea,[s(l,null,{default:i(()=>[s(p(Mt))]),_:1})]),a("div",null,[e[66]||(e[66]=a("small",null,"获客客户数",-1)),a("strong",null,u(L(y.summary.customer_count)),1),e[67]||(e[67]=a("p",null,"当前筛选范围内的去重客户",-1))])]),a("article",ta,[a("span",na,[s(l,null,{default:i(()=>[s(p(Ot))]),_:1})]),a("div",null,[e[68]||(e[68]=a("small",null,"已发消息客户数",-1)),a("strong",null,u(L(y.summary.messaged_customer_count)),1),e[69]||(e[69]=a("p",null,"至少发送过一条消息",-1))])]),a("article",aa,[a("span",la,[s(l,null,{default:i(()=>[s(p(Te))]),_:1})]),a("div",null,[e[70]||(e[70]=a("small",null,"消息客户率",-1)),a("strong",null,u(rt(y.summary.message_customer_rate)),1),e[71]||(e[71]=a("p",null,"已发消息客户占获客客户比例",-1))])]),a("article",sa,[a("span",ia,[s(l,null,{default:i(()=>[s(p(Ue))]),_:1})]),a("div",null,[e[72]||(e[72]=a("small",null,"累计接收消息数",-1)),a("strong",null,u(L(y.summary.received_message_count)),1),a("p",null,"已精确统计 "+u(L(y.summary.message_count_known_count))+" 位客户",1)])])]),r.config.callback_ready?P("",!0):(d(),b(k,{key:0,class:"chatkey-alert",type:"warning","show-icon":"",closable:!1,title:"消息次数回调尚未配置完成",description:"请在企业微信获客助手的 API 接入场景中配置本页“应用配置”展示的消息回调地址,并在服务器配置 contact_callback_token 与 contact_callback_aes_key。未完成前只能同步客户及聊天状态,无法得到精确接收消息次数。"})),s(k,{class:"chatkey-alert",type:"info","show-icon":"",closable:!1,title:"消息统计依赖企业微信 ChatKey",description:"ChatKey 仅在事件产生后的 30 分钟内有效。服务端收到企业微信回调后会立即拉取会话详情;手动同步用于刷新客户清单,无法补取已过期的会话消息。"}),a("div",oa,[s(j,{model:N,inline:"","label-position":"top"},{default:i(()=>[s(v,{label:"来源链接"},{default:i(()=>[s(h,{modelValue:N.link_id,"onUpdate:modelValue":e[11]||(e[11]=n=>N.link_id=n),clearable:"",filterable:"",placeholder:"全部链接"},{default:i(()=>[(d(!0),g(R,null,J(qe.value,n=>(d(),b(E,{key:String(n.id),label:n.name,value:n.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),s(v,{label:"承接成员"},{default:i(()=>[s(h,{modelValue:N.userid,"onUpdate:modelValue":e[12]||(e[12]=n=>N.userid=n),clearable:"",filterable:"",placeholder:"全部成员"},{default:i(()=>[(d(!0),g(R,null,J(je.value,n=>(d(),b(E,{key:n.userid||String(n.id),label:lt(n),value:n.userid||String(n.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),s(v,{label:"聊天状态"},{default:i(()=>[s(h,{modelValue:N.chat_status,"onUpdate:modelValue":e[13]||(e[13]=n=>N.chat_status=n),clearable:"",placeholder:"全部状态"},{default:i(()=>[s(E,{label:"已发过消息",value:"messaged"}),s(E,{label:"未发过消息",value:"silent"}),s(E,{label:"状态未知",value:"unknown"})]),_:1},8,["modelValue"])]),_:1}),s(v,{class:"filter-actions"},{default:i(()=>[s(o,{type:"primary",icon:p(Bt),loading:W.value,onClick:He},{default:i(()=>[...e[73]||(e[73]=[c("查询",-1)])]),_:1},8,["icon","loading"]),s(o,{onClick:We},{default:i(()=>[...e[74]||(e[74]=[c("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),Ee((d(),b(ee,{data:y.rows,class:"customer-table",stripe:""},{empty:i(()=>[s(M,{"image-size":72,description:"当前筛选范围暂无获客客户数据"})]),default:i(()=>[s(f,{label:"客户标识(已脱敏)","min-width":"190",fixed:"left"},{default:i(({row:n})=>[a("span",{class:"customer-identifier",title:Ve(n)},u(Ve(n)),9,ua)]),_:1}),s(f,{label:"来源链接","min-width":"190"},{default:i(({row:n})=>[a("div",da,[a("strong",null,u(it(n)),1),a("small",null,u(ot(n)),1)])]),_:1}),s(f,{label:"承接成员 / 部门","min-width":"175"},{default:i(({row:n})=>[a("div",ra,[a("strong",null,u(n.member_name||n.owner_name||"未匹配成员"),1),a("small",null,u(n.department_name||n.dept_name||"未分部门"),1)])]),_:1}),s(f,{label:"是否发过消息",width:"125",align:"center"},{default:i(({row:n})=>[a("span",{class:I(["message-state",`is-${me(n)}`])},u(ut(n)),3)]),_:1}),s(f,{label:"接收消息数",width:"120",align:"right"},{default:i(({row:n})=>[a("strong",{class:I(["message-count",{muted:!$e(n)}])},u(dt(n)),3)]),_:1}),s(f,{label:"最近同步时间","min-width":"165"},{default:i(({row:n})=>[c(u(ce(n.last_synced_at||n.last_sync_time||n.synced_at||n.sync_time)),1)]),_:1}),s(f,{label:"最近消息时间","min-width":"165"},{default:i(({row:n})=>[a("span",{class:I({muted:!xe(n)})},u(ce(xe(n))),3)]),_:1})]),_:1},8,["data"])),[[Ae,W.value]]),a("div",ma,[a("span",null,"共 "+u(L(x.total))+" 位客户",1),s(ct,{"current-page":x.page_no,"onUpdate:currentPage":e[14]||(e[14]=n=>x.page_no=n),"page-size":x.page_size,"onUpdate:pageSize":e[15]||(e[15]=n=>x.page_size=n),background:"",layout:"sizes, prev, pager, next","page-sizes":[10,20,50,100],total:x.total,onCurrentChange:z,onSizeChange:Ze},null,8,["current-page","page-size","total"])])])):$.value==="configuration"?(d(),g("div",ca,[e[83]||(e[83]=a("div",{class:"section-heading"},[a("div",null,[a("h2",null,"企业微信内部应用配置"),a("p",null,"直接读取服务器现有的 work_wechat 配置,密钥不会返回浏览器,也不需要第三方应用授权。")])],-1)),a("div",{class:I(["configuration-panel",r.config.ready?"is-ready":"is-pending"])},[a("div",_a,[a("span",null,[s(l,null,{default:i(()=>[(d(),b(Kt(r.config.ready?p(Me):p(Yt))))]),_:1})]),a("div",null,[a("strong",null,u(r.config.ready?"内部应用已就绪":"内部应用配置不完整"),1),r.config.ready?(d(),g("p",pa,"已识别 CorpID 与应用 Secret;点击“验证 API”可同时检查可信 IP、获客助手开通状态和应用权限。")):(d(),g("p",fa,"请补齐服务器 .env 的 [work_wechat] 配置;页面不会展示 Secret 内容。"))])]),(De=r.config.missing)!=null&&De.length?(d(),g("div",ga,[e[75]||(e[75]=c(" 缺少:",-1)),(d(!0),g(R,null,J(r.config.missing,n=>(d(),g("code",{key:n},u(n),1))),128))])):P("",!0),a("dl",va,[a("div",null,[e[76]||(e[76]=a("dt",null,"企业 CorpID",-1)),a("dd",null,u(r.config.corp_id_masked||"未配置"),1),a("span",null,u(r.config.corp_id_masked?"已识别":"缺失"),1)]),a("div",null,[e[77]||(e[77]=a("dt",null,"应用 AgentID",-1)),a("dd",null,u(r.config.agent_id||"未配置"),1),a("span",null,u(r.config.agent_id?"已识别":"缺失"),1)]),a("div",null,[e[78]||(e[78]=a("dt",null,"应用 Secret",-1)),e[79]||(e[79]=a("dd",null,"仅保存在服务器环境变量中",-1)),a("span",null,u(r.config.secret_configured?"已配置":"缺失"),1)]),a("div",null,[e[80]||(e[80]=a("dt",null,"消息回调地址",-1)),a("dd",null,u(r.config.callback_url||"未生成"),1),a("span",null,u(r.config.callback_ready?"已配置密钥":"待配置 Token/AESKey"),1)])]),a("div",ba,[s(o,{type:"primary",loading:G.value,onClick:ke},{default:i(()=>[...e[81]||(e[81]=[c("验证获客助手 API",-1)])]),_:1},8,["loading"]),r.config.official_doc?(d(),b(_t,{key:0,href:r.config.official_doc,target:"_blank",type:"primary"},{default:i(()=>[...e[82]||(e[82]=[c("查看企业微信官方文档",-1)])]),_:1},8,["href"])):P("",!0)])],2)])):(d(),g("div",ya,[a("div",ka,[e[84]||(e[84]=a("div",null,[a("h2",null,"安装 JS 与浮窗客服"),a("p",null,"为每个分流方案配置独立浮窗;基础脚本仍只负责展示入口、捕获点击并请求服务端分流。")],-1)),s(h,{modelValue:F.value,"onUpdate:modelValue":e[16]||(e[16]=n=>F.value=n),placeholder:"选择分流方案",class:"install-pool-select"},{default:i(()=>[(d(!0),g(R,null,J(r.pools,n=>(d(),b(E,{key:n.id,label:n.name,value:Number(n.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),ue.value?(d(),b(cn,{key:Number(ue.value.id),pool:ue.value,onSaved:mt},null,8,["pool"])):(d(),b(M,{key:1,description:"请先创建分流方案,系统会自动生成 JS 安装代码"}))]))]),s(Pe,{modelValue:Y.value,"onUpdate:modelValue":e[21]||(e[21]=n=>Y.value=n),title:D.id?"编辑分流方案":"新建分流方案",width:"560px","destroy-on-close":""},{footer:i(()=>[s(o,{onClick:e[20]||(e[20]=n=>Y.value=!1)},{default:i(()=>[...e[86]||(e[86]=[c("取消",-1)])]),_:1}),s(o,{type:"primary",loading:ne.value,onClick:Re},{default:i(()=>[...e[87]||(e[87]=[c("保存方案",-1)])]),_:1},8,["loading"])]),default:i(()=>[s(j,{"label-position":"top"},{default:i(()=>[s(v,{label:"方案名称",required:""},{default:i(()=>[s(B,{modelValue:D.name,"onUpdate:modelValue":e[17]||(e[17]=n=>D.name=n),maxlength:"60","show-word-limit":"",placeholder:"例如:官网咨询分流"},null,8,["modelValue"])]),_:1}),s(v,{label:"兜底获客助手链接"},{default:i(()=>[s(B,{modelValue:D.fallback_url,"onUpdate:modelValue":e[18]||(e[18]=n=>D.fallback_url=n),placeholder:"可选;没有可用成员时跳转"},null,8,["modelValue"]),e[85]||(e[85]=a("span",{class:"form-tip"},"仅接受企业微信获客助手生成的 https://work.weixin.qq.com/ca/... 链接。",-1))]),_:1}),s(v,{label:"运行状态"},{default:i(()=>[s(A,{modelValue:D.status,"onUpdate:modelValue":e[19]||(e[19]=n=>D.status=n),"active-value":1,"inactive-value":0,"active-text":"运行","inactive-text":"停用"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","title"]),s(Pe,{modelValue:H.value,"onUpdate:modelValue":e[33]||(e[33]=n=>H.value=n),title:m.id?"编辑获客助手链接":"创建企业微信官方获客链接",width:"720px","destroy-on-close":""},{footer:i(()=>[s(o,{onClick:e[32]||(e[32]=n=>H.value=!1)},{default:i(()=>[...e[92]||(e[92]=[c("取消",-1)])]),_:1}),s(o,{type:"primary",loading:ae.value,onClick:Ke},{default:i(()=>[...e[93]||(e[93]=[c("保存链接",-1)])]),_:1},8,["loading"])]),default:i(()=>[s(j,{"label-position":"top",class:"link-form"},{default:i(()=>[a("div",Na,[s(v,{label:"获客链接名称",required:""},{default:i(()=>[s(B,{modelValue:m.name,"onUpdate:modelValue":e[22]||(e[22]=n=>m.name=n),maxlength:"80",placeholder:"用于企业微信和后台识别"},null,8,["modelValue"])]),_:1}),s(v,{label:"分组"},{default:i(()=>[s(B,{modelValue:m.group_name,"onUpdate:modelValue":e[23]||(e[23]=n=>m.group_name=n),maxlength:"60",placeholder:"默认分组"},null,8,["modelValue"])]),_:1})]),m.legacy?(d(),b(v,{key:1,label:"企业微信获客助手链接",required:""},{default:i(()=>[s(B,{modelValue:m.wecom_url,"onUpdate:modelValue":e[25]||(e[25]=n=>m.wecom_url=n),type:"textarea",rows:2,placeholder:r.customer_acquisition_link_example},null,8,["modelValue","placeholder"]),e[89]||(e[89]=a("span",{class:"form-tip"},"这是历史手工链接,只更新本地分流规则,不会调用企业微信创建或修改接口。",-1))]),_:1})):(d(),b(v,{key:0,label:"获客成员",required:""},{default:i(()=>[s(h,{modelValue:m.member_admin_ids,"onUpdate:modelValue":e[24]||(e[24]=n=>m.member_admin_ids=n),multiple:"",filterable:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"仅显示当前角色和部门可管理、且已绑定企业微信的成员",style:{width:"100%"}},{default:i(()=>[(d(!0),g(R,null,J(r.member_options,n=>(d(),b(E,{key:n.id,label:nt(n),value:Number(n.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e[88]||(e[88]=a("span",{class:"form-tip"},"官方链接按这里的企业微信 userid 建立可见范围;越权成员不会出现在列表中。",-1))]),_:1})),a("div",Ca,[s(v,{label:"分流权重",required:""},{default:i(()=>[s(Ie,{modelValue:m.weight,"onUpdate:modelValue":e[26]||(e[26]=n=>m.weight=n),min:1,max:100,"controls-position":"right"},null,8,["modelValue"])]),_:1}),s(v,{label:"每日点击上限"},{default:i(()=>[s(Ie,{modelValue:m.daily_limit,"onUpdate:modelValue":e[27]||(e[27]=n=>m.daily_limit=n),min:0,max:1e6,"controls-position":"right"},null,8,["modelValue"]),e[90]||(e[90]=a("span",{class:"form-tip"},"0 表示不限",-1))]),_:1})]),m.legacy?P("",!0):(d(),b(v,{key:2,label:"添加客户时跳过验证"},{default:i(()=>[s(A,{modelValue:m.skip_verify,"onUpdate:modelValue":e[28]||(e[28]=n=>m.skip_verify=n),"active-value":1,"inactive-value":0,"active-text":"跳过验证","inactive-text":"需要验证"},null,8,["modelValue"])]),_:1})),s(v,{label:"上线状态"},{default:i(()=>[s(A,{modelValue:m.status,"onUpdate:modelValue":e[29]||(e[29]=n=>m.status=n),"active-value":1,"inactive-value":0,"active-text":"上线","inactive-text":"下线"},null,8,["modelValue"])]),_:1}),s(v,{label:"生效时间段"},{default:i(()=>[s(pt,{modelValue:m.active_range,"onUpdate:modelValue":e[30]||(e[30]=n=>m.active_range=n),type:"datetimerange","value-format":"YYYY-MM-DD HH:mm:ss","start-placeholder":"开始时间","end-placeholder":"结束时间","range-separator":"至"},null,8,["modelValue"]),e[91]||(e[91]=a("span",{class:"form-tip"},"不选择表示长期有效",-1))]),_:1}),s(v,{label:"备注"},{default:i(()=>[s(B,{modelValue:m.remark,"onUpdate:modelValue":e[31]||(e[31]=n=>m.remark=n),maxlength:"255","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","title"])])),[[Ae,Z.value]])}}}),Ia=_n(Va,[["__scopeId","data-v-516aab5f"]]);export{Ia as default};