邹方成 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
7.1 KiB
JavaScript

var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,u=(a,t,r)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,i=(e,a)=>{for(var t in a||(a={}))l.call(a,t)&&u(e,t,a[t]);if(r)for(var t of r(a))n.call(a,t)&&u(e,t,a[t]);return e},s=(e,r)=>a(e,t(r));import{b2 as o,ai as m,a2 as c,ak as d,bP as p,_ as b,d as f,bI as v,X as N,a as y,r as g,c as x,a6 as V,w as h,o as E,bw as I,e as S,f as w,J as A,k as _,p as j,u as O,B as F,i as k,j as $,z as B,y as M,a4 as P,d0 as D,ab as G,cQ as K,b9 as z,c6 as C,aG as R,aa as T,V as L,d1 as X,W as J,ap as Q}from"./index-ip5gDR6L.js";import{E as U}from"./index-DfrOVkw6.js";import{u as W,d as q,t as H}from"./index-fnD_mPvE.js";import{U as Y,I as Z,C as ee}from"./index-CHAf6FpU.js";import{v as ae}from"./index-BbcTNOqF.js";import{a as te}from"./use-form-item-BDb3ZgPk.js";import{u as re,b as le}from"./use-form-common-props-BwBs_jod.js";const ne=c(s(i({id:{type:String,default:void 0},step:{type:Number,default:1},stepStrictly:Boolean,max:{type:Number,default:Number.MAX_SAFE_INTEGER},min:{type:Number,default:Number.MIN_SAFE_INTEGER},modelValue:{type:[Number,null]},readonly:Boolean,disabled:Boolean,size:p,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:"",values:["","right"]},valueOnClear:{type:[String,Number,null],validator:e=>null===e||o(e)||["min","max"].includes(e),default:null},name:String,placeholder:String,precision:{type:Number,validator:e=>e>=0&&e===Number.parseInt(`${e}`,10)},validateEvent:{type:Boolean,default:!0}},W(["ariaLabel"])),{inputmode:{type:d(String),default:void 0},align:{type:d(String),default:"center"},disabledScientific:Boolean})),ue={[ee]:(e,a)=>a!==e,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent,[Z]:e=>o(e)||m(e),[Y]:e=>o(e)||m(e)},ie=f({name:"ElInputNumber"});const se=Q(b(f(s(i({},ie),{props:ne,emits:ue,setup(e,{expose:a,emit:t}){const r=e,{t:l}=v(),n=N("input-number"),u=y(),i=g({currentValue:r.modelValue,userInput:null}),{formItem:s}=te(),c=x(()=>o(r.modelValue)&&r.modelValue<=r.min),d=x(()=>o(r.modelValue)&&r.modelValue>=r.max),p=x(()=>{const e=ue(r.step);return V(r.precision)?Math.max(ue(r.modelValue),e):(r.precision,r.precision)}),b=x(()=>r.controls&&"right"===r.controlsPosition),f=re(),Q=le(),W=x(()=>{if(null!==i.userInput)return i.userInput;let e=i.currentValue;if(m(e))return"";if(o(e)){if(Number.isNaN(e))return"";V(r.precision)||(e=e.toFixed(r.precision))}return e}),ne=(e,a)=>{if(V(a)&&(a=p.value),0===a)return Math.round(e);let t=String(e);const r=t.indexOf(".");if(-1===r)return e;if(!t.replace(".","").split("")[r+a])return e;const l=t.length;return"5"===t.charAt(l-1)&&(t=`${t.slice(0,Math.max(0,l-1))}6`),Number.parseFloat(Number(t).toFixed(a))},ue=e=>{if(m(e))return 0;const a=e.toString(),t=a.indexOf(".");let r=0;return-1!==t&&(r=a.length-t-1),r},ie=(e,a=1)=>o(e)?e>=Number.MAX_SAFE_INTEGER&&1===a||e<=Number.MIN_SAFE_INTEGER&&-1===a?e:ne(e+r.step*a):i.currentValue,se=e=>{const a=L(e),t=X(e);if(r.disabledScientific&&["e","E"].includes(t))e.preventDefault();else switch(a){case J.up:e.preventDefault(),oe();break;case J.down:e.preventDefault(),me()}},oe=()=>{if(r.readonly||Q.value||d.value)return;const e=Number(W.value)||0,a=ie(e);de(a),t(Z,i.currentValue),Ne()},me=()=>{if(r.readonly||Q.value||c.value)return;const e=Number(W.value)||0,a=ie(e,-1);de(a),t(Z,i.currentValue),Ne()},ce=(e,a)=>{const{max:l,min:n,step:u,precision:i,stepStrictly:s,valueOnClear:o}=r;l<n&&H("InputNumber","min should not be greater than max.");let c=Number(e);if(m(e)||Number.isNaN(c))return null;if(""===e){if(null===o)return null;c=T(o)?{min:n,max:l}[o]:o}return s&&(c=ne(Math.round(c/u)*u,i),c!==e&&a&&t(Y,c)),V(i)||(c=ne(c,i)),(c>l||c<n)&&(c=c>l?l:n,a&&t(Y,c)),c},de=(e,a=!0)=>{var l;const n=i.currentValue,u=ce(e);a?n===u&&e||(i.userInput=null,t(Y,u),n!==u&&t(ee,u,n),r.validateEvent&&(null==(l=null==s?void 0:s.validate)||l.call(s,"change").catch(e=>q())),i.currentValue=u):t(Y,u)},pe=e=>{i.userInput=e;const a=""===e?null:Number(e);t(Z,a),de(a,!1)},be=e=>{const a=""!==e?Number(e):"";(o(a)&&!Number.isNaN(a)||""===e)&&de(a),Ne(),i.userInput=null},fe=e=>{t("focus",e)},ve=e=>{var a,l;i.userInput=null,null===i.currentValue&&(null==(a=u.value)?void 0:a.input)&&(u.value.input.value=""),t("blur",e),r.validateEvent&&(null==(l=null==s?void 0:s.validate)||l.call(s,"blur").catch(e=>q()))},Ne=()=>{i.currentValue!==r.modelValue&&(i.currentValue=r.modelValue)},ye=e=>{document.activeElement===e.target&&e.preventDefault()};return h(()=>r.modelValue,(e,a)=>{const t=ce(e,!0);null===i.userInput&&t!==a&&(i.currentValue=t)},{immediate:!0}),h(()=>r.precision,()=>{i.currentValue=ce(r.modelValue)}),E(()=>{var e;const{min:a,max:l,modelValue:n}=r,s=null==(e=u.value)?void 0:e.input;if(s.setAttribute("role","spinbutton"),Number.isFinite(l)?s.setAttribute("aria-valuemax",String(l)):s.removeAttribute("aria-valuemax"),Number.isFinite(a)?s.setAttribute("aria-valuemin",String(a)):s.removeAttribute("aria-valuemin"),s.setAttribute("aria-valuenow",i.currentValue||0===i.currentValue?String(i.currentValue):""),s.setAttribute("aria-disabled",String(Q.value)),!o(n)&&null!=n){let e=Number(n);Number.isNaN(e)&&(e=null),t(Y,e)}s.addEventListener("wheel",ye,{passive:!1})}),I(()=>{var e,a;const t=null==(e=u.value)?void 0:e.input;null==t||t.setAttribute("aria-valuenow",`${null!=(a=i.currentValue)?a:""}`)}),a({focus:()=>{var e,a;null==(a=null==(e=u.value)?void 0:e.focus)||a.call(e)},blur:()=>{var e,a;null==(a=null==(e=u.value)?void 0:e.blur)||a.call(e)}}),(e,a)=>(w(),S("div",{class:k([O(n).b(),O(n).m(O(f)),O(n).is("disabled",O(Q)),O(n).is("without-controls",!e.controls),O(n).is("controls-right",O(b)),O(n).is(e.align,!!e.align)]),onDragstart:R(()=>{},["prevent"])},[e.controls?A((w(),S("span",{key:0,role:"button","aria-label":O(l)("el.inputNumber.decrease"),class:k([O(n).e("decrease"),O(n).is("disabled",O(c))]),onKeydown:F(me,["enter"])},[$(e.$slots,"decrease-icon",{},()=>[j(O(G),null,{default:B(()=>[O(b)?(w(),M(O(P),{key:0})):(w(),M(O(D),{key:1}))]),_:1})])],42,["aria-label","onKeydown"])),[[O(ae),me]]):_("v-if",!0),e.controls?A((w(),S("span",{key:1,role:"button","aria-label":O(l)("el.inputNumber.increase"),class:k([O(n).e("increase"),O(n).is("disabled",O(d))]),onKeydown:F(oe,["enter"])},[$(e.$slots,"increase-icon",{},()=>[j(O(G),null,{default:B(()=>[O(b)?(w(),M(O(K),{key:0})):(w(),M(O(z),{key:1}))]),_:1})])],42,["aria-label","onKeydown"])),[[O(ae),oe]]):_("v-if",!0),j(O(U),{id:e.id,ref_key:"input",ref:u,type:"number",step:e.step,"model-value":O(W),placeholder:e.placeholder,readonly:e.readonly,disabled:O(Q),size:O(f),max:e.max,min:e.min,name:e.name,"aria-label":e.ariaLabel,"validate-event":!1,inputmode:e.inputmode,onKeyup:se,onBlur:ve,onFocus:fe,onInput:pe,onChange:be},C({_:2},[e.$slots.prefix?{name:"prefix",fn:B(()=>[$(e.$slots,"prefix")])}:void 0,e.$slots.suffix?{name:"suffix",fn:B(()=>[$(e.$slots,"suffix")])}:void 0]),1032,["id","step","model-value","placeholder","readonly","disabled","size","max","min","name","aria-label","inputmode"])],42,["onDragstart"]))}})),[["__file","input-number.vue"]]));export{se as E};