diff --git a/TASK6_IMPLEMENTATION_SUMMARY.md b/TASK6_IMPLEMENTATION_SUMMARY.md
deleted file mode 100644
index c7f75dac..00000000
--- a/TASK6_IMPLEMENTATION_SUMMARY.md
+++ /dev/null
@@ -1,112 +0,0 @@
-# Task 6: 商城商品详情页Banner图配置 - 实施完成
-
-## 概述
-为商城类型盒子添加独立的商品详情页Banner图字段 `imgurl_banner`,解决当前 `imgurl_detail` 同时用于顶部Banner和底部详情图的问题。
-
-## 字段用途说明
-- `imgurl` → 列表页封面图(小图)
-- `imgurl_banner` → 详情页顶部Banner图(新增)
-- `imgurl_detail` → 详情页底部详情图
-
-## 已完成的修改
-
-### 1. 数据库 ✅
-**文件**: `server/HoneyBox/scripts/add_imgurl_banner.sql`
-- 添加 `imgurl_banner` 字段(NVARCHAR(500) NULL)
-- 包含字段存在性检查,避免重复添加
-
-**执行方式**:
-```bash
-# 在 SQL Server Management Studio 或命令行执行
-sqlcmd -S localhost -d honey_box -i server/HoneyBox/scripts/add_imgurl_banner.sql
-```
-
-### 2. 后端实体 ✅
-**文件**: `server/HoneyBox/src/HoneyBox.Model/Entities/Good.cs`
-- 添加 `ImgUrlBanner` 属性(string?)
-
-### 3. 后端 DTO ✅
-**文件**: `server/HoneyBox/src/HoneyBox.Model/Models/Goods/GoodsModels.cs`
-- `GoodsInfoDto` 添加 `imgurl_banner` 字段
-- 使用 `[JsonPropertyName("imgurl_banner")]` 保持 snake_case 格式
-
-### 4. 后台管理配置 ✅
-**文件**: `server/HoneyBox/src/HoneyBox.Admin/admin-web/src/views/business/goods/config/typeFieldConfig.ts`
-- `GoodsTypeFieldConfig` 接口添加 `showBannerImage` 字段
-- 商城类型(type=10)配置 `showBannerImage: true`
-- 其他类型保持 `showBannerImage: false`
-
-### 5. 后台管理 - 新增对话框 ✅
-**文件**: `server/HoneyBox/src/HoneyBox.Admin/admin-web/src/views/business/goods/components/GoodsAddDialog.vue`
-- 添加 Banner 图上传组件(仅商城类型显示)
-- 添加表单验证规则
-- 添加到提交数据中
-
-### 6. 后台管理 - 编辑对话框 ✅
-**文件**: `server/HoneyBox/src/HoneyBox.Admin/admin-web/src/views/business/goods/components/GoodsEditDialog.vue`
-- 添加 Banner 图上传组件(仅商城类型显示)
-- 添加表单验证规则
-- 加载和保存 Banner 图数据
-
-### 7. 小程序前端 ✅
-**文件**: `honey_box/pages/mall/detail.vue`
-- 修改顶部 Banner 图片源:从 `imgurl_detail || imgurl` 改为 `imgurl_banner || imgurl`
-- 底部详情图继续使用 `imgurl_detail`
-
-## 数据库迁移 SQL
-
-```sql
--- 为 goods 表添加 imgurl_banner 字段
--- 用于商城详情页顶部 banner 图
-
-USE honey_box;
-GO
-
--- 添加 imgurl_banner 字段
-IF NOT EXISTS (
- SELECT * FROM sys.columns
- WHERE object_id = OBJECT_ID(N'dbo.goods')
- AND name = 'imgurl_banner'
-)
-BEGIN
- ALTER TABLE dbo.goods
- ADD imgurl_banner NVARCHAR(500) NULL;
-
- PRINT 'Column imgurl_banner added successfully.';
-END
-ELSE
-BEGIN
- PRINT 'Column imgurl_banner already exists.';
-END
-GO
-
-PRINT 'Migration completed.';
-GO
-```
-
-## 使用说明
-
-### 后台管理操作
-1. 进入"商品管理" → "盒子管理"
-2. 新增或编辑商城类型(type=10)的盒子
-3. 会看到三个图片上传字段:
- - **盒子封面图**:列表页显示的小图
- - **盒子详情图**:详情页底部的详情图
- - **商品详情页Banner图**:详情页顶部的大图(新增)
-4. 上传对应图片后保存
-
-### 前端显示逻辑
-- 详情页顶部:优先显示 `imgurl_banner`,如果没有则显示 `imgurl`(封面图)
-- 详情页底部:显示 `imgurl_detail`(详情图)
-
-## 注意事项
-1. 只有商城类型(type=10)的盒子会显示 Banner 图上传字段
-2. Banner 图字段为可选(NULL),不影响现有数据
-3. 如果不上传 Banner 图,前端会自动使用封面图作为兜底
-4. Mapster 会自动映射新字段,无需额外配置
-
-## 测试建议
-1. 执行 SQL 脚本添加字段
-2. 重启后端服务(如果需要)
-3. 在后台管理中编辑一个商城类型盒子,上传 Banner 图
-4. 在小程序中查看该商品详情页,确认顶部显示 Banner 图,底部显示详情图
diff --git a/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/goods.ts b/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/goods.ts
index 6497579f..83fea282 100644
--- a/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/goods.ts
+++ b/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/goods.ts
@@ -57,6 +57,7 @@ export interface GoodsListItem {
/** 盒子详情 */
export interface GoodsDetail extends GoodsListItem {
imgUrlDetail: string
+ imgUrlBanner?: string
categoryId: number
dailyLimit: number
lockIs: number
@@ -88,6 +89,7 @@ export interface GoodsCreateRequest {
type: number
imgUrl: string
imgUrlDetail: string
+ imgUrlBanner?: string
stock: number
sort: number
dailyLimit: number
diff --git a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/404-DMwbBqdp.js b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/404-BKk7_uh0.js
similarity index 88%
rename from server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/404-DMwbBqdp.js
rename to server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/404-BKk7_uh0.js
index ba450b92..bb4d7772 100644
--- a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/404-DMwbBqdp.js
+++ b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/404-BKk7_uh0.js
@@ -1 +1 @@
-import{d as r,c as a,b as t,e as p,w as _,g as l,t as d,i as c,k as u,_ as i}from"./index-Dv7iNaj2.js";const m={class:"error-page"},f={class:"error-content"},x=r({__name:"404",setup(k){const o=c(),s=()=>{o.push("/")};return(v,e)=>{const n=l("el-button");return u(),a("div",m,[t("div",f,[e[1]||(e[1]=t("h1",null,"404",-1)),e[2]||(e[2]=t("p",null,"抱歉,您访问的页面不存在",-1)),p(n,{type:"primary",onClick:s},{default:_(()=>[...e[0]||(e[0]=[d("返回首页",-1)])]),_:1})])])}}}),b=i(x,[["__scopeId","data-v-7e9f7d47"]]);export{b as default};
+import{d as r,c as a,b as t,e as p,w as _,g as l,t as d,i as c,k as u,_ as i}from"./index-C1mwdHq7.js";const m={class:"error-page"},f={class:"error-content"},x=r({__name:"404",setup(k){const o=c(),s=()=>{o.push("/")};return(v,e)=>{const n=l("el-button");return u(),a("div",m,[t("div",f,[e[1]||(e[1]=t("h1",null,"404",-1)),e[2]||(e[2]=t("p",null,"抱歉,您访问的页面不存在",-1)),p(n,{type:"primary",onClick:s},{default:_(()=>[...e[0]||(e[0]=[d("返回首页",-1)])]),_:1})])])}}}),b=i(x,[["__scopeId","data-v-7e9f7d47"]]);export{b as default};
diff --git a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertFormDialog-B9faDYVR.js b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertFormDialog-i_HWyU1w.js
similarity index 97%
rename from server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertFormDialog-B9faDYVR.js
rename to server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertFormDialog-i_HWyU1w.js
index 5e27a85d..97a3305c 100644
--- a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertFormDialog-B9faDYVR.js
+++ b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertFormDialog-i_HWyU1w.js
@@ -1 +1 @@
-import{d as M,v as V,r as w,a as O,G as h,g as s,z as p,k as n,w as u,e as r,H as b,c as x,F as D,y as B,l as U,I as W,b as X,t as F,E as q,_ as Y}from"./index-Dv7iNaj2.js";import{A as t,b as z,u as G,c as H}from"./advert-2LZWdoUA.js";const K=M({__name:"AdvertFormDialog",props:{modelValue:{type:Boolean},advert:{},isEdit:{type:Boolean},types:{}},emits:["update:modelValue","success"],setup(g,{emit:A}){const a=g,_=A,c=V({get:()=>a.modelValue,set:d=>_("update:modelValue",d)}),m=w(),y=w(!1),e=O({typeId:void 0,imageUrl:"",sort:0,jumpType:t.None,couponId:void 0,goodsId:void 0,urlLink:""}),v=V(()=>[t.YiFanShang,t.WuXianShang,t.LianJiShang].includes(e.jumpType)),E=V(()=>({typeId:[{required:!0,message:"请选择广告类型",trigger:"change"}],jumpType:[{required:!0,message:"请选择跳转类型",trigger:"change"}],imageUrl:[{required:!0,message:"请输入广告图片URL",trigger:"blur"}],sort:[{required:!0,message:"请输入排序值",trigger:"blur"}],couponId:e.jumpType===t.Coupon?[{required:!0,message:"请输入优惠券ID",trigger:"blur"}]:[],goodsId:v.value?[{required:!0,message:"请输入盒子ID",trigger:"blur"}]:[],urlLink:e.jumpType===t.CustomUrl?[{required:!0,message:"请输入跳转链接",trigger:"blur"}]:[]}));h(()=>a.modelValue,d=>{d&&(a.isEdit&&a.advert?Object.assign(e,{typeId:a.advert.typeId,imageUrl:a.advert.imageUrl,sort:a.advert.sort,jumpType:a.advert.jumpType,couponId:a.advert.couponId,goodsId:a.advert.goodsId,urlLink:a.advert.urlLink||""}):k())}),h(()=>e.jumpType,d=>{d!==t.Coupon&&(e.couponId=void 0),[t.YiFanShang,t.WuXianShang,t.LianJiShang].includes(d)||(e.goodsId=void 0),d!==t.CustomUrl&&(e.urlLink="")});const k=()=>{var d;Object.assign(e,{typeId:void 0,imageUrl:"",sort:0,jumpType:t.None,couponId:void 0,goodsId:void 0,urlLink:""}),(d=m.value)==null||d.resetFields()},f=()=>{c.value=!1,k()},N=async()=>{if(m.value){try{await m.value.validate()}catch{return}y.value=!0;try{const d={typeId:e.typeId,imageUrl:e.imageUrl,sort:e.sort,jumpType:e.jumpType,couponId:e.jumpType===t.Coupon?e.couponId:void 0,goodsId:v.value?e.goodsId:void 0,urlLink:e.jumpType===t.CustomUrl?e.urlLink:void 0};a.isEdit&&a.advert?(await G(a.advert.id,d),q.success("更新成功")):(await H(d),q.success("创建成功")),_("success"),f()}finally{y.value=!1}}};return(d,l)=>{const j=s("el-option"),T=s("el-select"),i=s("el-form-item"),I=s("el-input-number"),S=s("el-input"),J=s("el-form"),L=s("el-button"),R=s("el-dialog");return n(),p(R,{modelValue:c.value,"onUpdate:modelValue":l[7]||(l[7]=o=>c.value=o),title:g.isEdit?"编辑广告":"新增广告",width:"550px","close-on-click-modal":!1,onClose:f},{footer:u(()=>[r(L,{onClick:f},{default:u(()=>[...l[9]||(l[9]=[F("取消",-1)])]),_:1}),r(L,{type:"primary",loading:y.value,onClick:N},{default:u(()=>[...l[10]||(l[10]=[F(" 确定 ",-1)])]),_:1},8,["loading"])]),default:u(()=>[r(J,{ref_key:"formRef",ref:m,model:e,rules:E.value,"label-width":"100px"},{default:u(()=>[r(i,{label:"广告类型",prop:"typeId"},{default:u(()=>[r(T,{modelValue:e.typeId,"onUpdate:modelValue":l[0]||(l[0]=o=>e.typeId=o),placeholder:"请选择广告类型",style:{width:"100%"}},{default:u(()=>[(n(!0),x(D,null,B(g.types,o=>(n(),p(j,{key:o.id,label:o.name,value:o.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),r(i,{label:"跳转类型",prop:"jumpType"},{default:u(()=>[r(T,{modelValue:e.jumpType,"onUpdate:modelValue":l[1]||(l[1]=o=>e.jumpType=o),placeholder:"请选择跳转类型",style:{width:"100%"}},{default:u(()=>[(n(!0),x(D,null,B(U(z),(o,C)=>(n(),p(j,{key:C,label:o,value:Number(C)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e.jumpType===U(t).Coupon?(n(),p(i,{key:0,label:"优惠券ID",prop:"couponId"},{default:u(()=>[r(I,{modelValue:e.couponId,"onUpdate:modelValue":l[2]||(l[2]=o=>e.couponId=o),min:1,placeholder:"请输入优惠券ID",style:{width:"100%"},"controls-position":"right"},null,8,["modelValue"])]),_:1})):b("",!0),v.value?(n(),p(i,{key:1,label:"盒子ID",prop:"goodsId"},{default:u(()=>[r(I,{modelValue:e.goodsId,"onUpdate:modelValue":l[3]||(l[3]=o=>e.goodsId=o),min:1,placeholder:"请输入盒子ID",style:{width:"100%"},"controls-position":"right"},null,8,["modelValue"])]),_:1})):b("",!0),e.jumpType===U(t).CustomUrl?(n(),p(i,{key:2,label:"跳转链接",prop:"urlLink"},{default:u(()=>[r(S,{modelValue:e.urlLink,"onUpdate:modelValue":l[4]||(l[4]=o=>e.urlLink=o),placeholder:"请输入跳转链接",maxlength:"500"},null,8,["modelValue"])]),_:1})):b("",!0),r(i,{label:"广告图片",prop:"imageUrl"},{default:u(()=>[r(W,{modelValue:e.imageUrl,"onUpdate:modelValue":l[5]||(l[5]=o=>e.imageUrl=o),placeholder:"点击上传广告图片","url-placeholder":"或输入图片URL",tip:"支持 jpg、png、gif、webp 格式,最大 10MB"},null,8,["modelValue"])]),_:1}),r(i,{label:"排序值",prop:"sort"},{default:u(()=>[r(I,{modelValue:e.sort,"onUpdate:modelValue":l[6]||(l[6]=o=>e.sort=o),min:0,max:9999,placeholder:"请输入排序值",style:{width:"100%"},"controls-position":"right"},null,8,["modelValue"]),l[8]||(l[8]=X("div",{class:"form-tip"},"数值越小排序越靠前",-1))]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])}}}),Z=Y(K,[["__scopeId","data-v-0d577a1c"]]);export{Z as default};
+import{d as M,v as V,r as w,a as O,G as h,g as s,z as p,k as n,w as u,e as r,H as b,c as x,F as D,y as B,l as U,I as W,b as X,t as F,E as q,_ as Y}from"./index-C1mwdHq7.js";import{A as t,b as z,u as G,c as H}from"./advert-n-M9bxOi.js";const K=M({__name:"AdvertFormDialog",props:{modelValue:{type:Boolean},advert:{},isEdit:{type:Boolean},types:{}},emits:["update:modelValue","success"],setup(g,{emit:A}){const a=g,_=A,c=V({get:()=>a.modelValue,set:d=>_("update:modelValue",d)}),m=w(),y=w(!1),e=O({typeId:void 0,imageUrl:"",sort:0,jumpType:t.None,couponId:void 0,goodsId:void 0,urlLink:""}),v=V(()=>[t.YiFanShang,t.WuXianShang,t.LianJiShang].includes(e.jumpType)),E=V(()=>({typeId:[{required:!0,message:"请选择广告类型",trigger:"change"}],jumpType:[{required:!0,message:"请选择跳转类型",trigger:"change"}],imageUrl:[{required:!0,message:"请输入广告图片URL",trigger:"blur"}],sort:[{required:!0,message:"请输入排序值",trigger:"blur"}],couponId:e.jumpType===t.Coupon?[{required:!0,message:"请输入优惠券ID",trigger:"blur"}]:[],goodsId:v.value?[{required:!0,message:"请输入盒子ID",trigger:"blur"}]:[],urlLink:e.jumpType===t.CustomUrl?[{required:!0,message:"请输入跳转链接",trigger:"blur"}]:[]}));h(()=>a.modelValue,d=>{d&&(a.isEdit&&a.advert?Object.assign(e,{typeId:a.advert.typeId,imageUrl:a.advert.imageUrl,sort:a.advert.sort,jumpType:a.advert.jumpType,couponId:a.advert.couponId,goodsId:a.advert.goodsId,urlLink:a.advert.urlLink||""}):k())}),h(()=>e.jumpType,d=>{d!==t.Coupon&&(e.couponId=void 0),[t.YiFanShang,t.WuXianShang,t.LianJiShang].includes(d)||(e.goodsId=void 0),d!==t.CustomUrl&&(e.urlLink="")});const k=()=>{var d;Object.assign(e,{typeId:void 0,imageUrl:"",sort:0,jumpType:t.None,couponId:void 0,goodsId:void 0,urlLink:""}),(d=m.value)==null||d.resetFields()},f=()=>{c.value=!1,k()},N=async()=>{if(m.value){try{await m.value.validate()}catch{return}y.value=!0;try{const d={typeId:e.typeId,imageUrl:e.imageUrl,sort:e.sort,jumpType:e.jumpType,couponId:e.jumpType===t.Coupon?e.couponId:void 0,goodsId:v.value?e.goodsId:void 0,urlLink:e.jumpType===t.CustomUrl?e.urlLink:void 0};a.isEdit&&a.advert?(await G(a.advert.id,d),q.success("更新成功")):(await H(d),q.success("创建成功")),_("success"),f()}finally{y.value=!1}}};return(d,l)=>{const j=s("el-option"),T=s("el-select"),i=s("el-form-item"),I=s("el-input-number"),S=s("el-input"),J=s("el-form"),L=s("el-button"),R=s("el-dialog");return n(),p(R,{modelValue:c.value,"onUpdate:modelValue":l[7]||(l[7]=o=>c.value=o),title:g.isEdit?"编辑广告":"新增广告",width:"550px","close-on-click-modal":!1,onClose:f},{footer:u(()=>[r(L,{onClick:f},{default:u(()=>[...l[9]||(l[9]=[F("取消",-1)])]),_:1}),r(L,{type:"primary",loading:y.value,onClick:N},{default:u(()=>[...l[10]||(l[10]=[F(" 确定 ",-1)])]),_:1},8,["loading"])]),default:u(()=>[r(J,{ref_key:"formRef",ref:m,model:e,rules:E.value,"label-width":"100px"},{default:u(()=>[r(i,{label:"广告类型",prop:"typeId"},{default:u(()=>[r(T,{modelValue:e.typeId,"onUpdate:modelValue":l[0]||(l[0]=o=>e.typeId=o),placeholder:"请选择广告类型",style:{width:"100%"}},{default:u(()=>[(n(!0),x(D,null,B(g.types,o=>(n(),p(j,{key:o.id,label:o.name,value:o.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),r(i,{label:"跳转类型",prop:"jumpType"},{default:u(()=>[r(T,{modelValue:e.jumpType,"onUpdate:modelValue":l[1]||(l[1]=o=>e.jumpType=o),placeholder:"请选择跳转类型",style:{width:"100%"}},{default:u(()=>[(n(!0),x(D,null,B(U(z),(o,C)=>(n(),p(j,{key:C,label:o,value:Number(C)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e.jumpType===U(t).Coupon?(n(),p(i,{key:0,label:"优惠券ID",prop:"couponId"},{default:u(()=>[r(I,{modelValue:e.couponId,"onUpdate:modelValue":l[2]||(l[2]=o=>e.couponId=o),min:1,placeholder:"请输入优惠券ID",style:{width:"100%"},"controls-position":"right"},null,8,["modelValue"])]),_:1})):b("",!0),v.value?(n(),p(i,{key:1,label:"盒子ID",prop:"goodsId"},{default:u(()=>[r(I,{modelValue:e.goodsId,"onUpdate:modelValue":l[3]||(l[3]=o=>e.goodsId=o),min:1,placeholder:"请输入盒子ID",style:{width:"100%"},"controls-position":"right"},null,8,["modelValue"])]),_:1})):b("",!0),e.jumpType===U(t).CustomUrl?(n(),p(i,{key:2,label:"跳转链接",prop:"urlLink"},{default:u(()=>[r(S,{modelValue:e.urlLink,"onUpdate:modelValue":l[4]||(l[4]=o=>e.urlLink=o),placeholder:"请输入跳转链接",maxlength:"500"},null,8,["modelValue"])]),_:1})):b("",!0),r(i,{label:"广告图片",prop:"imageUrl"},{default:u(()=>[r(W,{modelValue:e.imageUrl,"onUpdate:modelValue":l[5]||(l[5]=o=>e.imageUrl=o),placeholder:"点击上传广告图片","url-placeholder":"或输入图片URL",tip:"支持 jpg、png、gif、webp 格式,最大 10MB"},null,8,["modelValue"])]),_:1}),r(i,{label:"排序值",prop:"sort"},{default:u(()=>[r(I,{modelValue:e.sort,"onUpdate:modelValue":l[6]||(l[6]=o=>e.sort=o),min:0,max:9999,placeholder:"请输入排序值",style:{width:"100%"},"controls-position":"right"},null,8,["modelValue"]),l[8]||(l[8]=X("div",{class:"form-tip"},"数值越小排序越靠前",-1))]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])}}}),Z=Y(K,[["__scopeId","data-v-0d577a1c"]]);export{Z as default};
diff --git a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTable-CXr7JWxY.js b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTable-Dni1Q4mV.js
similarity index 95%
rename from server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTable-CXr7JWxY.js
rename to server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTable-Dni1Q4mV.js
index b931cbc6..129192b4 100644
--- a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTable-CXr7JWxY.js
+++ b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTable-Dni1Q4mV.js
@@ -1 +1 @@
-import{d as P,r as f,G as b,g as o,J as w,c as p,k as l,K as V,e as a,z as k,w as n,t as _,x as d,b as z,l as c,L as E,_ as $}from"./index-Dv7iNaj2.js";import{A as r,b as F}from"./advert-2LZWdoUA.js";const G={class:"advert-table"},K={class:"image-error"},W={key:1,class:"no-image"},X={key:0},Y={key:1},q={key:2},H={key:3,class:"url-text"},M={key:4},O=P({__name:"AdvertTable",props:{data:{},loading:{type:Boolean},total:{},page:{},pageSize:{}},emits:["page-change","size-change","edit","delete"],setup(g,{emit:C}){const u=g,m=C,h=f(u.page),v=f(u.pageSize);b(()=>u.page,t=>{h.value=t}),b(()=>u.pageSize,t=>{v.value=t});const T=t=>F[t]||"未知",S=t=>{m("page-change",t)},j=t=>{m("size-change",t)},x=t=>{m("edit",t)},D=t=>{m("delete",t)};return(t,s)=>{const i=o("el-table-column"),N=o("el-tag"),A=o("el-icon"),I=o("el-image"),y=o("el-button"),U=o("el-table"),B=o("el-pagination"),J=w("loading");return l(),p("div",G,[V((l(),k(U,{data:g.data,border:"",stripe:""},{default:n(()=>[a(i,{prop:"id",label:"ID",width:"80",align:"center"}),a(i,{label:"广告类型",width:"120",align:"center"},{default:n(({row:e})=>[a(N,{size:"small"},{default:n(()=>[_(d(e.typeName),1)]),_:2},1024)]),_:1}),a(i,{label:"广告图片",width:"150",align:"center"},{default:n(({row:e})=>[e.imageUrl?(l(),k(I,{key:0,src:e.imageUrl,"preview-src-list":[e.imageUrl],fit:"cover",class:"advert-image","preview-teleported":""},{error:n(()=>[z("div",K,[a(A,null,{default:n(()=>[a(c(E))]),_:1})])]),_:1},8,["src","preview-src-list"])):(l(),p("span",W,"暂无图片"))]),_:1}),a(i,{label:"跳转类型",width:"120",align:"center"},{default:n(({row:e})=>[z("span",null,d(e.jumpTypeName||T(e.jumpType)),1)]),_:1}),a(i,{label:"跳转目标","min-width":"150"},{default:n(({row:e})=>[e.jumpType===c(r).None?(l(),p("span",X,"-")):e.jumpType===c(r).Coupon?(l(),p("span",Y,"优惠券ID: "+d(e.couponId),1)):e.jumpType===c(r).YiFanShang||e.jumpType===c(r).WuXianShang||e.jumpType===c(r).LianJiShang?(l(),p("span",q," 盒子ID: "+d(e.goodsId),1)):e.jumpType===c(r).CustomUrl?(l(),p("span",H,d(e.urlLink),1)):(l(),p("span",M,"-"))]),_:1}),a(i,{prop:"sort",label:"排序值",width:"100",align:"center"}),a(i,{label:"创建时间",width:"160",align:"center"},{default:n(({row:e})=>[_(d(e.createdAt||"-"),1)]),_:1}),a(i,{label:"操作",width:"150",align:"center",fixed:"right"},{default:n(({row:e})=>[a(y,{type:"primary",link:"",size:"small",onClick:L=>x(e)},{default:n(()=>[...s[2]||(s[2]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"]),a(y,{type:"danger",link:"",size:"small",onClick:L=>D(e)},{default:n(()=>[...s[3]||(s[3]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[J,g.loading]]),a(B,{"current-page":h.value,"onUpdate:currentPage":s[0]||(s[0]=e=>h.value=e),"page-size":v.value,"onUpdate:pageSize":s[1]||(s[1]=e=>v.value=e),"page-sizes":[10,20,50,100],total:g.total,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:j,onCurrentChange:S,class:"pagination"},null,8,["current-page","page-size","total"])])}}}),Z=$(O,[["__scopeId","data-v-0e1cc97d"]]);export{Z as default};
+import{d as P,r as f,G as b,g as o,J as w,c as p,k as l,K as V,e as a,z as k,w as n,t as _,x as d,b as z,l as c,L as E,_ as $}from"./index-C1mwdHq7.js";import{A as r,b as F}from"./advert-n-M9bxOi.js";const G={class:"advert-table"},K={class:"image-error"},W={key:1,class:"no-image"},X={key:0},Y={key:1},q={key:2},H={key:3,class:"url-text"},M={key:4},O=P({__name:"AdvertTable",props:{data:{},loading:{type:Boolean},total:{},page:{},pageSize:{}},emits:["page-change","size-change","edit","delete"],setup(g,{emit:C}){const u=g,m=C,h=f(u.page),v=f(u.pageSize);b(()=>u.page,t=>{h.value=t}),b(()=>u.pageSize,t=>{v.value=t});const T=t=>F[t]||"未知",S=t=>{m("page-change",t)},j=t=>{m("size-change",t)},x=t=>{m("edit",t)},D=t=>{m("delete",t)};return(t,s)=>{const i=o("el-table-column"),N=o("el-tag"),A=o("el-icon"),I=o("el-image"),y=o("el-button"),U=o("el-table"),B=o("el-pagination"),J=w("loading");return l(),p("div",G,[V((l(),k(U,{data:g.data,border:"",stripe:""},{default:n(()=>[a(i,{prop:"id",label:"ID",width:"80",align:"center"}),a(i,{label:"广告类型",width:"120",align:"center"},{default:n(({row:e})=>[a(N,{size:"small"},{default:n(()=>[_(d(e.typeName),1)]),_:2},1024)]),_:1}),a(i,{label:"广告图片",width:"150",align:"center"},{default:n(({row:e})=>[e.imageUrl?(l(),k(I,{key:0,src:e.imageUrl,"preview-src-list":[e.imageUrl],fit:"cover",class:"advert-image","preview-teleported":""},{error:n(()=>[z("div",K,[a(A,null,{default:n(()=>[a(c(E))]),_:1})])]),_:1},8,["src","preview-src-list"])):(l(),p("span",W,"暂无图片"))]),_:1}),a(i,{label:"跳转类型",width:"120",align:"center"},{default:n(({row:e})=>[z("span",null,d(e.jumpTypeName||T(e.jumpType)),1)]),_:1}),a(i,{label:"跳转目标","min-width":"150"},{default:n(({row:e})=>[e.jumpType===c(r).None?(l(),p("span",X,"-")):e.jumpType===c(r).Coupon?(l(),p("span",Y,"优惠券ID: "+d(e.couponId),1)):e.jumpType===c(r).YiFanShang||e.jumpType===c(r).WuXianShang||e.jumpType===c(r).LianJiShang?(l(),p("span",q," 盒子ID: "+d(e.goodsId),1)):e.jumpType===c(r).CustomUrl?(l(),p("span",H,d(e.urlLink),1)):(l(),p("span",M,"-"))]),_:1}),a(i,{prop:"sort",label:"排序值",width:"100",align:"center"}),a(i,{label:"创建时间",width:"160",align:"center"},{default:n(({row:e})=>[_(d(e.createdAt||"-"),1)]),_:1}),a(i,{label:"操作",width:"150",align:"center",fixed:"right"},{default:n(({row:e})=>[a(y,{type:"primary",link:"",size:"small",onClick:L=>x(e)},{default:n(()=>[...s[2]||(s[2]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"]),a(y,{type:"danger",link:"",size:"small",onClick:L=>D(e)},{default:n(()=>[...s[3]||(s[3]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[J,g.loading]]),a(B,{"current-page":h.value,"onUpdate:currentPage":s[0]||(s[0]=e=>h.value=e),"page-size":v.value,"onUpdate:pageSize":s[1]||(s[1]=e=>v.value=e),"page-sizes":[10,20,50,100],total:g.total,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:j,onCurrentChange:S,class:"pagination"},null,8,["current-page","page-size","total"])])}}}),Z=$(O,[["__scopeId","data-v-0e1cc97d"]]);export{Z as default};
diff --git a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeDialog-DwSJOeOg.js b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeDialog-BI_Y-TuO.js
similarity index 95%
rename from server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeDialog-DwSJOeOg.js
rename to server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeDialog-BI_Y-TuO.js
index af3223a1..ee1cc39f 100644
--- a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeDialog-DwSJOeOg.js
+++ b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeDialog-BI_Y-TuO.js
@@ -1 +1 @@
-import{d as P,v as Q,r as _,a as E,G as W,g as r,J as X,z as b,k as i,w as l,b as F,K as Y,c as y,H as Z,e as n,t as d,l as B,C as ee,f as te,F as h,x as z,M as ae,E as u,D as le,_ as ne}from"./index-Dv7iNaj2.js";import{_ as se}from"./AdvertTypeForm.vue_vue_type_script_setup_true_lang-BdYSJo9b.js";import{g as oe,e as ie,f as de,h as re}from"./advert-2LZWdoUA.js";const ue={class:"type-dialog-content"},me={class:"action-bar"},ce={key:0,class:"add-form"},pe=P({__name:"AdvertTypeDialog",props:{modelValue:{type:Boolean}},emits:["update:modelValue","refresh"],setup($,{emit:K}){const A=$,g=K,x=Q({get:()=>A.modelValue,set:t=>g("update:modelValue",t)}),w=_(!1),k=_([]),f=_(!1),N=_();let s=E({name:"",sort:0});const m=_(null),o=E({name:"",sort:0}),C=async()=>{w.value=!0;try{const t=await oe();k.value=t.data}finally{w.value=!1}};W(()=>A.modelValue,t=>{t&&C()});const S=()=>{f.value=!0,s.name="",s.sort=0},U=async()=>{if(!s.name.trim()){u.warning("请输入类型名称");return}if(k.value.some(e=>e.name===s.name.trim())){u.warning("类型名称已存在");return}try{await ie({name:s.name.trim(),sort:s.sort}),u.success("添加成功"),f.value=!1,C(),g("refresh")}catch{}},I=()=>{f.value=!1},M=t=>{m.value=t.id,o.name=t.name,o.sort=t.sort},D=async t=>{if(!o.name.trim()){u.warning("请输入类型名称");return}if(k.value.some(V=>V.name===o.name.trim()&&V.id!==t.id)){u.warning("类型名称已存在");return}try{await de(t.id,{name:o.name.trim(),sort:o.sort}),u.success("更新成功"),m.value=null,C(),g("refresh")}catch{}},R=()=>{m.value=null},G=async t=>{if(t.advertCount>0){u.warning(`该类型下有 ${t.advertCount} 个广告,无法删除`);return}try{await le.confirm(`确定要删除类型 "${t.name}" 吗?`,"删除确认",{type:"warning"}),await re(t.id),u.success("删除成功"),C(),g("refresh")}catch{}},T=()=>{x.value=!1,f.value=!1,m.value=null};return(t,e)=>{const V=r("el-icon"),p=r("el-button"),v=r("el-table-column"),H=r("el-input"),J=r("el-input-number"),L=r("el-tag"),j=r("el-table"),q=r("el-dialog"),O=X("loading");return i(),b(q,{modelValue:x.value,"onUpdate:modelValue":e[3]||(e[3]=a=>x.value=a),title:"广告类型管理",width:"650px","close-on-click-modal":!1,onClose:T},{footer:l(()=>[n(p,{onClick:T},{default:l(()=>[...e[9]||(e[9]=[d("关闭",-1)])]),_:1})]),default:l(()=>[F("div",ue,[F("div",me,[n(p,{type:"primary",size:"small",onClick:S},{default:l(()=>[n(V,null,{default:l(()=>[n(B(ee))]),_:1}),e[4]||(e[4]=d("添加类型 ",-1))]),_:1})]),Y((i(),b(j,{data:k.value,border:"",stripe:"",size:"small"},{default:l(()=>[n(v,{prop:"id",label:"ID",width:"80",align:"center"}),n(v,{prop:"name",label:"类型名称","min-width":"150"},{default:l(({row:a})=>[m.value===a.id?(i(),b(H,{key:0,modelValue:o.name,"onUpdate:modelValue":e[0]||(e[0]=c=>o.name=c),size:"small",placeholder:"请输入类型名称",onKeyup:te(c=>D(a),["enter"])},null,8,["modelValue","onKeyup"])):(i(),y(h,{key:1},[d(z(a.name),1)],64))]),_:1}),n(v,{prop:"sort",label:"排序",width:"120",align:"center"},{default:l(({row:a})=>[m.value===a.id?(i(),b(J,{key:0,modelValue:o.sort,"onUpdate:modelValue":e[1]||(e[1]=c=>o.sort=c),size:"small",min:0,max:9999,"controls-position":"right"},null,8,["modelValue"])):(i(),y(h,{key:1},[d(z(a.sort),1)],64))]),_:1}),n(v,{prop:"advertCount",label:"广告数量",width:"100",align:"center"},{default:l(({row:a})=>[n(L,{size:"small",type:a.advertCount>0?"success":"info"},{default:l(()=>[d(z(a.advertCount),1)]),_:2},1032,["type"])]),_:1}),n(v,{label:"操作",width:"150",align:"center",fixed:"right"},{default:l(({row:a})=>[m.value===a.id?(i(),y(h,{key:0},[n(p,{type:"success",link:"",size:"small",onClick:c=>D(a)},{default:l(()=>[...e[5]||(e[5]=[d(" 保存 ",-1)])]),_:1},8,["onClick"]),n(p,{type:"info",link:"",size:"small",onClick:R},{default:l(()=>[...e[6]||(e[6]=[d(" 取消 ",-1)])]),_:1})],64)):(i(),y(h,{key:1},[n(p,{type:"primary",link:"",size:"small",onClick:c=>M(a)},{default:l(()=>[...e[7]||(e[7]=[d(" 编辑 ",-1)])]),_:1},8,["onClick"]),n(p,{type:"danger",link:"",size:"small",onClick:c=>G(a)},{default:l(()=>[...e[8]||(e[8]=[d(" 删除 ",-1)])]),_:1},8,["onClick"])],64))]),_:1})]),_:1},8,["data"])),[[O,w.value]]),f.value?(i(),y("div",ce,[n(se,{ref_key:"addFormRef",ref:N,modelValue:B(s),"onUpdate:modelValue":e[2]||(e[2]=a=>ae(s)?s.value=a:s=a),onSubmit:U,onCancel:I},null,8,["modelValue"])])):Z("",!0)])]),_:1},8,["modelValue"])}}}),ye=ne(pe,[["__scopeId","data-v-f8b0e1a3"]]);export{ye as default};
+import{d as P,v as Q,r as _,a as E,G as W,g as r,J as X,z as b,k as i,w as l,b as F,K as Y,c as y,H as Z,e as n,t as d,l as B,C as ee,f as te,F as h,x as z,M as ae,E as u,D as le,_ as ne}from"./index-C1mwdHq7.js";import{_ as se}from"./AdvertTypeForm.vue_vue_type_script_setup_true_lang-CdRXTIUu.js";import{g as oe,e as ie,f as de,h as re}from"./advert-n-M9bxOi.js";const ue={class:"type-dialog-content"},me={class:"action-bar"},ce={key:0,class:"add-form"},pe=P({__name:"AdvertTypeDialog",props:{modelValue:{type:Boolean}},emits:["update:modelValue","refresh"],setup($,{emit:K}){const A=$,g=K,x=Q({get:()=>A.modelValue,set:t=>g("update:modelValue",t)}),w=_(!1),k=_([]),f=_(!1),N=_();let s=E({name:"",sort:0});const m=_(null),o=E({name:"",sort:0}),C=async()=>{w.value=!0;try{const t=await oe();k.value=t.data}finally{w.value=!1}};W(()=>A.modelValue,t=>{t&&C()});const S=()=>{f.value=!0,s.name="",s.sort=0},U=async()=>{if(!s.name.trim()){u.warning("请输入类型名称");return}if(k.value.some(e=>e.name===s.name.trim())){u.warning("类型名称已存在");return}try{await ie({name:s.name.trim(),sort:s.sort}),u.success("添加成功"),f.value=!1,C(),g("refresh")}catch{}},I=()=>{f.value=!1},M=t=>{m.value=t.id,o.name=t.name,o.sort=t.sort},D=async t=>{if(!o.name.trim()){u.warning("请输入类型名称");return}if(k.value.some(V=>V.name===o.name.trim()&&V.id!==t.id)){u.warning("类型名称已存在");return}try{await de(t.id,{name:o.name.trim(),sort:o.sort}),u.success("更新成功"),m.value=null,C(),g("refresh")}catch{}},R=()=>{m.value=null},G=async t=>{if(t.advertCount>0){u.warning(`该类型下有 ${t.advertCount} 个广告,无法删除`);return}try{await le.confirm(`确定要删除类型 "${t.name}" 吗?`,"删除确认",{type:"warning"}),await re(t.id),u.success("删除成功"),C(),g("refresh")}catch{}},T=()=>{x.value=!1,f.value=!1,m.value=null};return(t,e)=>{const V=r("el-icon"),p=r("el-button"),v=r("el-table-column"),H=r("el-input"),J=r("el-input-number"),L=r("el-tag"),j=r("el-table"),q=r("el-dialog"),O=X("loading");return i(),b(q,{modelValue:x.value,"onUpdate:modelValue":e[3]||(e[3]=a=>x.value=a),title:"广告类型管理",width:"650px","close-on-click-modal":!1,onClose:T},{footer:l(()=>[n(p,{onClick:T},{default:l(()=>[...e[9]||(e[9]=[d("关闭",-1)])]),_:1})]),default:l(()=>[F("div",ue,[F("div",me,[n(p,{type:"primary",size:"small",onClick:S},{default:l(()=>[n(V,null,{default:l(()=>[n(B(ee))]),_:1}),e[4]||(e[4]=d("添加类型 ",-1))]),_:1})]),Y((i(),b(j,{data:k.value,border:"",stripe:"",size:"small"},{default:l(()=>[n(v,{prop:"id",label:"ID",width:"80",align:"center"}),n(v,{prop:"name",label:"类型名称","min-width":"150"},{default:l(({row:a})=>[m.value===a.id?(i(),b(H,{key:0,modelValue:o.name,"onUpdate:modelValue":e[0]||(e[0]=c=>o.name=c),size:"small",placeholder:"请输入类型名称",onKeyup:te(c=>D(a),["enter"])},null,8,["modelValue","onKeyup"])):(i(),y(h,{key:1},[d(z(a.name),1)],64))]),_:1}),n(v,{prop:"sort",label:"排序",width:"120",align:"center"},{default:l(({row:a})=>[m.value===a.id?(i(),b(J,{key:0,modelValue:o.sort,"onUpdate:modelValue":e[1]||(e[1]=c=>o.sort=c),size:"small",min:0,max:9999,"controls-position":"right"},null,8,["modelValue"])):(i(),y(h,{key:1},[d(z(a.sort),1)],64))]),_:1}),n(v,{prop:"advertCount",label:"广告数量",width:"100",align:"center"},{default:l(({row:a})=>[n(L,{size:"small",type:a.advertCount>0?"success":"info"},{default:l(()=>[d(z(a.advertCount),1)]),_:2},1032,["type"])]),_:1}),n(v,{label:"操作",width:"150",align:"center",fixed:"right"},{default:l(({row:a})=>[m.value===a.id?(i(),y(h,{key:0},[n(p,{type:"success",link:"",size:"small",onClick:c=>D(a)},{default:l(()=>[...e[5]||(e[5]=[d(" 保存 ",-1)])]),_:1},8,["onClick"]),n(p,{type:"info",link:"",size:"small",onClick:R},{default:l(()=>[...e[6]||(e[6]=[d(" 取消 ",-1)])]),_:1})],64)):(i(),y(h,{key:1},[n(p,{type:"primary",link:"",size:"small",onClick:c=>M(a)},{default:l(()=>[...e[7]||(e[7]=[d(" 编辑 ",-1)])]),_:1},8,["onClick"]),n(p,{type:"danger",link:"",size:"small",onClick:c=>G(a)},{default:l(()=>[...e[8]||(e[8]=[d(" 删除 ",-1)])]),_:1},8,["onClick"])],64))]),_:1})]),_:1},8,["data"])),[[O,w.value]]),f.value?(i(),y("div",ce,[n(se,{ref_key:"addFormRef",ref:N,modelValue:B(s),"onUpdate:modelValue":e[2]||(e[2]=a=>ae(s)?s.value=a:s=a),onSubmit:U,onCancel:I},null,8,["modelValue"])])):Z("",!0)])]),_:1},8,["modelValue"])}}}),ye=ne(pe,[["__scopeId","data-v-f8b0e1a3"]]);export{ye as default};
diff --git a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeForm-3dJNUhUe.js b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeForm-2Y3bWJfI.js
similarity index 52%
rename from server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeForm-3dJNUhUe.js
rename to server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeForm-2Y3bWJfI.js
index 849c2960..3c843eb6 100644
--- a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeForm-3dJNUhUe.js
+++ b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeForm-2Y3bWJfI.js
@@ -1 +1 @@
-import{_ as m}from"./AdvertTypeForm.vue_vue_type_script_setup_true_lang-BdYSJo9b.js";import"./index-Dv7iNaj2.js";export{m as default};
+import{_ as m}from"./AdvertTypeForm.vue_vue_type_script_setup_true_lang-CdRXTIUu.js";import"./index-C1mwdHq7.js";export{m as default};
diff --git a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeForm.vue_vue_type_script_setup_true_lang-BdYSJo9b.js b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeForm.vue_vue_type_script_setup_true_lang-CdRXTIUu.js
similarity index 96%
rename from server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeForm.vue_vue_type_script_setup_true_lang-BdYSJo9b.js
rename to server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeForm.vue_vue_type_script_setup_true_lang-CdRXTIUu.js
index 55eea221..cf871b74 100644
--- a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeForm.vue_vue_type_script_setup_true_lang-BdYSJo9b.js
+++ b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AdvertTypeForm.vue_vue_type_script_setup_true_lang-CdRXTIUu.js
@@ -1 +1 @@
-import{d as C,r as p,G as c,g as r,z as h,k as z,w as a,e as o,t as f}from"./index-Dv7iNaj2.js";const R=C({__name:"AdvertTypeForm",props:{modelValue:{}},emits:["update:modelValue","submit","cancel"],setup(_,{expose:v,emit:V}){const m=_,s=V,n=p(),t=p({name:m.modelValue.name,sort:m.modelValue.sort});c(()=>m.modelValue,e=>{t.value={...e}},{deep:!0}),c(t,e=>{s("update:modelValue",e)},{deep:!0});const b={name:[{required:!0,message:"请输入类型名称",trigger:"blur"},{min:1,max:20,message:"名称长度在1-20个字符",trigger:"blur"}],sort:[{required:!0,message:"请输入排序值",trigger:"blur"}]},g=async()=>{if(n.value)try{await n.value.validate(),s("submit")}catch{}},x=()=>{s("cancel")};return v({validate:()=>{var e;return(e=n.value)==null?void 0:e.validate()},resetFields:()=>{var e;return(e=n.value)==null?void 0:e.resetFields()}}),(e,l)=>{const w=r("el-input"),u=r("el-form-item"),y=r("el-input-number"),i=r("el-button"),k=r("el-form");return z(),h(k,{ref_key:"formRef",ref:n,model:t.value,rules:b,"label-width":"80px",inline:""},{default:a(()=>[o(u,{label:"类型名称",prop:"name"},{default:a(()=>[o(w,{modelValue:t.value.name,"onUpdate:modelValue":l[0]||(l[0]=d=>t.value.name=d),placeholder:"请输入类型名称",maxlength:"20","show-word-limit":"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),o(u,{label:"排序值",prop:"sort"},{default:a(()=>[o(y,{modelValue:t.value.sort,"onUpdate:modelValue":l[1]||(l[1]=d=>t.value.sort=d),min:0,max:9999,"controls-position":"right",style:{width:"120px"}},null,8,["modelValue"])]),_:1}),o(u,null,{default:a(()=>[o(i,{type:"primary",size:"small",onClick:g},{default:a(()=>[...l[2]||(l[2]=[f(" 确定 ",-1)])]),_:1}),o(i,{size:"small",onClick:x},{default:a(()=>[...l[3]||(l[3]=[f(" 取消 ",-1)])]),_:1})]),_:1})]),_:1},8,["model"])}}});export{R as _};
+import{d as C,r as p,G as c,g as r,z as h,k as z,w as a,e as o,t as f}from"./index-C1mwdHq7.js";const R=C({__name:"AdvertTypeForm",props:{modelValue:{}},emits:["update:modelValue","submit","cancel"],setup(_,{expose:v,emit:V}){const m=_,s=V,n=p(),t=p({name:m.modelValue.name,sort:m.modelValue.sort});c(()=>m.modelValue,e=>{t.value={...e}},{deep:!0}),c(t,e=>{s("update:modelValue",e)},{deep:!0});const b={name:[{required:!0,message:"请输入类型名称",trigger:"blur"},{min:1,max:20,message:"名称长度在1-20个字符",trigger:"blur"}],sort:[{required:!0,message:"请输入排序值",trigger:"blur"}]},g=async()=>{if(n.value)try{await n.value.validate(),s("submit")}catch{}},x=()=>{s("cancel")};return v({validate:()=>{var e;return(e=n.value)==null?void 0:e.validate()},resetFields:()=>{var e;return(e=n.value)==null?void 0:e.resetFields()}}),(e,l)=>{const w=r("el-input"),u=r("el-form-item"),y=r("el-input-number"),i=r("el-button"),k=r("el-form");return z(),h(k,{ref_key:"formRef",ref:n,model:t.value,rules:b,"label-width":"80px",inline:""},{default:a(()=>[o(u,{label:"类型名称",prop:"name"},{default:a(()=>[o(w,{modelValue:t.value.name,"onUpdate:modelValue":l[0]||(l[0]=d=>t.value.name=d),placeholder:"请输入类型名称",maxlength:"20","show-word-limit":"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),o(u,{label:"排序值",prop:"sort"},{default:a(()=>[o(y,{modelValue:t.value.sort,"onUpdate:modelValue":l[1]||(l[1]=d=>t.value.sort=d),min:0,max:9999,"controls-position":"right",style:{width:"120px"}},null,8,["modelValue"])]),_:1}),o(u,null,{default:a(()=>[o(i,{type:"primary",size:"small",onClick:g},{default:a(()=>[...l[2]||(l[2]=[f(" 确定 ",-1)])]),_:1}),o(i,{size:"small",onClick:x},{default:a(()=>[...l[3]||(l[3]=[f(" 取消 ",-1)])]),_:1})]),_:1})]),_:1},8,["model"])}}});export{R as _};
diff --git a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AlipayMerchantForm-DXiMEgKe.js b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AlipayMerchantForm-wWbuvBan.js
similarity index 98%
rename from server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AlipayMerchantForm-DXiMEgKe.js
rename to server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AlipayMerchantForm-wWbuvBan.js
index d19e66f5..44e698b0 100644
--- a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AlipayMerchantForm-DXiMEgKe.js
+++ b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AlipayMerchantForm-wWbuvBan.js
@@ -1 +1 @@
-import{d as q,r as R,v as A,g as n,z as B,k as N,w as l,e,b as m,t as f,x as b,l as z,R as F,_ as M}from"./index-Dv7iNaj2.js";const S={class:"merchant-header"},T={class:"merchant-title"},j=q({__name:"AlipayMerchantForm",props:{modelValue:{},index:{},canDelete:{type:Boolean}},emits:["update:modelValue","delete","change"],setup(c,{expose:V,emit:x}){const g=c,i=x,_=R(),t=A({get:()=>g.modelValue,set:v=>i("update:modelValue",v)}),y={name:[{required:!0,message:"请输入商户名称",trigger:"blur"},{max:50,message:"商户名称不能超过50个字符",trigger:"blur"}],appId:[{required:!0,message:"请输入应用ID",trigger:"blur"},{max:32,message:"应用ID不能超过32个字符",trigger:"blur"}],privateKey:[{required:!0,message:"请输入应用私钥",trigger:"blur"}],publicKey:[{required:!0,message:"请输入支付宝公钥",trigger:"blur"}],weight:[{required:!0,message:"请输入权重",trigger:"blur"},{type:"number",min:1,max:100,message:"权重必须在1-100之间",trigger:"blur"}]},u=()=>{i("change")},h=()=>{i("delete",g.index)};return V({validate:async()=>{if(!_.value)return!1;try{return await _.value.validate(),!0}catch{return!1}}}),(v,a)=>{const w=n("el-tag"),I=n("el-icon"),k=n("el-button"),s=n("el-input"),r=n("el-form-item"),d=n("el-col"),p=n("el-row"),D=n("el-input-number"),K=n("el-switch"),C=n("el-form"),U=n("el-card");return N(),B(U,{class:"merchant-card",shadow:"hover"},{header:l(()=>[m("div",S,[m("span",T,[e(w,{type:t.value.is_enabled===1?"success":"info",size:"small"},{default:l(()=>[f(b(t.value.is_enabled===1?"已启用":"已禁用"),1)]),_:1},8,["type"]),f(" "+b(t.value.name||"新商户"),1)]),e(k,{type:"danger",link:"",disabled:!c.canDelete,onClick:h},{default:l(()=>[e(I,null,{default:l(()=>[e(z(F))]),_:1}),a[7]||(a[7]=f("删除 ",-1))]),_:1},8,["disabled"])])]),default:l(()=>[e(C,{ref_key:"formRef",ref:_,model:t.value,rules:y,"label-width":"100px",class:"merchant-form"},{default:l(()=>[e(p,{gutter:20},{default:l(()=>[e(d,{span:12},{default:l(()=>[e(r,{label:"商户名称",prop:"name"},{default:l(()=>[e(s,{modelValue:t.value.name,"onUpdate:modelValue":a[0]||(a[0]=o=>t.value.name=o),placeholder:"请输入商户名称",maxlength:"50",onInput:u},null,8,["modelValue"])]),_:1})]),_:1}),e(d,{span:12},{default:l(()=>[e(r,{label:"应用ID",prop:"appId"},{default:l(()=>[e(s,{modelValue:t.value.appId,"onUpdate:modelValue":a[1]||(a[1]=o=>t.value.appId=o),placeholder:"请输入支付宝应用ID(AppId)",maxlength:"32",onInput:u},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:l(()=>[e(d,{span:12},{default:l(()=>[e(r,{label:"权重",prop:"weight"},{default:l(()=>[e(D,{modelValue:t.value.weight,"onUpdate:modelValue":a[2]||(a[2]=o=>t.value.weight=o),min:1,max:100,placeholder:"请输入权重",onChange:u},null,8,["modelValue"]),a[8]||(a[8]=m("div",{class:"form-tip"},"权重越高,支付时被选中的概率越大",-1))]),_:1})]),_:1}),e(d,{span:12},{default:l(()=>[e(r,{label:"启用状态",prop:"is_enabled"},{default:l(()=>[e(K,{modelValue:t.value.is_enabled,"onUpdate:modelValue":a[3]||(a[3]=o=>t.value.is_enabled=o),"active-value":1,"inactive-value":0,"active-text":"启用","inactive-text":"禁用",onChange:u},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:l(()=>[e(d,{span:24},{default:l(()=>[e(r,{label:"应用私钥",prop:"privateKey"},{default:l(()=>[e(s,{modelValue:t.value.privateKey,"onUpdate:modelValue":a[4]||(a[4]=o=>t.value.privateKey=o),type:"textarea",rows:4,placeholder:"请输入应用私钥(RSA2私钥)",onInput:u},null,8,["modelValue"]),a[9]||(a[9]=m("div",{class:"form-tip"},"用于签名请求,请妥善保管",-1))]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:l(()=>[e(d,{span:24},{default:l(()=>[e(r,{label:"支付宝公钥",prop:"publicKey"},{default:l(()=>[e(s,{modelValue:t.value.publicKey,"onUpdate:modelValue":a[5]||(a[5]=o=>t.value.publicKey=o),type:"textarea",rows:4,placeholder:"请输入支付宝公钥",onInput:u},null,8,["modelValue"]),a[10]||(a[10]=m("div",{class:"form-tip"},"用于验证支付宝返回的签名",-1))]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:l(()=>[e(d,{span:24},{default:l(()=>[e(r,{label:"备注",prop:"remark"},{default:l(()=>[e(s,{modelValue:t.value.remark,"onUpdate:modelValue":a[6]||(a[6]=o=>t.value.remark=o),type:"textarea",rows:2,placeholder:"请输入备注信息(可选)",maxlength:"200","show-word-limit":"",onInput:u},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1})}}}),H=M(j,[["__scopeId","data-v-e5bdfc39"]]);export{H as default};
+import{d as q,r as R,v as A,g as n,z as B,k as N,w as l,e,b as m,t as f,x as b,l as z,R as F,_ as M}from"./index-C1mwdHq7.js";const S={class:"merchant-header"},T={class:"merchant-title"},j=q({__name:"AlipayMerchantForm",props:{modelValue:{},index:{},canDelete:{type:Boolean}},emits:["update:modelValue","delete","change"],setup(c,{expose:V,emit:x}){const g=c,i=x,_=R(),t=A({get:()=>g.modelValue,set:v=>i("update:modelValue",v)}),y={name:[{required:!0,message:"请输入商户名称",trigger:"blur"},{max:50,message:"商户名称不能超过50个字符",trigger:"blur"}],appId:[{required:!0,message:"请输入应用ID",trigger:"blur"},{max:32,message:"应用ID不能超过32个字符",trigger:"blur"}],privateKey:[{required:!0,message:"请输入应用私钥",trigger:"blur"}],publicKey:[{required:!0,message:"请输入支付宝公钥",trigger:"blur"}],weight:[{required:!0,message:"请输入权重",trigger:"blur"},{type:"number",min:1,max:100,message:"权重必须在1-100之间",trigger:"blur"}]},u=()=>{i("change")},h=()=>{i("delete",g.index)};return V({validate:async()=>{if(!_.value)return!1;try{return await _.value.validate(),!0}catch{return!1}}}),(v,a)=>{const w=n("el-tag"),I=n("el-icon"),k=n("el-button"),s=n("el-input"),r=n("el-form-item"),d=n("el-col"),p=n("el-row"),D=n("el-input-number"),K=n("el-switch"),C=n("el-form"),U=n("el-card");return N(),B(U,{class:"merchant-card",shadow:"hover"},{header:l(()=>[m("div",S,[m("span",T,[e(w,{type:t.value.is_enabled===1?"success":"info",size:"small"},{default:l(()=>[f(b(t.value.is_enabled===1?"已启用":"已禁用"),1)]),_:1},8,["type"]),f(" "+b(t.value.name||"新商户"),1)]),e(k,{type:"danger",link:"",disabled:!c.canDelete,onClick:h},{default:l(()=>[e(I,null,{default:l(()=>[e(z(F))]),_:1}),a[7]||(a[7]=f("删除 ",-1))]),_:1},8,["disabled"])])]),default:l(()=>[e(C,{ref_key:"formRef",ref:_,model:t.value,rules:y,"label-width":"100px",class:"merchant-form"},{default:l(()=>[e(p,{gutter:20},{default:l(()=>[e(d,{span:12},{default:l(()=>[e(r,{label:"商户名称",prop:"name"},{default:l(()=>[e(s,{modelValue:t.value.name,"onUpdate:modelValue":a[0]||(a[0]=o=>t.value.name=o),placeholder:"请输入商户名称",maxlength:"50",onInput:u},null,8,["modelValue"])]),_:1})]),_:1}),e(d,{span:12},{default:l(()=>[e(r,{label:"应用ID",prop:"appId"},{default:l(()=>[e(s,{modelValue:t.value.appId,"onUpdate:modelValue":a[1]||(a[1]=o=>t.value.appId=o),placeholder:"请输入支付宝应用ID(AppId)",maxlength:"32",onInput:u},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:l(()=>[e(d,{span:12},{default:l(()=>[e(r,{label:"权重",prop:"weight"},{default:l(()=>[e(D,{modelValue:t.value.weight,"onUpdate:modelValue":a[2]||(a[2]=o=>t.value.weight=o),min:1,max:100,placeholder:"请输入权重",onChange:u},null,8,["modelValue"]),a[8]||(a[8]=m("div",{class:"form-tip"},"权重越高,支付时被选中的概率越大",-1))]),_:1})]),_:1}),e(d,{span:12},{default:l(()=>[e(r,{label:"启用状态",prop:"is_enabled"},{default:l(()=>[e(K,{modelValue:t.value.is_enabled,"onUpdate:modelValue":a[3]||(a[3]=o=>t.value.is_enabled=o),"active-value":1,"inactive-value":0,"active-text":"启用","inactive-text":"禁用",onChange:u},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:l(()=>[e(d,{span:24},{default:l(()=>[e(r,{label:"应用私钥",prop:"privateKey"},{default:l(()=>[e(s,{modelValue:t.value.privateKey,"onUpdate:modelValue":a[4]||(a[4]=o=>t.value.privateKey=o),type:"textarea",rows:4,placeholder:"请输入应用私钥(RSA2私钥)",onInput:u},null,8,["modelValue"]),a[9]||(a[9]=m("div",{class:"form-tip"},"用于签名请求,请妥善保管",-1))]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:l(()=>[e(d,{span:24},{default:l(()=>[e(r,{label:"支付宝公钥",prop:"publicKey"},{default:l(()=>[e(s,{modelValue:t.value.publicKey,"onUpdate:modelValue":a[5]||(a[5]=o=>t.value.publicKey=o),type:"textarea",rows:4,placeholder:"请输入支付宝公钥",onInput:u},null,8,["modelValue"]),a[10]||(a[10]=m("div",{class:"form-tip"},"用于验证支付宝返回的签名",-1))]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:l(()=>[e(d,{span:24},{default:l(()=>[e(r,{label:"备注",prop:"remark"},{default:l(()=>[e(s,{modelValue:t.value.remark,"onUpdate:modelValue":a[6]||(a[6]=o=>t.value.remark=o),type:"textarea",rows:2,placeholder:"请输入备注信息(可选)",maxlength:"200","show-word-limit":"",onInput:u},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1})}}}),H=M(j,[["__scopeId","data-v-e5bdfc39"]]);export{H as default};
diff --git a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AppSettingCard-CQQu1y9f.js b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AppSettingCard-BW9UXhxK.js
similarity index 98%
rename from server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AppSettingCard-CQQu1y9f.js
rename to server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AppSettingCard-BW9UXhxK.js
index c1de80e2..490febf5 100644
--- a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AppSettingCard-CQQu1y9f.js
+++ b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/AppSettingCard-BW9UXhxK.js
@@ -1 +1 @@
-import{d as R,r as x,a as A,o as H,g as t,J as B,K as I,z as M,k as E,w as l,e,t as c,b as s,I as h,l as L,Q as j,E as m,_ as z}from"./index-Dv7iNaj2.js";import{p as J,q as K}from"./config-Cb8mE32t.js";const O={class:"card-header"},Q=R({__name:"AppSettingCard",setup(T){const f=x(!1),g=x(!1),b=x(),n=A({app_name:"",purchase_popup:"1",exchange_times:0,balance_name:"余额",balance_icon:"",currency1_name:"钻石",currency1_icon:"",currency2_name:"HH币",currency2_icon:"",win_audio:"",version:"1.0.0",sign_threshold:0,exchange_show_threshold:0,takeout_box_id:0,daily_free_draw_id:0,box_exchange_limit:0,daily_coupon_limit:0}),v={app_name:[{required:!0,message:"请输入项目名称",trigger:"blur"},{max:50,message:"项目名称不能超过50个字符",trigger:"blur"}],balance_name:[{required:!0,message:"请输入余额名称",trigger:"blur"}],currency1_name:[{required:!0,message:"请输入货币1名称",trigger:"blur"}],currency2_name:[{required:!0,message:"请输入货币2名称",trigger:"blur"}]},w=async()=>{var d;f.value=!0;try{const a=await J();if((d=a.data)!=null&&d.value){const r=a.data.value;Object.assign(n,{app_name:r.app_name||"",purchase_popup:r.purchase_popup||"1",exchange_times:Number(r.exchange_times)||0,balance_name:r.balance_name||"余额",balance_icon:r.balance_icon||"",currency1_name:r.currency1_name||"钻石",currency1_icon:r.currency1_icon||"",currency2_name:r.currency2_name||"HH币",currency2_icon:r.currency2_icon||"",win_audio:r.win_audio||"",version:r.version||"1.0.0",sign_threshold:Number(r.sign_threshold)||0,exchange_show_threshold:Number(r.exchange_show_threshold)||0,takeout_box_id:Number(r.takeout_box_id)||0,daily_free_draw_id:Number(r.daily_free_draw_id)||0,box_exchange_limit:Number(r.box_exchange_limit)||0,daily_coupon_limit:Number(r.daily_coupon_limit)||0})}}catch(a){m.error("加载应用设置失败"),console.error("加载应用设置失败:",a)}finally{f.value=!1}},U=async()=>{if(b.value){try{await b.value.validate()}catch{m.warning("请检查表单填写是否正确");return}g.value=!0;try{const d={app_name:n.app_name,purchase_popup:n.purchase_popup,exchange_times:String(n.exchange_times),balance_name:n.balance_name,balance_icon:n.balance_icon,currency1_name:n.currency1_name,currency1_icon:n.currency1_icon,currency2_name:n.currency2_name,currency2_icon:n.currency2_icon,win_audio:n.win_audio,version:n.version,sign_threshold:String(n.sign_threshold),exchange_show_threshold:String(n.exchange_show_threshold),takeout_box_id:String(n.takeout_box_id),daily_free_draw_id:String(n.daily_free_draw_id),box_exchange_limit:String(n.box_exchange_limit),daily_coupon_limit:String(n.daily_coupon_limit)};await K(d),m.success("保存成功")}catch(d){m.error("保存失败"),console.error("保存应用设置失败:",d)}finally{g.value=!1}}};return H(()=>{w()}),(d,a)=>{const r=t("el-icon"),S=t("el-button"),y=t("el-divider"),i=t("el-input"),u=t("el-form-item"),_=t("el-col"),p=t("el-row"),V=t("el-radio"),k=t("el-radio-group"),N=t("el-input-number"),C=t("el-form"),q=t("el-card"),D=B("loading");return I((E(),M(q,null,{header:l(()=>[s("div",O,[a[12]||(a[12]=s("span",null,"应用设置",-1)),e(S,{type:"primary",loading:g.value,onClick:U},{default:l(()=>[e(r,null,{default:l(()=>[e(L(j))]),_:1}),a[11]||(a[11]=c("保存配置 ",-1))]),_:1},8,["loading"])])]),default:l(()=>[e(C,{ref_key:"formRef",ref:b,model:n,rules:v,"label-width":"140px",class:"config-form"},{default:l(()=>[e(y,{"content-position":"left"},{default:l(()=>[...a[13]||(a[13]=[c("基本信息",-1)])]),_:1}),e(p,{gutter:24},{default:l(()=>[e(_,{span:12},{default:l(()=>[e(u,{label:"项目名称",prop:"app_name"},{default:l(()=>[e(i,{modelValue:n.app_name,"onUpdate:modelValue":a[0]||(a[0]=o=>n.app_name=o),placeholder:"请输入项目名称",maxlength:"50"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{span:12},{default:l(()=>[e(u,{label:"小程序版本号",prop:"version"},{default:l(()=>[e(i,{modelValue:n.version,"onUpdate:modelValue":a[1]||(a[1]=o=>n.version=o),placeholder:"请输入版本号,如 1.0.0",maxlength:"20"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:24},{default:l(()=>[e(_,{span:12},{default:l(()=>[e(u,{label:"购买弹窗设置",prop:"purchase_popup"},{default:l(()=>[e(k,{modelValue:n.purchase_popup,"onUpdate:modelValue":a[2]||(a[2]=o=>n.purchase_popup=o)},{default:l(()=>[e(V,{value:"1"},{default:l(()=>[...a[14]||(a[14]=[c("弹出一次",-1)])]),_:1}),e(V,{value:"2"},{default:l(()=>[...a[15]||(a[15]=[c("每天显示",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(_,{span:12},{default:l(()=>[e(u,{label:"商城购买次数",prop:"exchange_times"},{default:l(()=>[e(N,{modelValue:n.exchange_times,"onUpdate:modelValue":a[3]||(a[3]=o=>n.exchange_times=o),modelModifiers:{number:!0},min:0,max:999,placeholder:"每日购买限制",style:{width:"100%"}},null,8,["modelValue"]),a[16]||(a[16]=s("div",{class:"form-tip"},"每日商城购买次数限制,0表示不限制",-1))]),_:1})]),_:1})]),_:1}),e(y,{"content-position":"left"},{default:l(()=>[...a[17]||(a[17]=[c("货币配置",-1)])]),_:1}),e(p,{gutter:24},{default:l(()=>[e(_,{span:12},{default:l(()=>[e(u,{label:"余额名称",prop:"balance_name"},{default:l(()=>[e(i,{modelValue:n.balance_name,"onUpdate:modelValue":a[4]||(a[4]=o=>n.balance_name=o),placeholder:"请输入余额名称",maxlength:"20"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{span:12},{default:l(()=>[e(u,{label:"余额图标",prop:"balance_icon"},{default:l(()=>[e(h,{modelValue:n.balance_icon,"onUpdate:modelValue":a[5]||(a[5]=o=>n.balance_icon=o),placeholder:"点击上传余额图标"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:24},{default:l(()=>[e(_,{span:12},{default:l(()=>[e(u,{label:"货币1名称",prop:"currency1_name"},{default:l(()=>[e(i,{modelValue:n.currency1_name,"onUpdate:modelValue":a[6]||(a[6]=o=>n.currency1_name=o),placeholder:"请输入货币1名称",maxlength:"20"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{span:12},{default:l(()=>[e(u,{label:"货币1图标",prop:"currency1_icon"},{default:l(()=>[e(h,{modelValue:n.currency1_icon,"onUpdate:modelValue":a[7]||(a[7]=o=>n.currency1_icon=o),placeholder:"点击上传货币1图标"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:24},{default:l(()=>[e(_,{span:12},{default:l(()=>[e(u,{label:"货币2名称",prop:"currency2_name"},{default:l(()=>[e(i,{modelValue:n.currency2_name,"onUpdate:modelValue":a[8]||(a[8]=o=>n.currency2_name=o),placeholder:"请输入货币2名称",maxlength:"20"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{span:12},{default:l(()=>[e(u,{label:"货币2图标",prop:"currency2_icon"},{default:l(()=>[e(h,{modelValue:n.currency2_icon,"onUpdate:modelValue":a[9]||(a[9]=o=>n.currency2_icon=o),placeholder:"点击上传货币2图标"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(y,{"content-position":"left"},{default:l(()=>[...a[18]||(a[18]=[c("音频配置",-1)])]),_:1}),e(p,{gutter:24},{default:l(()=>[e(_,{span:24},{default:l(()=>[e(u,{label:"中奖音频",prop:"win_audio"},{default:l(()=>[e(i,{modelValue:n.win_audio,"onUpdate:modelValue":a[10]||(a[10]=o=>n.win_audio=o),placeholder:"请输入中奖音频URL"},null,8,["modelValue"]),a[19]||(a[19]=s("div",{class:"form-tip"},"用户中奖时播放的音频文件URL",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1})),[[D,f.value]])}}}),P=z(Q,[["__scopeId","data-v-7c8ad51c"]]);export{P as default};
+import{d as R,r as x,a as A,o as H,g as t,J as B,K as I,z as M,k as E,w as l,e,t as c,b as s,I as h,l as L,Q as j,E as m,_ as z}from"./index-C1mwdHq7.js";import{p as J,q as K}from"./config-CilBiHcX.js";const O={class:"card-header"},Q=R({__name:"AppSettingCard",setup(T){const f=x(!1),g=x(!1),b=x(),n=A({app_name:"",purchase_popup:"1",exchange_times:0,balance_name:"余额",balance_icon:"",currency1_name:"钻石",currency1_icon:"",currency2_name:"HH币",currency2_icon:"",win_audio:"",version:"1.0.0",sign_threshold:0,exchange_show_threshold:0,takeout_box_id:0,daily_free_draw_id:0,box_exchange_limit:0,daily_coupon_limit:0}),v={app_name:[{required:!0,message:"请输入项目名称",trigger:"blur"},{max:50,message:"项目名称不能超过50个字符",trigger:"blur"}],balance_name:[{required:!0,message:"请输入余额名称",trigger:"blur"}],currency1_name:[{required:!0,message:"请输入货币1名称",trigger:"blur"}],currency2_name:[{required:!0,message:"请输入货币2名称",trigger:"blur"}]},w=async()=>{var d;f.value=!0;try{const a=await J();if((d=a.data)!=null&&d.value){const r=a.data.value;Object.assign(n,{app_name:r.app_name||"",purchase_popup:r.purchase_popup||"1",exchange_times:Number(r.exchange_times)||0,balance_name:r.balance_name||"余额",balance_icon:r.balance_icon||"",currency1_name:r.currency1_name||"钻石",currency1_icon:r.currency1_icon||"",currency2_name:r.currency2_name||"HH币",currency2_icon:r.currency2_icon||"",win_audio:r.win_audio||"",version:r.version||"1.0.0",sign_threshold:Number(r.sign_threshold)||0,exchange_show_threshold:Number(r.exchange_show_threshold)||0,takeout_box_id:Number(r.takeout_box_id)||0,daily_free_draw_id:Number(r.daily_free_draw_id)||0,box_exchange_limit:Number(r.box_exchange_limit)||0,daily_coupon_limit:Number(r.daily_coupon_limit)||0})}}catch(a){m.error("加载应用设置失败"),console.error("加载应用设置失败:",a)}finally{f.value=!1}},U=async()=>{if(b.value){try{await b.value.validate()}catch{m.warning("请检查表单填写是否正确");return}g.value=!0;try{const d={app_name:n.app_name,purchase_popup:n.purchase_popup,exchange_times:String(n.exchange_times),balance_name:n.balance_name,balance_icon:n.balance_icon,currency1_name:n.currency1_name,currency1_icon:n.currency1_icon,currency2_name:n.currency2_name,currency2_icon:n.currency2_icon,win_audio:n.win_audio,version:n.version,sign_threshold:String(n.sign_threshold),exchange_show_threshold:String(n.exchange_show_threshold),takeout_box_id:String(n.takeout_box_id),daily_free_draw_id:String(n.daily_free_draw_id),box_exchange_limit:String(n.box_exchange_limit),daily_coupon_limit:String(n.daily_coupon_limit)};await K(d),m.success("保存成功")}catch(d){m.error("保存失败"),console.error("保存应用设置失败:",d)}finally{g.value=!1}}};return H(()=>{w()}),(d,a)=>{const r=t("el-icon"),S=t("el-button"),y=t("el-divider"),i=t("el-input"),u=t("el-form-item"),_=t("el-col"),p=t("el-row"),V=t("el-radio"),k=t("el-radio-group"),N=t("el-input-number"),C=t("el-form"),q=t("el-card"),D=B("loading");return I((E(),M(q,null,{header:l(()=>[s("div",O,[a[12]||(a[12]=s("span",null,"应用设置",-1)),e(S,{type:"primary",loading:g.value,onClick:U},{default:l(()=>[e(r,null,{default:l(()=>[e(L(j))]),_:1}),a[11]||(a[11]=c("保存配置 ",-1))]),_:1},8,["loading"])])]),default:l(()=>[e(C,{ref_key:"formRef",ref:b,model:n,rules:v,"label-width":"140px",class:"config-form"},{default:l(()=>[e(y,{"content-position":"left"},{default:l(()=>[...a[13]||(a[13]=[c("基本信息",-1)])]),_:1}),e(p,{gutter:24},{default:l(()=>[e(_,{span:12},{default:l(()=>[e(u,{label:"项目名称",prop:"app_name"},{default:l(()=>[e(i,{modelValue:n.app_name,"onUpdate:modelValue":a[0]||(a[0]=o=>n.app_name=o),placeholder:"请输入项目名称",maxlength:"50"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{span:12},{default:l(()=>[e(u,{label:"小程序版本号",prop:"version"},{default:l(()=>[e(i,{modelValue:n.version,"onUpdate:modelValue":a[1]||(a[1]=o=>n.version=o),placeholder:"请输入版本号,如 1.0.0",maxlength:"20"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:24},{default:l(()=>[e(_,{span:12},{default:l(()=>[e(u,{label:"购买弹窗设置",prop:"purchase_popup"},{default:l(()=>[e(k,{modelValue:n.purchase_popup,"onUpdate:modelValue":a[2]||(a[2]=o=>n.purchase_popup=o)},{default:l(()=>[e(V,{value:"1"},{default:l(()=>[...a[14]||(a[14]=[c("弹出一次",-1)])]),_:1}),e(V,{value:"2"},{default:l(()=>[...a[15]||(a[15]=[c("每天显示",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(_,{span:12},{default:l(()=>[e(u,{label:"商城购买次数",prop:"exchange_times"},{default:l(()=>[e(N,{modelValue:n.exchange_times,"onUpdate:modelValue":a[3]||(a[3]=o=>n.exchange_times=o),modelModifiers:{number:!0},min:0,max:999,placeholder:"每日购买限制",style:{width:"100%"}},null,8,["modelValue"]),a[16]||(a[16]=s("div",{class:"form-tip"},"每日商城购买次数限制,0表示不限制",-1))]),_:1})]),_:1})]),_:1}),e(y,{"content-position":"left"},{default:l(()=>[...a[17]||(a[17]=[c("货币配置",-1)])]),_:1}),e(p,{gutter:24},{default:l(()=>[e(_,{span:12},{default:l(()=>[e(u,{label:"余额名称",prop:"balance_name"},{default:l(()=>[e(i,{modelValue:n.balance_name,"onUpdate:modelValue":a[4]||(a[4]=o=>n.balance_name=o),placeholder:"请输入余额名称",maxlength:"20"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{span:12},{default:l(()=>[e(u,{label:"余额图标",prop:"balance_icon"},{default:l(()=>[e(h,{modelValue:n.balance_icon,"onUpdate:modelValue":a[5]||(a[5]=o=>n.balance_icon=o),placeholder:"点击上传余额图标"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:24},{default:l(()=>[e(_,{span:12},{default:l(()=>[e(u,{label:"货币1名称",prop:"currency1_name"},{default:l(()=>[e(i,{modelValue:n.currency1_name,"onUpdate:modelValue":a[6]||(a[6]=o=>n.currency1_name=o),placeholder:"请输入货币1名称",maxlength:"20"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{span:12},{default:l(()=>[e(u,{label:"货币1图标",prop:"currency1_icon"},{default:l(()=>[e(h,{modelValue:n.currency1_icon,"onUpdate:modelValue":a[7]||(a[7]=o=>n.currency1_icon=o),placeholder:"点击上传货币1图标"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:24},{default:l(()=>[e(_,{span:12},{default:l(()=>[e(u,{label:"货币2名称",prop:"currency2_name"},{default:l(()=>[e(i,{modelValue:n.currency2_name,"onUpdate:modelValue":a[8]||(a[8]=o=>n.currency2_name=o),placeholder:"请输入货币2名称",maxlength:"20"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{span:12},{default:l(()=>[e(u,{label:"货币2图标",prop:"currency2_icon"},{default:l(()=>[e(h,{modelValue:n.currency2_icon,"onUpdate:modelValue":a[9]||(a[9]=o=>n.currency2_icon=o),placeholder:"点击上传货币2图标"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(y,{"content-position":"left"},{default:l(()=>[...a[18]||(a[18]=[c("音频配置",-1)])]),_:1}),e(p,{gutter:24},{default:l(()=>[e(_,{span:24},{default:l(()=>[e(u,{label:"中奖音频",prop:"win_audio"},{default:l(()=>[e(i,{modelValue:n.win_audio,"onUpdate:modelValue":a[10]||(a[10]=o=>n.win_audio=o),placeholder:"请输入中奖音频URL"},null,8,["modelValue"]),a[19]||(a[19]=s("div",{class:"form-tip"},"用户中奖时播放的音频文件URL",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1})),[[D,f.value]])}}}),P=z(Q,[["__scopeId","data-v-7c8ad51c"]]);export{P as default};
diff --git a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/BuyOrderTable-BRAVkpMp.js b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/BuyOrderTable-DMz9F0Wd.js
similarity index 97%
rename from server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/BuyOrderTable-BRAVkpMp.js
rename to server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/BuyOrderTable-DMz9F0Wd.js
index 43a4db0f..0567f661 100644
--- a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/BuyOrderTable-BRAVkpMp.js
+++ b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/BuyOrderTable-DMz9F0Wd.js
@@ -1 +1 @@
-import{d as j,r as z,G as P,g as u,J as A,c as d,k as l,K as E,e as s,z as x,w as n,b as t,H as c,x as a,l as G,L as H,t as g,_ as J}from"./index-Dv7iNaj2.js";import{O as k}from"./order-kvz8p908.js";const K={class:"order-table"},L={class:"user-info"},$={class:"nickname"},q={class:"uid"},Q={key:0,class:"mobile"},R={class:"order-num"},W={class:"goods-info"},X={class:"image-error"},Y={class:"goods-detail"},Z={class:"goods-title"},w={class:"goods-meta"},ee={class:"money-info"},te={class:"money"},ae={key:0},se={class:"discount"},ne={class:"money"},ie={class:"pay-info"},oe={key:0},le={key:1},de={key:2},ce={key:3},re={key:4},ue={class:"time-info"},_e={key:0},me=j({__name:"BuyOrderTable",props:{data:{},loading:{type:Boolean},total:{},page:{},pageSize:{}},emits:["page-change","size-change","view-detail"],setup(v,{emit:C}){const h=v,y=C,f=z(h.page),b=z(h.pageSize);P(()=>h.page,i=>{f.value=i}),P(()=>h.pageSize,i=>{b.value=i});const S=i=>{switch(i){case k.Paid:return"success";case k.Unpaid:return"warning";case k.Cancelled:return"info";default:return"info"}},N=i=>{y("page-change",i)},T=i=>{y("size-change",i)},B=i=>{y("view-detail",i)};return(i,o)=>{const r=u("el-table-column"),U=u("el-icon"),F=u("el-image"),I=u("el-tag"),D=u("el-button"),V=u("el-table"),O=u("el-pagination"),M=A("loading");return l(),d("div",K,[E((l(),x(V,{data:v.data,border:"",stripe:""},{default:n(()=>[s(r,{label:"用户信息","min-width":"160",fixed:"left"},{default:n(({row:e})=>[t("div",L,[t("div",$,a(e.userNickname||"-"),1),t("div",q,"UID: "+a(e.userId),1),e.userMobile?(l(),d("div",Q,a(e.userMobile),1)):c("",!0)])]),_:1}),s(r,{prop:"orderNum",label:"订单号","min-width":"180"},{default:n(({row:e})=>[t("span",R,a(e.orderNum),1)]),_:1}),s(r,{label:"盒子信息","min-width":"200"},{default:n(({row:e})=>[t("div",W,[e.goodsImgUrl?(l(),x(F,{key:0,src:e.goodsImgUrl,"preview-src-list":[e.goodsImgUrl],fit:"cover",class:"goods-img",lazy:""},{error:n(()=>[t("div",X,[s(U,null,{default:n(()=>[s(G(H))]),_:1})])]),_:1},8,["src","preview-src-list"])):c("",!0),t("div",Y,[t("div",Z,a(e.goodsTitle||"-"),1),t("div",w,[t("span",null,"抽奖次数: "+a(e.num),1),t("span",null,"中奖数: "+a(e.prizeNum),1)])])])]),_:1}),s(r,{label:"金额详情","min-width":"180"},{default:n(({row:e})=>{var _,m,p;return[t("div",ee,[t("div",null,[o[2]||(o[2]=g("订单金额: ",-1)),t("span",te,"¥"+a(((_=e.orderTotal)==null?void 0:_.toFixed(2))||"0.00"),1)]),e.discount>0?(l(),d("div",ae,[o[3]||(o[3]=g("折扣: ",-1)),t("span",se,"-¥"+a((m=e.discount)==null?void 0:m.toFixed(2)),1)])):c("",!0),t("div",null,[o[4]||(o[4]=g("实付金额: ",-1)),t("span",ne,"¥"+a(((p=e.discountTotal)==null?void 0:p.toFixed(2))||"0.00"),1)])])]}),_:1}),s(r,{label:"支付方式","min-width":"140"},{default:n(({row:e})=>{var _,m,p;return[t("div",ie,[e.weChatPayment>0?(l(),d("div",oe,"微信: ¥"+a((_=e.weChatPayment)==null?void 0:_.toFixed(2)),1)):c("",!0),e.balancePayment>0?(l(),d("div",le,"余额: ¥"+a((m=e.balancePayment)==null?void 0:m.toFixed(2)),1)):c("",!0),e.integralPayment>0?(l(),d("div",de,"积分: "+a(e.integralPayment),1)):c("",!0),e.scorePayment>0?(l(),d("div",ce,"评分: "+a(e.scorePayment),1)):c("",!0),e.couponPayment&&e.couponPayment>0?(l(),d("div",re,"优惠券: ¥"+a((p=e.couponPayment)==null?void 0:p.toFixed(2)),1)):c("",!0)])]}),_:1}),s(r,{label:"状态",width:"100",align:"center"},{default:n(({row:e})=>[s(I,{type:S(e.status),size:"small"},{default:n(()=>[g(a(e.statusName),1)]),_:2},1032,["type"])]),_:1}),s(r,{label:"时间","min-width":"160"},{default:n(({row:e})=>[t("div",ue,[t("div",null,"下单: "+a(e.createdAt),1),e.payTime?(l(),d("div",_e,"支付: "+a(e.payTime),1)):c("",!0)])]),_:1}),s(r,{label:"操作",width:"120",fixed:"right",align:"center"},{default:n(({row:e})=>[s(D,{type:"primary",link:"",onClick:_=>B(e)},{default:n(()=>[...o[5]||(o[5]=[g(" 查看详情 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[M,v.loading]]),s(O,{"current-page":f.value,"onUpdate:currentPage":o[0]||(o[0]=e=>f.value=e),"page-size":b.value,"onUpdate:pageSize":o[1]||(o[1]=e=>b.value=e),"page-sizes":[10,20,50,100],total:v.total,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:T,onCurrentChange:N,class:"pagination"},null,8,["current-page","page-size","total"])])}}}),ve=J(me,[["__scopeId","data-v-3010f6cf"]]);export{ve as default};
+import{d as j,r as z,G as P,g as u,J as A,c as d,k as l,K as E,e as s,z as x,w as n,b as t,H as c,x as a,l as G,L as H,t as g,_ as J}from"./index-C1mwdHq7.js";import{O as k}from"./order-aGWhNFbY.js";const K={class:"order-table"},L={class:"user-info"},$={class:"nickname"},q={class:"uid"},Q={key:0,class:"mobile"},R={class:"order-num"},W={class:"goods-info"},X={class:"image-error"},Y={class:"goods-detail"},Z={class:"goods-title"},w={class:"goods-meta"},ee={class:"money-info"},te={class:"money"},ae={key:0},se={class:"discount"},ne={class:"money"},ie={class:"pay-info"},oe={key:0},le={key:1},de={key:2},ce={key:3},re={key:4},ue={class:"time-info"},_e={key:0},me=j({__name:"BuyOrderTable",props:{data:{},loading:{type:Boolean},total:{},page:{},pageSize:{}},emits:["page-change","size-change","view-detail"],setup(v,{emit:C}){const h=v,y=C,f=z(h.page),b=z(h.pageSize);P(()=>h.page,i=>{f.value=i}),P(()=>h.pageSize,i=>{b.value=i});const S=i=>{switch(i){case k.Paid:return"success";case k.Unpaid:return"warning";case k.Cancelled:return"info";default:return"info"}},N=i=>{y("page-change",i)},T=i=>{y("size-change",i)},B=i=>{y("view-detail",i)};return(i,o)=>{const r=u("el-table-column"),U=u("el-icon"),F=u("el-image"),I=u("el-tag"),D=u("el-button"),V=u("el-table"),O=u("el-pagination"),M=A("loading");return l(),d("div",K,[E((l(),x(V,{data:v.data,border:"",stripe:""},{default:n(()=>[s(r,{label:"用户信息","min-width":"160",fixed:"left"},{default:n(({row:e})=>[t("div",L,[t("div",$,a(e.userNickname||"-"),1),t("div",q,"UID: "+a(e.userId),1),e.userMobile?(l(),d("div",Q,a(e.userMobile),1)):c("",!0)])]),_:1}),s(r,{prop:"orderNum",label:"订单号","min-width":"180"},{default:n(({row:e})=>[t("span",R,a(e.orderNum),1)]),_:1}),s(r,{label:"盒子信息","min-width":"200"},{default:n(({row:e})=>[t("div",W,[e.goodsImgUrl?(l(),x(F,{key:0,src:e.goodsImgUrl,"preview-src-list":[e.goodsImgUrl],fit:"cover",class:"goods-img",lazy:""},{error:n(()=>[t("div",X,[s(U,null,{default:n(()=>[s(G(H))]),_:1})])]),_:1},8,["src","preview-src-list"])):c("",!0),t("div",Y,[t("div",Z,a(e.goodsTitle||"-"),1),t("div",w,[t("span",null,"抽奖次数: "+a(e.num),1),t("span",null,"中奖数: "+a(e.prizeNum),1)])])])]),_:1}),s(r,{label:"金额详情","min-width":"180"},{default:n(({row:e})=>{var _,m,p;return[t("div",ee,[t("div",null,[o[2]||(o[2]=g("订单金额: ",-1)),t("span",te,"¥"+a(((_=e.orderTotal)==null?void 0:_.toFixed(2))||"0.00"),1)]),e.discount>0?(l(),d("div",ae,[o[3]||(o[3]=g("折扣: ",-1)),t("span",se,"-¥"+a((m=e.discount)==null?void 0:m.toFixed(2)),1)])):c("",!0),t("div",null,[o[4]||(o[4]=g("实付金额: ",-1)),t("span",ne,"¥"+a(((p=e.discountTotal)==null?void 0:p.toFixed(2))||"0.00"),1)])])]}),_:1}),s(r,{label:"支付方式","min-width":"140"},{default:n(({row:e})=>{var _,m,p;return[t("div",ie,[e.weChatPayment>0?(l(),d("div",oe,"微信: ¥"+a((_=e.weChatPayment)==null?void 0:_.toFixed(2)),1)):c("",!0),e.balancePayment>0?(l(),d("div",le,"余额: ¥"+a((m=e.balancePayment)==null?void 0:m.toFixed(2)),1)):c("",!0),e.integralPayment>0?(l(),d("div",de,"积分: "+a(e.integralPayment),1)):c("",!0),e.scorePayment>0?(l(),d("div",ce,"评分: "+a(e.scorePayment),1)):c("",!0),e.couponPayment&&e.couponPayment>0?(l(),d("div",re,"优惠券: ¥"+a((p=e.couponPayment)==null?void 0:p.toFixed(2)),1)):c("",!0)])]}),_:1}),s(r,{label:"状态",width:"100",align:"center"},{default:n(({row:e})=>[s(I,{type:S(e.status),size:"small"},{default:n(()=>[g(a(e.statusName),1)]),_:2},1032,["type"])]),_:1}),s(r,{label:"时间","min-width":"160"},{default:n(({row:e})=>[t("div",ue,[t("div",null,"下单: "+a(e.createdAt),1),e.payTime?(l(),d("div",_e,"支付: "+a(e.payTime),1)):c("",!0)])]),_:1}),s(r,{label:"操作",width:"120",fixed:"right",align:"center"},{default:n(({row:e})=>[s(D,{type:"primary",link:"",onClick:_=>B(e)},{default:n(()=>[...o[5]||(o[5]=[g(" 查看详情 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[M,v.loading]]),s(O,{"current-page":f.value,"onUpdate:currentPage":o[0]||(o[0]=e=>f.value=e),"page-size":b.value,"onUpdate:pageSize":o[1]||(o[1]=e=>b.value=e),"page-sizes":[10,20,50,100],total:v.total,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:T,onCurrentChange:N,class:"pagination"},null,8,["current-page","page-size","total"])])}}}),ve=J(me,[["__scopeId","data-v-3010f6cf"]]);export{ve as default};
diff --git a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponFormDialog-BwX1fABA.js b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponFormDialog-BwX1fABA.js
deleted file mode 100644
index aeeb35a2..00000000
--- a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponFormDialog-BwX1fABA.js
+++ /dev/null
@@ -1 +0,0 @@
-import{_ as o}from"./CouponFormDialog.vue_vue_type_script_setup_true_lang-CF2GSzPD.js";import"./coupon-Bvul1hX4.js";import"./index-Dv7iNaj2.js";export{o as default};
diff --git a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponFormDialog-CG63_sOr.js b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponFormDialog-CG63_sOr.js
new file mode 100644
index 00000000..9575e598
--- /dev/null
+++ b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponFormDialog-CG63_sOr.js
@@ -0,0 +1 @@
+import{_ as o}from"./CouponFormDialog.vue_vue_type_script_setup_true_lang-yzGWElmh.js";import"./coupon-CoWsAIot.js";import"./index-C1mwdHq7.js";export{o as default};
diff --git a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponFormDialog.vue_vue_type_script_setup_true_lang-CF2GSzPD.js b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponFormDialog.vue_vue_type_script_setup_true_lang-yzGWElmh.js
similarity index 95%
rename from server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponFormDialog.vue_vue_type_script_setup_true_lang-CF2GSzPD.js
rename to server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponFormDialog.vue_vue_type_script_setup_true_lang-yzGWElmh.js
index 15013419..8ace4257 100644
--- a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponFormDialog.vue_vue_type_script_setup_true_lang-CF2GSzPD.js
+++ b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponFormDialog.vue_vue_type_script_setup_true_lang-yzGWElmh.js
@@ -1 +1 @@
-import{C as x,a as C,b as z,c as G,u as M,e as S}from"./coupon-Bvul1hX4.js";import{d as A,v as H,r as D,a as I,G as J,g as u,z as b,k as m,w as o,e as i,c as k,F as U,y as E,l as F,t as d,E as q}from"./index-Dv7iNaj2.js";const W=A({__name:"CouponFormDialog",props:{modelValue:{type:Boolean},coupon:{},isEdit:{type:Boolean}},emits:["update:modelValue","success"],setup(V,{emit:N}){const a=V,v=N,c=H({get:()=>a.modelValue,set:s=>v("update:modelValue",s)}),p=D(),f=D(!1),t=I({title:"",minPrice:0,discountPrice:0,validDays:7,type:C.FullReduction,useLimit:x.NoLimit}),B={title:[{required:!0,message:"请输入优惠券名称",trigger:"blur"},{min:1,max:50,message:"名称长度在1-50个字符",trigger:"blur"}],type:[{required:!0,message:"请选择优惠券类型",trigger:"change"}],useLimit:[{required:!0,message:"请选择使用限制",trigger:"change"}],minPrice:[{required:!0,message:"请输入满减门槛",trigger:"blur"},{type:"number",min:0,message:"满减门槛不能为负数",trigger:"blur"}],discountPrice:[{required:!0,message:"请输入优惠金额",trigger:"blur"},{type:"number",min:.01,message:"优惠金额必须大于0",trigger:"blur"}],validDays:[{required:!0,message:"请输入有效期",trigger:"blur"},{type:"number",min:1,max:365,message:"有效期在1-365天之间",trigger:"blur"}]};J(()=>a.modelValue,s=>{s&&(a.isEdit&&a.coupon?Object.assign(t,{title:a.coupon.title,minPrice:a.coupon.minPrice,discountPrice:a.coupon.discountPrice,validDays:a.coupon.validDays,type:a.coupon.type,useLimit:a.coupon.useLimit}):_())});const _=()=>{var s;Object.assign(t,{title:"",minPrice:0,discountPrice:0,validDays:7,type:C.FullReduction,useLimit:x.NoLimit}),(s=p.value)==null||s.resetFields()},g=()=>{c.value=!1,_()},R=async()=>{if(p.value){try{await p.value.validate()}catch{return}f.value=!0;try{const s={title:t.title,minPrice:t.minPrice,discountPrice:t.discountPrice,validDays:t.validDays,type:t.type,useLimit:t.useLimit};a.isEdit&&a.coupon?(await M(a.coupon.id,s),q.success("更新成功")):(await S(s),q.success("创建成功")),v("success"),g()}finally{f.value=!1}}};return(s,e)=>{const P=u("el-option"),L=u("el-select"),n=u("el-form-item"),T=u("el-input"),y=u("el-input-number"),j=u("el-form"),w=u("el-button"),O=u("el-dialog");return m(),b(O,{modelValue:c.value,"onUpdate:modelValue":e[6]||(e[6]=l=>c.value=l),title:V.isEdit?"编辑优惠券":"新增优惠券",width:"550px","close-on-click-modal":!1,onClose:g},{footer:o(()=>[i(w,{onClick:g},{default:o(()=>[...e[10]||(e[10]=[d("取消",-1)])]),_:1}),i(w,{type:"primary",loading:f.value,onClick:R},{default:o(()=>[...e[11]||(e[11]=[d(" 确定 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[i(j,{ref_key:"formRef",ref:p,model:t,rules:B,"label-width":"100px"},{default:o(()=>[i(n,{label:"优惠券类型",prop:"type"},{default:o(()=>[i(L,{modelValue:t.type,"onUpdate:modelValue":e[0]||(e[0]=l=>t.type=l),placeholder:"请选择类型",style:{width:"100%"}},{default:o(()=>[(m(!0),k(U,null,E(F(z),(l,r)=>(m(),b(P,{key:r,label:l,value:Number(r)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),i(n,{label:"使用限制",prop:"useLimit"},{default:o(()=>[i(L,{modelValue:t.useLimit,"onUpdate:modelValue":e[1]||(e[1]=l=>t.useLimit=l),placeholder:"请选择使用限制",style:{width:"100%"}},{default:o(()=>[(m(!0),k(U,null,E(F(G),(l,r)=>(m(),b(P,{key:r,label:l,value:Number(r)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),i(n,{label:"优惠券名称",prop:"title"},{default:o(()=>[i(T,{modelValue:t.title,"onUpdate:modelValue":e[2]||(e[2]=l=>t.title=l),placeholder:"请输入优惠券名称",maxlength:"50","show-word-limit":""},null,8,["modelValue"])]),_:1}),i(n,{label:"满减门槛",prop:"minPrice"},{default:o(()=>[i(y,{modelValue:t.minPrice,"onUpdate:modelValue":e[3]||(e[3]=l=>t.minPrice=l),min:0,max:999999,precision:2,placeholder:"请输入满减门槛",style:{width:"100%"}},{suffix:o(()=>[...e[7]||(e[7]=[d("元",-1)])]),_:1},8,["modelValue"])]),_:1}),i(n,{label:"优惠金额",prop:"discountPrice"},{default:o(()=>[i(y,{modelValue:t.discountPrice,"onUpdate:modelValue":e[4]||(e[4]=l=>t.discountPrice=l),min:.01,max:999999,precision:2,placeholder:"请输入优惠金额",style:{width:"100%"}},{suffix:o(()=>[...e[8]||(e[8]=[d("元",-1)])]),_:1},8,["modelValue"])]),_:1}),i(n,{label:"有效期",prop:"validDays"},{default:o(()=>[i(y,{modelValue:t.validDays,"onUpdate:modelValue":e[5]||(e[5]=l=>t.validDays=l),min:1,max:365,placeholder:"请输入有效期天数",style:{width:"100%"}},{suffix:o(()=>[...e[9]||(e[9]=[d("天",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])}}});export{W as _};
+import{C as x,a as C,b as z,c as G,u as M,e as S}from"./coupon-CoWsAIot.js";import{d as A,v as H,r as D,a as I,G as J,g as u,z as b,k as m,w as o,e as i,c as k,F as U,y as E,l as F,t as d,E as q}from"./index-C1mwdHq7.js";const W=A({__name:"CouponFormDialog",props:{modelValue:{type:Boolean},coupon:{},isEdit:{type:Boolean}},emits:["update:modelValue","success"],setup(V,{emit:N}){const a=V,v=N,c=H({get:()=>a.modelValue,set:s=>v("update:modelValue",s)}),p=D(),f=D(!1),t=I({title:"",minPrice:0,discountPrice:0,validDays:7,type:C.FullReduction,useLimit:x.NoLimit}),B={title:[{required:!0,message:"请输入优惠券名称",trigger:"blur"},{min:1,max:50,message:"名称长度在1-50个字符",trigger:"blur"}],type:[{required:!0,message:"请选择优惠券类型",trigger:"change"}],useLimit:[{required:!0,message:"请选择使用限制",trigger:"change"}],minPrice:[{required:!0,message:"请输入满减门槛",trigger:"blur"},{type:"number",min:0,message:"满减门槛不能为负数",trigger:"blur"}],discountPrice:[{required:!0,message:"请输入优惠金额",trigger:"blur"},{type:"number",min:.01,message:"优惠金额必须大于0",trigger:"blur"}],validDays:[{required:!0,message:"请输入有效期",trigger:"blur"},{type:"number",min:1,max:365,message:"有效期在1-365天之间",trigger:"blur"}]};J(()=>a.modelValue,s=>{s&&(a.isEdit&&a.coupon?Object.assign(t,{title:a.coupon.title,minPrice:a.coupon.minPrice,discountPrice:a.coupon.discountPrice,validDays:a.coupon.validDays,type:a.coupon.type,useLimit:a.coupon.useLimit}):_())});const _=()=>{var s;Object.assign(t,{title:"",minPrice:0,discountPrice:0,validDays:7,type:C.FullReduction,useLimit:x.NoLimit}),(s=p.value)==null||s.resetFields()},g=()=>{c.value=!1,_()},R=async()=>{if(p.value){try{await p.value.validate()}catch{return}f.value=!0;try{const s={title:t.title,minPrice:t.minPrice,discountPrice:t.discountPrice,validDays:t.validDays,type:t.type,useLimit:t.useLimit};a.isEdit&&a.coupon?(await M(a.coupon.id,s),q.success("更新成功")):(await S(s),q.success("创建成功")),v("success"),g()}finally{f.value=!1}}};return(s,e)=>{const P=u("el-option"),L=u("el-select"),n=u("el-form-item"),T=u("el-input"),y=u("el-input-number"),j=u("el-form"),w=u("el-button"),O=u("el-dialog");return m(),b(O,{modelValue:c.value,"onUpdate:modelValue":e[6]||(e[6]=l=>c.value=l),title:V.isEdit?"编辑优惠券":"新增优惠券",width:"550px","close-on-click-modal":!1,onClose:g},{footer:o(()=>[i(w,{onClick:g},{default:o(()=>[...e[10]||(e[10]=[d("取消",-1)])]),_:1}),i(w,{type:"primary",loading:f.value,onClick:R},{default:o(()=>[...e[11]||(e[11]=[d(" 确定 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[i(j,{ref_key:"formRef",ref:p,model:t,rules:B,"label-width":"100px"},{default:o(()=>[i(n,{label:"优惠券类型",prop:"type"},{default:o(()=>[i(L,{modelValue:t.type,"onUpdate:modelValue":e[0]||(e[0]=l=>t.type=l),placeholder:"请选择类型",style:{width:"100%"}},{default:o(()=>[(m(!0),k(U,null,E(F(z),(l,r)=>(m(),b(P,{key:r,label:l,value:Number(r)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),i(n,{label:"使用限制",prop:"useLimit"},{default:o(()=>[i(L,{modelValue:t.useLimit,"onUpdate:modelValue":e[1]||(e[1]=l=>t.useLimit=l),placeholder:"请选择使用限制",style:{width:"100%"}},{default:o(()=>[(m(!0),k(U,null,E(F(G),(l,r)=>(m(),b(P,{key:r,label:l,value:Number(r)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),i(n,{label:"优惠券名称",prop:"title"},{default:o(()=>[i(T,{modelValue:t.title,"onUpdate:modelValue":e[2]||(e[2]=l=>t.title=l),placeholder:"请输入优惠券名称",maxlength:"50","show-word-limit":""},null,8,["modelValue"])]),_:1}),i(n,{label:"满减门槛",prop:"minPrice"},{default:o(()=>[i(y,{modelValue:t.minPrice,"onUpdate:modelValue":e[3]||(e[3]=l=>t.minPrice=l),min:0,max:999999,precision:2,placeholder:"请输入满减门槛",style:{width:"100%"}},{suffix:o(()=>[...e[7]||(e[7]=[d("元",-1)])]),_:1},8,["modelValue"])]),_:1}),i(n,{label:"优惠金额",prop:"discountPrice"},{default:o(()=>[i(y,{modelValue:t.discountPrice,"onUpdate:modelValue":e[4]||(e[4]=l=>t.discountPrice=l),min:.01,max:999999,precision:2,placeholder:"请输入优惠金额",style:{width:"100%"}},{suffix:o(()=>[...e[8]||(e[8]=[d("元",-1)])]),_:1},8,["modelValue"])]),_:1}),i(n,{label:"有效期",prop:"validDays"},{default:o(()=>[i(y,{modelValue:t.validDays,"onUpdate:modelValue":e[5]||(e[5]=l=>t.validDays=l),min:1,max:365,placeholder:"请输入有效期天数",style:{width:"100%"}},{suffix:o(()=>[...e[9]||(e[9]=[d("天",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])}}});export{W as _};
diff --git a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponSearchForm-CVwU8PlJ.js b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponSearchForm-BoLlJQNN.js
similarity index 95%
rename from server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponSearchForm-CVwU8PlJ.js
rename to server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponSearchForm-BoLlJQNN.js
index 313dcb5d..5b7756af 100644
--- a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponSearchForm-CVwU8PlJ.js
+++ b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponSearchForm-BoLlJQNN.js
@@ -1 +1 @@
-import{d as v,a as x,g as n,z as f,k as d,w as t,e as o,f as F,c as B,F as N,y as S,l as p,t as y,O as g,s as K,_ as L}from"./index-Dv7iNaj2.js";import{b as T}from"./coupon-Bvul1hX4.js";const U=v({__name:"CouponSearchForm",emits:["search","reset"],setup(z,{emit:k}){const m=k,e=x({keyword:"",type:void 0}),u=()=>{const r={};e.keyword&&(r.keyword=e.keyword),e.type!==void 0&&(r.type=e.type),m("search",r)},w=()=>{e.keyword="",e.type=void 0,m("reset")};return(r,l)=>{const b=n("el-input"),s=n("el-form-item"),h=n("el-option"),C=n("el-select"),c=n("el-icon"),_=n("el-button"),V=n("el-form");return d(),f(V,{inline:!0,model:e,class:"search-form"},{default:t(()=>[o(s,{label:"标题关键词"},{default:t(()=>[o(b,{modelValue:e.keyword,"onUpdate:modelValue":l[0]||(l[0]=a=>e.keyword=a),placeholder:"请输入优惠券标题",clearable:"",onKeyup:F(u,["enter"]),style:{width:"180px"}},null,8,["modelValue"])]),_:1}),o(s,{label:"优惠券类型"},{default:t(()=>[o(C,{modelValue:e.type,"onUpdate:modelValue":l[1]||(l[1]=a=>e.type=a),placeholder:"全部类型",clearable:"",style:{width:"140px"}},{default:t(()=>[(d(!0),B(N,null,S(p(T),(a,i)=>(d(),f(h,{key:i,label:a,value:Number(i)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,null,{default:t(()=>[o(_,{type:"primary",onClick:u},{default:t(()=>[o(c,null,{default:t(()=>[o(p(g))]),_:1}),l[2]||(l[2]=y("查询 ",-1))]),_:1}),o(_,{onClick:w},{default:t(()=>[o(c,null,{default:t(()=>[o(p(K))]),_:1}),l[3]||(l[3]=y("重置 ",-1))]),_:1})]),_:1})]),_:1},8,["model"])}}}),O=L(U,[["__scopeId","data-v-a394cb85"]]);export{O as default};
+import{d as v,a as x,g as n,z as f,k as d,w as t,e as o,f as F,c as B,F as N,y as S,l as p,t as y,O as g,s as K,_ as L}from"./index-C1mwdHq7.js";import{b as T}from"./coupon-CoWsAIot.js";const U=v({__name:"CouponSearchForm",emits:["search","reset"],setup(z,{emit:k}){const m=k,e=x({keyword:"",type:void 0}),u=()=>{const r={};e.keyword&&(r.keyword=e.keyword),e.type!==void 0&&(r.type=e.type),m("search",r)},w=()=>{e.keyword="",e.type=void 0,m("reset")};return(r,l)=>{const b=n("el-input"),s=n("el-form-item"),h=n("el-option"),C=n("el-select"),c=n("el-icon"),_=n("el-button"),V=n("el-form");return d(),f(V,{inline:!0,model:e,class:"search-form"},{default:t(()=>[o(s,{label:"标题关键词"},{default:t(()=>[o(b,{modelValue:e.keyword,"onUpdate:modelValue":l[0]||(l[0]=a=>e.keyword=a),placeholder:"请输入优惠券标题",clearable:"",onKeyup:F(u,["enter"]),style:{width:"180px"}},null,8,["modelValue"])]),_:1}),o(s,{label:"优惠券类型"},{default:t(()=>[o(C,{modelValue:e.type,"onUpdate:modelValue":l[1]||(l[1]=a=>e.type=a),placeholder:"全部类型",clearable:"",style:{width:"140px"}},{default:t(()=>[(d(!0),B(N,null,S(p(T),(a,i)=>(d(),f(h,{key:i,label:a,value:Number(i)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,null,{default:t(()=>[o(_,{type:"primary",onClick:u},{default:t(()=>[o(c,null,{default:t(()=>[o(p(g))]),_:1}),l[2]||(l[2]=y("查询 ",-1))]),_:1}),o(_,{onClick:w},{default:t(()=>[o(c,null,{default:t(()=>[o(p(K))]),_:1}),l[3]||(l[3]=y("重置 ",-1))]),_:1})]),_:1})]),_:1},8,["model"])}}}),O=L(U,[["__scopeId","data-v-a394cb85"]]);export{O as default};
diff --git a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponTable-BnKKkURs.js b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponTable-tdUWJD-A.js
similarity index 96%
rename from server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponTable-BnKKkURs.js
rename to server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponTable-tdUWJD-A.js
index 20d98d78..de04d346 100644
--- a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponTable-BnKKkURs.js
+++ b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponTable-tdUWJD-A.js
@@ -1 +1 @@
-import{b as F,a as _,c as I,f as $}from"./coupon-Bvul1hX4.js";import{d as j,r as f,G as v,g as s,J as q,c as A,k as C,K as G,e as a,z as J,w as o,b as h,x as c,t as d,E as y,_ as K}from"./index-Dv7iNaj2.js";const M={class:"coupon-table"},R={class:"money"},H={class:"discount"},O=j({__name:"CouponTable",props:{data:{},loading:{type:Boolean},total:{},page:{},pageSize:{}},emits:["page-change","size-change","edit","delete"],setup(r,{emit:z}){const p=r,u=z,g=f(p.page),m=f(p.pageSize);v(()=>p.page,t=>{g.value=t}),v(()=>p.pageSize,t=>{m.value=t});const w=t=>F[t]||"未知类型",x=t=>{switch(t){case _.NewUser:return"success";case _.Equity:return"warning";case _.FullReduction:return"";default:return"info"}},k=t=>I[t]||"不限制",S=t=>{u("page-change",t)},T=t=>{u("size-change",t)},N=t=>{u("edit",t)},U=t=>{u("delete",t)},V=async(t,n)=>{try{await $(t.id,n),y.success(n===0?"已启用":"已禁用")}catch(l){t.status=n===0?1:0,y.error(l.message||"状态更新失败")}};return(t,n)=>{const l=s("el-table-column"),D=s("el-tag"),L=s("el-switch"),b=s("el-button"),P=s("el-table"),B=s("el-pagination"),E=q("loading");return C(),A("div",M,[G((C(),J(P,{data:r.data,border:"",stripe:""},{default:o(()=>[a(l,{prop:"id",label:"ID",width:"80",align:"center"}),a(l,{prop:"title",label:"优惠券名称","min-width":"150"}),a(l,{label:"满减门槛",width:"100",align:"right"},{default:o(({row:e})=>{var i;return[h("span",R,"¥"+c(((i=e.minPrice)==null?void 0:i.toFixed(2))||"0.00"),1)]}),_:1}),a(l,{label:"优惠金额",width:"100",align:"right"},{default:o(({row:e})=>{var i;return[h("span",H,"¥"+c(((i=e.discountPrice)==null?void 0:i.toFixed(2))||"0.00"),1)]}),_:1}),a(l,{label:"有效期",width:"100",align:"center"},{default:o(({row:e})=>[d(c(e.validDays)+"天 ",1)]),_:1}),a(l,{label:"类型",width:"120",align:"center"},{default:o(({row:e})=>[a(D,{type:x(e.type),size:"small"},{default:o(()=>[d(c(e.typeName||w(e.type)),1)]),_:2},1032,["type"])]),_:1}),a(l,{label:"使用限制",width:"100",align:"center"},{default:o(({row:e})=>[h("span",null,c(e.useLimitName||k(e.useLimit)),1)]),_:1}),a(l,{label:"状态",width:"100",align:"center"},{default:o(({row:e})=>[a(L,{modelValue:e.status,"onUpdate:modelValue":i=>e.status=i,"active-value":0,"inactive-value":1,"active-text":"启用","inactive-text":"禁用","inline-prompt":"",onChange:i=>V(e,i)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),a(l,{label:"创建时间",width:"160",align:"center"},{default:o(({row:e})=>[d(c(e.createdAt||"-"),1)]),_:1}),a(l,{label:"操作",width:"150",align:"center",fixed:"right"},{default:o(({row:e})=>[a(b,{type:"primary",link:"",size:"small",onClick:i=>N(e)},{default:o(()=>[...n[2]||(n[2]=[d(" 编辑 ",-1)])]),_:1},8,["onClick"]),a(b,{type:"danger",link:"",size:"small",onClick:i=>U(e)},{default:o(()=>[...n[3]||(n[3]=[d(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[E,r.loading]]),a(B,{"current-page":g.value,"onUpdate:currentPage":n[0]||(n[0]=e=>g.value=e),"page-size":m.value,"onUpdate:pageSize":n[1]||(n[1]=e=>m.value=e),"page-sizes":[10,20,50,100],total:r.total,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:T,onCurrentChange:S,class:"pagination"},null,8,["current-page","page-size","total"])])}}}),X=K(O,[["__scopeId","data-v-c8a27013"]]);export{X as default};
+import{b as F,a as _,c as I,f as $}from"./coupon-CoWsAIot.js";import{d as j,r as f,G as v,g as s,J as q,c as A,k as C,K as G,e as a,z as J,w as o,b as h,x as c,t as d,E as y,_ as K}from"./index-C1mwdHq7.js";const M={class:"coupon-table"},R={class:"money"},H={class:"discount"},O=j({__name:"CouponTable",props:{data:{},loading:{type:Boolean},total:{},page:{},pageSize:{}},emits:["page-change","size-change","edit","delete"],setup(r,{emit:z}){const p=r,u=z,g=f(p.page),m=f(p.pageSize);v(()=>p.page,t=>{g.value=t}),v(()=>p.pageSize,t=>{m.value=t});const w=t=>F[t]||"未知类型",x=t=>{switch(t){case _.NewUser:return"success";case _.Equity:return"warning";case _.FullReduction:return"";default:return"info"}},k=t=>I[t]||"不限制",S=t=>{u("page-change",t)},T=t=>{u("size-change",t)},N=t=>{u("edit",t)},U=t=>{u("delete",t)},V=async(t,n)=>{try{await $(t.id,n),y.success(n===0?"已启用":"已禁用")}catch(l){t.status=n===0?1:0,y.error(l.message||"状态更新失败")}};return(t,n)=>{const l=s("el-table-column"),D=s("el-tag"),L=s("el-switch"),b=s("el-button"),P=s("el-table"),B=s("el-pagination"),E=q("loading");return C(),A("div",M,[G((C(),J(P,{data:r.data,border:"",stripe:""},{default:o(()=>[a(l,{prop:"id",label:"ID",width:"80",align:"center"}),a(l,{prop:"title",label:"优惠券名称","min-width":"150"}),a(l,{label:"满减门槛",width:"100",align:"right"},{default:o(({row:e})=>{var i;return[h("span",R,"¥"+c(((i=e.minPrice)==null?void 0:i.toFixed(2))||"0.00"),1)]}),_:1}),a(l,{label:"优惠金额",width:"100",align:"right"},{default:o(({row:e})=>{var i;return[h("span",H,"¥"+c(((i=e.discountPrice)==null?void 0:i.toFixed(2))||"0.00"),1)]}),_:1}),a(l,{label:"有效期",width:"100",align:"center"},{default:o(({row:e})=>[d(c(e.validDays)+"天 ",1)]),_:1}),a(l,{label:"类型",width:"120",align:"center"},{default:o(({row:e})=>[a(D,{type:x(e.type),size:"small"},{default:o(()=>[d(c(e.typeName||w(e.type)),1)]),_:2},1032,["type"])]),_:1}),a(l,{label:"使用限制",width:"100",align:"center"},{default:o(({row:e})=>[h("span",null,c(e.useLimitName||k(e.useLimit)),1)]),_:1}),a(l,{label:"状态",width:"100",align:"center"},{default:o(({row:e})=>[a(L,{modelValue:e.status,"onUpdate:modelValue":i=>e.status=i,"active-value":0,"inactive-value":1,"active-text":"启用","inactive-text":"禁用","inline-prompt":"",onChange:i=>V(e,i)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),a(l,{label:"创建时间",width:"160",align:"center"},{default:o(({row:e})=>[d(c(e.createdAt||"-"),1)]),_:1}),a(l,{label:"操作",width:"150",align:"center",fixed:"right"},{default:o(({row:e})=>[a(b,{type:"primary",link:"",size:"small",onClick:i=>N(e)},{default:o(()=>[...n[2]||(n[2]=[d(" 编辑 ",-1)])]),_:1},8,["onClick"]),a(b,{type:"danger",link:"",size:"small",onClick:i=>U(e)},{default:o(()=>[...n[3]||(n[3]=[d(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[E,r.loading]]),a(B,{"current-page":g.value,"onUpdate:currentPage":n[0]||(n[0]=e=>g.value=e),"page-size":m.value,"onUpdate:pageSize":n[1]||(n[1]=e=>m.value=e),"page-sizes":[10,20,50,100],total:r.total,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:T,onCurrentChange:S,class:"pagination"},null,8,["current-page","page-size","total"])])}}}),X=K(O,[["__scopeId","data-v-c8a27013"]]);export{X as default};
diff --git a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CurrencyInfoCard-D7jHu8L3.js b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CurrencyInfoCard-BFQHnhcT.js
similarity index 96%
rename from server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CurrencyInfoCard-D7jHu8L3.js
rename to server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CurrencyInfoCard-BFQHnhcT.js
index 6620a728..365d2ac9 100644
--- a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CurrencyInfoCard-D7jHu8L3.js
+++ b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CurrencyInfoCard-BFQHnhcT.js
@@ -1 +1 @@
-import{d as I,r as _,a as U,o as C,g as y,J as h,K as k,z as H,k as m,w as r,b as s,c as w,H as x,x as d,l as a,e as u,ad as N,s as D,t as B,E,_ as V}from"./index-Dv7iNaj2.js";import{c as j}from"./statistics-xfEu2WyG.js";import{a as l}from"./format-C0IiqLeQ.js";const O={class:"card-header"},S={class:"stats-grid"},z={class:"stat-item"},J={class:"stat-value add"},K={class:"stat-item"},R={class:"stat-value use"},T={class:"stat-item"},q={class:"stat-value add"},F={class:"stat-item"},G={class:"stat-value use"},L={class:"stat-item"},P={class:"stat-value add"},Q={class:"stat-item"},W={class:"stat-value use"},X={class:"stat-item"},Y={class:"stat-value add"},Z={class:"stat-item"},$={class:"stat-value use"},ss={class:"stat-item"},ts={class:"stat-value add"},es={class:"stat-item"},as={class:"stat-value use"},ds={class:"stat-item"},os={class:"stat-value add"},ls={class:"stat-item"},ns={class:"stat-value use"},is={key:0,class:"error-message"},rs=I({__name:"CurrencyInfoCard",setup(cs,{expose:f}){const i=_(!1),n=_(null),c={todayAddMoney:0,todayUseMoney:0,yesterdayAddMoney:0,yesterdayUseMoney:0,todayAddIntegral:0,todayUseIntegral:0,yesterdayAddIntegral:0,yesterdayUseIntegral:0,todayAddMoney2:0,todayUseMoney2:0,yesterdayAddMoney2:0,yesterdayUseMoney2:0},e=U({...c});async function v(){i.value=!0,n.value=null;try{const o=await j();o.code===0&&o.data?Object.assign(e,o.data):(n.value=o.message||"获取数据失败",Object.assign(e,c))}catch(o){console.error("加载货币信息数据失败:",o),o instanceof Error?o.message.includes("403")||o.message.includes("权限")?n.value="无权限访问此页面":o.message.includes("network")||o.message.includes("Network")?n.value="网络连接失败,请检查网络":n.value="服务器繁忙,请稍后重试":n.value="获取数据失败",Object.assign(e,c)}finally{i.value=!1}}function g(){v(),E.info("正在刷新数据...")}return C(()=>{v()}),f({refresh:v}),(o,t)=>{const p=y("el-button"),b=y("el-icon"),M=y("el-card"),A=h("loading");return k((m(),H(M,{class:"currency-info-card"},{header:r(()=>[s("div",O,[t[1]||(t[1]=s("span",{class:"card-title"},"今日货币信息",-1)),u(p,{type:"primary",link:"",icon:a(D),onClick:g,loading:i.value},{default:r(()=>[...t[0]||(t[0]=[B(" 刷新 ",-1)])]),_:1},8,["icon","loading"])])]),default:r(()=>[s("div",S,[s("div",z,[t[2]||(t[2]=s("div",{class:"stat-label"},"今日发放钻石",-1)),s("div",J,d(a(l)(e.todayAddMoney)),1)]),s("div",K,[t[3]||(t[3]=s("div",{class:"stat-label"},"今日消费钻石",-1)),s("div",R,d(a(l)(e.todayUseMoney)),1)]),s("div",T,[t[4]||(t[4]=s("div",{class:"stat-label"},"昨日发放钻石",-1)),s("div",q,d(a(l)(e.yesterdayAddMoney)),1)]),s("div",F,[t[5]||(t[5]=s("div",{class:"stat-label"},"昨日消费钻石",-1)),s("div",G,d(a(l)(e.yesterdayUseMoney)),1)]),s("div",L,[t[6]||(t[6]=s("div",{class:"stat-label"},"今日发放HH币",-1)),s("div",P,d(a(l)(e.todayAddIntegral)),1)]),s("div",Q,[t[7]||(t[7]=s("div",{class:"stat-label"},"今日消费HH币",-1)),s("div",W,d(a(l)(e.todayUseIntegral)),1)]),s("div",X,[t[8]||(t[8]=s("div",{class:"stat-label"},"昨日发放HH币",-1)),s("div",Y,d(a(l)(e.yesterdayAddIntegral)),1)]),s("div",Z,[t[9]||(t[9]=s("div",{class:"stat-label"},"昨日消费HH币",-1)),s("div",$,d(a(l)(e.yesterdayUseIntegral)),1)]),s("div",ss,[t[10]||(t[10]=s("div",{class:"stat-label"},"今日发放达达券",-1)),s("div",ts,d(a(l)(e.todayAddMoney2)),1)]),s("div",es,[t[11]||(t[11]=s("div",{class:"stat-label"},"今日消费达达券",-1)),s("div",as,d(a(l)(e.todayUseMoney2)),1)]),s("div",ds,[t[12]||(t[12]=s("div",{class:"stat-label"},"昨日发放达达券",-1)),s("div",os,d(a(l)(e.yesterdayAddMoney2)),1)]),s("div",ls,[t[13]||(t[13]=s("div",{class:"stat-label"},"昨日消费达达券",-1)),s("div",ns,d(a(l)(e.yesterdayUseMoney2)),1)])]),n.value?(m(),w("div",is,[u(b,null,{default:r(()=>[u(a(N))]),_:1}),s("span",null,d(n.value),1)])):x("",!0)]),_:1})),[[A,i.value]])}}}),_s=V(rs,[["__scopeId","data-v-f740c759"]]);export{_s as default};
+import{d as I,r as _,a as U,o as C,g as y,J as h,K as k,z as H,k as m,w as r,b as s,c as w,H as x,x as d,l as a,e as u,ad as N,s as D,t as B,E,_ as V}from"./index-C1mwdHq7.js";import{c as j}from"./statistics-C7eNttIM.js";import{a as l}from"./format-C0IiqLeQ.js";const O={class:"card-header"},S={class:"stats-grid"},z={class:"stat-item"},J={class:"stat-value add"},K={class:"stat-item"},R={class:"stat-value use"},T={class:"stat-item"},q={class:"stat-value add"},F={class:"stat-item"},G={class:"stat-value use"},L={class:"stat-item"},P={class:"stat-value add"},Q={class:"stat-item"},W={class:"stat-value use"},X={class:"stat-item"},Y={class:"stat-value add"},Z={class:"stat-item"},$={class:"stat-value use"},ss={class:"stat-item"},ts={class:"stat-value add"},es={class:"stat-item"},as={class:"stat-value use"},ds={class:"stat-item"},os={class:"stat-value add"},ls={class:"stat-item"},ns={class:"stat-value use"},is={key:0,class:"error-message"},rs=I({__name:"CurrencyInfoCard",setup(cs,{expose:f}){const i=_(!1),n=_(null),c={todayAddMoney:0,todayUseMoney:0,yesterdayAddMoney:0,yesterdayUseMoney:0,todayAddIntegral:0,todayUseIntegral:0,yesterdayAddIntegral:0,yesterdayUseIntegral:0,todayAddMoney2:0,todayUseMoney2:0,yesterdayAddMoney2:0,yesterdayUseMoney2:0},e=U({...c});async function v(){i.value=!0,n.value=null;try{const o=await j();o.code===0&&o.data?Object.assign(e,o.data):(n.value=o.message||"获取数据失败",Object.assign(e,c))}catch(o){console.error("加载货币信息数据失败:",o),o instanceof Error?o.message.includes("403")||o.message.includes("权限")?n.value="无权限访问此页面":o.message.includes("network")||o.message.includes("Network")?n.value="网络连接失败,请检查网络":n.value="服务器繁忙,请稍后重试":n.value="获取数据失败",Object.assign(e,c)}finally{i.value=!1}}function g(){v(),E.info("正在刷新数据...")}return C(()=>{v()}),f({refresh:v}),(o,t)=>{const p=y("el-button"),b=y("el-icon"),M=y("el-card"),A=h("loading");return k((m(),H(M,{class:"currency-info-card"},{header:r(()=>[s("div",O,[t[1]||(t[1]=s("span",{class:"card-title"},"今日货币信息",-1)),u(p,{type:"primary",link:"",icon:a(D),onClick:g,loading:i.value},{default:r(()=>[...t[0]||(t[0]=[B(" 刷新 ",-1)])]),_:1},8,["icon","loading"])])]),default:r(()=>[s("div",S,[s("div",z,[t[2]||(t[2]=s("div",{class:"stat-label"},"今日发放钻石",-1)),s("div",J,d(a(l)(e.todayAddMoney)),1)]),s("div",K,[t[3]||(t[3]=s("div",{class:"stat-label"},"今日消费钻石",-1)),s("div",R,d(a(l)(e.todayUseMoney)),1)]),s("div",T,[t[4]||(t[4]=s("div",{class:"stat-label"},"昨日发放钻石",-1)),s("div",q,d(a(l)(e.yesterdayAddMoney)),1)]),s("div",F,[t[5]||(t[5]=s("div",{class:"stat-label"},"昨日消费钻石",-1)),s("div",G,d(a(l)(e.yesterdayUseMoney)),1)]),s("div",L,[t[6]||(t[6]=s("div",{class:"stat-label"},"今日发放HH币",-1)),s("div",P,d(a(l)(e.todayAddIntegral)),1)]),s("div",Q,[t[7]||(t[7]=s("div",{class:"stat-label"},"今日消费HH币",-1)),s("div",W,d(a(l)(e.todayUseIntegral)),1)]),s("div",X,[t[8]||(t[8]=s("div",{class:"stat-label"},"昨日发放HH币",-1)),s("div",Y,d(a(l)(e.yesterdayAddIntegral)),1)]),s("div",Z,[t[9]||(t[9]=s("div",{class:"stat-label"},"昨日消费HH币",-1)),s("div",$,d(a(l)(e.yesterdayUseIntegral)),1)]),s("div",ss,[t[10]||(t[10]=s("div",{class:"stat-label"},"今日发放达达券",-1)),s("div",ts,d(a(l)(e.todayAddMoney2)),1)]),s("div",es,[t[11]||(t[11]=s("div",{class:"stat-label"},"今日消费达达券",-1)),s("div",as,d(a(l)(e.todayUseMoney2)),1)]),s("div",ds,[t[12]||(t[12]=s("div",{class:"stat-label"},"昨日发放达达券",-1)),s("div",os,d(a(l)(e.yesterdayAddMoney2)),1)]),s("div",ls,[t[13]||(t[13]=s("div",{class:"stat-label"},"昨日消费达达券",-1)),s("div",ns,d(a(l)(e.yesterdayUseMoney2)),1)])]),n.value?(m(),w("div",is,[u(b,null,{default:r(()=>[u(a(N))]),_:1}),s("span",null,d(n.value),1)])):x("",!0)]),_:1})),[[A,i.value]])}}}),_s=V(rs,[["__scopeId","data-v-f740c759"]]);export{_s as default};
diff --git a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/DanyeFormDialog-C-lMJe8L.js b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/DanyeFormDialog-DXW0o4vR.js
similarity index 99%
rename from server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/DanyeFormDialog-C-lMJe8L.js
rename to server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/DanyeFormDialog-DXW0o4vR.js
index eb681035..33a77bfe 100644
--- a/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/DanyeFormDialog-C-lMJe8L.js
+++ b/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/DanyeFormDialog-DXW0o4vR.js
@@ -1,4 +1,4 @@
-import{d as L3,c as fv,k as ed,r as sl,W as YT,o as Kz,G as e4,X as Yz,Y as Xz,N as Zl,v as Zz,a as Jz,Z as JC,$ as Qz,g as ys,z as t$,w as mi,e as oo,l as Tm,b as e$,q as r$,t as QC,a0 as n$,E as Pm,_ as o$}from"./index-Dv7iNaj2.js";var ae=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function i$(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function ts(t){var e={exports:{}};return t(e,e.exports),e.exports}var bi,_g,xh=function(t){return t&&t.Math==Math&&t},kt=xh(typeof globalThis=="object"&&globalThis)||xh(typeof window=="object"&&window)||xh(typeof self=="object"&&self)||xh(typeof ae=="object"&&ae)||(function(){return this})()||Function("return this")(),R3=Function.prototype,tx=R3.apply,a$=R3.bind,ex=R3.call,XT=typeof Reflect=="object"&&Reflect.apply||(a$?ex.bind(tx):function(){return ex.apply(tx,arguments)}),ZT=Function.prototype,r4=ZT.bind,n4=ZT.call,u$=r4&&r4.bind(n4),pe=r4?function(t){return t&&u$(n4,t)}:function(t){return t&&function(){return n4.apply(t,arguments)}},dr=function(t){return typeof t=="function"},Ur=function(t){try{return!!t()}catch{return!0}},zr=!Ur((function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})),Cc=Function.prototype.call,Qr=Cc.bind?Cc.bind(Cc):function(){return Cc.apply(Cc,arguments)},rx={}.propertyIsEnumerable,nx=Object.getOwnPropertyDescriptor,s$=nx&&!rx.call({1:2},1)?function(t){var e=nx(this,t);return!!e&&e.enumerable}:rx,M3={f:s$},Un=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},l$=pe({}.toString),c$=pe("".slice),hu=function(t){return c$(l$(t),8,-1)},jm=kt.Object,f$=pe("".split),JT=Ur((function(){return!jm("z").propertyIsEnumerable(0)}))?function(t){return hu(t)=="String"?f$(t,""):jm(t)}:jm,d$=kt.TypeError,z3=function(t){if(t==null)throw d$("Can't call method on "+t);return t},To=function(t){return JT(z3(t))},wn=function(t){return typeof t=="object"?t!==null:dr(t)},Zr={},ox=function(t){return dr(t)?t:void 0},Jl=function(t,e){return arguments.length<2?ox(Zr[t])||ox(kt[t]):Zr[t]&&Zr[t][e]||kt[t]&&kt[t][e]},Ad=pe({}.isPrototypeOf),Nm=Jl("navigator","userAgent")||"",ix=kt.process,ax=kt.Deno,ux=ix&&ix.versions||ax&&ax.version,sx=ux&&ux.v8;sx&&(_g=(bi=sx.split("."))[0]>0&&bi[0]<4?1:+(bi[0]+bi[1])),!_g&&Nm&&(!(bi=Nm.match(/Edge\/(\d+)/))||bi[1]>=74)&&(bi=Nm.match(/Chrome\/(\d+)/))&&(_g=+bi[1]);var Sh,dv=_g,so=!!Object.getOwnPropertySymbols&&!Ur((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&dv&&dv<41})),$3=so&&!Symbol.sham&&typeof Symbol.iterator=="symbol",p$=kt.Object,ll=$3?function(t){return typeof t=="symbol"}:function(t){var e=Jl("Symbol");return dr(e)&&Ad(e.prototype,p$(t))},h$=kt.String,o4=function(t){try{return h$(t)}catch{return"Object"}},g$=kt.TypeError,H3=function(t){if(dr(t))return t;throw g$(o4(t)+" is not a function")},pv=function(t,e){var r=t[e];return r==null?void 0:H3(r)},v$=kt.TypeError,y$=Object.defineProperty,Ki=kt["__core-js_shared__"]||(function(t,e){try{y$(kt,t,{value:e,configurable:!0,writable:!0})}catch{kt[t]=e}return e})("__core-js_shared__",{}),es=ts((function(t){(t.exports=function(e,r){return Ki[e]||(Ki[e]=r!==void 0?r:{})})("versions",[]).push({version:"3.19.3",mode:"pure",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})})),m$=kt.Object,xp=function(t){return m$(z3(t))},b$=pe({}.hasOwnProperty),Vt=Object.hasOwn||function(t,e){return b$(xp(t),e)},w$=0,E$=Math.random(),D$=pe(1 .toString),hv=function(t){return"Symbol("+(t===void 0?"":t)+")_"+D$(++w$+E$,36)},xc=es("wks"),gu=kt.Symbol,lx=gu&&gu.for,C$=$3?gu:gu&&gu.withoutSetter||hv,Or=function(t){if(!Vt(xc,t)||!so&&typeof xc[t]!="string"){var e="Symbol."+t;so&&Vt(gu,t)?xc[t]=gu[t]:xc[t]=$3&&lx?lx(e):C$(e)}return xc[t]},x$=kt.TypeError,S$=Or("toPrimitive"),A$=function(t,e){if(!wn(t)||ll(t))return t;var r,n=pv(t,S$);if(n){if(r=Qr(n,t,e),!wn(r)||ll(r))return r;throw x$("Can't convert object to primitive value")}return(function(o,i){var a,u;if(dr(a=o.toString)&&!wn(u=Qr(a,o))||dr(a=o.valueOf)&&!wn(u=Qr(a,o)))return u;throw v$("Can't convert object to primitive value")})(t)},Ql=function(t){var e=A$(t,"string");return ll(e)?e:e+""},i4=kt.document,O$=wn(i4)&&wn(i4.createElement),QT=function(t){return O$?i4.createElement(t):{}},tP=!zr&&!Ur((function(){return Object.defineProperty(QT("div"),"a",{get:function(){return 7}}).a!=7})),cx=Object.getOwnPropertyDescriptor,k$=zr?cx:function(t,e){if(t=To(t),e=Ql(e),tP)try{return cx(t,e)}catch{}if(Vt(t,e))return Un(!Qr(M3.f,t,e),t[e])},Cy={f:k$},B$=/#|\.prototype\./,Sp=function(t,e){var r=_$[F$(t)];return r==P$||r!=T$&&(dr(e)?Ur(e):!!e)},F$=Sp.normalize=function(t){return String(t).replace(B$,".").toLowerCase()},_$=Sp.data={},T$=Sp.NATIVE="N",P$=Sp.POLYFILL="P",j$=Sp,fx=pe(pe.bind),V3=function(t,e){return H3(t),e===void 0?t:fx?fx(t,e):function(){return t.apply(e,arguments)}},N$=kt.String,I$=kt.TypeError,rn=function(t){if(wn(t))return t;throw I$(N$(t)+" is not an object")},L$=kt.TypeError,dx=Object.defineProperty,R$=zr?dx:function(t,e,r){if(rn(t),e=Ql(e),rn(r),tP)try{return dx(t,e,r)}catch{}if("get"in r||"set"in r)throw L$("Accessors not supported");return"value"in r&&(t[e]=r.value),t},Oa={f:R$},Fr=zr?function(t,e,r){return Oa.f(t,e,Un(1,r))}:function(t,e,r){return t[e]=r,t},M$=Cy.f,z$=function(t){var e=function(r,n,o){if(this instanceof e){switch(arguments.length){case 0:return new t;case 1:return new t(r);case 2:return new t(r,n)}return new t(r,n,o)}return XT(t,this,arguments)};return e.prototype=t.prototype,e},Go=function(t,e){var r,n,o,i,a,u,s,l,c=t.target,f=t.global,d=t.stat,p=t.proto,v=f?kt:d?kt[c]:(kt[c]||{}).prototype,y=f?Zr:Zr[c]||Fr(Zr,c,{})[c],g=y.prototype;for(o in e)r=!j$(f?o:c+(d?".":"#")+o,t.forced)&&v&&Vt(v,o),a=y[o],r&&(u=t.noTargetGet?(l=M$(v,o))&&l.value:v[o]),i=r&&u?u:e[o],r&&typeof a==typeof i||(s=t.bind&&r?V3(i,kt):t.wrap&&r?z$(i):p&&dr(i)?pe(i):i,(t.sham||i&&i.sham||a&&a.sham)&&Fr(s,"sham",!0),Fr(y,o,s),p&&(Vt(Zr,n=c+"Prototype")||Fr(Zr,n,{}),Fr(Zr[n],o,i),t.real&&g&&!g[o]&&Fr(g,o,i)))},px=es("keys"),xy=function(t){return px[t]||(px[t]=hv(t))},$$=!Ur((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),hx=xy("IE_PROTO"),a4=kt.Object,H$=a4.prototype,gv=$$?a4.getPrototypeOf:function(t){var e=xp(t);if(Vt(e,hx))return e[hx];var r=e.constructor;return dr(r)&&e instanceof r?r.prototype:e instanceof a4?H$:null},V$=kt.String,U$=kt.TypeError,vv=Object.setPrototypeOf||("__proto__"in{}?(function(){var t,e=!1,r={};try{(t=pe(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(r,[]),e=r instanceof Array}catch{}return function(n,o){return rn(n),(function(i){if(typeof i=="object"||dr(i))return i;throw U$("Can't set "+V$(i)+" as a prototype")})(o),e?t(n,o):n.__proto__=o,n}})():void 0),W$=Math.ceil,G$=Math.floor,U3=function(t){var e=+t;return e!=e||e===0?0:(e>0?G$:W$)(e)},q$=Math.max,K$=Math.min,u4=function(t,e){var r=U3(t);return r<0?q$(r+e,0):K$(r,e)},Y$=Math.min,Ap=function(t){return(e=t.length)>0?Y$(U3(e),9007199254740991):0;var e},X$=function(t){return function(e,r,n){var o,i=To(e),a=Ap(i),u=u4(n,a);if(t&&r!=r){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===r)return t||u||0;return!t&&-1}},Z$={indexOf:X$(!1)},Op={},J$=Z$.indexOf,gx=pe([].push),eP=function(t,e){var r,n=To(t),o=0,i=[];for(r in n)!Vt(Op,r)&&Vt(n,r)&&gx(i,r);for(;e.length>o;)Vt(n,r=e[o++])&&(~J$(i,r)||gx(i,r));return i},yv=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Q$=yv.concat("length","prototype"),tH=Object.getOwnPropertyNames||function(t){return eP(t,Q$)},W3={f:tH},Tg={f:Object.getOwnPropertySymbols},eH=pe([].concat),rH=Jl("Reflect","ownKeys")||function(t){var e=W3.f(rn(t)),r=Tg.f;return r?eH(e,r(t)):e},G3=Object.keys||function(t){return eP(t,yv)},nH=zr?Object.defineProperties:function(t,e){rn(t);for(var r,n=To(e),o=G3(e),i=o.length,a=0;i>a;)Oa.f(t,r=o[a++],n[r]);return t},oH=Jl("document","documentElement"),rP=xy("IE_PROTO"),Im=function(){},nP=function(t){return"
+