Files
wordpress-theme-aksrt/assets/admin/build/UsersVerify.DlTUYsYd.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
12 KiB
JavaScript

import{a as C}from"./shared-api.D5_fnN32.js";import{P as ne}from"./PageHeader.Di3JTPjc.js";import{_ as ee}from"./index.js";import{u as te,h as Y,b as V,B as H}from"./vendor-naive.BuHWlEgf.js";import{w as ie,W as w,a2 as X,a3 as s,a4 as e,X as P,f,Z as v,Y as p,F as K,R as ue,a1 as i,r as g,e as S,o as oe,N as m,c as Q,k as Z}from"./vendor-vue.Bykizn0M.js";import"./vendor-misc.1adHN6i_.js";const de={class:"aksrt-verify-drawer__section"},_e={class:"aksrt-verify-drawer__section"},fe={key:0,class:"aksrt-verify-drawer__timeline"},ve={class:"aksrt-verify-drawer__timeline-head"},pe={class:"aksrt-verify-drawer__section"},ce={__name:"VerifyReviewDrawer",props:{show:{type:Boolean,default:!1},userId:{type:[Number,String],default:null}},emits:["update:show","updated"],setup(A,{emit:z}){const y=A,D=z,b=te(),U=g(!1),k=g(!1),d=g({request:null,history:[],options:{statuses:[]}}),l=S({status:"verified",note:""});ie(()=>[y.show,y.userId],async([n,r])=>{n&&r&&await h(),n||(d.value={request:null,history:[],options:{statuses:[]}},l.status="verified",l.note="")});async function h(){var n,r;if(y.userId){U.value=!0;try{const o=await C.request(`/verify/requests/${y.userId}`);d.value=(o==null?void 0:o.data)||{request:null,history:[],options:{statuses:[]}},l.status=(((r=(n=d.value)==null?void 0:n.request)==null?void 0:r.status)==="rejected","verified"),l.note=""}catch(o){b.error((o==null?void 0:o.message)||"加载认证详情失败")}finally{U.value=!1}}}async function x(){if(y.userId){k.value=!0;try{await C.request(`/verify/requests/${y.userId}/review`,{method:"POST",data:{status:l.status,note:l.note}}),b.success("认证审核已提交"),await h(),D("updated")}catch(n){b.error((n==null?void 0:n.message)||"审核失败")}finally{k.value=!1}}}return(n,r)=>{const o=i("n-descriptions-item"),F=i("n-descriptions"),O=i("n-alert"),I=i("n-empty"),B=i("n-select"),N=i("n-input"),j=i("n-button"),E=i("n-space"),q=i("n-spin"),T=i("n-drawer-content"),L=i("n-drawer");return w(),X(L,{show:A.show,width:680,"onUpdate:show":r[2]||(r[2]=R=>n.$emit("update:show",R))},{default:s(()=>[e(T,{title:"认证审核",closable:""},{default:s(()=>[e(q,{show:U.value},{default:s(()=>{var R;return[d.value.request?(w(),P(K,{key:0},[e(F,{bordered:"",column:1,size:"small","label-placement":"left"},{default:s(()=>[e(o,{label:"用户"},{default:s(()=>[f(v(d.value.request.display_name||"-"),1)]),_:1}),e(o,{label:"邮箱"},{default:s(()=>[f(v(d.value.request.email||"-"),1)]),_:1}),e(o,{label:"当前状态"},{default:s(()=>[f(v(d.value.request.status||"-"),1)]),_:1}),e(o,{label:"邮箱验证"},{default:s(()=>[f(v(d.value.request.email_verified?"已完成":"未完成"),1)]),_:1}),e(o,{label:"申请时间"},{default:s(()=>[f(v(d.value.request.requested_at||"-"),1)]),_:1}),e(o,{label:"最近处理"},{default:s(()=>[f(v(d.value.request.reviewed_at||"-"),1)]),_:1})]),_:1}),p("div",de,[r[3]||(r[3]=p("div",{class:"aksrt-verify-drawer__title"},"当前备注",-1)),e(O,{type:"info","show-icon":!1},{default:s(()=>[f(v(d.value.request.reason||"暂无备注"),1)]),_:1})]),p("div",_e,[r[4]||(r[4]=p("div",{class:"aksrt-verify-drawer__title"},"审核历史",-1)),(R=d.value.history)!=null&&R.length?(w(),P("div",fe,[(w(!0),P(K,null,ue(d.value.history,(t,a)=>(w(),P("div",{key:a,class:"aksrt-verify-drawer__timeline-item"},[p("div",ve,[p("strong",null,v(t.status||"-"),1),p("span",null,v(t.time||"-"),1)]),p("p",null,v(t.reason||"无备注"),1),p("small",null,v(t.reviewer_name||"系统"),1)]))),128))])):(w(),X(I,{key:1,description:"暂无审核历史"}))]),p("div",pe,[r[7]||(r[7]=p("div",{class:"aksrt-verify-drawer__title"},"执行审核",-1)),e(E,{vertical:"",size:12},{default:s(()=>{var t;return[e(B,{value:l.status,"onUpdate:value":r[0]||(r[0]=a=>l.status=a),options:((t=d.value.options)==null?void 0:t.statuses)||[]},null,8,["value","options"]),e(N,{value:l.note,"onUpdate:value":r[1]||(r[1]=a=>l.note=a),type:"textarea",rows:4,placeholder:"填写审核说明或驳回原因"},null,8,["value"]),e(E,null,{default:s(()=>[e(j,{type:"primary",loading:k.value,onClick:x},{default:s(()=>[...r[5]||(r[5]=[f("提交审核",-1)])]),_:1},8,["loading"]),e(j,{onClick:h},{default:s(()=>[...r[6]||(r[6]=[f("刷新详情",-1)])]),_:1})]),_:1})]}),_:1})])],64)):(w(),X(I,{key:1,description:"暂无认证详情"}))]}),_:1},8,["show"])]),_:1})]),_:1},8,["show"])}}},ye=ee(ce,[["__scopeId","data-v-84e367b4"]]),me={class:"aksrt-page-container"},ge={class:"aksrt-form-actions"},we={__name:"UsersVerify",setup(A){const z=te(),y=g(!0),D=g(!1),b=g(!1),U=g([]),k=g(!1),d=g(null),l=S({user_verify_enabled:!0,user_verify_public_display:!0,user_verify_badge_text:"已认证",user_verify_accept_email_verified:!0,user_verify_require_manual_review:!1}),h=S({emailVerificationEnabled:!1}),x=S({pending:0,verified:0,rejected:0,total:0}),n=S({keyword:"",status:"",dateRange:null}),r=S({page:1,pageSize:20,itemCount:0}),o=S({statuses:[]}),F=Q(()=>o.statuses.length?[{label:"全部状态",value:""},...o.statuses]:[{label:"全部状态",value:""},{label:"待审核",value:"pending"},{label:"已通过",value:"verified"},{label:"已驳回",value:"rejected"}]),O=Q(()=>({page:r.page,pageSize:r.pageSize,itemCount:r.itemCount,showSizePicker:!0,pageSizes:[10,20,50],onUpdatePage:t=>{r.page=t,q()},onUpdatePageSize:t=>{r.pageSize=t,r.page=1,q()}})),I=[{title:"用户",key:"display_name",width:160},{title:"邮箱",key:"email",minWidth:220,ellipsis:{tooltip:!0}},{title:"状态",key:"status",width:100,render:t=>Z(V,{size:"small",round:!0,type:{pending:"warning",verified:"success",rejected:"error"}[t.status]||"default"},()=>t.status)},{title:"邮箱验证",key:"email_verified",width:100,render:t=>t.email_verified?"已完成":"未完成"},{title:"申请时间",key:"requested_at",width:170},{title:"处理时间",key:"reviewed_at",width:170,render:t=>t.reviewed_at||"-"},{title:"历史",key:"history_count",width:80},{title:"操作",key:"actions",width:120,render:t=>Z(Y,{size:"small"},()=>[Z(H,{size:"tiny",type:"primary",quaternary:!0,onClick:()=>R(t.user_id)},()=>"审核")])}];oe(async()=>{await E()});function B(t){return(t==null?void 0:t.data)??t??{}}function N(t){const a=new Date(t),_=a.getFullYear(),c=`${a.getMonth()+1}`.padStart(2,"0"),W=`${a.getDate()}`.padStart(2,"0");return`${_}-${c}-${W}`}function j(){const t={page:r.page,per_page:r.pageSize};return n.keyword&&(t.keyword=n.keyword),n.status&&(t.status=n.status),Array.isArray(n.dateRange)&&n.dateRange.length===2&&(t.date_from=N(n.dateRange[0]),t.date_to=N(n.dateRange[1])),t}async function E(){y.value=!0;try{const[t,a]=await Promise.all([C.getSchemaPage("users","verify"),C.getAuthSettings()]),_=B(t),c=B(a);l.user_verify_enabled=_.user_verify_enabled!==!1,l.user_verify_public_display=_.user_verify_public_display!==!1,l.user_verify_badge_text=_.user_verify_badge_text||"已认证",l.user_verify_accept_email_verified=_.user_verify_accept_email_verified!==!1,l.user_verify_require_manual_review=!!_.user_verify_require_manual_review,h.emailVerificationEnabled=!!c.registration_email_verification_enabled,await q()}catch(t){z.error((t==null?void 0:t.message)||"加载身份认证页失败")}finally{y.value=!1}}async function q(){var t;b.value=!0;try{const a=await C.request("/verify/requests",{params:j()}),_=(a==null?void 0:a.data)||{};U.value=_.items||[],r.itemCount=_.total||0,Object.assign(x,_.counts||{}),o.statuses=((t=_.options)==null?void 0:t.statuses)||[]}catch(a){z.error((a==null?void 0:a.message)||"加载认证审核台失败")}finally{b.value=!1}}async function T(){D.value=!0;try{await C.saveSchemaPage("users","verify",{user_verify_enabled:l.user_verify_enabled,user_verify_public_display:l.user_verify_public_display,user_verify_badge_text:l.user_verify_badge_text,user_verify_accept_email_verified:l.user_verify_accept_email_verified,user_verify_require_manual_review:l.user_verify_require_manual_review}),z.success("身份认证配置已保存")}catch(t){z.error((t==null?void 0:t.message)||"保存失败")}finally{D.value=!1}}function L(){r.page=1,q()}function R(t){d.value=t,k.value=!0}return(t,a)=>{const _=i("n-card"),c=i("n-grid-item"),W=i("n-alert"),G=i("n-grid"),M=i("n-switch"),$=i("n-form-item"),J=i("n-input"),ae=i("n-form"),se=i("n-select"),le=i("n-date-picker"),re=i("n-data-table");return w(),P("div",me,[e(ne,{title:"身份认证",desc:"维护公开认证展示和后台审核台,统一查看待审、已通过、已驳回的人工认证记录。"}),e(G,{cols:"1 s:1 m:2","x-gap":16,"y-gap":16,responsive:"screen"},{default:s(()=>[e(c,null,{default:s(()=>[e(_,{size:"small",title:"当前状态"},{default:s(()=>[e(m(Y),{wrap:""},{default:s(()=>[e(m(V),{round:"",type:l.user_verify_enabled?"success":"default"},{default:s(()=>[f(" 认证结构:"+v(l.user_verify_enabled?"已启用":"已关闭"),1)]),_:1},8,["type"]),e(m(V),{round:"",type:h.emailVerificationEnabled?"info":"default"},{default:s(()=>[f(" 邮箱验证:"+v(h.emailVerificationEnabled?"已启用":"未启用"),1)]),_:1},8,["type"]),e(m(V),{round:"",type:"warning"},{default:s(()=>[f(" 待审核:"+v(x.pending),1)]),_:1}),e(m(V),{round:"",type:"success"},{default:s(()=>[f(" 已通过:"+v(x.verified),1)]),_:1}),e(m(V),{round:"",type:"default"},{default:s(()=>[f(" 已驳回:"+v(x.rejected),1)]),_:1})]),_:1})]),_:1})]),_:1}),e(c,null,{default:s(()=>[e(_,{size:"small",title:"审核说明"},{default:s(()=>[e(W,{type:"info","show-icon":!1},{default:s(()=>[...a[9]||(a[9]=[f(" 人工审核台读取 `aksrt_user_verify_status`、`aksrt_user_verify_reason` 和审核日志。开启“邮箱验证通过视为已认证”后,公开页仍会优先展示邮件验证结果。 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),e(_,{class:"aksrt-verify-page__card",size:"small",title:"公开展示与审核开关"},{default:s(()=>[e(ae,{model:l,"label-placement":"left","label-width":"180",class:"aksrt-form"},{default:s(()=>[e($,{label:"启用身份认证结构"},{default:s(()=>[e(M,{value:l.user_verify_enabled,"onUpdate:value":a[0]||(a[0]=u=>l.user_verify_enabled=u)},null,8,["value"])]),_:1}),e($,{label:"公开显示认证徽标"},{default:s(()=>[e(M,{value:l.user_verify_public_display,"onUpdate:value":a[1]||(a[1]=u=>l.user_verify_public_display=u),disabled:!l.user_verify_enabled},null,8,["value","disabled"])]),_:1}),e($,{label:"认证徽标文案"},{default:s(()=>[e(J,{value:l.user_verify_badge_text,"onUpdate:value":a[2]||(a[2]=u=>l.user_verify_badge_text=u),disabled:!l.user_verify_enabled,maxlength:"20"},null,8,["value","disabled"])]),_:1}),e($,{label:"邮箱验证通过视为已认证"},{default:s(()=>[e(M,{value:l.user_verify_accept_email_verified,"onUpdate:value":a[3]||(a[3]=u=>l.user_verify_accept_email_verified=u),disabled:!l.user_verify_enabled},null,8,["value","disabled"])]),_:1}),e($,{label:"启用人工审核台"},{default:s(()=>[e(M,{value:l.user_verify_require_manual_review,"onUpdate:value":a[4]||(a[4]=u=>l.user_verify_require_manual_review=u),disabled:!l.user_verify_enabled},null,8,["value","disabled"])]),_:1}),p("div",ge,[e(m(H),{type:"primary",loading:D.value,onClick:T},{default:s(()=>[...a[10]||(a[10]=[f("保存配置",-1)])]),_:1},8,["loading"])])]),_:1},8,["model"])]),_:1}),e(_,{class:"aksrt-verify-page__card",size:"small",title:"认证审核台"},{default:s(()=>[e(m(Y),{vertical:"",size:12},{default:s(()=>[e(G,{cols:"1 s:2 m:4","x-gap":12,"y-gap":12,responsive:"screen"},{default:s(()=>[e(c,null,{default:s(()=>[e(J,{value:n.keyword,"onUpdate:value":a[5]||(a[5]=u=>n.keyword=u),clearable:"",placeholder:"搜索用户、邮箱、备注"},null,8,["value"])]),_:1}),e(c,null,{default:s(()=>[e(se,{value:n.status,"onUpdate:value":a[6]||(a[6]=u=>n.status=u),options:F.value,placeholder:"审核状态"},null,8,["value","options"])]),_:1}),e(c,null,{default:s(()=>[e(le,{value:n.dateRange,"onUpdate:value":a[7]||(a[7]=u=>n.dateRange=u),type:"daterange",clearable:"",style:{width:"100%"}},null,8,["value"])]),_:1}),e(c,null,{default:s(()=>[e(m(H),{type:"primary",block:"",onClick:L},{default:s(()=>[...a[11]||(a[11]=[f("筛选记录",-1)])]),_:1})]),_:1})]),_:1}),e(re,{columns:I,data:U.value,loading:b.value,bordered:!1,pagination:O.value,"row-key":u=>u.user_id},null,8,["data","loading","pagination","row-key"])]),_:1})]),_:1}),e(ye,{show:k.value,"onUpdate:show":a[8]||(a[8]=u=>k.value=u),"user-id":d.value,onUpdated:q},null,8,["show","user-id"])])}}},Ue=ee(we,[["__scopeId","data-v-96c64f9f"]]);export{Ue as default};