邹方成 00452cba59 feat: 添加用户统计功能及相关API接口
feat(admin): 新增管理后台前端资源文件

feat(api): 实现获取用户统计数据的API接口
- 添加获取用户道具卡数量、优惠券数量和积分余额的接口
- 实现设置默认地址和删除地址的接口

feat(service): 新增用户统计服务方法
- 实现GetUserStats方法查询用户统计数据
- 添加地址管理相关服务方法

fix(core): 修复静态资源路由问题
- 调整静态资源路由配置
- 优化404路由处理逻辑

chore: 更新前端构建配置
- 添加Windows平台构建命令
- 更新README构建说明
2025-11-15 03:08:53 +08:00

2 lines
5.0 KiB
JavaScript

var e=Object.defineProperty,s=Object.defineProperties,o=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable,r=(s,o,a)=>o in s?e(s,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[o]=a,n=(e,s)=>{for(var o in s||(s={}))l.call(s,o)&&r(e,o,s[o]);if(a)for(var o of a(s))t.call(s,o)&&r(e,o,s[o]);return e},i=(e,a)=>s(e,o(a));import{_ as d,d as c,bI as u,a3 as f,c as p,e as b,f as g,h as v,k as m,j as y,i as h,u as C,m as k,p as w,z as P,y as _,au as R,cV as j,ab as $,g as x,aY as F,X as I,a as O,Z as A,Y as M,J as E,c6 as T,ac as D,a7 as z,ap as q}from"./index-ip5gDR6L.js";import{E as S,a as L}from"./index-D17cYxP7.js";import{F as Y,E as B,b as J}from"./index-CHAf6FpU.js";import{d as N,a as U,b as V,c as X,e as Z,u as G}from"./use-dialog-Cj8YneNA.js";import{u as H}from"./index-D6zsJoyl.js";import{c as K}from"./refs-Cw5r5QN8.js";import{u as Q}from"./index-D-iZIej9.js";const W=c({name:"ElDialogContent"});var ee=d(c(i(n({},W),{props:U,emits:N,setup(e,{expose:s}){const o=e,{t:a}=u(),{Close:l}=j,{dialogRef:t,headerRef:r,bodyId:n,ns:i,style:d}=f(V),{focusTrapRef:c}=f(Y),F=K(c,t),I=p(()=>!!o.draggable),O=p(()=>!!o.overflow),{resetPosition:A,updatePosition:M,isDragging:E}=H(t,r,I,O),T=p(()=>[i.b(),i.is("fullscreen",o.fullscreen),i.is("draggable",I.value),i.is("dragging",E.value),i.is("align-center",!!o.alignCenter),{[i.m("center")]:o.center}]);return s({resetPosition:A,updatePosition:M}),(e,s)=>(g(),b("div",{ref:C(F),class:h(C(T)),style:x(C(d)),tabindex:"-1"},[v("header",{ref_key:"headerRef",ref:r,class:h([C(i).e("header"),e.headerClass,{"show-close":e.showClose}])},[y(e.$slots,"header",{},()=>[v("span",{role:"heading","aria-level":e.ariaLevel,class:h(C(i).e("title"))},k(e.title),11,["aria-level"])]),e.showClose?(g(),b("button",{key:0,"aria-label":C(a)("el.dialog.close"),class:h(C(i).e("headerbtn")),type:"button",onClick:s=>e.$emit("close")},[w(C($),{class:h(C(i).e("close"))},{default:P(()=>[(g(),_(R(e.closeIcon||C(l))))]),_:1},8,["class"])],10,["aria-label","onClick"])):m("v-if",!0)],2),v("div",{id:C(n),class:h([C(i).e("body"),e.bodyClass])},[y(e.$slots,"default")],10,["id"]),e.$slots.footer?(g(),b("footer",{key:0,class:h([C(i).e("footer"),e.footerClass])},[y(e.$slots,"footer")],2)):m("v-if",!0)],6))}})),[["__file","dialog-content.vue"]]);const se=c({name:"ElDialog",inheritAttrs:!1});const oe=q(d(c(i(n({},se),{props:Z,emits:X,setup(e,{expose:s}){const o=e,a=F();Q({scope:"el-dialog",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/dialog.html#slots"},p(()=>!!a.title));const l=I("dialog"),t=O(),r=O(),n=O(),{visible:i,titleId:d,bodyId:c,style:u,overlayDialogStyle:f,rendered:b,transitionConfig:k,zIndex:R,_draggable:j,_alignCenter:$,_overflow:q,handleClose:Y,onModalClick:N,onOpenAutoFocus:U,onCloseAutoFocus:X,onCloseRequested:Z,onFocusoutPrevented:H}=G(o,t);z(V,{dialogRef:t,headerRef:r,bodyId:c,ns:l,rendered:b,style:u});const K=L(N),W=p(()=>o.modalPenetrable&&!o.modal&&!o.fullscreen);return s({visible:i,dialogContentRef:n,resetPosition:()=>{var e;null==(e=n.value)||e.resetPosition()},handleClose:Y}),(e,s)=>(g(),_(C(J),{to:e.appendTo,disabled:"body"===e.appendTo&&!e.appendToBody},{default:P(()=>[w(A,M(C(k),{persisted:""}),{default:P(()=>{var s;return[E(w(C(S),{"custom-mask-event":"",mask:e.modal,"overlay-class":[null!=(s=e.modalClass)?s:"",`${C(l).namespace.value}-modal-dialog`,C(l).is("penetrable",C(W))],"z-index":C(R)},{default:P(()=>[v("div",{role:"dialog","aria-modal":"true","aria-label":e.title||void 0,"aria-labelledby":e.title?void 0:C(d),"aria-describedby":C(c),class:h(`${C(l).namespace.value}-overlay-dialog`),style:x(C(f)),onClick:C(K).onClick,onMousedown:C(K).onMousedown,onMouseup:C(K).onMouseup},[w(C(B),{loop:"",trapped:C(i),"focus-start-el":"container",onFocusAfterTrapped:C(U),onFocusAfterReleased:C(X),onFocusoutPrevented:C(H),onReleaseRequested:C(Z)},{default:P(()=>[C(b)?(g(),_(ee,M({key:0,ref_key:"dialogContentRef",ref:n},e.$attrs,{center:e.center,"align-center":C($),"close-icon":e.closeIcon,draggable:C(j),overflow:C(q),fullscreen:e.fullscreen,"header-class":e.headerClass,"body-class":e.bodyClass,"footer-class":e.footerClass,"show-close":e.showClose,title:e.title,"aria-level":e.headerAriaLevel,onClose:C(Y)}),T({header:P(()=>[e.$slots.title?y(e.$slots,"title",{key:1}):y(e.$slots,"header",{key:0,close:C(Y),titleId:C(d),titleClass:C(l).e("title")})]),default:P(()=>[y(e.$slots,"default")]),_:2},[e.$slots.footer?{name:"footer",fn:P(()=>[y(e.$slots,"footer")])}:void 0]),1040,["center","align-center","close-icon","draggable","overflow","fullscreen","header-class","body-class","footer-class","show-close","title","aria-level","onClose"])):m("v-if",!0)]),_:3},8,["trapped","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])],46,["aria-label","aria-labelledby","aria-describedby","onClick","onMousedown","onMouseup"])]),_:3},8,["mask","overlay-class","z-index"]),[[D,C(i)]])]}),_:3},16)]),_:3},8,["to","disabled"]))}})),[["__file","dialog.vue"]]));export{oe as E};