Files
wordpress-theme-aksrt/assets/admin/build/UsersVerify.ryf_AQd6.js
T
kate522 27d8a9ea71 build(admin): track the SPA build output so git deploys carry it
assets/admin/build was gitignored, so servers deployed by git pull kept
running a stale admin bundle — the icon picker integration in the tabbar
and floating-button settings pages never reached them. Track the build
directory (rebuild with: cd assets/admin && npm run build) and commit the
current bundle containing the universal icon picker.
2026-09-06 14:35:15 +08:00

3 lines
13 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{P as be}from"./PageHeader.CtT29f8Y.js";import{a as S}from"./shared-api.DnsQ5cxS.js";import{_ as ge}from"./index.js";import{u as we,a as Ue}from"./vendor-naive.CKYCZmXD.js";import{w as xe,o as ke,X as j,a4 as l,a3 as a,r as I,a1 as o,e as P,c as A,W as c,f as d,Z as m,F as M,R as W,a2 as b,a5 as U,Y as h}from"./vendor-vue.BxZIRU0_.js";import"./vendor-misc.bELTaXdf.js";const Pe={class:"aksrt-page-container"},Re={class:"aksrt-form-actions"},Se={__name:"UsersVerify",setup(Ie){const y=we(),ee=Ue(),x=["aliyun","tencent"],le=[{label:"实人认证(ID_PRO)",value:"ID_PRO"},{label:"活体人脸验证(PV_FV)",value:"PV_FV"},{label:"活体检测(LR_FR)",value:"LR_FR"}],H={aliyun:[{key:"access_key_id",label:"AccessKey ID"},{key:"access_key_secret",label:"AccessKey Secret"}],tencent:[{key:"secret_id",label:"SecretId"},{key:"secret_key",label:"SecretKey"}]},J={user_verify_enabled:!0,user_verify_public_display:!0,user_verify_allow_apply:!0,user_verify_allow_manual_fallback:!0,user_verify_session_ttl_minutes:30,user_verify_poll_interval_seconds:5,user_verify_personal_fee:"0.00",user_verify_enterprise_fee:"0.00",user_verify_personal_badge_text:"个人认证",user_verify_enterprise_badge_text:"企业认证",user_verify_disable_desc:`由于系统正在维护,暂时无法申请身份认证
详情请联系管理员`,user_verify_desc:"认证用户会在昵称后显示认证徽章,同时享受多种优先待遇。申请请确保信息属实。",user_verify_aliyun_region:"cn-hangzhou",user_verify_aliyun_personal_flow:"",user_verify_aliyun_product_code:"ID_PRO",user_verify_aliyun_enterprise_flow:"",user_verify_tencent_region:"ap-guangzhou",user_verify_tencent_personal_flow:"",user_verify_tencent_enterprise_flow:""},B=I(!0),C=I(!1),E=I(""),F=I("aliyun"),V=P({aliyun:"",tencent:""}),K=A(()=>V[p.provider]||""),z=I(""),O=P({aliyun:{},tencent:{}}),n=P({...J}),p=P({provider:"aliyun"}),k=P({aliyun:{},tencent:{}}),g=P({aliyun:!1,tencent:!1}),L=A(()=>JSON.stringify({verifyForm:n,identityForm:p,credentials:k,clearCredentials:g})),ae=A(()=>z.value!==""&&L.value!==z.value);xe(()=>p.provider,r=>{F.value=r});function w(r){return r==="aliyun"?"阿里云":"腾讯云"}function R(r){return O[r]||{}}function te(r,e){var i;return(i=R(r).configured_fields)!=null&&i[e]?"已配置,留空则保留":"尚未配置"}function D(r){return(r==null?void 0:r.data)??r??{}}async function X(){B.value=!0;try{const[r,e]=await Promise.all([S.getSchemaPage("users","verify"),S.getIdentitySettings()]);Object.assign(n,J,D(r));const i=D(e);p.provider=x.includes(i.provider)?i.provider:"aliyun",Object.assign(V,i.callback_url||{}),x.forEach(_=>{var v;O[_]=((v=i.providers)==null?void 0:v[_])||{},k[_]={},g[_]=!1}),F.value=p.provider,z.value=L.value}catch(r){y.error(r.message||"加载身份认证配置失败")}finally{B.value=!1}}function Y(r){const e={};return H[r].forEach(({key:i})=>{var v;const _=String(((v=k[r])==null?void 0:v[i])||"").trim();_&&(e[i]=_)}),{credentials:e,clear_credentials:g[r]}}async function ne(){const[r,e]=await Promise.all([S.saveSchemaPage("users","verify",{...n}),S.saveIdentitySettings({provider:p.provider,providers:{aliyun:Y("aliyun"),tencent:Y("tencent")}})]),i=D(e);Object.assign(n,D(r)),x.forEach(_=>{var v;O[_]=((v=i.providers)==null?void 0:v[_])||O[_],k[_]={},g[_]=!1}),Object.assign(V,i.callback_url||V),z.value=L.value}async function re(){const r=x.some(i=>g[i]),e=async()=>{C.value=!0;try{await ne(),y.success("身份认证配置已保存")}catch(i){y.error(i.message||"保存失败")}finally{C.value=!1}};if(!r)return e();ee.warning({title:"确认清除凭证",content:"已勾选的服务商凭证将被永久删除,是否继续保存?",positiveText:"清除并保存",negativeText:"取消",onPositiveClick:e})}async function se(r){E.value=r;try{const e=await S.testIdentitySettings({provider:r});y.success((e==null?void 0:e.message)||`${w(r)}配置测试通过`)}catch(e){y.error(e.message||`${w(r)}配置测试失败`)}finally{E.value=""}}async function ue(){if(!K.value)return y.warning("回调地址暂不可用");try{await navigator.clipboard.writeText(K.value),y.success("回调地址已复制")}catch{y.error("复制失败,请手动复制")}}return ke(X),(r,e)=>{const i=o("n-statistic"),_=o("n-tag"),v=o("n-card"),Z=o("n-grid-item"),oe=o("n-grid"),N=o("n-switch"),s=o("n-form-item"),q=o("n-input-number"),f=o("n-input"),$=o("n-form"),G=o("n-radio-button"),Q=o("n-space"),ie=o("n-radio-group"),T=o("n-button"),_e=o("n-input-group"),de=o("n-alert"),ve=o("n-select"),fe=o("n-checkbox"),ce=o("n-tab-pane"),pe=o("n-tabs"),ye=o("n-spin");return c(),j("div",Pe,[l(be,{title:"身份认证",desc:"统一管理认证申请规则与云服务商凭证;审核、驳回和取消认证仍在 WordPress 用户菜单处理。"}),l(ye,{show:B.value,style:{width:"100%","min-height":"240px"}},{default:a(()=>[l(oe,{cols:3,"x-gap":12,"y-gap":12,responsive:"screen","item-responsive":""},{default:a(()=>[l(Z,{span:"3 m:1"},{default:a(()=>[l(v,{class:"aksrt-status-card",size:"small"},{default:a(()=>[l(i,{label:"身份认证功能"},{default:a(()=>[d(m(n.user_verify_enabled?"已启用":"已停用"),1)]),_:1}),l(_,{type:n.user_verify_enabled?"success":"default",round:"",size:"small"},{default:a(()=>[d(m(n.user_verify_enabled?"运行中":"未运行"),1)]),_:1},8,["type"])]),_:1})]),_:1}),(c(),j(M,null,W(x,t=>l(Z,{span:"3 m:1",key:t},{default:a(()=>[l(v,{class:"aksrt-status-card",size:"small"},{default:a(()=>[l(i,{label:w(t)+"凭证"},{default:a(()=>[d(m(R(t).configured?"已配置":"未配置"),1)]),_:2},1032,["label"]),l(_,{type:R(t).configured?"success":"warning",round:"",size:"small"},{default:a(()=>[d(m(p.provider===t?"当前服务商":"备用服务商"),1)]),_:2},1032,["type"])]),_:2},1024)]),_:2},1024)),64))]),_:1}),l(v,{class:"aksrt-section-card",title:"通用认证设置"},{default:a(()=>[l($,{model:n,"label-placement":"left","label-width":"190"},{default:a(()=>[l(s,{label:"启用身份认证"},{default:a(()=>[l(N,{value:n.user_verify_enabled,"onUpdate:value":e[0]||(e[0]=t=>n.user_verify_enabled=t)},null,8,["value"])]),_:1}),l(s,{label:"公开页显示认证徽标"},{default:a(()=>[l(N,{value:n.user_verify_public_display,"onUpdate:value":e[1]||(e[1]=t=>n.user_verify_public_display=t)},null,8,["value"])]),_:1}),l(s,{label:"允许用户前台申请"},{default:a(()=>[l(N,{value:n.user_verify_allow_apply,"onUpdate:value":e[2]||(e[2]=t=>n.user_verify_allow_apply=t)},null,8,["value"])]),_:1}),l(s,{label:"云失败转人工"},{default:a(()=>[l(N,{value:n.user_verify_allow_manual_fallback,"onUpdate:value":e[3]||(e[3]=t=>n.user_verify_allow_manual_fallback=t)},null,8,["value"])]),_:1}),l(s,{label:"认证会话有效期(分钟)"},{default:a(()=>[l(q,{value:n.user_verify_session_ttl_minutes,"onUpdate:value":e[4]||(e[4]=t=>n.user_verify_session_ttl_minutes=t),min:5,max:1440},null,8,["value"])]),_:1}),l(s,{label:"结果轮询间隔(秒)"},{default:a(()=>[l(q,{value:n.user_verify_poll_interval_seconds,"onUpdate:value":e[5]||(e[5]=t=>n.user_verify_poll_interval_seconds=t),min:3,max:60},null,8,["value"])]),_:1}),l(s,{label:"个人认证费用"},{default:a(()=>[l(f,{value:n.user_verify_personal_fee,"onUpdate:value":e[6]||(e[6]=t=>n.user_verify_personal_fee=t),placeholder:"0.00"},null,8,["value"])]),_:1}),l(s,{label:"企业认证费用"},{default:a(()=>[l(f,{value:n.user_verify_enterprise_fee,"onUpdate:value":e[7]||(e[7]=t=>n.user_verify_enterprise_fee=t),placeholder:"0.00"},null,8,["value"])]),_:1}),l(s,{label:"个人认证徽标文案"},{default:a(()=>[l(f,{value:n.user_verify_personal_badge_text,"onUpdate:value":e[8]||(e[8]=t=>n.user_verify_personal_badge_text=t),placeholder:"个人认证"},null,8,["value"])]),_:1}),l(s,{label:"企业认证徽标文案"},{default:a(()=>[l(f,{value:n.user_verify_enterprise_badge_text,"onUpdate:value":e[9]||(e[9]=t=>n.user_verify_enterprise_badge_text=t),placeholder:"企业认证"},null,8,["value"])]),_:1}),l(s,{label:"停用申请说明"},{default:a(()=>[l(f,{value:n.user_verify_disable_desc,"onUpdate:value":e[10]||(e[10]=t=>n.user_verify_disable_desc=t),type:"textarea",rows:2},null,8,["value"])]),_:1}),l(s,{label:"申请介绍"},{default:a(()=>[l(f,{value:n.user_verify_desc,"onUpdate:value":e[11]||(e[11]=t=>n.user_verify_desc=t),type:"textarea",rows:3},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}),l(v,{class:"aksrt-section-card",title:"云服务商"},{default:a(()=>[l($,{model:p,"label-placement":"left","label-width":"190"},{default:a(()=>[l(s,{label:"当前服务商"},{default:a(()=>[l(ie,{value:p.provider,"onUpdate:value":e[12]||(e[12]=t=>p.provider=t)},{default:a(()=>[l(Q,null,{default:a(()=>[l(G,{value:"aliyun"},{default:a(()=>[...e[21]||(e[21]=[d("阿里云",-1)])]),_:1}),l(G,{value:"tencent"},{default:a(()=>[...e[22]||(e[22]=[d("腾讯云",-1)])]),_:1})]),_:1})]),_:1},8,["value"])]),_:1}),l(s,{label:"回调地址"},{feedback:a(()=>[...e[24]||(e[24]=[d("将此地址填入服务商控制台需要的回调地址配置。",-1)])]),default:a(()=>[l(_e,null,{default:a(()=>[l(f,{value:K.value,readonly:""},null,8,["value"]),l(T,{onClick:ue},{default:a(()=>[...e[23]||(e[23]=[d("复制",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),l(pe,{value:F.value,"onUpdate:value":e[20]||(e[20]=t=>F.value=t),type:"segment",animated:"",class:"aksrt-provider-tabs"},{default:a(()=>[(c(),j(M,null,W(x,t=>l(ce,{key:t,name:t,tab:w(t)},{default:a(()=>[l(v,{class:"aksrt-section-card"},{header:a(()=>[l(Q,{align:"center"},{default:a(()=>[h("span",null,m(w(t))+"凭证",1),l(_,{type:R(t).configured?"success":"warning",size:"small",round:""},{default:a(()=>[d(m(R(t).configured?"已配置":"未配置"),1)]),_:2},1032,["type"])]),_:2},1024)]),default:a(()=>[l(de,{type:"info","show-icon":!1,style:{"margin-bottom":"18px"}},{default:a(()=>[...e[25]||(e[25]=[d(" 已保存凭证不会回显。留空表示保留原值;输入新值并保存会替换对应凭证。 ",-1)])]),_:1}),l($,{"label-placement":"left","label-width":"190"},{default:a(()=>[t==="aliyun"?(c(),b(s,{key:0,label:"Region"},{default:a(()=>[l(f,{value:n.user_verify_aliyun_region,"onUpdate:value":e[13]||(e[13]=u=>n.user_verify_aliyun_region=u),placeholder:"cn-hangzhou"},null,8,["value"])]),_:1})):U("",!0),t==="aliyun"?(c(),b(s,{key:1,label:"个人认证 SceneId"},{default:a(()=>[l(f,{value:n.user_verify_aliyun_personal_flow,"onUpdate:value":e[14]||(e[14]=u=>n.user_verify_aliyun_personal_flow=u),placeholder:"从阿里云实人认证控制台获取 SceneId"},null,8,["value"])]),_:1})):U("",!0),t==="aliyun"?(c(),b(s,{key:2,label:"个人认证 ProductCode"},{default:a(()=>[l(ve,{value:n.user_verify_aliyun_product_code,"onUpdate:value":e[15]||(e[15]=u=>n.user_verify_aliyun_product_code=u),options:le},null,8,["value"])]),_:1})):U("",!0),t==="aliyun"?(c(),b(s,{key:3,label:"企业认证业务标识"},{default:a(()=>[l(f,{value:n.user_verify_aliyun_enterprise_flow,"onUpdate:value":e[16]||(e[16]=u=>n.user_verify_aliyun_enterprise_flow=u),placeholder:"可留空,默认复用个人认证 SceneId"},null,8,["value"])]),_:1})):U("",!0),t==="tencent"?(c(),b(s,{key:4,label:"Region"},{default:a(()=>[l(f,{value:n.user_verify_tencent_region,"onUpdate:value":e[17]||(e[17]=u=>n.user_verify_tencent_region=u),placeholder:"ap-guangzhou"},null,8,["value"])]),_:1})):U("",!0),t==="tencent"?(c(),b(s,{key:5,label:"个人认证 RuleId"},{default:a(()=>[l(f,{value:n.user_verify_tencent_personal_flow,"onUpdate:value":e[18]||(e[18]=u=>n.user_verify_tencent_personal_flow=u),placeholder:"从腾讯云实名核身控制台获取 RuleId"},null,8,["value"])]),_:1})):U("",!0),t==="tencent"?(c(),b(s,{key:6,label:"企业认证流程标识"},{default:a(()=>[l(f,{value:n.user_verify_tencent_enterprise_flow,"onUpdate:value":e[19]||(e[19]=u=>n.user_verify_tencent_enterprise_flow=u),placeholder:"可留空,企业四要素后复用个人认证 RuleId"},null,8,["value"])]),_:1})):U("",!0),(c(!0),j(M,null,W(H[t],u=>(c(),b(s,{key:u.key,label:u.label},{default:a(()=>[l(f,{value:k[t][u.key],"onUpdate:value":me=>k[t][u.key]=me,type:"password","show-password-on":"click",placeholder:te(t,u.key),autocomplete:"new-password"},null,8,["value","onUpdate:value","placeholder"])]),_:2},1032,["label"]))),128)),l(s,{label:"显式清除凭证"},{feedback:a(()=>[...e[26]||(e[26]=[d("清除后该服务商立即变为未配置;此操作不会因输入框留空而触发。",-1)])]),default:a(()=>[l(fe,{checked:g[t],"onUpdate:checked":u=>g[t]=u},{default:a(()=>[d(" 保存时删除 "+m(w(t))+"全部凭证 ",1)]),_:2},1032,["checked","onUpdate:checked"])]),_:2},1024),l(s,{label:"配置测试"},{default:a(()=>[l(T,{loading:E.value===t,disabled:C.value,onClick:u=>se(t)},{default:a(()=>[d(" 测试 "+m(w(t))+"配置 ",1)]),_:2},1032,["loading","disabled","onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1032,["name","tab"])),64))]),_:1},8,["value"]),h("div",Re,[l(T,{disabled:!ae.value,onClick:X},{default:a(()=>[...e[27]||(e[27]=[d("放弃更改",-1)])]),_:1},8,["disabled"]),l(T,{type:"primary",loading:C.value,onClick:re},{default:a(()=>[...e[28]||(e[28]=[d("保存全部配置",-1)])]),_:1},8,["loading"])])]),_:1},8,["show"])])}}},Ne=ge(Se,[["__scopeId","data-v-2e5fcc8a"]]);export{Ne as default};