Files
wordpress-theme-aksrt/assets/admin/build/UsersWechatTemplate.BTkLtWGJ.js
T
kate522 a3dde3874a feat(admin): strip SPA ops menus; redirect old hashes to native WP (Phase 4)
SPA shop/forum/payment/users sections now keep configuration pages only.
Operational workbenches were removed from the sidebar and loaders; legacy
hash routes open NativeOpsRedirect into the matching WP native admin page.
Admin SPA production build refreshed accordingly.
2026-07-15 02:10:05 +08:00

2 lines
5.9 KiB
JavaScript

import{X as u,a4 as w,Y as s,L as r,Z as o,j as _,af as y,f as b,ag as p,F as g,R as x,o as T,c as S,r as f,e as D,a1 as V,W as k}from"./vendor-vue.Bykizn0M.js";import{P as I}from"./PageHeader.Di3JTPjc.js";import{a as h}from"./shared-api.D5_fnN32.js";import{_ as U}from"./index.js";import"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const A={name:"UsersWechatTemplate",components:{PageHeader:I},setup(){const n=f({enabled:!1,configured:!1,has_token:!1,has_template:!1,bound_users:0}),t=D({enabled:!1,app_id:"",app_secret:"",template_id:""}),d=f(!1),a=[{key:"comment_reply",desc:"评论回复通知"},{key:"system_notice",desc:"系统公告通知"},{key:"order_paid",desc:"订单支付通知"},{key:"credits_change",desc:"积分变动通知"},{key:"forum_reply",desc:"论坛回复通知"}],i=f([]),m=S(()=>a.map(e=>({...e,ready:i.value.length===0||i.value.includes(e.key)})));async function c(){try{const e=await h.request("/wechat/status");e.success&&(n.value=e.data,t.enabled=e.data.enabled||!1,t.app_id=e.data.appid||"",t.app_secret=(e.data.app_secret==="***",""),t.template_id=e.data.template_id||"",i.value=e.data.allowed_types||[])}catch(e){console.error("Load WeChat status failed:",e)}}async function l(){d.value=!0;try{const e={...t};!e.app_secret&&n.value.configured&&(e.app_secret="***");const v=await h.request("/wechat/settings",{method:"POST",data:e});v.success?(alert("设置已保存"),c()):alert(v.message||"保存失败")}catch(e){console.error("Save failed:",e),alert("保存失败: "+(e.message||"未知错误"))}finally{d.value=!1}}return T(()=>c()),{status:n,form:t,saving:d,eventTypes:m,saveSettings:l}}},C={class:"aksrt-page-container"},P={class:"aksrt-wechat__status"},W={class:"aksrt-wechat__status-card"},j={class:"aksrt-wechat__status-info"},B={class:"aksrt-wechat__status-value"},H={class:"aksrt-wechat__status-card"},L={class:"aksrt-wechat__status-info"},M={class:"aksrt-wechat__status-value"},N={class:"aksrt-wechat__status-card"},q={class:"aksrt-wechat__status-info"},F={class:"aksrt-wechat__status-value"},z={class:"aksrt-wechat__status-card"},E={class:"aksrt-wechat__status-info"},O={class:"aksrt-wechat__status-value"},R={class:"aksrt-wechat__form-card"},X={class:"aksrt-form-group"},Y={class:"aksrt-form-group"},Z={class:"aksrt-form-group"},G={class:"aksrt-form-group"},J={class:"aksrt-form-actions"},K=["disabled"],Q={class:"aksrt-wechat__form-card"},$={class:"aksrt-table aksrt-table--sm"};function ss(n,t,d,a,i,m){const c=V("PageHeader");return k(),u("div",C,[w(c,{title:"微信模板消息",desc:"配置微信公众号模板消息推送。"}),s("div",P,[s("div",W,[s("div",{class:r(["aksrt-wechat__status-icon",a.status.configured?"aksrt-wechat__status-icon--ok":"aksrt-wechat__status-icon--warn"])},[s("i",{class:r(a.status.configured?"fas fa-check":"fas fa-exclamation")},null,2)],2),s("div",j,[t[5]||(t[5]=s("div",{class:"aksrt-wechat__status-label"},"配置状态",-1)),s("div",B,o(a.status.configured?"已配置":"未配置"),1)])]),s("div",H,[s("div",{class:r(["aksrt-wechat__status-icon",a.status.has_token?"aksrt-wechat__status-icon--ok":"aksrt-wechat__status-icon--warn"])},[s("i",{class:r((a.status.has_token,"fas fa-key"))},null,2)],2),s("div",L,[t[6]||(t[6]=s("div",{class:"aksrt-wechat__status-label"},"Access Token",-1)),s("div",M,o(a.status.has_token?"已获取":"未获取"),1)])]),s("div",N,[s("div",{class:r(["aksrt-wechat__status-icon",a.status.has_template?"aksrt-wechat__status-icon--ok":"aksrt-wechat__status-icon--warn"])},[s("i",{class:r((a.status.has_template,"fas fa-file-alt"))},null,2)],2),s("div",q,[t[7]||(t[7]=s("div",{class:"aksrt-wechat__status-label"},"模板 ID",-1)),s("div",F,o(a.status.has_template?"已配置":"未配置"),1)])]),s("div",z,[t[9]||(t[9]=s("div",{class:"aksrt-wechat__status-icon aksrt-wechat__status-icon--info"},[s("i",{class:"fas fa-users"})],-1)),s("div",E,[t[8]||(t[8]=s("div",{class:"aksrt-wechat__status-label"},"绑定用户",-1)),s("div",O,o(a.status.bound_users||0)+" 人",1)])])]),s("div",R,[t[15]||(t[15]=s("h3",null,"基本配置",-1)),s("div",X,[s("label",null,[_(s("input",{type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=l=>a.form.enabled=l)},null,512),[[y,a.form.enabled]]),t[10]||(t[10]=b(" 启用微信模板消息 ",-1))])]),s("div",Y,[t[11]||(t[11]=s("label",null,"AppID",-1)),_(s("input",{"onUpdate:modelValue":t[1]||(t[1]=l=>a.form.app_id=l),type:"text",class:"aksrt-input",placeholder:"微信公众号 AppID"},null,512),[[p,a.form.app_id]])]),s("div",Z,[t[12]||(t[12]=s("label",null,"AppSecret",-1)),_(s("input",{"onUpdate:modelValue":t[2]||(t[2]=l=>a.form.app_secret=l),type:"password",class:"aksrt-input",placeholder:"微信公众号 AppSecret"},null,512),[[p,a.form.app_secret]]),t[13]||(t[13]=s("p",{class:"aksrt-form-hint"},"保存后不会回显完整密钥",-1))]),s("div",G,[t[14]||(t[14]=s("label",null,"模板 ID",-1)),_(s("input",{"onUpdate:modelValue":t[3]||(t[3]=l=>a.form.template_id=l),type:"text",class:"aksrt-input",placeholder:"微信模板消息模板 ID"},null,512),[[p,a.form.template_id]])]),s("div",J,[s("button",{class:"aksrt-button aksrt-button--primary",disabled:a.saving,onClick:t[4]||(t[4]=(...l)=>a.saveSettings&&a.saveSettings(...l))},o(a.saving?"保存中...":"保存设置"),9,K)])]),s("div",Q,[t[17]||(t[17]=s("h3",null,"支持的通知类型",-1)),t[18]||(t[18]=s("p",{class:"aksrt-form-hint"},"以下事件类型可触发微信模板消息推送(需用户绑定微信且开启对应订阅):",-1)),s("table",$,[t[16]||(t[16]=s("thead",null,[s("tr",null,[s("th",null,"事件类型"),s("th",null,"说明"),s("th",null,"状态")])],-1)),s("tbody",null,[(k(!0),u(g,null,x(a.eventTypes,l=>(k(),u("tr",{key:l.key},[s("td",null,[s("code",null,o(l.key),1)]),s("td",null,o(l.desc),1),s("td",null,[s("span",{class:r(["aksrt-badge",l.ready?"aksrt-badge--success":"aksrt-badge--warning"])},o(l.ready?"可用":"待接入"),3)])]))),128))])])])])}const ns=U(A,[["render",ss],["__scopeId","data-v-cb377b9c"]]);export{ns as default};