Files
wordpress-theme-aksrt/assets/admin/build/UsersSignin.frRX-AHK.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

7 lines
10 KiB
JavaScript

import{a as C}from"./shared-api.D5_fnN32.js";import{_ as O,a1 as o,W as f,X as $,a4 as i,a3 as n,a2 as x,F,R as W,f as v,Z as p,a5 as k,l as D,o as X,r as P,e as M,Y as m,c as Y}from"./vendor-vue.Bykizn0M.js";import{P as Z}from"./PageHeader.Di3JTPjc.js";import{u as G}from"./vendor-naive.BuHWlEgf.js";import"./index.js";import"./vendor-misc.1adHN6i_.js";const J={class:"aksrt-page-container"},K={__name:"UsersSectionPage",props:{title:{type:String,required:!0},desc:{type:String,default:""},note:{type:String,default:""},links:{type:Array,default:()=>[]}},setup(w){const S=O();function U(g){S.push(g)}return(g,N)=>{const j=o("n-button"),y=o("n-space"),e=o("n-alert"),R=o("n-card");return f(),$("div",J,[i(Z,{title:w.title,desc:w.desc},{actions:n(()=>[w.links.length?(f(),x(y,{key:0},{default:n(()=>[(f(!0),$(F,null,W(w.links,h=>(f(),x(j,{key:h.path,quaternary:"",onClick:B=>U(h.path)},{default:n(()=>[v(p(h.label),1)]),_:2},1032,["onClick"]))),128))]),_:1})):k("",!0)]),_:1},8,["title","desc"]),w.note?(f(),x(R,{key:0,class:"aksrt-section-card"},{default:n(()=>[i(e,{type:"info","show-icon":!1},{default:n(()=>[v(p(w.note),1)]),_:1})]),_:1})):k("",!0),D(g.$slots,"before-form"),D(g.$slots,"default")])}}},Q={class:"aksrt-hint-text"},ee={class:"aksrt-hint-text"},te={class:"aksrt-form-actions"},oe={__name:"UsersSignin",setup(w){const S=G(),U=P(!0),g=P(!1),N=P({}),j=P({}),y=M({register:!1,signin:!1}),e=M({credits_enabled:!0,currency_name:"",signin_enabled:!0,signin_base:1,signin_streak_text:`3|2
7|5
30|20`,invite_enabled:!0,inviter_amount:5,invitee_amount:2,require_verify:!0,ip_daily_cap:3,invite_registration_enabled:!0,invite_code_length:6,invite_register_field:"optional",invite_reject_invalid:!0}),R=Y(()=>e.currency_name||"积分");function h(s){return(s==null?void 0:s.data)??s??{}}function B(s){return Object.entries(s||{}).map(([r,l])=>[Number(r),Number(l)]).filter(([r,l])=>Number.isFinite(r)&&r>0&&Number.isFinite(l)&&l>=0).sort((r,l)=>r[0]-l[0]).map(([r,l])=>`${r}|${l}`).join(`
`)}function V(s){const t=String(s||"").split(/\r?\n/).map(l=>l.trim()).filter(Boolean),r={};return t.forEach(l=>{const d=l.split("|").map(_=>_.trim());if(d.length!==2)return;const c=Number(d[0]),b=Number(d[1]);!Number.isFinite(c)||!Number.isFinite(b)||c<=0||b<0||(r[Math.trunc(c)]=Math.trunc(b))}),r}async function L(){U.value=!0;try{const[s,t,r]=await Promise.all([C.getCreditSettings(),C.getAuthSettings(),C.getPermissionsLoginSettings()]),l=h(s),d=h(t),c=h(r),b=l.daily_signin||{},_=l.invite_reward||{},u=Array.isArray(c.disabled_scenarios)?c.disabled_scenarios:[];N.value=l,j.value=d,e.credits_enabled=l.enabled!==!1,e.currency_name=l.currency_name||"",e.signin_enabled=b.enabled!==!1,e.signin_base=Number(b.base||0),e.signin_streak_text=B(b.streak||{3:2,7:5,30:20}),e.invite_enabled=_.enabled!==!1,e.inviter_amount=Number(_.inviter_amount||0),e.invitee_amount=Number(_.invitee_amount||0),e.require_verify=_.require_verify!==!1,e.ip_daily_cap=Number(_.ip_daily_cap||0),e.invite_registration_enabled=d.invite_registration_enabled!==!1,e.invite_code_length=Number(d.invite_code_length||6),e.invite_register_field=d.invite_register_field||"optional",e.invite_reject_invalid=d.invite_reject_invalid!==!1,y.register=!!c.enabled&&!!c.active_provider&&!u.includes("register"),y.signin=!!c.enabled&&!!c.active_provider&&!u.includes("signin")}catch(s){S.error(s.message||"加载签到奖励配置失败")}finally{U.value=!1}}async function z(){g.value=!0;try{const s={...N.value,daily_signin:{...N.value.daily_signin||{},enabled:e.signin_enabled,base:Number(e.signin_base||0),streak:V(e.signin_streak_text)},invite_reward:{...N.value.invite_reward||{},enabled:e.invite_enabled,inviter_amount:Number(e.inviter_amount||0),invitee_amount:Number(e.invitee_amount||0),require_verify:e.require_verify,ip_daily_cap:Number(e.ip_daily_cap||0),register_field:e.invite_register_field,reject_invalid:e.invite_reject_invalid}},t={...j.value,invite_registration_enabled:e.invite_registration_enabled,invite_code_length:Number(e.invite_code_length||6),invite_register_field:e.invite_register_field,invite_reject_invalid:e.invite_reject_invalid};await Promise.all([C.saveCreditSettings(s),C.saveAuthSettings(t)]),N.value=s,j.value=t,S.success("签到奖励配置已保存")}catch(s){S.error(s.message||"保存失败")}finally{g.value=!1}}return X(L),(s,t)=>{const r=o("n-tag"),l=o("n-space"),d=o("n-card"),c=o("n-alert"),b=o("n-spin"),_=o("n-switch"),u=o("n-form-item"),q=o("n-input-number"),E=o("n-input"),A=o("n-radio"),T=o("n-radio-group"),H=o("n-button"),I=o("n-form");return f(),x(K,{title:"签到奖励",desc:"直接管理签到与邀请奖励的真实运行配置,保存后会立即影响前台签到、邀请链接和注册页邀请码行为。",links:[{label:"注册登录",path:"/users/auth"},{label:"用户积分",path:"/users/credits"}]},{"before-form":n(()=>[i(b,{show:U.value,style:{width:"100%","min-height":"200px"}},{default:n(()=>[i(d,{class:"aksrt-section-card"},{default:n(()=>[t[12]||(t[12]=m("div",{class:"aksrt-section-header"},[m("h3",null,"当前联动摘要")],-1)),i(l,null,{default:n(()=>[i(r,{round:"",type:e.credits_enabled?"success":"warning"},{default:n(()=>[v(" 积分系统:"+p(e.credits_enabled?"已启用":"未启用"),1)]),_:1},8,["type"]),i(r,{round:"",type:e.signin_enabled?"success":"default"},{default:n(()=>[v(" 签到能力:"+p(e.signin_enabled?"已启用":"已关闭"),1)]),_:1},8,["type"]),i(r,{round:"",type:e.invite_enabled?"success":"default"},{default:n(()=>[v(" 邀请奖励:"+p(e.invite_enabled?"已启用":"已关闭"),1)]),_:1},8,["type"]),i(r,{round:"",type:e.invite_registration_enabled?"info":"default"},{default:n(()=>[v(" 邀请注册:"+p(e.invite_registration_enabled?"开启":"关闭"),1)]),_:1},8,["type"]),i(r,{round:"",type:y.register?"info":"default"},{default:n(()=>[v(" 注册验证码:"+p(y.register?"启用":"未启用"),1)]),_:1},8,["type"]),i(r,{round:"",type:y.signin?"info":"default"},{default:n(()=>[v(" 签到验证码:"+p(y.signin?"启用":"未启用"),1)]),_:1},8,["type"])]),_:1})]),_:1}),e.credits_enabled?k("",!0):(f(),x(d,{key:0,class:"aksrt-section-card"},{default:n(()=>[i(c,{type:"warning","show-icon":!1},{default:n(()=>[...t[13]||(t[13]=[v(" 当前积分系统处于关闭状态。即使保存签到和邀请奖励配置,前台也不会真正发放奖励,直到“用户积分”页重新启用积分系统。 ",-1)])]),_:1})]),_:1}))]),_:1},8,["show"])]),default:n(()=>[i(I,{model:e,"label-placement":"left","label-width":"180",class:"aksrt-form"},{default:n(()=>[i(d,{class:"aksrt-section-card"},{default:n(()=>[t[14]||(t[14]=m("div",{class:"aksrt-section-header"},[m("h3",null,"每日签到")],-1)),i(u,{label:"启用签到奖励"},{default:n(()=>[i(_,{value:e.signin_enabled,"onUpdate:value":t[0]||(t[0]=a=>e.signin_enabled=a)},null,8,["value"])]),_:1}),e.signin_enabled?(f(),x(u,{key:0,label:"基础奖励"},{feedback:n(()=>[m("span",Q,"每次签到基础发放 "+p(R.value)+" 数量。",1)]),default:n(()=>[i(q,{value:e.signin_base,"onUpdate:value":t[1]||(t[1]=a=>e.signin_base=a),min:0,max:1e5,style:{width:"180px"}},null,8,["value"])]),_:1})):k("",!0),e.signin_enabled?(f(),x(u,{key:1,label:"连续签到加成"},{feedback:n(()=>[m("span",ee,"每行一个周期,格式 `天数|额外奖励`。例如 `7|5` 表示连续 7 天额外获得 5 "+p(R.value)+"。",1)]),default:n(()=>[i(E,{value:e.signin_streak_text,"onUpdate:value":t[2]||(t[2]=a=>e.signin_streak_text=a),type:"textarea",autosize:{minRows:4,maxRows:8},placeholder:`3|2
7|5
30|20`},null,8,["value"])]),_:1})):k("",!0)]),_:1}),i(d,{class:"aksrt-section-card"},{default:n(()=>[t[20]||(t[20]=m("div",{class:"aksrt-section-header"},[m("h3",null,"邀请奖励与注册页邀请码")],-1)),i(u,{label:"启用邀请奖励"},{default:n(()=>[i(_,{value:e.invite_enabled,"onUpdate:value":t[3]||(t[3]=a=>e.invite_enabled=a)},null,8,["value"])]),_:1}),i(u,{label:"开放邀请注册"},{feedback:n(()=>[...t[15]||(t[15]=[m("span",{class:"aksrt-hint-text"},"关闭后,邀请链接入口、注册页邀请码字段和个人中心邀请模块会一起隐藏。",-1)])]),default:n(()=>[i(_,{value:e.invite_registration_enabled,"onUpdate:value":t[4]||(t[4]=a=>e.invite_registration_enabled=a)},null,8,["value"])]),_:1}),e.invite_registration_enabled?(f(),$(F,{key:0},[i(u,{label:"邀请码长度"},{default:n(()=>[i(q,{value:e.invite_code_length,"onUpdate:value":t[5]||(t[5]=a=>e.invite_code_length=a),min:4,max:12,style:{width:"180px"}},null,8,["value"])]),_:1}),i(u,{label:"注册页邀请码字段"},{default:n(()=>[i(T,{value:e.invite_register_field,"onUpdate:value":t[6]||(t[6]=a=>e.invite_register_field=a)},{default:n(()=>[i(l,{size:"large"},{default:n(()=>[i(A,{value:"hidden"},{default:n(()=>[...t[16]||(t[16]=[v("隐藏",-1)])]),_:1}),i(A,{value:"optional"},{default:n(()=>[...t[17]||(t[17]=[v("选填",-1)])]),_:1}),i(A,{value:"required"},{default:n(()=>[...t[18]||(t[18]=[v("必填",-1)])]),_:1})]),_:1})]),_:1},8,["value"])]),_:1}),e.invite_register_field==="required"?(f(),x(u,{key:0,label:"无效邀请码处理"},{feedback:n(()=>[...t[19]||(t[19]=[m("span",{class:"aksrt-hint-text"},"开启后,必填模式下无效邀请码会直接拒绝注册。关闭则忽略邀请码错误并继续注册。",-1)])]),default:n(()=>[i(_,{value:e.invite_reject_invalid,"onUpdate:value":t[7]||(t[7]=a=>e.invite_reject_invalid=a)},null,8,["value"])]),_:1})):k("",!0)],64)):k("",!0),e.invite_enabled?(f(),$(F,{key:1},[i(u,{label:"邀请人奖励"},{default:n(()=>[i(q,{value:e.inviter_amount,"onUpdate:value":t[8]||(t[8]=a=>e.inviter_amount=a),min:0,max:1e5,style:{width:"180px"}},null,8,["value"])]),_:1}),i(u,{label:"被邀请人奖励"},{default:n(()=>[i(q,{value:e.invitee_amount,"onUpdate:value":t[9]||(t[9]=a=>e.invitee_amount=a),min:0,max:1e5,style:{width:"180px"}},null,8,["value"])]),_:1}),i(u,{label:"验证邮箱后发放"},{default:n(()=>[i(_,{value:e.require_verify,"onUpdate:value":t[10]||(t[10]=a=>e.require_verify=a)},null,8,["value"])]),_:1}),i(u,{label:"同 IP 日上限"},{default:n(()=>[i(q,{value:e.ip_daily_cap,"onUpdate:value":t[11]||(t[11]=a=>e.ip_daily_cap=a),min:0,max:1e3,style:{width:"180px"}},null,8,["value"])]),_:1})],64)):k("",!0)]),_:1}),m("div",te,[i(H,{type:"primary",loading:g.value,onClick:z},{default:n(()=>[...t[21]||(t[21]=[v("保存配置",-1)])]),_:1},8,["loading"])])]),_:1},8,["model"])]),_:1})}}};export{oe as default};