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.
This commit is contained in:
1 parent
2e25894eb5
commit
27d8a9ea71
64 files changed
+15839
-3
No files matched your search
@@ -0,0 +1 @@
|
||||
import{o as ee,X as v,a4 as a,a3 as l,r as T,a1 as u,e as ae,_ as le,W as m,f as o,Y as i,Z as b,a2 as k,a5 as U,F as $,R as q,N as se,c as te}from"./vendor-vue.BxZIRU0_.js";import{a as D}from"./shared-api.DnsQ5cxS.js";import{P as ne}from"./PageHeader.CtT29f8Y.js";import{d as E,M as re}from"./badge.CKTsmH1z.js";import{_ as ue}from"./index.js";import{u as de}from"./vendor-naive.CKYCZmXD.js";import"./vendor-misc.bELTaXdf.js";const oe={class:"aksrt-page-container"},_e={class:"aksrt-section-header",style:{display:"flex","justify-content":"space-between","align-items":"center"}},me={style:{"margin-top":"8px","text-align":"right"}},ie={class:"aksrt-form-actions"},pe={__name:"UsersBadge",setup(ce){const I=le(),C=de(),x=T(!0),h=T(!1),V=re,s=ae({user_medal_s:!1,user_medal_public_display:!0,user_medal_limit:3,user_medal_args:E()}),L=te(()=>s.user_medal_args.reduce((n,e)=>n+(Array.isArray(e.items)?e.items.length:0),0));function A(n){I.push(n)}function F(n){return(n==null?void 0:n.data)??n??{}}function N(){return{slug:"",name:"",desc:"",icon:"",get_type:"manually_add",get_val:0}}function z(n){return Array.isArray(n)?n.map(e=>({cat_name:String((e==null?void 0:e.cat_name)||(e==null?void 0:e.name)||"未命名").trim()||"未命名",items:Array.isArray(e==null?void 0:e.items)?e.items.map(t=>({slug:String((t==null?void 0:t.slug)||"").trim(),name:String((t==null?void 0:t.name)||"").trim(),desc:String((t==null?void 0:t.desc)||"").trim(),icon:String((t==null?void 0:t.icon)||(t==null?void 0:t.icon_url)||"").trim(),get_type:String((t==null?void 0:t.get_type)||"manually_add").trim()||"manually_add",get_val:Math.max(0,Number((t==null?void 0:t.get_val)??0)||0)})):[]})):E()}function Y(){s.user_medal_args.push({cat_name:"新分类",items:[N()]})}function j(n){s.user_medal_args.splice(n,1)}function G(n){s.user_medal_args[n].items||(s.user_medal_args[n].items=[]),s.user_medal_args[n].items.push(N())}function H(n,e){s.user_medal_args[n].items.splice(e,1)}async function K(){x.value=!0;try{const n=await D.getSchemaPage("users","badge"),e=F(n);s.user_medal_s=!!(e.user_medal_s??e.user_badge_enabled),s.user_medal_public_display=e.user_medal_public_display!==void 0?e.user_medal_public_display!==!1:e.user_badge_public_display!==!1,s.user_medal_limit=Number(e.user_medal_limit??e.user_badge_limit??3),s.user_medal_args=z(e.user_medal_args??null)}catch(n){C.error(n.message||"加载用户徽章配置失败")}finally{x.value=!1}}async function O(){h.value=!0;try{const n=z(s.user_medal_args);for(const e of n)for(const t of e.items)if(!t.slug||!t.name||!t.get_type){C.error("每个条目需要 slug、名称和获取条件"),h.value=!1;return}await D.saveSchemaPage("users","badge",{user_medal_s:!!s.user_medal_s,user_medal_public_display:!!s.user_medal_public_display,user_medal_limit:Number(s.user_medal_limit||3),user_medal_args:n}),s.user_medal_args=n,C.success("用户徽章配置已保存")}catch(n){C.error(n.message||"保存失败")}finally{h.value=!1}}return ee(K),(n,e)=>{const t=u("n-button"),w=u("n-space"),c=u("n-tag"),g=u("n-card"),B=u("n-switch"),S=u("n-form-item"),M=u("n-input-number"),W=u("n-form"),P=u("n-empty"),f=u("n-input"),p=u("n-grid-item"),X=u("n-select"),Z=u("n-grid"),J=u("n-alert"),Q=u("n-spin");return m(),v("div",oe,[a(ne,{title:"用户徽章",desc:"配置勋章分类、自动授予条件(get_type / get_val)与公开展示。路由 /users/badge,存储键 user_medal_*。"},{actions:l(()=>[a(w,null,{default:l(()=>[a(t,{quaternary:"",onClick:e[0]||(e[0]=d=>A("/users/notifications"))},{default:l(()=>[...e[5]||(e[5]=[o("消息通知",-1)])]),_:1}),a(t,{quaternary:"",onClick:e[1]||(e[1]=d=>A("/users/level"))},{default:l(()=>[...e[6]||(e[6]=[o("用户等级",-1)])]),_:1})]),_:1})]),_:1}),a(Q,{show:x.value,style:{width:"100%","min-height":"200px"}},{default:l(()=>[a(g,{class:"aksrt-section-card"},{default:l(()=>[e[7]||(e[7]=i("div",{class:"aksrt-section-header"},[i("h3",null,"当前摘要")],-1)),a(w,null,{default:l(()=>[a(c,{round:"",type:s.user_medal_s?"success":"default"},{default:l(()=>[o(" 徽章系统:"+b(s.user_medal_s?"已启用":"已关闭"),1)]),_:1},8,["type"]),a(c,{round:"",type:s.user_medal_public_display?"info":"default"},{default:l(()=>[o(" 公开展示:"+b(s.user_medal_public_display?"开启":"关闭"),1)]),_:1},8,["type"]),a(c,{round:"",type:"info"},{default:l(()=>[o("最多显示:"+b(s.user_medal_limit)+" 枚",1)]),_:1}),a(c,{round:"",type:"info"},{default:l(()=>[o("分类:"+b(s.user_medal_args.length),1)]),_:1}),a(c,{round:"",type:"info"},{default:l(()=>[o("条目:"+b(L.value),1)]),_:1})]),_:1})]),_:1}),a(g,{class:"aksrt-section-card"},{default:l(()=>[e[8]||(e[8]=i("div",{class:"aksrt-section-header"},[i("h3",null,"徽章展示")],-1)),a(W,{model:s,"label-placement":"left","label-width":"180",class:"aksrt-form"},{default:l(()=>[a(S,{label:"启用徽章/勋章系统"},{default:l(()=>[a(B,{value:s.user_medal_s,"onUpdate:value":e[2]||(e[2]=d=>s.user_medal_s=d)},null,8,["value"])]),_:1}),s.user_medal_s?(m(),k(S,Line truncated
|
||||
Reference in new issue
Block a user