feat(admin): 新增管理后台前端资源文件 feat(api): 实现获取用户统计数据的API接口 - 添加获取用户道具卡数量、优惠券数量和积分余额的接口 - 实现设置默认地址和删除地址的接口 feat(service): 新增用户统计服务方法 - 实现GetUserStats方法查询用户统计数据 - 添加地址管理相关服务方法 fix(core): 修复静态资源路由问题 - 调整静态资源路由配置 - 优化404路由处理逻辑 chore: 更新前端构建配置 - 添加Windows平台构建命令 - 更新README构建说明
2 lines
7.5 KiB
JavaScript
2 lines
7.5 KiB
JavaScript
var e=Object.defineProperty,a=Object.defineProperties,l=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,s=Math.pow,i=(a,l,t)=>l in a?e(a,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[l]=t,n=(e,a)=>{for(var l in a||(a={}))r.call(a,l)&&i(e,l,a[l]);if(t)for(var l of t(a))o.call(a,l)&&i(e,l,a[l]);return e};import{a2 as u,_ as c,d as v,a3 as f,X as m,a as d,c as p,b,c4 as h,ao as y,y as g,f as w,z as S,J as z,h as x,aG as E,i as _,u as L,g as k,ac as H,Z as O,aZ as T,e as j,p as C,F as B,b2 as R,ak as N,by as W,w as P,a7 as M,r as A,cq as $,o as q,n as X,bw as I,k as K,j as Y,au as Z,ag as D,ah as F,ap as G}from"./index-ip5gDR6L.js";import{t as J,u as Q}from"./index-fnD_mPvE.js";const U={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},V=Symbol("scrollbarContextKey"),ee=u({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean});var ae=c(v({__name:"thumb",props:ee,setup(e){const a=e,l=f(V),t=m("scrollbar");l||J("Thumb","can not inject scrollbar context");const r=d(),o=d(),i=d({}),n=d(!1);let u=!1,c=!1,v=0,j=0,C=T?document.onselectstart:null;const B=p(()=>U[a.vertical?"vertical":"horizontal"]),R=p(()=>(({move:e,size:a,bar:l})=>({[l.size]:a,transform:`translate${l.axis}(${e}%)`}))({size:a.size,move:a.move,bar:B.value})),N=p(()=>s(r.value[B.value.offset],2)/l.wrapElement[B.value.scrollSize]/a.ratio/o.value[B.value.offset]),W=e=>{var a;if(e.stopPropagation(),e.ctrlKey||[1,2].includes(e.button))return;null==(a=window.getSelection())||a.removeAllRanges(),M(e);const l=e.currentTarget;l&&(i.value[B.value.axis]=l[B.value.offset]-(e[B.value.client]-l.getBoundingClientRect()[B.value.direction]))},P=e=>{if(!o.value||!r.value||!l.wrapElement)return;const a=100*(Math.abs(e.target.getBoundingClientRect()[B.value.direction]-e[B.value.client])-o.value[B.value.offset]/2)*N.value/r.value[B.value.offset];l.wrapElement[B.value.scroll]=a*l.wrapElement[B.value.scrollSize]/100},M=e=>{e.stopImmediatePropagation(),u=!0,v=l.wrapElement.scrollHeight,j=l.wrapElement.scrollWidth,document.addEventListener("mousemove",A),document.addEventListener("mouseup",$),C=document.onselectstart,document.onselectstart=()=>!1},A=e=>{if(!r.value||!o.value)return;if(!1===u)return;const a=i.value[B.value.axis];if(!a)return;const t=100*(-1*(r.value.getBoundingClientRect()[B.value.direction]-e[B.value.client])-(o.value[B.value.offset]-a))*N.value/r.value[B.value.offset];"scrollLeft"===B.value.scroll?l.wrapElement[B.value.scroll]=t*j/100:l.wrapElement[B.value.scroll]=t*v/100},$=()=>{u=!1,i.value[B.value.axis]=0,document.removeEventListener("mousemove",A),document.removeEventListener("mouseup",$),q(),c&&(n.value=!1)};b(()=>{q(),document.removeEventListener("mouseup",$)});const q=()=>{document.onselectstart!==C&&(document.onselectstart=C)};return h(y(l,"scrollbarElement"),"mousemove",()=>{c=!1,n.value=!!a.size}),h(y(l,"scrollbarElement"),"mouseleave",()=>{c=!0,n.value=u}),(e,a)=>(w(),g(O,{name:L(t).b("fade"),persisted:""},{default:S(()=>[z(x("div",{ref_key:"instance",ref:r,class:_([L(t).e("bar"),L(t).is(L(B).key)]),onMousedown:P,onClick:E(()=>{},["stop"])},[x("div",{ref_key:"thumb",ref:o,class:_(L(t).e("thumb")),style:k(L(R)),onMousedown:W},null,38)],42,["onClick"]),[[H,e.always||n.value]])]),_:1},8,["name"]))}}),[["__file","thumb.vue"]]);var le=c(v({__name:"bar",props:u({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),setup(e,{expose:a}){const l=e,t=f(V),r=d(0),o=d(0),i=d(""),n=d(""),u=d(1),c=d(1);return a({handleScroll:e=>{if(e){const a=e.offsetHeight-4,l=e.offsetWidth-4;o.value=100*e.scrollTop/a*u.value,r.value=100*e.scrollLeft/l*c.value}},update:()=>{const e=null==t?void 0:t.wrapElement;if(!e)return;const a=e.offsetHeight-4,r=e.offsetWidth-4,o=s(a,2)/e.scrollHeight,v=s(r,2)/e.scrollWidth,f=Math.max(o,l.minSize),m=Math.max(v,l.minSize);u.value=o/(a-o)/(f/(a-f)),c.value=v/(r-v)/(m/(r-m)),n.value=f+4<a?`${f}px`:"",i.value=m+4<r?`${m}px`:""}}),(e,a)=>(w(),j(B,null,[C(ae,{move:r.value,ratio:c.value,size:i.value,always:e.always},null,8,["move","ratio","size","always"]),C(ae,{move:o.value,ratio:u.value,size:n.value,vertical:"",always:e.always},null,8,["move","ratio","size","always"])],64))}}),[["__file","bar.vue"]]);const te=u(n({distance:{type:Number,default:0},height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,wrapStyle:{type:N([String,Object,Array]),default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},tabindex:{type:[String,Number],default:void 0},id:String,role:String},Q(["ariaLabel","ariaOrientation"]))),re={"end-reached":e=>["left","right","top","bottom"].includes(e),scroll:({scrollTop:e,scrollLeft:a})=>[e,a].every(R)},oe=v({name:"ElScrollbar"});var se;const ie=G(c(v((se=n({},oe),a(se,l({props:te,emits:re,setup(e,{expose:a,emit:l}){const t=e,r=m("scrollbar");let o,s,i,n=0,u=0,c="";const v={bottom:!1,top:!1,right:!1,left:!1},f=d(),b=d(),y=d(),z=d(),E=p(()=>{const e={};return t.height&&(e.height=W(t.height)),t.maxHeight&&(e.maxHeight=W(t.maxHeight)),[t.wrapStyle,e]}),H=p(()=>[t.wrapClass,r.e("wrap"),{[r.em("wrap","hidden-default")]:!t.native}]),O=p(()=>[r.e("view"),t.viewClass]),T={top:"bottom",bottom:"top",left:"right",right:"left"},C=()=>{var e;if(b.value){null==(e=z.value)||e.handleScroll(b.value);const a=n,r=u;n=b.value.scrollTop,u=b.value.scrollLeft;const o={bottom:n+b.value.clientHeight>=b.value.scrollHeight-t.distance,top:n<=t.distance&&0!==a,right:u+b.value.clientWidth>=b.value.scrollWidth-t.distance&&r!==u,left:u<=t.distance&&0!==r};if(l("scroll",{scrollTop:n,scrollLeft:u}),a!==n&&(c=n>a?"bottom":"top"),r!==u&&(c=u>r?"right":"left"),t.distance>0){if((e=>{var a;return null!=(a=v[e])&&a})(c))return;(e=>{const a=T[c];if(!a)return;const l=e[c],t=e[a];l&&!v[c]&&(v[c]=!0),!t&&v[a]&&(v[a]=!1)})(o)}o[c]&&l("end-reached",c)}},B=()=>{var e;null==(e=z.value)||e.update(),v[c]=!1};return P(()=>t.noresize,e=>{e?(null==o||o(),null==s||s(),null==i||i()):(({stop:o}=F(y,B)),({stop:s}=F(b,B)),i=h("resize",B))},{immediate:!0}),P(()=>[t.maxHeight,t.height],()=>{t.native||X(()=>{var e;B(),b.value&&(null==(e=z.value)||e.handleScroll(b.value))})}),M(V,A({scrollbarElement:f,wrapElement:b})),$(()=>{b.value&&(b.value.scrollTop=n,b.value.scrollLeft=u)}),q(()=>{t.native||X(()=>{B()})}),I(()=>B()),a({wrapRef:b,update:B,scrollTo:function(e,a){D(e)?b.value.scrollTo(e):R(e)&&R(a)&&b.value.scrollTo(e,a)},setScrollTop:e=>{R(e)&&(b.value.scrollTop=e)},setScrollLeft:e=>{R(e)&&(b.value.scrollLeft=e)},handleScroll:C}),(e,a)=>(w(),j("div",{ref_key:"scrollbarRef",ref:f,class:_(L(r).b())},[x("div",{ref_key:"wrapRef",ref:b,class:_(L(H)),style:k(L(E)),tabindex:e.tabindex,onScroll:C},[(w(),g(Z(e.tag),{id:e.id,ref_key:"resizeRef",ref:y,class:_(L(O)),style:k(e.viewStyle),role:e.role,"aria-label":e.ariaLabel,"aria-orientation":e.ariaOrientation},{default:S(()=>[Y(e.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],46,["tabindex"]),e.native?K("v-if",!0):(w(),g(le,{key:0,ref_key:"barRef",ref:z,always:e.always,"min-size":e.minSize},null,8,["always","min-size"]))],2))}})))),[["__file","scrollbar.vue"]]));export{ie as E,re as s};
|