Files
2026-08-07 14:54:05 +08:00

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