bindbox-game/build/resources/admin/assets/item-card-dialog-DZ9NFB0E.js
邹方成 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
8.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var e=(e,a,l)=>new Promise((t,r)=>{var o=e=>{try{s(l.next(e))}catch(a){r(a)}},u=e=>{try{s(l.throw(e))}catch(a){r(a)}},s=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,u);s((l=l.apply(e,a)).next())});import{d as a,a as l,c as t,w as r,y as o,f as u,z as s,J as i,p,k as d,h as m,l as n,aV as c,O as _}from"./index-ip5gDR6L.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{i as v}from"./itemCards-C_dE3q5e.js";import{E as f,a as g}from"./index-CxGOZAw2.js";import{E as y}from"./index-DfrOVkw6.js";import{E as x,a as j}from"./index-Br3btmwp.js";import{E as b}from"./index-HtXsSizM.js";import{E as V}from"./index-BMPM6CSe.js";import{a as h,b as k}from"./index-B1PFnxt8.js";import{E as w}from"./index-opP5No9I.js";import{E as U}from"./index-BpP4itD-.js";import{_ as q}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./use-form-common-props-BwBs_jod.js";import"./index-D-10FtUD.js";import"./index-CHAf6FpU.js";import"./index-fnD_mPvE.js";import"./use-form-item-BDb3ZgPk.js";import"./_initCloneObject-DwsgJamq.js";import"./index-C9KXwj2c.js";import"./index-DbRz3Zuu.js";import"./index-D1xXI5gl.js";import"./token-DWNpOE8r.js";import"./scroll-ChxXkPhM.js";import"./debounce-B9s63_mG.js";import"./index-Jz5GfFad.js";import"./vnode-6FKeug3R.js";import"./index-BbcTNOqF.js";import"./index-D-iZIej9.js";import"./index-D17cYxP7.js";import"./use-dialog-Cj8YneNA.js";import"./index-D6zsJoyl.js";import"./refs-Cw5r5QN8.js";const E=q(a({__name:"item-card-dialog",props:{modelValue:{type:Boolean},data:{},mode:{}},emits:["update:modelValue","success"],setup(a,{emit:q}){const E=a,N=q,C=l(),Y=l(!1),D=l({name:"",card_type:1,scope_type:1,effect_type:1,price:0,stacking_strategy:1,status:1,remark:""}),M=l(null),O={name:[{required:!0,message:"请输入道具卡名称",trigger:"blur"},{min:2,max:50,message:"长度在 2 到 50 个字符",trigger:"blur"}],card_type:[{required:!0,message:"请选择道具卡类型",trigger:"change"}],scope_type:[{required:!0,message:"请选择适用范围",trigger:"change"}],effect_type:[{required:!0,message:"请选择效果类型",trigger:"change"}],price:[{required:!0,message:"请输入价格",trigger:"blur"},{type:"number",min:0,message:"价格不能小于0",trigger:"blur"}],stacking_strategy:[{required:!0,message:"请选择叠加策略",trigger:"change"}],status:[{required:!0,message:"请选择状态",trigger:"change"}]},P=t(()=>"create"===E.mode?"新增道具卡":"编辑道具卡"),H=t({get:()=>E.modelValue,set:e=>N("update:modelValue",e)}),R=()=>{D.value={name:"",card_type:1,scope_type:1,effect_type:1,price:0,stacking_strategy:1,status:1,remark:""},M.value=null};r(()=>E.data,e=>{e?(D.value={name:e.name,card_type:e.card_type,scope_type:e.scope_type,effect_type:e.effect_type,price:e.price,reward_multiplier_x1000:e.reward_multiplier_x1000,boost_rate_x1000:e.boost_rate_x1000,stacking_strategy:e.stacking_strategy,max_effect_value_x1000:e.max_effect_value_x1000,status:e.status,remark:e.remark||""},e.valid_start&&e.valid_end?M.value=[e.valid_start,e.valid_end]:M.value=null):R()},{immediate:!0});const T=()=>{var e;H.value=!1,null==(e=C.value)||e.resetFields(),R()},X=()=>e(this,null,function*(){C.value&&(yield C.value.validate(a=>e(this,null,function*(){if(a){Y.value=!0;try{const a={};if(Object.keys(D.value).forEach(e=>{const l=D.value[e];null!=l&&(a[e]=l)}),M.value&&2===M.value.length&&M.value[0]&&M.value[1])try{const e=new Date(M.value[0]).getTime(),l=new Date(M.value[1]).getTime();!isNaN(e)&&!isNaN(l)&&e>0&&l>0&&(a.valid_start_unix=Math.floor(e/1e3),a.valid_end_unix=Math.floor(l/1e3))}catch(e){}let l;void 0===a.price||null===a.price?a.price=0:a.price=Number(a.price),"create"===E.mode?l=yield v.create(a):E.data&&(l=yield v.update(E.data.id,a)),_.success("create"===E.mode?"创建成功":"更新成功"),N("success"),T()}catch(e){_.error("create"===E.mode?"创建失败":"更新失败")}finally{Y.value=!1}}})))});return(e,a)=>{const l=y,t=g,r=j,_=x,v=b,q=V,E=k,N=h,R=f,z=w,B=U,F=c;return u(),o(B,{modelValue:H.value,"onUpdate:modelValue":a[12]||(a[12]=e=>H.value=e),title:P.value,width:"600px","close-on-click-modal":!1,onClose:T},{footer:s(()=>[p(z,{onClick:T},{default:s(()=>[...a[17]||(a[17]=[n("取消",-1)])]),_:1}),p(z,{type:"primary",onClick:X,loading:Y.value},{default:s(()=>[...a[18]||(a[18]=[n(" 确定 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[i((u(),o(R,{ref_key:"formRef",ref:C,model:D.value,rules:O,"label-width":"100px"},{default:s(()=>[p(t,{label:"名称",prop:"name"},{default:s(()=>[p(l,{modelValue:D.value.name,"onUpdate:modelValue":a[0]||(a[0]=e=>D.value.name=e),placeholder:"请输入道具卡名称"},null,8,["modelValue"])]),_:1}),p(t,{label:"类型",prop:"card_type"},{default:s(()=>[p(_,{modelValue:D.value.card_type,"onUpdate:modelValue":a[1]||(a[1]=e=>D.value.card_type=e),placeholder:"请选择道具卡类型"},{default:s(()=>[p(r,{label:"抽奖卡",value:1}),p(r,{label:"加成卡",value:2}),p(r,{label:"保底卡",value:3})]),_:1},8,["modelValue"])]),_:1}),p(t,{label:"适用范围",prop:"scope_type"},{default:s(()=>[p(_,{modelValue:D.value.scope_type,"onUpdate:modelValue":a[2]||(a[2]=e=>D.value.scope_type=e),placeholder:"请选择适用范围"},{default:s(()=>[p(r,{label:"全局",value:1}),p(r,{label:"活动分类",value:2}),p(r,{label:"活动",value:3}),p(r,{label:"期次",value:4})]),_:1},8,["modelValue"])]),_:1}),p(t,{label:"效果类型",prop:"effect_type"},{default:s(()=>[p(_,{modelValue:D.value.effect_type,"onUpdate:modelValue":a[3]||(a[3]=e=>D.value.effect_type=e),placeholder:"请选择效果类型"},{default:s(()=>[p(r,{label:"概率提升",value:1}),p(r,{label:"奖励翻倍",value:2}),p(r,{label:"保底机制",value:3})]),_:1},8,["modelValue"])]),_:1}),p(t,{label:"价格",prop:"price"},{default:s(()=>[p(v,{modelValue:D.value.price,"onUpdate:modelValue":a[4]||(a[4]=e=>D.value.price=e),min:0,precision:2},null,8,["modelValue"])]),_:1}),2===D.value.effect_type?(u(),o(t,{key:0,label:"奖励倍数",prop:"reward_multiplier_x1000"},{default:s(()=>[p(v,{modelValue:D.value.reward_multiplier_x1000,"onUpdate:modelValue":a[5]||(a[5]=e=>D.value.reward_multiplier_x1000=e),min:1e3,step:1e3},null,8,["modelValue"]),a[13]||(a[13]=m("span",{class:"form-tip"},"1000 = 1倍2000 = 2倍",-1))]),_:1})):d("",!0),1===D.value.effect_type?(u(),o(t,{key:1,label:"提升率",prop:"boost_rate_x1000"},{default:s(()=>[p(v,{modelValue:D.value.boost_rate_x1000,"onUpdate:modelValue":a[6]||(a[6]=e=>D.value.boost_rate_x1000=e),min:0,step:100},null,8,["modelValue"]),a[14]||(a[14]=m("span",{class:"form-tip"},"1000 = 100%500 = 50%",-1))]),_:1})):d("",!0),p(t,{label:"叠加策略",prop:"stacking_strategy"},{default:s(()=>[p(_,{modelValue:D.value.stacking_strategy,"onUpdate:modelValue":a[7]||(a[7]=e=>D.value.stacking_strategy=e),placeholder:"请选择叠加策略"},{default:s(()=>[p(r,{label:"可叠加",value:1}),p(r,{label:"不可叠加",value:2})]),_:1},8,["modelValue"])]),_:1}),p(t,{label:"最大效果值",prop:"max_effect_value_x1000"},{default:s(()=>[p(v,{modelValue:D.value.max_effect_value_x1000,"onUpdate:modelValue":a[8]||(a[8]=e=>D.value.max_effect_value_x1000=e),min:0,step:1e3},null,8,["modelValue"])]),_:1}),p(t,{label:"有效期",prop:"valid_time"},{default:s(()=>[p(q,{modelValue:M.value,"onUpdate:modelValue":a[9]||(a[9]=e=>M.value=e),type:"datetimerange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间","value-format":"YYYY-MM-DD HH:mm:ss"},null,8,["modelValue"])]),_:1}),p(t,{label:"状态",prop:"status"},{default:s(()=>[p(N,{modelValue:D.value.status,"onUpdate:modelValue":a[10]||(a[10]=e=>D.value.status=e)},{default:s(()=>[p(E,{value:1},{default:s(()=>[...a[15]||(a[15]=[n("启用",-1)])]),_:1}),p(E,{value:2},{default:s(()=>[...a[16]||(a[16]=[n("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),p(t,{label:"备注",prop:"remark"},{default:s(()=>[p(l,{modelValue:D.value.remark,"onUpdate:modelValue":a[11]||(a[11]=e=>D.value.remark=e),type:"textarea",rows:3,placeholder:"请输入备注信息"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])),[[F,Y.value]])]),_:1},8,["modelValue","title"])}}}),[["__scopeId","data-v-a0bb3121"]]);export{E as default};