Files
wordpress-theme-aksrt/assets/admin/build/UsersLevel.BpnbcbVe.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

2 lines
7.9 KiB
JavaScript

import{e as le,o as te,X as x,a4 as s,a3 as n,r as O,a1 as o,_ as ae,W as d,f as p,Y as i,Z as g,a2 as f,a5 as y,N as b,F as j,R as B,c as P,k as L}from"./vendor-vue.BxZIRU0_.js";import{a as A}from"./shared-api.DnsQ5cxS.js";import{P as se}from"./PageHeader.CtT29f8Y.js";import{d as G,a as C,I as V}from"./level.E3ANSDAX.js";import{_ as ne}from"./index.js";import{u as re,c as k,f as T}from"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";const _e={class:"aksrt-page-container"},ue={style:{margin:"0 0 8px"}},oe={class:"integral-field"},ie={class:"integral-field__label"},de={class:"aksrt-form-actions"},me={__name:"UsersLevel",setup(pe){const $=ae(),h=re(),N=O(!0),M=O(!1),l=le({user_level_s:!0,user_level_public_display:!0,user_level_max:10,user_level_opt:C(10),user_integral_opt:G(),user_level_notify:!0}),q=P(()=>[...new Set(V.map(t=>t.group))]),w=P(()=>{const t=Math.max(3,Math.min(30,Number(l.user_level_max)||10)),e=[];for(let a=1;a<=t;a++)e.push({level:a,name:l.user_level_opt["name_"+a]??"LV"+a,upgrade:Number(l.user_level_opt["upgrade_integral_"+a]??0)});return e}),D=[{title:"等级",key:"level",width:80},{title:"名称",key:"name",render:t=>L(T,{value:l.user_level_opt["name_"+t.level]??"",size:"small",onUpdateValue:e=>{l.user_level_opt["name_"+t.level]=e}})},{title:"等级图标 URL",key:"icon",render:t=>L(T,{value:l.user_level_opt["icon_img_"+t.level]??"",size:"small",placeholder:t.level<=10?"留空使用主题内置图标":"请输入图片 URL",onUpdateValue:e=>{l.user_level_opt["icon_img_"+t.level]=e}})},{title:"升级所需累计经验",key:"upgrade",width:200,render:t=>L(k,{value:Number(l.user_level_opt["upgrade_integral_"+t.level]??0),min:0,max:9999999,size:"small",style:"width: 160px;",onUpdateValue:e=>{l.user_level_opt["upgrade_integral_"+t.level]=Number(e||0)}})}];function I(t){$.push(t)}function E(t){return(t==null?void 0:t.data)??t??{}}function F(t){const e=Math.max(3,Math.min(30,Number(t)||10));l.user_level_max=e;const a={...l.user_level_opt},_=C(e);for(let r=1;r<=e;r++)a["upgrade_integral_"+r]===void 0&&(a["upgrade_integral_"+r]=_["upgrade_integral_"+r]),a["name_"+r]===void 0&&(a["name_"+r]="LV"+r),a["icon_img_"+r]===void 0&&(a["icon_img_"+r]="");for(const r of Object.keys(a)){const m=r.match(/_(\d+)$/);m&&Number(m[1])>e&&delete a[r]}l.user_level_opt=a}function R(t){const e=G();if(!t||typeof t!="object")return e;for(const a of V)t[a.key]!==void 0&&(e[a.key]=Math.max(0,Number(t[a.key])||0));return t.day_max!==void 0&&(e.day_max=Math.max(0,Number(t.day_max)||0)),e}function S(t,e){const a=C(e);if(!t||typeof t!="object")return a;for(let _=1;_<=e;_++)t["upgrade_integral_"+_]!==void 0&&(a["upgrade_integral_"+_]=Math.max(0,Number(t["upgrade_integral_"+_])||0)),t["name_"+_]!==void 0&&(a["name_"+_]=String(t["name_"+_]||"")),t["icon_img_"+_]!==void 0&&(a["icon_img_"+_]=String(t["icon_img_"+_]||""));return a}async function H(){N.value=!0;try{const t=await A.getSchemaPage("users","level"),e=E(t),a=e.user_level_s!==!1;l.user_level_s=a,l.user_level_public_display=e.user_level_public_display!==!1,l.user_level_max=Math.max(3,Math.min(30,Number(e.user_level_max||10))),l.user_level_notify=e.user_level_notify!==!1,l.user_level_opt=S(e.user_level_opt,l.user_level_max),l.user_integral_opt=R(e.user_integral_opt)}catch(t){h.error(t.message||"加载用户等级配置失败")}finally{N.value=!1}}async function W(){M.value=!0;try{const t=Math.max(3,Math.min(30,Number(l.user_level_max)||10)),e={user_level_s:!!l.user_level_s,user_level_public_display:!!l.user_level_public_display,user_level_max:t,user_level_notify:!!l.user_level_notify,user_level_opt:S(l.user_level_opt,t),user_integral_opt:R(l.user_integral_opt)};await A.saveSchemaPage("users","level",e),Object.assign(l,{user_level_max:t,user_level_opt:e.user_level_opt,user_integral_opt:e.user_integral_opt}),h.success("用户等级配置已保存")}catch(t){h.error(t.message||"保存失败")}finally{M.value=!1}}return te(H),(t,e)=>{const a=o("n-button"),_=o("n-space"),r=o("n-tag"),m=o("n-card"),U=o("n-switch"),c=o("n-form-item"),z=o("n-form"),X=o("n-alert"),Y=o("n-data-table"),Z=o("n-divider"),J=o("n-grid-item"),K=o("n-grid"),Q=o("n-spin");return d(),x("div",_e,[s(se,{title:"用户等级",desc:"配置等级开关、最高等级、升级经验阈值与经验获取矩阵(对齐 legacy 用户等级 / 经验值)。"},{actions:n(()=>[s(_,null,{default:n(()=>[s(a,{quaternary:"",onClick:e[0]||(e[0]=u=>I("/users/credits"))},{default:n(()=>[...e[7]||(e[7]=[p("用户积分",-1)])]),_:1}),s(a,{quaternary:"",onClick:e[1]||(e[1]=u=>I("/users/badge"))},{default:n(()=>[...e[8]||(e[8]=[p("用户徽章",-1)])]),_:1})]),_:1})]),_:1}),s(Q,{show:N.value,style:{width:"100%","min-height":"200px"}},{default:n(()=>[s(m,{class:"aksrt-section-card"},{default:n(()=>[e[9]||(e[9]=i("div",{class:"aksrt-section-header"},[i("h3",null,"当前摘要")],-1)),s(_,null,{default:n(()=>[s(r,{round:"",type:l.user_level_s?"success":"default"},{default:n(()=>[p(" 等级系统:"+g(l.user_level_s?"已启用":"已关闭"),1)]),_:1},8,["type"]),s(r,{round:"",type:"info"},{default:n(()=>[p("最高等级:"+g(l.user_level_max),1)]),_:1}),s(r,{round:"",type:"info"},{default:n(()=>[p("日经验上限:"+g(l.user_integral_opt.day_max),1)]),_:1})]),_:1})]),_:1}),s(m,{class:"aksrt-section-card"},{default:n(()=>[e[10]||(e[10]=i("div",{class:"aksrt-section-header"},[i("h3",null,"等级显示")],-1)),s(z,{model:l,"label-placement":"left","label-width":"180",class:"aksrt-form"},{default:n(()=>[s(c,{label:"启用用户等级"},{default:n(()=>[s(U,{value:l.user_level_s,"onUpdate:value":e[2]||(e[2]=u=>l.user_level_s=u)},null,8,["value"])]),_:1}),l.user_level_s?(d(),f(c,{key:0,label:"公开页显示等级"},{default:n(()=>[s(U,{value:l.user_level_public_display,"onUpdate:value":e[3]||(e[3]=u=>l.user_level_public_display=u)},null,8,["value"])]),_:1})):y("",!0),l.user_level_s?(d(),f(c,{key:1,label:"最高等级"},{default:n(()=>[s(b(k),{value:l.user_level_max,"onUpdate:value":[e[4]||(e[4]=u=>l.user_level_max=u),F],min:3,max:30,style:{width:"180px"}},null,8,["value"])]),_:1})):y("",!0),l.user_level_s?(d(),f(c,{key:2,label:"升级通知"},{default:n(()=>[s(U,{value:l.user_level_notify,"onUpdate:value":e[5]||(e[5]=u=>l.user_level_notify=u)},null,8,["value"])]),_:1})):y("",!0)]),_:1},8,["model"])]),_:1}),l.user_level_s?(d(),f(m,{key:0,class:"aksrt-section-card"},{default:n(()=>[e[12]||(e[12]=i("div",{class:"aksrt-section-header"},[i("h3",null,"升级所需经验(累计)")],-1)),s(X,{type:"info","show-icon":!1,style:{"margin-bottom":"12px"}},{default:n(()=>[...e[11]||(e[11]=[p(" Lv.1 通常为 0。数值为升到该级所需的累计经验。修改最高等级后会自动补齐/截断行。 ",-1)])]),_:1}),s(Y,{columns:D,data:w.value,bordered:!1,size:"small"},null,8,["data"])]),_:1})):y("",!0),l.user_level_s?(d(),f(m,{key:1,class:"aksrt-section-card"},{default:n(()=>[e[13]||(e[13]=i("div",{class:"aksrt-section-header"},[i("h3",null,"经验值得分")],-1)),s(z,{model:l,"label-placement":"left","label-width":"180",class:"aksrt-form"},{default:n(()=>[s(c,{label:"每日上限"},{default:n(()=>[s(b(k),{value:l.user_integral_opt.day_max,"onUpdate:value":e[6]||(e[6]=u=>l.user_integral_opt.day_max=u),min:0,max:1e4,style:{width:"180px"}},null,8,["value"])]),_:1})]),_:1},8,["model"]),s(Z),(d(!0),x(j,null,B(q.value,u=>(d(),x("div",{key:u,style:{"margin-bottom":"16px"}},[i("h4",ue,g(u),1),s(K,{cols:"1 s:2 m:3","x-gap":12,"y-gap":8,responsive:"screen"},{default:n(()=>[(d(!0),x(j,null,B(b(V).filter(v=>v.group===u),v=>(d(),f(J,{key:v.key},{default:n(()=>[i("div",oe,[i("div",ie,g(v.label),1),s(b(k),{value:l.user_integral_opt[v.key],"onUpdate:value":ee=>l.user_integral_opt[v.key]=ee,min:0,max:1e3,style:{width:"100%"}},null,8,["value","onUpdate:value"])])]),_:2},1024))),128))]),_:2},1024)]))),128))]),_:1})):y("",!0),i("div",de,[s(a,{type:"primary",loading:M.value,onClick:W},{default:n(()=>[...e[14]||(e[14]=[p("保存配置",-1)])]),_:1},8,["loading"])])]),_:1},8,["show"])])}}},ke=ne(me,[["__scopeId","data-v-d90bca95"]]);export{ke as default};