邹方成 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,a=Object.defineProperties,i=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,l=(a,i,t)=>i in a?e(a,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[i]=t,o=(e,a)=>{for(var i in a||(a={}))n.call(a,i)&&l(e,i,a[i]);if(t)for(var i of t(a))c.call(a,i)&&l(e,i,a[i]);return e};import{bt as s,aa as r,b2 as v,a2 as u,ak as d,ae as f,_ as p,d as m,X as b,c as y,a as h,by as k,w as g,o as I,e as x,f as V,h as w,k as j,B as S,u as T,i as _,y as O,z as P,au as B,ab as C,m as A,j as E,p as N,c1 as z,g as K,aG as L,n as $,dd as D,ap as F}from"./index-ip5gDR6L.js";import{i as G}from"./validator-eDtn0zQf.js";import{u as U,t as X,d as q}from"./index-fnD_mPvE.js";import{I as H,C as J,U as M}from"./index-CHAf6FpU.js";import{a as Q,b as R}from"./use-form-item-BDb3ZgPk.js";import{u as W,b as Y}from"./use-form-common-props-BwBs_jod.js";const Z=u(o({modelValue:{type:[Boolean,String,Number],default:!1},disabled:Boolean,loading:Boolean,size:{type:String,validator:G},width:{type:[String,Number],default:""},inlinePrompt:Boolean,inactiveActionIcon:{type:f},activeActionIcon:{type:f},activeIcon:{type:f},inactiveIcon:{type:f},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},beforeChange:{type:d(Function)},id:String,tabindex:{type:[String,Number]}},U(["ariaLabel"]))),ee={[M]:e=>s(e)||r(e)||v(e),[J]:e=>s(e)||r(e)||v(e),[H]:e=>s(e)||r(e)||v(e)},ae="ElSwitch",ie=m({name:ae});var te;const ne=F(p(m((te=o({},ie),a(te,i({props:Z,emits:ee,setup(e,{expose:a,emit:i}){const t=e,{formItem:n}=Q(),c=W(),l=b("switch"),{inputId:o}=R(t,{formItemContext:n}),r=Y(y(()=>t.loading)),v=h(!1!==t.modelValue),u=h(),d=h(),f=y(()=>[l.b(),l.m(c.value),l.is("disabled",r.value),l.is("checked",U.value)]),p=y(()=>[l.e("label"),l.em("label","left"),l.is("active",!U.value)]),m=y(()=>[l.e("label"),l.em("label","right"),l.is("active",U.value)]),F=y(()=>({width:k(t.width)}));g(()=>t.modelValue,()=>{v.value=!0});const G=y(()=>!!v.value&&t.modelValue),U=y(()=>G.value===t.activeValue);[t.activeValue,t.inactiveValue].includes(G.value)||(i(M,t.inactiveValue),i(J,t.inactiveValue),i(H,t.inactiveValue)),g(U,e=>{var a;u.value.checked=e,t.validateEvent&&(null==(a=null==n?void 0:n.validate)||a.call(n,"change").catch(e=>q()))});const Z=()=>{const e=U.value?t.inactiveValue:t.activeValue;i(M,e),i(J,e),i(H,e),$(()=>{u.value.checked=U.value})},ee=()=>{if(r.value)return;const{beforeChange:e}=t;if(!e)return void Z();const a=e();[D(a),s(a)].includes(!0)||X(ae,"beforeChange must return type `Promise<boolean>` or `boolean`"),D(a)?a.then(e=>{e&&Z()}).catch(e=>{}):a&&Z()};return I(()=>{u.value.checked=U.value}),a({focus:()=>{var e,a;null==(a=null==(e=u.value)?void 0:e.focus)||a.call(e)},checked:U}),(e,a)=>(V(),x("div",{class:_(T(f)),onClick:L(ee,["prevent"])},[w("input",{id:T(o),ref_key:"input",ref:u,class:_(T(l).e("input")),type:"checkbox",role:"switch","aria-checked":T(U),"aria-disabled":T(r),"aria-label":e.ariaLabel,name:e.name,"true-value":e.activeValue,"false-value":e.inactiveValue,disabled:T(r),tabindex:e.tabindex,onChange:Z,onKeydown:S(ee,["enter"])},null,42,["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex","onKeydown"]),e.inlinePrompt||!e.inactiveIcon&&!e.inactiveText?j("v-if",!0):(V(),x("span",{key:0,class:_(T(p))},[e.inactiveIcon?(V(),O(T(C),{key:0},{default:P(()=>[(V(),O(B(e.inactiveIcon)))]),_:1})):j("v-if",!0),!e.inactiveIcon&&e.inactiveText?(V(),x("span",{key:1,"aria-hidden":T(U)},A(e.inactiveText),9,["aria-hidden"])):j("v-if",!0)],2)),w("span",{ref_key:"core",ref:d,class:_(T(l).e("core")),style:K(T(F))},[e.inlinePrompt?(V(),x("div",{key:0,class:_(T(l).e("inner"))},[e.activeIcon||e.inactiveIcon?(V(),O(T(C),{key:0,class:_(T(l).is("icon"))},{default:P(()=>[(V(),O(B(T(U)?e.activeIcon:e.inactiveIcon)))]),_:1},8,["class"])):e.activeText||e.inactiveText?(V(),x("span",{key:1,class:_(T(l).is("text")),"aria-hidden":!T(U)},A(T(U)?e.activeText:e.inactiveText),11,["aria-hidden"])):j("v-if",!0)],2)):j("v-if",!0),w("div",{class:_(T(l).e("action"))},[e.loading?(V(),O(T(C),{key:0,class:_(T(l).is("loading"))},{default:P(()=>[N(T(z))]),_:1},8,["class"])):T(U)?E(e.$slots,"active-action",{key:1},()=>[e.activeActionIcon?(V(),O(T(C),{key:0},{default:P(()=>[(V(),O(B(e.activeActionIcon)))]),_:1})):j("v-if",!0)]):T(U)?j("v-if",!0):E(e.$slots,"inactive-action",{key:2},()=>[e.inactiveActionIcon?(V(),O(T(C),{key:0},{default:P(()=>[(V(),O(B(e.inactiveActionIcon)))]),_:1})):j("v-if",!0)])],2)],6),e.inlinePrompt||!e.activeIcon&&!e.activeText?j("v-if",!0):(V(),x("span",{key:1,class:_(T(m))},[e.activeIcon?(V(),O(T(C),{key:0},{default:P(()=>[(V(),O(B(e.activeIcon)))]),_:1})):j("v-if",!0),!e.activeIcon&&e.activeText?(V(),x("span",{key:1,"aria-hidden":!T(U)},A(e.activeText),9,["aria-hidden"])):j("v-if",!0)],2))],10,["onClick"]))}})))),[["__file","switch.vue"]]));export{ne as E};