feat(admin): 新增管理后台前端资源文件 feat(api): 实现获取用户统计数据的API接口 - 添加获取用户道具卡数量、优惠券数量和积分余额的接口 - 实现设置默认地址和删除地址的接口 feat(service): 新增用户统计服务方法 - 实现GetUserStats方法查询用户统计数据 - 添加地址管理相关服务方法 fix(core): 修复静态资源路由问题 - 调整静态资源路由配置 - 优化404路由处理逻辑 chore: 更新前端构建配置 - 添加Windows平台构建命令 - 更新README构建说明
2 lines
8.4 KiB
JavaScript
2 lines
8.4 KiB
JavaScript
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};
|