From 74679328e97ccffa6283186f6ea274f1428046df Mon Sep 17 00:00:00 2001
From: iuu <2167162990@qq.com>
Date: Fri, 16 Jan 2026 04:34:39 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E6=95=B0=E6=8D=AE=E7=9C=8B?=
=?UTF-8?q?=E6=9D=BF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
api/request.ts | 1 -
pages.json | 174 +----
pages/data/index.vue | 95 +++
pages/data/list.vue | 8 +
pages/mine/index.vue | 2 +-
pages/todo/todoList.vue | 9 +-
.../.sourcemap/mp-weixin/api/request.js.map | 2 +-
.../dist/dev/.sourcemap/mp-weixin/app.js.map | 2 +-
.../.sourcemap/mp-weixin/common/vendor.js.map | 2 +-
.../mp-weixin/pages/data/index.js.map | 1 +
.../mp-weixin/pages/data/list.js.map | 1 +
.../mp-weixin/pages/mine/index.js.map | 2 +-
.../mp-weixin/pages/todo/todoList.js.map | 2 +-
.../components/_constants/event.js.map | 2 +-
.../nutui-uni/components/_utils/date.js.map | 2 +-
.../nutui-uni/components/_utils/raf.js.map | 2 +-
.../components/calendar/calendar.js.map | 1 +
.../calendaritem/calendaritem.js.map | 1 +
.../nutui-uni/components/tabs/tabs.js.map | 2 +-
unpackage/dist/dev/mp-weixin/api/config.js | 10 -
unpackage/dist/dev/mp-weixin/api/goods.js | 10 -
.../dist/dev/mp-weixin/api/house_goods.js | 17 -
.../dist/dev/mp-weixin/api/house_order.js | 49 --
.../dist/dev/mp-weixin/api/house_request.js | 51 --
unpackage/dist/dev/mp-weixin/api/order.js | 10 -
unpackage/dist/dev/mp-weixin/api/user.js | 3 -
unpackage/dist/dev/mp-weixin/app.js | 2 +
unpackage/dist/dev/mp-weixin/app.json | 4 +-
unpackage/dist/dev/mp-weixin/common/vendor.js | 38 +
.../dist/dev/mp-weixin/pages/data/index.js | 66 ++
.../dist/dev/mp-weixin/pages/data/index.json | 7 +
.../dist/dev/mp-weixin/pages/data/index.wxml | 1 +
.../steps.wxss => pages/data/index.wxss} | 9 +-
.../dist/dev/mp-weixin/pages/data/list.js | 9 +
.../dist/dev/mp-weixin/pages/data/list.json | 5 +
.../dist/dev/mp-weixin/pages/data/list.wxml | 0
.../dist/dev/mp-weixin/pages/mall/detail.js | 136 ----
.../dist/dev/mp-weixin/pages/mall/detail.json | 9 -
.../dist/dev/mp-weixin/pages/mall/detail.wxml | 1 -
.../dist/dev/mp-weixin/pages/mall/detail.wxss | 211 ------
.../dev/mp-weixin/pages/mall/houseDetail.js | 303 --------
.../dev/mp-weixin/pages/mall/houseDetail.json | 11 -
.../dev/mp-weixin/pages/mall/houseDetail.wxml | 1 -
.../dev/mp-weixin/pages/mall/houseDetail.wxss | 211 ------
.../dist/dev/mp-weixin/pages/mine/index.js | 2 +-
.../dist/dev/mp-weixin/pages/order/detail.js | 128 ----
.../dev/mp-weixin/pages/order/detail.json | 12 -
.../dev/mp-weixin/pages/order/detail.wxml | 1 -
.../dev/mp-weixin/pages/order/detail.wxss | 77 --
.../dev/mp-weixin/pages/order/housePreview.js | 245 ------
.../mp-weixin/pages/order/housePreview.json | 10 -
.../mp-weixin/pages/order/housePreview.wxml | 1 -
.../mp-weixin/pages/order/housePreview.wxss | 107 ---
.../dist/dev/mp-weixin/pages/order/preview.js | 157 ----
.../dev/mp-weixin/pages/order/preview.json | 10 -
.../dev/mp-weixin/pages/order/preview.wxml | 1 -
.../dev/mp-weixin/pages/order/preview.wxss | 107 ---
.../dev/mp-weixin/pages/todo/todoList.wxss | 7 +-
.../nutui-uni/components/_constants/event.js | 4 +
.../nutui-uni/components/_utils/date.js | 110 +++
.../nutui-uni/components/_utils/raf.js | 4 +-
.../nutui-uni/components/calendar/calendar.js | 453 +++++++++++
.../dialog.json => calendar/calendar.json} | 2 +-
.../components/calendar/calendar.wxml | 1 +
.../components/calendar/calendar.wxss | 170 +++++
.../components/calendaritem/calendaritem.js | 708 ++++++++++++++++++
.../calendaritem.json} | 0
.../components/calendaritem/calendaritem.wxml | 1 +
.../components/calendaritem/calendaritem.wxss | 253 +++++++
.../nutui-uni/components/collapse/collapse.js | 92 ---
.../components/collapse/collapse.wxml | 1 -
.../components/collapse/collapse.wxss | 50 --
.../components/collapseitem/collapseitem.js | 178 -----
.../components/collapseitem/collapseitem.json | 6 -
.../components/collapseitem/collapseitem.wxml | 1 -
.../components/collapseitem/collapseitem.wxss | 181 -----
.../nutui-uni/components/dialog/dialog.js | 189 -----
.../nutui-uni/components/dialog/dialog.wxml | 1 -
.../nutui-uni/components/dialog/dialog.wxss | 468 ------------
.../nutui-uni/components/dialog/use-dialog.js | 106 ---
.../nutui-uni/components/price/price.js | 131 ----
.../nutui-uni/components/price/price.json | 4 -
.../nutui-uni/components/price/price.wxml | 1 -
.../nutui-uni/components/price/price.wxss | 102 ---
.../nutui-uni/components/radio/index.js | 34 -
.../nutui-uni/components/radio/radio.js | 108 ---
.../nutui-uni/components/radio/radio.json | 6 -
.../nutui-uni/components/radio/radio.wxml | 1 -
.../nutui-uni/components/radio/radio.wxss | 159 ----
.../components/radiogroup/radiogroup.js | 73 --
.../components/radiogroup/radiogroup.json | 4 -
.../components/radiogroup/radiogroup.wxml | 1 -
.../components/radiogroup/radiogroup.wxss | 63 --
.../components/searchbar/searchbar.js | 251 -------
.../components/searchbar/searchbar.json | 6 -
.../components/searchbar/searchbar.wxml | 1 -
.../components/searchbar/searchbar.wxss | 165 ----
.../nutui-uni/components/step/step.js | 86 ---
.../nutui-uni/components/step/step.json | 4 -
.../nutui-uni/components/step/step.wxml | 1 -
.../nutui-uni/components/step/step.wxss | 253 -------
.../nutui-uni/components/steps/steps.js | 72 --
.../nutui-uni/components/steps/steps.json | 4 -
.../nutui-uni/components/steps/steps.wxml | 1 -
.../nutui-uni/components/tabs/tabs.js | 4 +-
.../components/watermark/watermark.js | 229 ------
.../components/watermark/watermark.json | 4 -
.../components/watermark/watermark.wxml | 1 -
.../components/watermark/watermark.wxss | 63 --
.../shmily-drag-image/shmily-drag-image.js | 462 ------------
.../shmily-drag-image/shmily-drag-image.json | 4 -
.../shmily-drag-image/shmily-drag-image.wxml | 1 -
.../shmily-drag-image/shmily-drag-image.wxss | 100 ---
113 files changed, 1984 insertions(+), 5744 deletions(-)
create mode 100644 pages/data/index.vue
create mode 100644 pages/data/list.vue
create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/data/index.js.map
create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/data/list.js.map
create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.js.map
create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.js.map
delete mode 100644 unpackage/dist/dev/mp-weixin/api/config.js
delete mode 100644 unpackage/dist/dev/mp-weixin/api/goods.js
delete mode 100644 unpackage/dist/dev/mp-weixin/api/house_goods.js
delete mode 100644 unpackage/dist/dev/mp-weixin/api/house_order.js
delete mode 100644 unpackage/dist/dev/mp-weixin/api/house_request.js
delete mode 100644 unpackage/dist/dev/mp-weixin/api/order.js
delete mode 100644 unpackage/dist/dev/mp-weixin/api/user.js
create mode 100644 unpackage/dist/dev/mp-weixin/pages/data/index.js
create mode 100644 unpackage/dist/dev/mp-weixin/pages/data/index.json
create mode 100644 unpackage/dist/dev/mp-weixin/pages/data/index.wxml
rename unpackage/dist/dev/mp-weixin/{uni_modules/nutui-uni/components/steps/steps.wxss => pages/data/index.wxss} (95%)
create mode 100644 unpackage/dist/dev/mp-weixin/pages/data/list.js
create mode 100644 unpackage/dist/dev/mp-weixin/pages/data/list.json
create mode 100644 unpackage/dist/dev/mp-weixin/pages/data/list.wxml
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/mall/detail.js
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/mall/detail.json
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/mall/detail.wxml
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/mall/detail.wxss
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/mall/houseDetail.js
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/mall/houseDetail.json
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/mall/houseDetail.wxml
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/mall/houseDetail.wxss
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/order/detail.js
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/order/detail.json
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/order/detail.wxml
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/order/detail.wxss
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/order/housePreview.js
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/order/housePreview.json
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/order/housePreview.wxml
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/order/housePreview.wxss
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/order/preview.js
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/order/preview.json
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/order/preview.wxml
delete mode 100644 unpackage/dist/dev/mp-weixin/pages/order/preview.wxss
create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.js
rename unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/{dialog/dialog.json => calendar/calendar.json} (59%)
create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.wxml
create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.wxss
create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.js
rename unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/{collapse/collapse.json => calendaritem/calendaritem.json} (100%)
create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.wxml
create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.wxss
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapse/collapse.js
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapse/collapse.wxml
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapse/collapse.wxss
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapseitem/collapseitem.js
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapseitem/collapseitem.json
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapseitem/collapseitem.wxml
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapseitem/collapseitem.wxss
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/dialog.js
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/dialog.wxml
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/dialog.wxss
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/use-dialog.js
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/price/price.js
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/price/price.json
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/price/price.wxml
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/price/price.wxss
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/index.js
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/radio.js
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/radio.json
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/radio.wxml
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/radio.wxss
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radiogroup/radiogroup.js
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radiogroup/radiogroup.json
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radiogroup/radiogroup.wxml
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radiogroup/radiogroup.wxss
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/searchbar/searchbar.js
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/searchbar/searchbar.json
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/searchbar/searchbar.wxml
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/searchbar/searchbar.wxss
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/step/step.js
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/step/step.json
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/step/step.wxml
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/step/step.wxss
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/steps/steps.js
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/steps/steps.json
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/steps/steps.wxml
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/watermark/watermark.js
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/watermark/watermark.json
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/watermark/watermark.wxml
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/watermark/watermark.wxss
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.js
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.json
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.wxml
delete mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.wxss
diff --git a/api/request.ts b/api/request.ts
index 62c1e9d..a83a554 100644
--- a/api/request.ts
+++ b/api/request.ts
@@ -46,7 +46,6 @@
// })
// }
-import { ref } from 'vue';
import config from '@/config';
import { goToLoginPage } from '@/utils/helper';
diff --git a/pages.json b/pages.json
index 0d87027..1a61b02 100644
--- a/pages.json
+++ b/pages.json
@@ -95,163 +95,23 @@
"navigationBarTitleText": "订单管理",
"enablePullDownRefresh": false
}
- },
- // {
- // "path": "pages/order/detail",
- // "style": {
- // "navigationBarTitleText": "订单详情",
- // "enablePullDownRefresh": false
- // }
- // }
- // {
- // "path": "pages/mall/detail",
- // "style": {
- // "navigationBarTitleText": "店铺商品详情"
- // }
- // },
- // {
- // "path": "pages/mall/houseDetail",
- // "style": {
- // "navigationBarTitleText": "仓库商品详情"
- // }
- // },
- // {
- // "path": "pages/mall/index/index",
- // "style": {
- // "navigationBarTitleText": "精选二手机"
- // }
- // },
- // {
- // "path": "pages/mall/parts/item/index",
- // "style": {
- // "navigationBarTitleText": "配件详情"
- // }
- // },
- // {
- // "path": "pages/mall/parts/index/index",
- // "style": {
- // "navigationBarTitleText": "精选配件"
- // }
- // },
- // {
- // "path": "pages/order/preview",
- // "style": {
- // "navigationBarTitleText": "提交订单"
- // }
- // },
- // {
- // "path": "pages/order/housePreview",
- // "style": {
- // "navigationBarTitleText": "提交订单"
- // }
- // },
-
-
- // {
- // "path": "pages/order/preview",
- // "style": {
- // "navigationBarTitleText": "提交订单"
- // }
- // },
-
-
-
- // {
- // "path": "pages/webview/index",
- // "style": {
- // "navigationStyle": "custom"
- // }
- // },
-
- // {
- // "path": "pages/login/phoneAuthorization",
- // "style": {
- // "navigationBarTitleText": "授权手机号"
- // }
- // },
- // {
- // "path": "pages/control/goods/index",
- // "style": {
- // "navigationBarTitleText": "商品管理"
- // }
- // },
- // {
- // "path": "pages/config/store",
- // "style": {
- // "navigationBarTitleText": "商城配置"
- // }
- // },
- // {
- // "path": "pages/config/price",
- // "style": {
- // "navigationBarTitleText": "价格调整",
- // "enablePullDownRefresh": false
- // }
- // },
- // {
- // "path": "pages/config/goodsList",
- // "style": {
- // "navigationBarTitleText": "商品管理",
- // "enablePullDownRefresh": false
- // }
- // },
- // {
- // "path": "pages/config/goodsAdd",
- // "style": {
- // "navigationBarTitleText": "新增商品",
- // "enablePullDownRefresh": false
- // }
- // },
- // {
- // "path": "pages/config/goodsEdit",
- // "style": {
- // "navigationBarTitleText": "编辑商品",
- // "enablePullDownRefresh": false
- // }
- // },
- // {
- // "path": "pages/config/goodsDetail",
- // "style": {
- // "navigationBarTitleText": "店铺商品详情",
- // "enablePullDownRefresh": false
- // }
- // },
- // {
- // "path": "pages/config/shopOrder/index",
- // "style": {
- // "navigationBarTitleText": "店铺订单"
- // }
- // },
- // {
- // "path": "pages/config/shopOrder/detail",
- // "style": {
- // "navigationBarTitleText": "店铺订单-详情"
- // }
- // }
- // {
- // "path": "pages/control/parts/index",
- // "style": {
- // "navigationBarTitleText": "配件管理"
- // }
- // },
- // {
- // "path": "pages/order/parts/list/index",
- // "style": {
- // "navigationBarTitleText": "配件订单中心"
- // }
- // },
- // {
- // "path": "pages/order/parts/detail/index",
- // "style": {
- // "navigationBarTitleText": "配件订单详情"
- // }
- // },
- // {
- // "path": "pages/order/parts/preview/index",
- // "style": {
- // "navigationBarTitleText": "配件订单预览"
- // }
- // }
+ },
+ {
+ "path": "pages/data/index",
+ "style": {
+ "navigationBarTitleText": "运营数据-选择日期",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "pages/data/list",
+ "style": {
+ "navigationBarTitleText": "运营数据-数据看板",
+ "enablePullDownRefresh": false
+ }
+ }
+
+
],
"globalStyle": {
"navigationBarTextStyle": "black",
diff --git a/pages/data/index.vue b/pages/data/index.vue
new file mode 100644
index 0000000..90137c8
--- /dev/null
+++ b/pages/data/index.vue
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/data/list.vue b/pages/data/list.vue
new file mode 100644
index 0000000..02409e3
--- /dev/null
+++ b/pages/data/list.vue
@@ -0,0 +1,8 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/mine/index.vue b/pages/mine/index.vue
index a389328..57d247d 100644
--- a/pages/mine/index.vue
+++ b/pages/mine/index.vue
@@ -16,7 +16,7 @@
-
+
diff --git a/pages/todo/todoList.vue b/pages/todo/todoList.vue
index cd410a9..7c506b0 100644
--- a/pages/todo/todoList.vue
+++ b/pages/todo/todoList.vue
@@ -251,11 +251,14 @@
color: #666;
width: 100%;
box-sizing: border-box;
- .room-id {
- font-size: 28rpx;
- }
+
.remark {
font-size: 26rpx;
+ }
+
+ .room-id {
+ font-size: 26rpx;
+ padding-top: 40rpx;
}
}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/api/request.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/api/request.js.map
index 4f10a72..81b3aa3 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/api/request.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/api/request.js.map
@@ -1 +1 @@
-{"version":3,"file":"request.js","sources":["api/request.ts"],"sourcesContent":["// import { ref } from \"vue\";\n// import config from \"../config\";\n// import { goToLoginPage } from \"../utils/helper\";\n// interface Options {\n// \turl : string,\n// \tmethod ?: 'GET' | 'POST',\n// \tdata ?: any,\n// \tparams ?: any,\n// \tdataType ?: string,\n// \tresponseType ?: string\n// }\n// interface Response {\n// \tcode : number;\n// \tmsg ?: string;\n// \tdata : any;\n// }\n// export const getUploadImageUrl = () => {\n// \treturn config.api_base_url + '/upload/image' + '&wxapp_id=' + config.wxapp_id + '&token=' + uni.getStorageSync('token');\n// }\n// export const request = (options : Options) => {\n// \treturn new Promise((resolve, reject) => {\n// \t\tuni.request({\n// \t\t\turl: config.api_base_url + options.url + '&wxapp_id=' + config.wxapp_id + '&token=' + uni.getStorageSync('token'),\n// \t\t\tmethod: options.method || 'GET',\n// \t\t\tdata: options.data || options.params || {},\n// \t\t\tdataType: options.dataType || \"json\",\n// \t\t\tresponseType: options.responseType || \"text\",\n// \t\t\tsuccess(res) {\n// \t\t\t\tconst ret : Response = res.data\n// \t\t\t\tif (ret.code === -1) {\n// \t\t\t\t\tgoToLoginPage()\n// \t\t\t\t} else if (ret.code === 1) {\n// \t\t\t\t\tresolve(ret.data)\n// \t\t\t\t} else if (ret.code === 0) {\n// \t\t\t\t\tuni.showToast({\n// \t\t\t\t\t\ttitle:ret.msg,\n// \t\t\t\t\t\ticon:'none'\n// \t\t\t\t\t})\n// \t\t\t\t}\n// \t\t\t},\n// \t\t\tfail(err) {\n// \t\t\t\treject(err)\n// \t\t\t},\n\n// \t\t})\n// \t})\n// }\n\nimport { ref } from 'vue';\nimport config from '@/config';\nimport { goToLoginPage } from '@/utils/helper';\n\n// 定义请求参数接口\ninterface Options {\n\turl : string; // 请求路径(不包含基础URL)\n\tmethod ?: 'GET' | 'POST'; // 请求方法,默认为GET\n\tdata ?: any; // POST请求体数据\n\tparams ?: any; // GET请求参数(与data二选一)\n\tdataType ?: string; // 返回数据格式,默认json\n\tresponseType ?: string; // 响应数据类型,默认text\n}\n\n// 定义响应数据结构接口\ninterface Response {\n\tcode : number;\n\tmsg ?: string;\n\tdata : any;\n}\n\n// /**\n// * 获取图片上传的完整URL\n// * @returns {string} 完整的图片上传URL,包含基础URL、wxapp_id和token参数\n// */\n// export const getUploadImageUrl = () => {\n// \treturn config.api_base_url + '/upload/image' + '&wxapp_id=' + config.wxapp_id + '&token=' + uni.getStorageSync('token');\n// };\n\n/**\n * 封装uni.request的通用请求方法\n * @param {Options} options 请求配置项\n * @returns {Promise} 返回Promise对象\n *\n * 功能说明:\n * 1. 自动拼接基础URL和认证参数\n * 2. 统一处理登录状态(code=-1跳转登录页)\n * 3. 统一处理错误提示(code=0显示Toast)\n * 4. 成功时返回data字段(code=1)\n */\nexport const request = (options : Options) => {\n\treturn new Promise((resolve, reject) => {\n\t\tuni.request({\n\t\t\t// 拼接完整请求URL(基础URL + 路径 + 固定参数)\n\t\t\turl: config.api_base_url + options.url + '&wxapp_id=' + config.wxapp_id + '&token=' + uni.getStorageSync('token'),\n\n\t\t\tmethod: options.method || 'GET', // 默认GET方法\n\t\t\tdata: options.data || options.params || {}, // 兼容data/params传参\n\t\t\tdataType: options.dataType || 'json', // 默认json格式\n\t\t\tresponseType: options.responseType || 'text', // 默认text类型\n\n\t\t\t// 请求成功回调\n\t\t\tsuccess(res) {\n\t\t\t\tconst ret : Response = res.data;\n\t\t\t\t// console.log(ret);\n\n\t\t\t\t// 状态码处理\n\t\t\t\tswitch (ret.code) {\n\t\t\t\t\tcase -1: // 未登录状态\n\t\t\t\t\t\tgoToLoginPage();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 1: // 成功状态\n\t\t\t\t\t\t// console.log(options.url);\n\t\t\t\t\t\t// if (options.url === '/parts.order/preview') {\n\t\t\t\t\t\t// \tconsole.log('ressss', ret);\n\t\t\t\t\t\t// \tresolve(ret);\n\t\t\t\t\t\t// \tbreak;\n\t\t\t\t\t\t// }\n\t\t\t\t\t\tresolve(ret.data); // 返回data字段\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 0: // 失败状态\n\t\t\t\t\t\t// console.log(options.url);\n\t\t\t\t\t\t// if (options.url === '/parts.order/preview') {\n\t\t\t\t\t\t// \tconsole.log('ressss', ret);\n\t\t\t\t\t\t// \tresolve(ret);\n\t\t\t\t\t\t// \tbreak;\n\t\t\t\t\t\t// }\n\t\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\t\ttitle: ret.msg || '操作失败', // 显示错误信息\n\t\t\t\t\t\t\ticon: 'none', // 不显示图标\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// 请求失败回调\n\t\t\tfail(err) {\n\t\t\t\tuni.$emit('z-paging-error-emit');\n\t\t\t\treject(err); // 返回错误对象\n\t\t\t\tuni.showToast({\n\t\t\t\t\ttitle: '网络请求失败',\n\t\t\t\t\ticon: 'none',\n\t\t\t\t});\n\t\t\t},\n\t\t});\n\t});\n};"],"names":["uni","config","goToLoginPage"],"mappings":";;;;AAwFa,MAAA,UAAU,CAAC,YAAsB;AAC7C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACvCA,kBAAAA,MAAI,QAAQ;AAAA;AAAA,MAEX,KAAKC,OAAO,OAAA,eAAe,QAAQ,MAAM,eAAeA,OAAA,OAAO,WAAW,YAAYD,oBAAI,eAAe,OAAO;AAAA,MAEhH,QAAQ,QAAQ,UAAU;AAAA;AAAA,MAC1B,MAAM,QAAQ,QAAQ,QAAQ,UAAU,CAAC;AAAA;AAAA,MACzC,UAAU,QAAQ,YAAY;AAAA;AAAA,MAC9B,cAAc,QAAQ,gBAAgB;AAAA;AAAA;AAAA,MAGtC,QAAQ,KAAK;AACZ,cAAM,MAAiB,IAAI;AAI3B,gBAAQ,IAAI,MAAM;AAAA,UACjB,KAAK;AACUE,yBAAAA;AACd;AAAA,UACD,KAAK;AAOJ,oBAAQ,IAAI,IAAI;AAChB;AAAA,UACD,KAAK;AAOJF,0BAAAA,MAAI,UAAU;AAAA,cACb,OAAO,IAAI,OAAO;AAAA;AAAA,cAClB,MAAM;AAAA;AAAA,YAAA,CACN;AACD;AAAA,QACF;AAAA,MACD;AAAA;AAAA,MAGA,KAAK,KAAK;AACTA,4BAAI,MAAM,qBAAqB;AAC/B,eAAO,GAAG;AACVA,sBAAAA,MAAI,UAAU;AAAA,UACb,OAAO;AAAA,UACP,MAAM;AAAA,QAAA,CACN;AAAA,MACF;AAAA,IAAA,CACA;AAAA,EAAA,CACD;AACF;;"}
\ No newline at end of file
+{"version":3,"file":"request.js","sources":["api/request.ts"],"sourcesContent":["// import { ref } from \"vue\";\n// import config from \"../config\";\n// import { goToLoginPage } from \"../utils/helper\";\n// interface Options {\n// \turl : string,\n// \tmethod ?: 'GET' | 'POST',\n// \tdata ?: any,\n// \tparams ?: any,\n// \tdataType ?: string,\n// \tresponseType ?: string\n// }\n// interface Response {\n// \tcode : number;\n// \tmsg ?: string;\n// \tdata : any;\n// }\n// export const getUploadImageUrl = () => {\n// \treturn config.api_base_url + '/upload/image' + '&wxapp_id=' + config.wxapp_id + '&token=' + uni.getStorageSync('token');\n// }\n// export const request = (options : Options) => {\n// \treturn new Promise((resolve, reject) => {\n// \t\tuni.request({\n// \t\t\turl: config.api_base_url + options.url + '&wxapp_id=' + config.wxapp_id + '&token=' + uni.getStorageSync('token'),\n// \t\t\tmethod: options.method || 'GET',\n// \t\t\tdata: options.data || options.params || {},\n// \t\t\tdataType: options.dataType || \"json\",\n// \t\t\tresponseType: options.responseType || \"text\",\n// \t\t\tsuccess(res) {\n// \t\t\t\tconst ret : Response = res.data\n// \t\t\t\tif (ret.code === -1) {\n// \t\t\t\t\tgoToLoginPage()\n// \t\t\t\t} else if (ret.code === 1) {\n// \t\t\t\t\tresolve(ret.data)\n// \t\t\t\t} else if (ret.code === 0) {\n// \t\t\t\t\tuni.showToast({\n// \t\t\t\t\t\ttitle:ret.msg,\n// \t\t\t\t\t\ticon:'none'\n// \t\t\t\t\t})\n// \t\t\t\t}\n// \t\t\t},\n// \t\t\tfail(err) {\n// \t\t\t\treject(err)\n// \t\t\t},\n\n// \t\t})\n// \t})\n// }\n\nimport config from '@/config';\nimport { goToLoginPage } from '@/utils/helper';\n\n// 定义请求参数接口\ninterface Options {\n\turl : string; // 请求路径(不包含基础URL)\n\tmethod ?: 'GET' | 'POST'; // 请求方法,默认为GET\n\tdata ?: any; // POST请求体数据\n\tparams ?: any; // GET请求参数(与data二选一)\n\tdataType ?: string; // 返回数据格式,默认json\n\tresponseType ?: string; // 响应数据类型,默认text\n}\n\n// 定义响应数据结构接口\ninterface Response {\n\tcode : number;\n\tmsg ?: string;\n\tdata : any;\n}\n\n// /**\n// * 获取图片上传的完整URL\n// * @returns {string} 完整的图片上传URL,包含基础URL、wxapp_id和token参数\n// */\n// export const getUploadImageUrl = () => {\n// \treturn config.api_base_url + '/upload/image' + '&wxapp_id=' + config.wxapp_id + '&token=' + uni.getStorageSync('token');\n// };\n\n/**\n * 封装uni.request的通用请求方法\n * @param {Options} options 请求配置项\n * @returns {Promise} 返回Promise对象\n *\n * 功能说明:\n * 1. 自动拼接基础URL和认证参数\n * 2. 统一处理登录状态(code=-1跳转登录页)\n * 3. 统一处理错误提示(code=0显示Toast)\n * 4. 成功时返回data字段(code=1)\n */\nexport const request = (options : Options) => {\n\treturn new Promise((resolve, reject) => {\n\t\tuni.request({\n\t\t\t// 拼接完整请求URL(基础URL + 路径 + 固定参数)\n\t\t\turl: config.api_base_url + options.url + '&wxapp_id=' + config.wxapp_id + '&token=' + uni.getStorageSync('token'),\n\n\t\t\tmethod: options.method || 'GET', // 默认GET方法\n\t\t\tdata: options.data || options.params || {}, // 兼容data/params传参\n\t\t\tdataType: options.dataType || 'json', // 默认json格式\n\t\t\tresponseType: options.responseType || 'text', // 默认text类型\n\n\t\t\t// 请求成功回调\n\t\t\tsuccess(res) {\n\t\t\t\tconst ret : Response = res.data;\n\t\t\t\t// console.log(ret);\n\n\t\t\t\t// 状态码处理\n\t\t\t\tswitch (ret.code) {\n\t\t\t\t\tcase -1: // 未登录状态\n\t\t\t\t\t\tgoToLoginPage();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 1: // 成功状态\n\t\t\t\t\t\t// console.log(options.url);\n\t\t\t\t\t\t// if (options.url === '/parts.order/preview') {\n\t\t\t\t\t\t// \tconsole.log('ressss', ret);\n\t\t\t\t\t\t// \tresolve(ret);\n\t\t\t\t\t\t// \tbreak;\n\t\t\t\t\t\t// }\n\t\t\t\t\t\tresolve(ret.data); // 返回data字段\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 0: // 失败状态\n\t\t\t\t\t\t// console.log(options.url);\n\t\t\t\t\t\t// if (options.url === '/parts.order/preview') {\n\t\t\t\t\t\t// \tconsole.log('ressss', ret);\n\t\t\t\t\t\t// \tresolve(ret);\n\t\t\t\t\t\t// \tbreak;\n\t\t\t\t\t\t// }\n\t\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\t\ttitle: ret.msg || '操作失败', // 显示错误信息\n\t\t\t\t\t\t\ticon: 'none', // 不显示图标\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// 请求失败回调\n\t\t\tfail(err) {\n\t\t\t\tuni.$emit('z-paging-error-emit');\n\t\t\t\treject(err); // 返回错误对象\n\t\t\t\tuni.showToast({\n\t\t\t\t\ttitle: '网络请求失败',\n\t\t\t\t\ticon: 'none',\n\t\t\t\t});\n\t\t\t},\n\t\t});\n\t});\n};"],"names":["uni","config","goToLoginPage"],"mappings":";;;;AAuFa,MAAA,UAAU,CAAC,YAAsB;AAC7C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACvCA,kBAAAA,MAAI,QAAQ;AAAA;AAAA,MAEX,KAAKC,OAAO,OAAA,eAAe,QAAQ,MAAM,eAAeA,OAAA,OAAO,WAAW,YAAYD,oBAAI,eAAe,OAAO;AAAA,MAEhH,QAAQ,QAAQ,UAAU;AAAA;AAAA,MAC1B,MAAM,QAAQ,QAAQ,QAAQ,UAAU,CAAC;AAAA;AAAA,MACzC,UAAU,QAAQ,YAAY;AAAA;AAAA,MAC9B,cAAc,QAAQ,gBAAgB;AAAA;AAAA;AAAA,MAGtC,QAAQ,KAAK;AACZ,cAAM,MAAiB,IAAI;AAI3B,gBAAQ,IAAI,MAAM;AAAA,UACjB,KAAK;AACUE,yBAAAA;AACd;AAAA,UACD,KAAK;AAOJ,oBAAQ,IAAI,IAAI;AAChB;AAAA,UACD,KAAK;AAOJF,0BAAAA,MAAI,UAAU;AAAA,cACb,OAAO,IAAI,OAAO;AAAA;AAAA,cAClB,MAAM;AAAA;AAAA,YAAA,CACN;AACD;AAAA,QACF;AAAA,MACD;AAAA;AAAA,MAGA,KAAK,KAAK;AACTA,4BAAI,MAAM,qBAAqB;AAC/B,eAAO,GAAG;AACVA,sBAAAA,MAAI,UAAU;AAAA,UACb,OAAO;AAAA,UACP,MAAM;AAAA,QAAA,CACN;AAAA,MACF;AAAA,IAAA,CACA;AAAA,EAAA,CACD;AACF;;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map
index 36749d5..0cf276c 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map
@@ -1 +1 @@
-{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["\r\n\r\n","import App from './App'\n\n// #ifndef VUE3\nimport Vue from 'vue'\nimport './uni.promisify.adaptor'\nVue.config.productionTip = false\nApp.mpType = 'app'\nconst app = new Vue({\n ...App\n})\napp.$mount()\n// #endif\n\n// #ifdef VUE3\nimport { createSSRApp } from 'vue'\nexport function createApp() {\n const app = createSSRApp(App)\n return {\n app\n }\n}\n// #endif"],"names":["uni","createSSRApp","App"],"mappings":";;;;;;;;;;;;;;AAEC,MAAK,YAAU;AAAA,EACd,UAAU,WAAW;AAOpBA,kBAAAA,MAAA,MAAA,OAAA,iBAAY,YAAY;AAAA,EACxB;AAAA,EACD,QAAQ,WAAW;AAElBA,kBAAAA,MAAY,MAAA,OAAA,iBAAA,UAAU;AAAA,EACtB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,iBAAA,UAAU;AAAA,EACvB;AACD;ACJM,SAAS,YAAY;AAC1B,QAAM,MAAMC,cAAY,aAACC,SAAG;AAC5B,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"}
\ No newline at end of file
+{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["\r\n\r\n","import App from './App'\n\n// #ifndef VUE3\nimport Vue from 'vue'\nimport './uni.promisify.adaptor'\nVue.config.productionTip = false\nApp.mpType = 'app'\nconst app = new Vue({\n ...App\n})\napp.$mount()\n// #endif\n\n// #ifdef VUE3\nimport { createSSRApp } from 'vue'\nexport function createApp() {\n const app = createSSRApp(App)\n return {\n app\n }\n}\n// #endif"],"names":["uni","createSSRApp","App"],"mappings":";;;;;;;;;;;;;;;;AAEC,MAAK,YAAU;AAAA,EACd,UAAU,WAAW;AAOpBA,kBAAAA,MAAA,MAAA,OAAA,iBAAY,YAAY;AAAA,EACxB;AAAA,EACD,QAAQ,WAAW;AAElBA,kBAAAA,MAAY,MAAA,OAAA,iBAAA,UAAU;AAAA,EACtB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,iBAAA,UAAU;AAAA,EACvB;AACD;ACJM,SAAS,YAAY;AAC1B,QAAM,MAAMC,cAAY,aAACC,SAAG;AAC5B,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
index 05af333..866cc46 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
@@ -1 +1 @@
-{"version":3,"file":"vendor.js","sources":["node_modules/@vue/shared/dist/shared.esm-bundler.js","node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js","node_modules/@dcloudio/uni-shared/dist/uni-shared.es.js","node_modules/@dcloudio/uni-mp-vue/dist/vue.runtime.esm.js","node_modules/@dcloudio/uni-mp-weixin/dist/uni.api.esm.js","node_modules/@dcloudio/uni-console/dist/mp.esm.js","node_modules/@dcloudio/uni-mp-weixin/dist/uni.mp.esm.js","node_modules/@dcloudio/uni-app/dist/uni-app.es.js"],"sourcesContent":["/**\n* @vue/shared v3.4.21\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nfunction makeMap(str, expectsLowerCase) {\n const set = new Set(str.split(\",\"));\n return expectsLowerCase ? (val) => set.has(val.toLowerCase()) : (val) => set.has(val);\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction((str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n});\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](arg);\n }\n};\nconst def = (obj, key, value) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"HOISTED\": -1,\n \"-1\": \"HOISTED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n let ret = \"\";\n if (!styles || isString(styles)) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === \"number\") {\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>| looseEqual(item, val));\n}\n\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (val && val.__v_isRef) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, def, escapeHtml, escapeHtmlComment, extend, genPropsAccessExp, generateCodeFrame, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","const isObject = (val) => val !== null && typeof val === 'object';\nconst defaultDelimiters = ['{', '}'];\nclass BaseFormatter {\n constructor() {\n this._caches = Object.create(null);\n }\n interpolate(message, values, delimiters = defaultDelimiters) {\n if (!values) {\n return [message];\n }\n let tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message, delimiters);\n this._caches[message] = tokens;\n }\n return compile(tokens, values);\n }\n}\nconst RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nconst RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\nfunction parse(format, [startDelimiter, endDelimiter]) {\n const tokens = [];\n let position = 0;\n let text = '';\n while (position < format.length) {\n let char = format[position++];\n if (char === startDelimiter) {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n text = '';\n let sub = '';\n char = format[position++];\n while (char !== undefined && char !== endDelimiter) {\n sub += char;\n char = format[position++];\n }\n const isClosed = char === endDelimiter;\n const type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type });\n }\n // else if (char === '%') {\n // // when found rails i18n syntax, skip text capture\n // if (format[position] !== '{') {\n // text += char\n // }\n // }\n else {\n text += char;\n }\n }\n text && tokens.push({ type: 'text', value: text });\n return tokens;\n}\nfunction compile(tokens, values) {\n const compiled = [];\n let index = 0;\n const mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') {\n return compiled;\n }\n while (index < tokens.length) {\n const token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break;\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break;\n case 'named':\n if (mode === 'named') {\n compiled.push(values[token.value]);\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);\n }\n }\n break;\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Detect 'unknown' type of token!`);\n }\n break;\n }\n index++;\n }\n return compiled;\n}\n\nconst LOCALE_ZH_HANS = 'zh-Hans';\nconst LOCALE_ZH_HANT = 'zh-Hant';\nconst LOCALE_EN = 'en';\nconst LOCALE_FR = 'fr';\nconst LOCALE_ES = 'es';\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst defaultFormatter = new BaseFormatter();\nfunction include(str, parts) {\n return !!parts.find((part) => str.indexOf(part) !== -1);\n}\nfunction startsWith(str, parts) {\n return parts.find((part) => str.indexOf(part) === 0);\n}\nfunction normalizeLocale(locale, messages) {\n if (!locale) {\n return;\n }\n locale = locale.trim().replace(/_/g, '-');\n if (messages && messages[locale]) {\n return locale;\n }\n locale = locale.toLowerCase();\n if (locale === 'chinese') {\n // 支付宝\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('zh') === 0) {\n if (locale.indexOf('-hans') > -1) {\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('-hant') > -1) {\n return LOCALE_ZH_HANT;\n }\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\n return LOCALE_ZH_HANT;\n }\n return LOCALE_ZH_HANS;\n }\n let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];\n if (messages && Object.keys(messages).length > 0) {\n locales = Object.keys(messages);\n }\n const lang = startsWith(locale, locales);\n if (lang) {\n return lang;\n }\n}\nclass I18n {\n constructor({ locale, fallbackLocale, messages, watcher, formater, }) {\n this.locale = LOCALE_EN;\n this.fallbackLocale = LOCALE_EN;\n this.message = {};\n this.messages = {};\n this.watchers = [];\n if (fallbackLocale) {\n this.fallbackLocale = fallbackLocale;\n }\n this.formater = formater || defaultFormatter;\n this.messages = messages || {};\n this.setLocale(locale || LOCALE_EN);\n if (watcher) {\n this.watchLocale(watcher);\n }\n }\n setLocale(locale) {\n const oldLocale = this.locale;\n this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;\n if (!this.messages[this.locale]) {\n // 可能初始化时不存在\n this.messages[this.locale] = {};\n }\n this.message = this.messages[this.locale];\n // 仅发生变化时,通知\n if (oldLocale !== this.locale) {\n this.watchers.forEach((watcher) => {\n watcher(this.locale, oldLocale);\n });\n }\n }\n getLocale() {\n return this.locale;\n }\n watchLocale(fn) {\n const index = this.watchers.push(fn) - 1;\n return () => {\n this.watchers.splice(index, 1);\n };\n }\n add(locale, message, override = true) {\n const curMessages = this.messages[locale];\n if (curMessages) {\n if (override) {\n Object.assign(curMessages, message);\n }\n else {\n Object.keys(message).forEach((key) => {\n if (!hasOwn(curMessages, key)) {\n curMessages[key] = message[key];\n }\n });\n }\n }\n else {\n this.messages[locale] = message;\n }\n }\n f(message, values, delimiters) {\n return this.formater.interpolate(message, values, delimiters).join('');\n }\n t(key, locale, values) {\n let message = this.message;\n if (typeof locale === 'string') {\n locale = normalizeLocale(locale, this.messages);\n locale && (message = this.messages[locale]);\n }\n else {\n values = locale;\n }\n if (!hasOwn(message, key)) {\n console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);\n return key;\n }\n return this.formater.interpolate(message[key], values).join('');\n }\n}\n\nfunction watchAppLocale(appVm, i18n) {\n // 需要保证 watch 的触发在组件渲染之前\n if (appVm.$watchLocale) {\n // vue2\n appVm.$watchLocale((newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n else {\n appVm.$watch(() => appVm.$locale, (newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n}\nfunction getDefaultLocale() {\n if (typeof uni !== 'undefined' && uni.getLocale) {\n return uni.getLocale();\n }\n // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale\n if (typeof global !== 'undefined' && global.getLocale) {\n return global.getLocale();\n }\n return LOCALE_EN;\n}\nfunction initVueI18n(locale, messages = {}, fallbackLocale, watcher) {\n // 兼容旧版本入参\n if (typeof locale !== 'string') {\n // ;[locale, messages] = [\n // messages as unknown as string,\n // locale as unknown as LocaleMessages,\n // ]\n // 暂不使用数组解构,uts编译器暂未支持。\n const options = [\n messages,\n locale,\n ];\n locale = options[0];\n messages = options[1];\n }\n if (typeof locale !== 'string') {\n // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined\n locale = getDefaultLocale();\n }\n if (typeof fallbackLocale !== 'string') {\n fallbackLocale =\n (typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale) ||\n LOCALE_EN;\n }\n const i18n = new I18n({\n locale,\n fallbackLocale,\n messages,\n watcher,\n });\n let t = (key, values) => {\n if (typeof getApp !== 'function') {\n // app view\n /* eslint-disable no-func-assign */\n t = function (key, values) {\n return i18n.t(key, values);\n };\n }\n else {\n let isWatchedAppLocale = false;\n t = function (key, values) {\n const appVm = getApp().$vm;\n // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化\n // options: {\n // \ttype: Array,\n // \tdefault () {\n // \t\treturn [{\n // \t\t\ticon: 'shop',\n // \t\t\ttext: t(\"uni-goods-nav.options.shop\"),\n // \t\t}, {\n // \t\t\ticon: 'cart',\n // \t\t\ttext: t(\"uni-goods-nav.options.cart\")\n // \t\t}]\n // \t}\n // },\n if (appVm) {\n // 触发响应式\n appVm.$locale;\n if (!isWatchedAppLocale) {\n isWatchedAppLocale = true;\n watchAppLocale(appVm, i18n);\n }\n }\n return i18n.t(key, values);\n };\n }\n return t(key, values);\n };\n return {\n i18n,\n f(message, values, delimiters) {\n return i18n.f(message, values, delimiters);\n },\n t(key, values) {\n return t(key, values);\n },\n add(locale, message, override = true) {\n return i18n.add(locale, message, override);\n },\n watch(fn) {\n return i18n.watchLocale(fn);\n },\n getLocale() {\n return i18n.getLocale();\n },\n setLocale(newLocale) {\n return i18n.setLocale(newLocale);\n },\n };\n}\n\nconst isString = (val) => typeof val === 'string';\nlet formater;\nfunction hasI18nJson(jsonObj, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n return walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n return true;\n }\n }\n else {\n return hasI18nJson(value, delimiters);\n }\n });\n}\nfunction parseI18nJson(jsonObj, values, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, values, delimiters);\n }\n }\n else {\n parseI18nJson(value, values, delimiters);\n }\n });\n return jsonObj;\n}\nfunction compileI18nJsonStr(jsonStr, { locale, locales, delimiters, }) {\n if (!isI18nStr(jsonStr, delimiters)) {\n return jsonStr;\n }\n if (!formater) {\n formater = new BaseFormatter();\n }\n const localeValues = [];\n Object.keys(locales).forEach((name) => {\n if (name !== locale) {\n localeValues.push({\n locale: name,\n values: locales[name],\n });\n }\n });\n localeValues.unshift({ locale, values: locales[locale] });\n try {\n return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);\n }\n catch (e) { }\n return jsonStr;\n}\nfunction isI18nStr(value, delimiters) {\n return value.indexOf(delimiters[0]) > -1;\n}\nfunction compileStr(value, values, delimiters) {\n return formater.interpolate(value, values, delimiters).join('');\n}\nfunction compileValue(jsonObj, key, localeValues, delimiters) {\n const value = jsonObj[key];\n if (isString(value)) {\n // 存在国际化\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);\n if (localeValues.length > 1) {\n // 格式化国际化语言\n const valueLocales = (jsonObj[key + 'Locales'] = {});\n localeValues.forEach((localValue) => {\n valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);\n });\n }\n }\n }\n else {\n compileJsonObj(value, localeValues, delimiters);\n }\n}\nfunction compileJsonObj(jsonObj, localeValues, delimiters) {\n walkJsonObj(jsonObj, (jsonObj, key) => {\n compileValue(jsonObj, key, localeValues, delimiters);\n });\n return jsonObj;\n}\nfunction walkJsonObj(jsonObj, walk) {\n if (Array.isArray(jsonObj)) {\n for (let i = 0; i < jsonObj.length; i++) {\n if (walk(jsonObj, i)) {\n return true;\n }\n }\n }\n else if (isObject(jsonObj)) {\n for (const key in jsonObj) {\n if (walk(jsonObj, key)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction resolveLocale(locales) {\n return (locale) => {\n if (!locale) {\n return locale;\n }\n locale = normalizeLocale(locale) || locale;\n return resolveLocaleChain(locale).find((locale) => locales.indexOf(locale) > -1);\n };\n}\nfunction resolveLocaleChain(locale) {\n const chain = [];\n const tokens = locale.split('-');\n while (tokens.length) {\n chain.push(tokens.join('-'));\n tokens.pop();\n }\n return chain;\n}\n\nexport { BaseFormatter as Formatter, I18n, LOCALE_EN, LOCALE_ES, LOCALE_FR, LOCALE_ZH_HANS, LOCALE_ZH_HANT, compileI18nJsonStr, hasI18nJson, initVueI18n, isI18nStr, isString, normalizeLocale, parseI18nJson, resolveLocale };\n","import { isHTMLTag, isSVGTag, isVoidTag, isString, isFunction, isPlainObject, hyphenate, camelize, normalizeStyle as normalizeStyle$1, parseStringStyle, isArray, normalizeClass as normalizeClass$1, extend, capitalize, makeMap } from '@vue/shared';\n\nconst BUILT_IN_TAG_NAMES = [\n 'ad',\n 'ad-content-page',\n 'ad-draw',\n 'audio',\n 'button',\n 'camera',\n 'canvas',\n 'checkbox',\n 'checkbox-group',\n 'cover-image',\n 'cover-view',\n 'editor',\n 'form',\n 'functional-page-navigator',\n 'icon',\n 'image',\n 'input',\n 'label',\n 'live-player',\n 'live-pusher',\n 'map',\n 'movable-area',\n 'movable-view',\n 'navigator',\n 'official-account',\n 'open-data',\n 'picker',\n 'picker-view',\n 'picker-view-column',\n 'progress',\n 'radio',\n 'radio-group',\n 'rich-text',\n 'scroll-view',\n 'slider',\n 'swiper',\n 'swiper-item',\n 'switch',\n 'text',\n 'textarea',\n 'video',\n 'view',\n 'web-view',\n 'location-picker',\n 'location-view',\n];\nconst BUILT_IN_TAGS = BUILT_IN_TAG_NAMES.map((tag) => 'uni-' + tag);\nconst TAGS = [\n 'app',\n 'layout',\n 'content',\n 'main',\n 'top-window',\n 'left-window',\n 'right-window',\n 'tabbar',\n 'page',\n 'page-head',\n 'page-wrapper',\n 'page-body',\n 'page-refresh',\n 'actionsheet',\n 'modal',\n 'toast',\n 'resize-sensor',\n 'shadow-root',\n].map((tag) => 'uni-' + tag);\nconst NVUE_BUILT_IN_TAGS = [\n 'svg',\n 'view',\n 'a',\n 'div',\n 'img',\n 'image',\n 'text',\n 'span',\n 'input',\n 'textarea',\n 'spinner',\n 'select',\n // slider 被自定义 u-slider 替代\n // 'slider',\n 'slider-neighbor',\n 'indicator',\n 'canvas',\n 'list',\n 'cell',\n 'header',\n 'loading',\n 'loading-indicator',\n 'refresh',\n 'scrollable',\n 'scroller',\n 'video',\n 'web',\n 'embed',\n 'tabbar',\n 'tabheader',\n 'datepicker',\n 'timepicker',\n 'marquee',\n 'countdown',\n 'dc-switch',\n 'waterfall',\n 'richtext',\n 'recycle-list',\n 'u-scalable',\n 'barcode',\n 'gcanvas',\n];\nconst UVUE_BUILT_IN_TAGS = [\n 'ad',\n 'ad-content-page',\n 'ad-draw',\n 'native-view',\n 'loading-indicator',\n 'list-view',\n 'list-item',\n 'swiper',\n 'swiper-item',\n 'rich-text',\n 'sticky-view',\n 'sticky-header',\n 'sticky-section',\n // 自定义\n 'uni-slider',\n // 原生实现\n 'button',\n 'nested-scroll-header',\n 'nested-scroll-body',\n 'waterflow',\n 'flow-item',\n 'share-element',\n 'cover-view',\n 'cover-image',\n // custom element\n 'match-media',\n // 'checkbox',\n // 'checkbox-group',\n // 'form',\n // 'navigator',\n // 'picker-view',\n // 'picker-view-column',\n // 'progress',\n // 'slider',\n // 'switch',\n // 'radio',\n // 'radio-group',\n];\nconst UVUE_WEB_BUILT_IN_TAGS = [\n 'list-view',\n 'list-item',\n 'sticky-section',\n 'sticky-header',\n 'cloud-db-element',\n].map((tag) => 'uni-' + tag);\nconst UVUE_IOS_BUILT_IN_TAGS = [\n 'scroll-view',\n 'web-view',\n 'slider',\n 'form',\n 'switch',\n];\nconst UVUE_HARMONY_BUILT_IN_TAGS = [\n // TODO 列出完整列表\n ...BUILT_IN_TAG_NAMES,\n 'volume-panel',\n];\nconst NVUE_U_BUILT_IN_TAGS = [\n 'u-text',\n 'u-image',\n 'u-input',\n 'u-textarea',\n 'u-video',\n 'u-web-view',\n 'u-slider',\n 'u-ad',\n 'u-ad-draw',\n 'u-rich-text',\n];\nconst UVUE_WEB_BUILT_IN_CUSTOM_ELEMENTS = ['match-media'];\nconst UNI_UI_CONFLICT_TAGS = ['list-item'].map((tag) => 'uni-' + tag);\nfunction isBuiltInComponent(tag) {\n if (UNI_UI_CONFLICT_TAGS.indexOf(tag) !== -1) {\n return false;\n }\n // h5 平台会被转换为 v-uni-\n const realTag = 'uni-' + tag.replace('v-uni-', '');\n // TODO 区分x和非x\n return (BUILT_IN_TAGS.indexOf(realTag) !== -1 ||\n UVUE_WEB_BUILT_IN_TAGS.indexOf(realTag) !== -1);\n}\nfunction isH5CustomElement(tag, isX = false) {\n if (isX && UVUE_WEB_BUILT_IN_TAGS.indexOf(tag) !== -1) {\n return true;\n }\n return TAGS.indexOf(tag) !== -1 || BUILT_IN_TAGS.indexOf(tag) !== -1;\n}\nfunction isUniXElement(name) {\n return /^I?Uni.*Element(?:Impl)?$/.test(name);\n}\nfunction isH5NativeTag(tag) {\n return (tag !== 'head' &&\n (isHTMLTag(tag) || isSVGTag(tag)) &&\n !isBuiltInComponent(tag));\n}\nfunction isAppNativeTag(tag) {\n return isHTMLTag(tag) || isSVGTag(tag) || isBuiltInComponent(tag);\n}\nconst NVUE_CUSTOM_COMPONENTS = [\n 'ad',\n 'ad-draw',\n 'button',\n 'checkbox-group',\n 'checkbox',\n 'form',\n 'icon',\n 'label',\n 'movable-area',\n 'movable-view',\n 'navigator',\n 'picker',\n 'progress',\n 'radio-group',\n 'radio',\n 'rich-text',\n 'swiper-item',\n 'swiper',\n 'switch',\n 'slider',\n 'picker-view',\n 'picker-view-column',\n];\nconst UNI_AD_PLUGINS = ['uniad-plugin', 'uniad-plugin-wx'];\n// 内置的easycom组件\nconst UVUE_BUILT_IN_EASY_COMPONENTS = [\n 'map',\n 'camera',\n 'live-player',\n 'live-pusher',\n];\nfunction isAppUVueBuiltInEasyComponent(tag) {\n return UVUE_BUILT_IN_EASY_COMPONENTS.includes(tag);\n}\n// 主要是指前端实现的组件列表\nconst UVUE_CUSTOM_COMPONENTS = [\n ...NVUE_CUSTOM_COMPONENTS,\n ...UVUE_BUILT_IN_EASY_COMPONENTS,\n];\nfunction isAppUVueNativeTag(tag) {\n // 前端实现的内置组件都会注册一个根组件\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\n return true;\n }\n if (UVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_CUSTOM_COMPONENTS.includes(tag)) {\n return false;\n }\n if (isBuiltInComponent(tag)) {\n return true;\n }\n // u-text,u-video...\n if (NVUE_U_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n return false;\n}\nfunction isAppIOSUVueNativeTag(tag) {\n // 前端实现的内置组件都会注册一个根组件\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\n return true;\n }\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n // TODO\n if ([\n 'checkbox',\n 'checkbox-group',\n 'form',\n 'picker-view',\n 'picker-view-column',\n 'progress',\n 'switch',\n 'radio',\n 'radio-group',\n ].includes(tag)) {\n return true;\n }\n if (\n // && tag != 'navigator' && tag != 'slider'\n UVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_IOS_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n return false;\n}\nfunction isAppHarmonyUVueNativeTag(tag) {\n // video 目前是easycom实现的\n if (tag === 'video' || tag === 'map') {\n return false;\n }\n // 前端实现的内置组件都会注册一个根组件\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\n return true;\n }\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_HARMONY_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n return false;\n}\nfunction isAppNVueNativeTag(tag) {\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (NVUE_CUSTOM_COMPONENTS.includes(tag)) {\n return false;\n }\n if (isBuiltInComponent(tag)) {\n return true;\n }\n // u-text,u-video...\n if (NVUE_U_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n return false;\n}\nfunction isMiniProgramNativeTag(tag) {\n return isBuiltInComponent(tag);\n}\nfunction isMiniProgramUVueNativeTag(tag) {\n // 小程序平台内置的自定义元素,会被转换为 view\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\n return true;\n }\n return isBuiltInComponent(tag);\n}\nfunction createIsCustomElement(tags = []) {\n return function isCustomElement(tag) {\n return tags.includes(tag);\n };\n}\nfunction isComponentTag(tag) {\n return tag[0].toLowerCase() + tag.slice(1) === 'component';\n}\nconst COMPONENT_SELECTOR_PREFIX = 'uni-';\nconst COMPONENT_PREFIX = 'v-' + COMPONENT_SELECTOR_PREFIX;\n// TODO 是否还存在其他需要特殊处理的 void 标签?\nconst APP_VOID_TAGS = ['textarea'];\nfunction isAppVoidTag(tag) {\n return APP_VOID_TAGS.includes(tag) || isVoidTag(tag);\n}\n\nconst LINEFEED = '\\n';\nconst NAVBAR_HEIGHT = 44;\nconst TABBAR_HEIGHT = 50;\nconst ON_REACH_BOTTOM_DISTANCE = 50;\nconst RESPONSIVE_MIN_WIDTH = 768;\nconst UNI_STORAGE_LOCALE = 'UNI_LOCALE';\n// quickapp-webview 不能使用 default 作为插槽名称\nconst SLOT_DEFAULT_NAME = 'd';\nconst COMPONENT_NAME_PREFIX = 'VUni';\nconst I18N_JSON_DELIMITERS = ['%', '%'];\nconst PRIMARY_COLOR = '#007aff';\nconst SELECTED_COLOR = '#0062cc'; // 选中的颜色,如选项卡默认的选中颜色\nconst BACKGROUND_COLOR = '#f7f7f7'; // 背景色,如标题栏默认背景色\nconst UNI_SSR = '__uniSSR';\nconst UNI_SSR_TITLE = 'title';\nconst UNI_SSR_STORE = 'store';\nconst UNI_SSR_DATA = 'data';\nconst UNI_SSR_GLOBAL_DATA = 'globalData';\nconst SCHEME_RE = /^([a-z-]+:)?\\/\\//i;\nconst DATA_RE = /^data:.*,.*/;\nconst WEB_INVOKE_APPSERVICE = 'WEB_INVOKE_APPSERVICE';\nconst WXS_PROTOCOL = 'wxs://';\nconst JSON_PROTOCOL = 'json://';\nconst WXS_MODULES = 'wxsModules';\nconst RENDERJS_MODULES = 'renderjsModules';\n// lifecycle\n// App and Page\nconst ON_SHOW = 'onShow';\nconst ON_HIDE = 'onHide';\n//App\nconst ON_LAUNCH = 'onLaunch';\nconst ON_ERROR = 'onError';\nconst ON_THEME_CHANGE = 'onThemeChange';\nconst OFF_THEME_CHANGE = 'offThemeChange';\nconst ON_HOST_THEME_CHANGE = 'onHostThemeChange';\nconst OFF_HOST_THEME_CHANGE = 'offHostThemeChange';\nconst ON_KEYBOARD_HEIGHT_CHANGE = 'onKeyboardHeightChange';\nconst ON_PAGE_NOT_FOUND = 'onPageNotFound';\nconst ON_UNHANDLE_REJECTION = 'onUnhandledRejection';\nconst ON_LAST_PAGE_BACK_PRESS = 'onLastPageBackPress';\nconst ON_EXIT = 'onExit';\n//Page\nconst ON_LOAD = 'onLoad';\nconst ON_READY = 'onReady';\nconst ON_UNLOAD = 'onUnload';\n// 百度特有\nconst ON_INIT = 'onInit';\n// 微信特有\nconst ON_SAVE_EXIT_STATE = 'onSaveExitState';\nconst ON_RESIZE = 'onResize';\nconst ON_BACK_PRESS = 'onBackPress';\nconst ON_PAGE_SCROLL = 'onPageScroll';\nconst ON_TAB_ITEM_TAP = 'onTabItemTap';\nconst ON_REACH_BOTTOM = 'onReachBottom';\nconst ON_PULL_DOWN_REFRESH = 'onPullDownRefresh';\nconst ON_SHARE_TIMELINE = 'onShareTimeline';\nconst ON_SHARE_CHAT = 'onShareChat'; // xhs-share\nconst ON_ADD_TO_FAVORITES = 'onAddToFavorites';\nconst ON_SHARE_APP_MESSAGE = 'onShareAppMessage';\n// navigationBar\nconst ON_NAVIGATION_BAR_BUTTON_TAP = 'onNavigationBarButtonTap';\nconst ON_NAVIGATION_BAR_CHANGE = 'onNavigationBarChange';\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED = 'onNavigationBarSearchInputClicked';\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED = 'onNavigationBarSearchInputChanged';\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED = 'onNavigationBarSearchInputConfirmed';\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED = 'onNavigationBarSearchInputFocusChanged';\n// framework\nconst ON_APP_ENTER_FOREGROUND = 'onAppEnterForeground';\nconst ON_APP_ENTER_BACKGROUND = 'onAppEnterBackground';\nconst ON_WEB_INVOKE_APP_SERVICE = 'onWebInvokeAppService';\nconst ON_WXS_INVOKE_CALL_METHOD = 'onWxsInvokeCallMethod';\n// mergeVirtualHostAttributes\nconst VIRTUAL_HOST_STYLE = 'virtualHostStyle';\nconst VIRTUAL_HOST_CLASS = 'virtualHostClass';\nconst VIRTUAL_HOST_HIDDEN = 'virtualHostHidden';\nconst VIRTUAL_HOST_ID = 'virtualHostId';\n\nfunction cache(fn) {\n const cache = Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nfunction cacheStringFunction(fn) {\n return cache(fn);\n}\nfunction getLen(str = '') {\n return ('' + str).replace(/[^\\x00-\\xff]/g, '**').length;\n}\nfunction hasLeadingSlash(str) {\n return str.indexOf('/') === 0;\n}\nfunction addLeadingSlash(str) {\n return hasLeadingSlash(str) ? str : '/' + str;\n}\nfunction removeLeadingSlash(str) {\n return hasLeadingSlash(str) ? str.slice(1) : str;\n}\nconst invokeArrayFns = (fns, arg) => {\n let ret;\n for (let i = 0; i < fns.length; i++) {\n ret = fns[i](arg);\n }\n return ret;\n};\nfunction updateElementStyle(element, styles) {\n for (const attrName in styles) {\n element.style[attrName] = styles[attrName];\n }\n}\nfunction once(fn, ctx = null) {\n let res;\n return ((...args) => {\n if (fn) {\n res = fn.apply(ctx, args);\n fn = null;\n }\n return res;\n });\n}\nconst sanitise = (val) => (val && JSON.parse(JSON.stringify(val))) || val;\nconst _completeValue = (value) => (value > 9 ? value : '0' + value);\nfunction formatDateTime({ date = new Date(), mode = 'date' }) {\n if (mode === 'time') {\n return (_completeValue(date.getHours()) + ':' + _completeValue(date.getMinutes()));\n }\n else {\n return (date.getFullYear() +\n '-' +\n _completeValue(date.getMonth() + 1) +\n '-' +\n _completeValue(date.getDate()));\n }\n}\nfunction callOptions(options, data) {\n options = options || {};\n if (isString(data)) {\n data = {\n errMsg: data,\n };\n }\n if (/:ok$/.test(data.errMsg)) {\n if (isFunction(options.success)) {\n options.success(data);\n }\n }\n else {\n if (isFunction(options.fail)) {\n options.fail(data);\n }\n }\n if (isFunction(options.complete)) {\n options.complete(data);\n }\n}\nfunction getValueByDataPath(obj, path) {\n if (!isString(path)) {\n return;\n }\n path = path.replace(/\\[(\\d+)\\]/g, '.$1');\n const parts = path.split('.');\n let key = parts[0];\n if (!obj) {\n obj = {};\n }\n if (parts.length === 1) {\n return obj[key];\n }\n return getValueByDataPath(obj[key], parts.slice(1).join('.'));\n}\nfunction sortObject(obj) {\n let sortObj = {};\n if (isPlainObject(obj)) {\n Object.keys(obj)\n .sort()\n .forEach((key) => {\n const _key = key;\n sortObj[_key] = obj[_key];\n });\n }\n return !Object.keys(sortObj) ? obj : sortObj;\n}\nfunction getGlobalOnce() {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n // worker\n if (typeof self !== 'undefined') {\n return self;\n }\n // browser\n if (typeof window !== 'undefined') {\n return window;\n }\n // nodejs\n // if (typeof global !== 'undefined') {\n // return global\n // }\n function g() {\n return this;\n }\n if (typeof g() !== 'undefined') {\n return g();\n }\n return (function () {\n return new Function('return this')();\n })();\n}\nlet g = undefined;\nfunction getGlobal() {\n if (g) {\n return g;\n }\n g = getGlobalOnce();\n return g;\n}\n\nfunction isComponentInternalInstance(vm) {\n return !!vm.appContext;\n}\nfunction resolveComponentInstance(instance) {\n return (instance &&\n (isComponentInternalInstance(instance) ? instance.proxy : instance));\n}\nfunction resolveOwnerVm(vm) {\n if (!vm) {\n return;\n }\n let componentName = vm.type.name;\n while (componentName && isBuiltInComponent(hyphenate(componentName))) {\n // ownerInstance 内置组件需要使用父 vm\n vm = vm.parent;\n componentName = vm.type.name;\n }\n return vm.proxy;\n}\nfunction isElement(el) {\n // Element\n return el.nodeType === 1;\n}\nfunction resolveOwnerEl(instance, multi = false) {\n const { vnode } = instance;\n if (isElement(vnode.el)) {\n return multi ? (vnode.el ? [vnode.el] : []) : vnode.el;\n }\n const { subTree } = instance;\n // ShapeFlags.ARRAY_CHILDREN = 1<<4\n if (subTree.shapeFlag & 16) {\n const elemVNodes = subTree.children.filter((vnode) => vnode.el && isElement(vnode.el));\n if (elemVNodes.length > 0) {\n if (multi) {\n return elemVNodes.map((node) => node.el);\n }\n return elemVNodes[0].el;\n }\n }\n return multi ? (vnode.el ? [vnode.el] : []) : vnode.el;\n}\nfunction dynamicSlotName(name) {\n return name === 'default' ? SLOT_DEFAULT_NAME : name;\n}\nconst customizeRE = /:/g;\nfunction customizeEvent(str) {\n return camelize(str.replace(customizeRE, '-'));\n}\nfunction normalizeStyle(value) {\n const g = getGlobal();\n if (g && g.UTSJSONObject && value instanceof g.UTSJSONObject) {\n const styleObject = {};\n g.UTSJSONObject.keys(value).forEach((key) => {\n styleObject[key] = value[key];\n });\n return normalizeStyle$1(styleObject);\n }\n else if (value instanceof Map) {\n const styleObject = {};\n value.forEach((value, key) => {\n styleObject[key] = value;\n });\n return normalizeStyle$1(styleObject);\n }\n else if (isString(value)) {\n return parseStringStyle(value);\n }\n else if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item)\n ? parseStringStyle(item)\n : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n }\n else {\n return normalizeStyle$1(value);\n }\n}\nfunction normalizeClass(value) {\n let res = '';\n const g = getGlobal();\n if (g && g.UTSJSONObject && value instanceof g.UTSJSONObject) {\n g.UTSJSONObject.keys(value).forEach((key) => {\n if (value[key]) {\n res += key + ' ';\n }\n });\n }\n else if (value instanceof Map) {\n value.forEach((value, key) => {\n if (value) {\n res += key + ' ';\n }\n });\n }\n else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + ' ';\n }\n }\n }\n else {\n res = normalizeClass$1(value);\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nlet lastLogTime = 0;\nfunction formatLog(module, ...args) {\n const now = Date.now();\n const diff = lastLogTime ? now - lastLogTime : 0;\n lastLogTime = now;\n return `[${now}][${diff}ms][${module}]:${args\n .map((arg) => JSON.stringify(arg))\n .join(' ')}`;\n}\n\nfunction formatKey(key) {\n return camelize(key.substring(5));\n}\n// question/139181,增加副作用,避免 initCustomDataset 在 build 下被 tree-shaking\nconst initCustomDatasetOnce = /*#__PURE__*/ once((isBuiltInElement) => {\n isBuiltInElement =\n isBuiltInElement || ((el) => el.tagName.startsWith('UNI-'));\n const prototype = HTMLElement.prototype;\n const setAttribute = prototype.setAttribute;\n prototype.setAttribute = function (key, value) {\n if (key.startsWith('data-') && isBuiltInElement(this)) {\n const dataset = this.__uniDataset ||\n (this.__uniDataset = {});\n dataset[formatKey(key)] = value;\n }\n setAttribute.call(this, key, value);\n };\n const removeAttribute = prototype.removeAttribute;\n prototype.removeAttribute = function (key) {\n if (this.__uniDataset &&\n key.startsWith('data-') &&\n isBuiltInElement(this)) {\n delete this.__uniDataset[formatKey(key)];\n }\n removeAttribute.call(this, key);\n };\n});\nfunction getCustomDataset(el) {\n return extend({}, el.dataset, el.__uniDataset);\n}\n\nconst unitRE = new RegExp(`\"[^\"]+\"|'[^']+'|url\\\\([^)]+\\\\)|(\\\\d*\\\\.?\\\\d+)[r|u]px`, 'g');\nfunction toFixed(number, precision) {\n const multiplier = Math.pow(10, precision + 1);\n const wholeNumber = Math.floor(number * multiplier);\n return (Math.round(wholeNumber / 10) * 10) / multiplier;\n}\nconst defaultRpx2Unit = {\n unit: 'rem',\n unitRatio: 10 / 320,\n unitPrecision: 5,\n};\nconst defaultMiniProgramRpx2Unit = {\n unit: 'rpx',\n unitRatio: 1,\n unitPrecision: 1,\n};\nconst defaultNVueRpx2Unit = defaultMiniProgramRpx2Unit;\nfunction createRpx2Unit(unit, unitRatio, unitPrecision) {\n // ignore: rpxCalcIncludeWidth\n return (val) => val.replace(unitRE, (m, $1) => {\n if (!$1) {\n return m;\n }\n if (unitRatio === 1) {\n return `${$1}${unit}`;\n }\n const value = toFixed(parseFloat($1) * unitRatio, unitPrecision);\n return value === 0 ? '0' : `${value}${unit}`;\n });\n}\n\nfunction passive(passive) {\n return { passive };\n}\nfunction normalizeDataset(el) {\n // TODO\n return JSON.parse(JSON.stringify(el.dataset || {}));\n}\nfunction normalizeTarget(el) {\n const { id, offsetTop, offsetLeft } = el;\n return {\n id,\n dataset: getCustomDataset(el),\n offsetTop,\n offsetLeft,\n };\n}\nfunction addFont(family, source, desc) {\n const fonts = document.fonts;\n if (fonts) {\n const fontFace = new FontFace(family, source, desc);\n return fontFace.load().then(() => {\n fonts.add && fonts.add(fontFace);\n });\n }\n return new Promise((resolve) => {\n const style = document.createElement('style');\n const values = [];\n if (desc) {\n const { style, weight, stretch, unicodeRange, variant, featureSettings } = desc;\n style && values.push(`font-style:${style}`);\n weight && values.push(`font-weight:${weight}`);\n stretch && values.push(`font-stretch:${stretch}`);\n unicodeRange && values.push(`unicode-range:${unicodeRange}`);\n variant && values.push(`font-variant:${variant}`);\n featureSettings && values.push(`font-feature-settings:${featureSettings}`);\n }\n style.innerText = `@font-face{font-family:\"${family}\";src:${source};${values.join(';')}}`;\n document.head.appendChild(style);\n resolve();\n });\n}\nfunction scrollTo(scrollTop, duration, isH5) {\n if (isString(scrollTop)) {\n const el = document.querySelector(scrollTop);\n if (el) {\n const { top } = el.getBoundingClientRect();\n scrollTop = top + window.pageYOffset;\n // 如果存在,减去 高度\n const pageHeader = document.querySelector('uni-page-head');\n if (pageHeader) {\n scrollTop -= pageHeader.offsetHeight;\n }\n }\n }\n if (scrollTop < 0) {\n scrollTop = 0;\n }\n const documentElement = document.documentElement;\n const { clientHeight, scrollHeight } = documentElement;\n scrollTop = Math.min(scrollTop, scrollHeight - clientHeight);\n if (duration === 0) {\n // 部分浏览器(比如微信)中 scrollTop 的值需要通过 document.body 来控制\n documentElement.scrollTop = document.body.scrollTop = scrollTop;\n return;\n }\n if (window.scrollY === scrollTop) {\n return;\n }\n const scrollTo = (duration) => {\n if (duration <= 0) {\n window.scrollTo(0, scrollTop);\n return;\n }\n const distaince = scrollTop - window.scrollY;\n requestAnimationFrame(function () {\n window.scrollTo(0, window.scrollY + (distaince / duration) * 10);\n scrollTo(duration - 10);\n });\n };\n scrollTo(duration);\n}\n\nconst encode = encodeURIComponent;\nfunction stringifyQuery(obj, encodeStr = encode) {\n const res = obj\n ? Object.keys(obj)\n .map((key) => {\n let val = obj[key];\n if (typeof val === undefined || val === null) {\n val = '';\n }\n else if (isPlainObject(val)) {\n val = JSON.stringify(val);\n }\n return encodeStr(key) + '=' + encodeStr(val);\n })\n .filter((x) => x.length > 0)\n .join('&')\n : null;\n return res ? `?${res}` : '';\n}\n/**\n * Decode text using `decodeURIComponent`. Returns the original text if it\n * fails.\n *\n * @param text - string to decode\n * @returns decoded string\n */\nfunction decode(text) {\n try {\n return decodeURIComponent('' + text);\n }\n catch (err) { }\n return '' + text;\n}\nfunction decodedQuery(query = {}) {\n const decodedQuery = {};\n Object.keys(query).forEach((name) => {\n try {\n decodedQuery[name] = decode(query[name]);\n }\n catch (e) {\n decodedQuery[name] = query[name];\n }\n });\n return decodedQuery;\n}\nconst PLUS_RE = /\\+/g; // %2B\n/**\n * https://github.com/vuejs/vue-router-next/blob/master/src/query.ts\n * @internal\n *\n * @param search - search string to parse\n * @returns a query object\n */\nfunction parseQuery(search) {\n const query = {};\n // avoid creating an object with an empty key and empty value\n // because of split('&')\n if (search === '' || search === '?')\n return query;\n const hasLeadingIM = search[0] === '?';\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\n for (let i = 0; i < searchParams.length; ++i) {\n // pre decode the + into space\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\n // allow the = character\n let eqPos = searchParam.indexOf('=');\n let key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n let value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n if (key in query) {\n // an extra variable for ts types\n let currentValue = query[key];\n if (!isArray(currentValue)) {\n currentValue = query[key] = [currentValue];\n }\n currentValue.push(value);\n }\n else {\n query[key] = value;\n }\n }\n return query;\n}\n\nfunction parseUrl(url) {\n const [path, querystring] = url.split('?', 2);\n return {\n path,\n query: parseQuery(querystring || ''),\n };\n}\n\nfunction parseNVueDataset(attr) {\n const dataset = {};\n if (attr) {\n Object.keys(attr).forEach((key) => {\n if (key.indexOf('data-') === 0) {\n dataset[key.replace('data-', '')] = attr[key];\n }\n });\n }\n return dataset;\n}\n\nfunction plusReady(callback) {\n if (!isFunction(callback)) {\n return;\n }\n if (window.plus) {\n return callback();\n }\n document.addEventListener('plusready', callback);\n}\n\nclass DOMException extends Error {\n constructor(message) {\n super(message);\n this.name = 'DOMException';\n }\n}\n\nfunction normalizeEventType(type, options) {\n if (options) {\n if (options.capture) {\n type += 'Capture';\n }\n if (options.once) {\n type += 'Once';\n }\n if (options.passive) {\n type += 'Passive';\n }\n }\n return `on${capitalize(camelize(type))}`;\n}\nclass UniEvent {\n constructor(type, opts) {\n this.defaultPrevented = false;\n this.timeStamp = Date.now();\n this._stop = false;\n this._end = false;\n this.type = type;\n this.bubbles = !!opts.bubbles;\n this.cancelable = !!opts.cancelable;\n }\n preventDefault() {\n this.defaultPrevented = true;\n }\n stopImmediatePropagation() {\n this._end = this._stop = true;\n }\n stopPropagation() {\n this._stop = true;\n }\n}\nfunction createUniEvent(evt) {\n if (evt instanceof UniEvent) {\n return evt;\n }\n const [type] = parseEventName(evt.type);\n const uniEvent = new UniEvent(type, {\n bubbles: false,\n cancelable: false,\n });\n extend(uniEvent, evt);\n return uniEvent;\n}\nclass UniEventTarget {\n constructor() {\n this.listeners = Object.create(null);\n }\n dispatchEvent(evt) {\n const listeners = this.listeners[evt.type];\n if (!listeners) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error(formatLog('dispatchEvent', this.nodeId), evt.type, 'not found');\n }\n return false;\n }\n // 格式化事件类型\n const event = createUniEvent(evt);\n const len = listeners.length;\n for (let i = 0; i < len; i++) {\n listeners[i].call(this, event);\n if (event._end) {\n break;\n }\n }\n return event.cancelable && event.defaultPrevented;\n }\n addEventListener(type, listener, options) {\n type = normalizeEventType(type, options);\n (this.listeners[type] || (this.listeners[type] = [])).push(listener);\n }\n removeEventListener(type, callback, options) {\n type = normalizeEventType(type, options);\n const listeners = this.listeners[type];\n if (!listeners) {\n return;\n }\n const index = listeners.indexOf(callback);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n }\n}\nconst optionsModifierRE = /(?:Once|Passive|Capture)$/;\nfunction parseEventName(name) {\n let options;\n if (optionsModifierRE.test(name)) {\n options = {};\n let m;\n while ((m = name.match(optionsModifierRE))) {\n name = name.slice(0, name.length - m[0].length);\n options[m[0].toLowerCase()] = true;\n }\n }\n return [hyphenate(name.slice(2)), options];\n}\n\nconst EventModifierFlags = /*#__PURE__*/ (() => {\n return {\n stop: 1,\n prevent: 1 << 1,\n self: 1 << 2,\n };\n})();\nfunction encodeModifier(modifiers) {\n let flag = 0;\n if (modifiers.includes('stop')) {\n flag |= EventModifierFlags.stop;\n }\n if (modifiers.includes('prevent')) {\n flag |= EventModifierFlags.prevent;\n }\n if (modifiers.includes('self')) {\n flag |= EventModifierFlags.self;\n }\n return flag;\n}\n\nconst NODE_TYPE_PAGE = 0;\nconst NODE_TYPE_ELEMENT = 1;\nconst NODE_TYPE_TEXT = 3;\nconst NODE_TYPE_COMMENT = 8;\nfunction sibling(node, type) {\n const { parentNode } = node;\n if (!parentNode) {\n return null;\n }\n const { childNodes } = parentNode;\n return childNodes[childNodes.indexOf(node) + (type === 'n' ? 1 : -1)] || null;\n}\nfunction removeNode(node) {\n const { parentNode } = node;\n if (parentNode) {\n const { childNodes } = parentNode;\n const index = childNodes.indexOf(node);\n if (index > -1) {\n node.parentNode = null;\n childNodes.splice(index, 1);\n }\n }\n}\nfunction checkNodeId(node) {\n if (!node.nodeId && node.pageNode) {\n node.nodeId = node.pageNode.genId();\n }\n}\n// 为优化性能,各平台不使用proxy来实现node的操作拦截,而是直接通过pageNode定制\nclass UniNode extends UniEventTarget {\n constructor(nodeType, nodeName, container) {\n super();\n this.pageNode = null;\n this.parentNode = null;\n this._text = null;\n if (container) {\n const { pageNode } = container;\n if (pageNode) {\n this.pageNode = pageNode;\n this.nodeId = pageNode.genId();\n !pageNode.isUnmounted && pageNode.onCreate(this, nodeName);\n }\n }\n this.nodeType = nodeType;\n this.nodeName = nodeName;\n this.childNodes = [];\n }\n get firstChild() {\n return this.childNodes[0] || null;\n }\n get lastChild() {\n const { childNodes } = this;\n const length = childNodes.length;\n return length ? childNodes[length - 1] : null;\n }\n get nextSibling() {\n return sibling(this, 'n');\n }\n get nodeValue() {\n return null;\n }\n set nodeValue(_val) { }\n get textContent() {\n return this._text || '';\n }\n set textContent(text) {\n this._text = text;\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onTextContent(this, text);\n }\n }\n get parentElement() {\n const { parentNode } = this;\n if (parentNode && parentNode.nodeType === NODE_TYPE_ELEMENT) {\n return parentNode;\n }\n return null;\n }\n get previousSibling() {\n return sibling(this, 'p');\n }\n appendChild(newChild) {\n return this.insertBefore(newChild, null);\n }\n cloneNode(deep) {\n const cloned = extend(Object.create(Object.getPrototypeOf(this)), this);\n const { attributes } = cloned;\n if (attributes) {\n cloned.attributes = extend({}, attributes);\n }\n if (deep) {\n cloned.childNodes = cloned.childNodes.map((childNode) => childNode.cloneNode(true));\n }\n return cloned;\n }\n insertBefore(newChild, refChild) {\n // 先从现在的父节点移除(注意:不能触发onRemoveChild,否则会生成先remove该 id,再 insert)\n removeNode(newChild);\n newChild.pageNode = this.pageNode;\n newChild.parentNode = this;\n checkNodeId(newChild);\n const { childNodes } = this;\n if (refChild) {\n const index = childNodes.indexOf(refChild);\n if (index === -1) {\n throw new DOMException(`Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.`);\n }\n childNodes.splice(index, 0, newChild);\n }\n else {\n childNodes.push(newChild);\n }\n return this.pageNode && !this.pageNode.isUnmounted\n ? this.pageNode.onInsertBefore(this, newChild, refChild)\n : newChild;\n }\n removeChild(oldChild) {\n const { childNodes } = this;\n const index = childNodes.indexOf(oldChild);\n if (index === -1) {\n throw new DOMException(`Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.`);\n }\n oldChild.parentNode = null;\n childNodes.splice(index, 1);\n return this.pageNode && !this.pageNode.isUnmounted\n ? this.pageNode.onRemoveChild(oldChild)\n : oldChild;\n }\n}\nconst ATTR_CLASS = 'class';\nconst ATTR_STYLE = 'style';\nconst ATTR_INNER_HTML = 'innerHTML';\nconst ATTR_TEXT_CONTENT = 'textContent';\nconst ATTR_V_SHOW = '.vShow';\nconst ATTR_V_OWNER_ID = '.vOwnerId';\nconst ATTR_V_RENDERJS = '.vRenderjs';\nconst ATTR_CHANGE_PREFIX = 'change:';\nclass UniBaseNode extends UniNode {\n constructor(nodeType, nodeName, container) {\n super(nodeType, nodeName, container);\n this.attributes = Object.create(null);\n this.style = null;\n this.vShow = null;\n this._html = null;\n }\n get className() {\n return (this.attributes[ATTR_CLASS] || '');\n }\n set className(val) {\n this.setAttribute(ATTR_CLASS, val);\n }\n get innerHTML() {\n return '';\n }\n set innerHTML(html) {\n this._html = html;\n }\n addEventListener(type, listener, options) {\n super.addEventListener(type, listener, options);\n if (this.pageNode && !this.pageNode.isUnmounted) {\n if (listener.wxsEvent) {\n this.pageNode.onAddWxsEvent(this, normalizeEventType(type, options), listener.wxsEvent, encodeModifier(listener.modifiers || []));\n }\n else {\n this.pageNode.onAddEvent(this, normalizeEventType(type, options), encodeModifier(listener.modifiers || []));\n }\n }\n }\n removeEventListener(type, callback, options) {\n super.removeEventListener(type, callback, options);\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onRemoveEvent(this, normalizeEventType(type, options));\n }\n }\n getAttribute(qualifiedName) {\n if (qualifiedName === ATTR_STYLE) {\n return this.style;\n }\n return this.attributes[qualifiedName];\n }\n removeAttribute(qualifiedName) {\n if (qualifiedName == ATTR_STYLE) {\n this.style = null;\n }\n else {\n delete this.attributes[qualifiedName];\n }\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onRemoveAttribute(this, qualifiedName);\n }\n }\n setAttribute(qualifiedName, value) {\n if (qualifiedName === ATTR_STYLE) {\n this.style = value;\n }\n else {\n this.attributes[qualifiedName] = value;\n }\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onSetAttribute(this, qualifiedName, value);\n }\n }\n toJSON({ attr, normalize, } = {}) {\n const { attributes, style, listeners, _text } = this;\n const res = {};\n if (Object.keys(attributes).length) {\n res.a = normalize ? normalize(attributes) : attributes;\n }\n const events = Object.keys(listeners);\n if (events.length) {\n let w = undefined;\n const e = {};\n events.forEach((name) => {\n const handlers = listeners[name];\n if (handlers.length) {\n // 可能存在多个 handler 且不同 modifiers 吗?\n const { wxsEvent, modifiers } = handlers[0];\n const modifier = encodeModifier(modifiers || []);\n if (!wxsEvent) {\n e[name] = modifier;\n }\n else {\n if (!w) {\n w = {};\n }\n w[name] = [normalize ? normalize(wxsEvent) : wxsEvent, modifier];\n }\n }\n });\n res.e = normalize ? normalize(e, false) : e;\n if (w) {\n res.w = normalize ? normalize(w, false) : w;\n }\n }\n if (style !== null) {\n res.s = normalize ? normalize(style) : style;\n }\n if (!attr) {\n res.i = this.nodeId;\n res.n = this.nodeName;\n }\n if (_text !== null) {\n res.t = normalize ? normalize(_text) : _text;\n }\n return res;\n }\n}\n\nclass UniCommentNode extends UniNode {\n constructor(text, container) {\n super(NODE_TYPE_COMMENT, '#comment', container);\n this._text = (process.env.NODE_ENV !== 'production') ? text : '';\n }\n toJSON(opts = {}) {\n // 暂时不传递 text 到 view 层,没啥意义,节省点数据量\n return opts.attr\n ? {}\n : {\n i: this.nodeId,\n };\n // return opts.attr\n // ? { t: this._text as string }\n // : {\n // i: this.nodeId!,\n // t: this._text as string,\n // }\n }\n}\n\nclass UniElement extends UniBaseNode {\n constructor(nodeName, container) {\n super(NODE_TYPE_ELEMENT, nodeName.toUpperCase(), container);\n this.tagName = this.nodeName;\n }\n}\nclass UniInputElement extends UniElement {\n get value() {\n return this.getAttribute('value');\n }\n set value(val) {\n this.setAttribute('value', val);\n }\n}\nclass UniTextAreaElement extends UniInputElement {\n}\n\nclass UniTextNode extends UniBaseNode {\n constructor(text, container) {\n super(NODE_TYPE_TEXT, '#text', container);\n this._text = text;\n }\n get nodeValue() {\n return this._text || '';\n }\n set nodeValue(text) {\n this._text = text;\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onNodeValue(this, text);\n }\n }\n}\n\nconst forcePatchProps = {\n AD: ['data'],\n 'AD-DRAW': ['data'],\n 'LIVE-PLAYER': ['picture-in-picture-mode'],\n MAP: [\n 'markers',\n 'polyline',\n 'circles',\n 'controls',\n 'include-points',\n 'polygons',\n ],\n PICKER: ['range', 'value'],\n 'PICKER-VIEW': ['value'],\n 'RICH-TEXT': ['nodes'],\n VIDEO: ['danmu-list', 'header'],\n 'WEB-VIEW': ['webview-styles'],\n};\nconst forcePatchPropKeys = ['animation'];\n\nconst forcePatchProp = (el, key) => {\n if (forcePatchPropKeys.indexOf(key) > -1) {\n return true;\n }\n const keys = forcePatchProps[el.nodeName];\n if (keys && keys.indexOf(key) > -1) {\n return true;\n }\n return false;\n};\n\nconst ACTION_TYPE_PAGE_CREATE = 1;\nconst ACTION_TYPE_PAGE_CREATED = 2;\nconst ACTION_TYPE_CREATE = 3;\nconst ACTION_TYPE_INSERT = 4;\nconst ACTION_TYPE_REMOVE = 5;\nconst ACTION_TYPE_SET_ATTRIBUTE = 6;\nconst ACTION_TYPE_REMOVE_ATTRIBUTE = 7;\nconst ACTION_TYPE_ADD_EVENT = 8;\nconst ACTION_TYPE_REMOVE_EVENT = 9;\nconst ACTION_TYPE_SET_TEXT = 10;\nconst ACTION_TYPE_ADD_WXS_EVENT = 12;\nconst ACTION_TYPE_PAGE_SCROLL = 15;\nconst ACTION_TYPE_EVENT = 20;\n\n/**\n * 需要手动传入 timer,主要是解决 App 平台的定制 timer\n */\nfunction debounce(fn, delay, { clearTimeout, setTimeout }) {\n let timeout;\n const newFn = function () {\n clearTimeout(timeout);\n const timerFn = () => fn.apply(this, arguments);\n timeout = setTimeout(timerFn, delay);\n };\n newFn.cancel = function () {\n clearTimeout(timeout);\n };\n return newFn;\n}\n\nclass EventChannel {\n constructor(id, events) {\n this.id = id;\n this.listener = {};\n this.emitCache = [];\n if (events) {\n Object.keys(events).forEach((name) => {\n this.on(name, events[name]);\n });\n }\n }\n emit(eventName, ...args) {\n const fns = this.listener[eventName];\n if (!fns) {\n return this.emitCache.push({\n eventName,\n args,\n });\n }\n fns.forEach((opt) => {\n opt.fn.apply(opt.fn, args);\n });\n this.listener[eventName] = fns.filter((opt) => opt.type !== 'once');\n }\n on(eventName, fn) {\n this._addListener(eventName, 'on', fn);\n this._clearCache(eventName);\n }\n once(eventName, fn) {\n this._addListener(eventName, 'once', fn);\n this._clearCache(eventName);\n }\n off(eventName, fn) {\n const fns = this.listener[eventName];\n if (!fns) {\n return;\n }\n if (fn) {\n for (let i = 0; i < fns.length;) {\n if (fns[i].fn === fn) {\n fns.splice(i, 1);\n i--;\n }\n i++;\n }\n }\n else {\n delete this.listener[eventName];\n }\n }\n _clearCache(eventName) {\n for (let index = 0; index < this.emitCache.length; index++) {\n const cache = this.emitCache[index];\n const _name = eventName\n ? cache.eventName === eventName\n ? eventName\n : null\n : cache.eventName;\n if (!_name)\n continue;\n const location = this.emit.apply(this, [_name, ...cache.args]);\n if (typeof location === 'number') {\n this.emitCache.pop();\n continue;\n }\n this.emitCache.splice(index, 1);\n index--;\n }\n }\n _addListener(eventName, type, fn) {\n (this.listener[eventName] || (this.listener[eventName] = [])).push({\n fn,\n type,\n });\n }\n}\n\nconst PAGE_HOOKS = [\n ON_INIT,\n ON_LOAD,\n ON_SHOW,\n ON_HIDE,\n ON_UNLOAD,\n ON_BACK_PRESS,\n ON_PAGE_SCROLL,\n ON_TAB_ITEM_TAP,\n ON_REACH_BOTTOM,\n ON_PULL_DOWN_REFRESH,\n ON_SHARE_TIMELINE,\n ON_SHARE_APP_MESSAGE,\n ON_SHARE_CHAT,\n ON_ADD_TO_FAVORITES,\n ON_SAVE_EXIT_STATE,\n ON_NAVIGATION_BAR_BUTTON_TAP,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED,\n];\nfunction isRootImmediateHook(name) {\n const PAGE_SYNC_HOOKS = [ON_LOAD, ON_SHOW];\n return PAGE_SYNC_HOOKS.indexOf(name) > -1;\n}\n// isRootImmediateHookX deprecated\nfunction isRootHook(name) {\n return PAGE_HOOKS.indexOf(name) > -1;\n}\nconst UniLifecycleHooks = [\n ON_SHOW,\n ON_HIDE,\n ON_LAUNCH,\n ON_ERROR,\n ON_THEME_CHANGE,\n ON_PAGE_NOT_FOUND,\n ON_UNHANDLE_REJECTION,\n ON_EXIT,\n ON_INIT,\n ON_LOAD,\n ON_READY,\n ON_UNLOAD,\n ON_RESIZE,\n ON_BACK_PRESS,\n ON_PAGE_SCROLL,\n ON_TAB_ITEM_TAP,\n ON_REACH_BOTTOM,\n ON_PULL_DOWN_REFRESH,\n ON_SHARE_TIMELINE,\n ON_ADD_TO_FAVORITES,\n ON_SHARE_APP_MESSAGE,\n ON_SHARE_CHAT,\n ON_SAVE_EXIT_STATE,\n ON_NAVIGATION_BAR_BUTTON_TAP,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED,\n];\nconst MINI_PROGRAM_PAGE_RUNTIME_HOOKS = /*#__PURE__*/ (() => {\n return {\n onPageScroll: 1,\n onShareAppMessage: 1 << 1,\n onShareTimeline: 1 << 2,\n onShareChat: 1 << 3,\n };\n})();\nfunction isUniLifecycleHook(name, value, checkType = true) {\n // 检查类型\n if (checkType && !isFunction(value)) {\n return false;\n }\n if (UniLifecycleHooks.indexOf(name) > -1) {\n // 已预定义\n return true;\n }\n else if (name.indexOf('on') === 0) {\n // 以 on 开头\n return true;\n }\n return false;\n}\n\nlet vueApp;\nconst createVueAppHooks = [];\n/**\n * 提供 createApp 的回调事件,方便三方插件接收 App 对象,处理挂靠全局 mixin 之类的逻辑\n */\nfunction onCreateVueApp(hook) {\n // TODO 每个 nvue 页面都会触发\n if (vueApp) {\n return hook(vueApp);\n }\n createVueAppHooks.push(hook);\n}\nfunction invokeCreateVueAppHook(app) {\n vueApp = app;\n createVueAppHooks.forEach((hook) => hook(app));\n}\nconst invokeCreateErrorHandler = once((app, createErrorHandler) => {\n // 不再判断开发者是否监听了onError,直接返回 createErrorHandler,内部 errorHandler 会调用开发者自定义的 errorHandler,以及判断开发者是否监听了onError\n return createErrorHandler(app);\n});\n\nconst E = function () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n};\nE.prototype = {\n _id: 1,\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx,\n _id: this._id,\n });\n return this._id++;\n },\n once: function (name, callback, ctx) {\n var self = this;\n function listener() {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n }\n listener._ = callback;\n return this.on(name, listener, ctx);\n },\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n return this;\n },\n off: function (name, event) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n if (evts && event) {\n for (var i = evts.length - 1; i >= 0; i--) {\n if (evts[i].fn === event ||\n evts[i].fn._ === event ||\n evts[i]._id === event) {\n evts.splice(i, 1);\n break;\n }\n }\n liveEvents = evts;\n }\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n liveEvents.length ? (e[name] = liveEvents) : delete e[name];\n return this;\n },\n};\nvar E$1 = E;\n\nconst borderStyles = {\n black: 'rgba(0,0,0,0.4)',\n white: 'rgba(255,255,255,0.4)',\n};\nfunction normalizeTabBarStyles(borderStyle) {\n if (borderStyle && borderStyle in borderStyles) {\n return borderStyles[borderStyle];\n }\n return borderStyle;\n}\nfunction normalizeTitleColor(titleColor) {\n return titleColor === 'black' ? '#000000' : '#ffffff';\n}\nfunction resolveStringStyleItem(modeStyle, styleItem, key) {\n if (isString(styleItem) && styleItem.startsWith('@')) {\n const _key = styleItem.replace('@', '');\n let _styleItem = modeStyle[_key] || styleItem;\n switch (key) {\n case 'titleColor':\n _styleItem = normalizeTitleColor(_styleItem);\n break;\n case 'borderStyle':\n _styleItem = normalizeTabBarStyles(_styleItem);\n break;\n }\n return _styleItem;\n }\n return styleItem;\n}\nfunction normalizeStyles(pageStyle, themeConfig = {}, mode = 'light') {\n const modeStyle = themeConfig[mode];\n const styles = {};\n if (typeof modeStyle === 'undefined' || !pageStyle)\n return pageStyle;\n Object.keys(pageStyle).forEach((key) => {\n const styleItem = pageStyle[key]; // Object Array String\n const parseStyleItem = () => {\n if (isPlainObject(styleItem))\n return normalizeStyles(styleItem, themeConfig, mode);\n if (isArray(styleItem))\n return styleItem.map((item) => {\n if (isPlainObject(item))\n return normalizeStyles(item, themeConfig, mode);\n return resolveStringStyleItem(modeStyle, item);\n });\n return resolveStringStyleItem(modeStyle, styleItem, key);\n };\n styles[key] = parseStyleItem();\n });\n return styles;\n}\n\nfunction getEnvLocale() {\n const { env } = process;\n const lang = env.LC_ALL || env.LC_MESSAGES || env.LANG || env.LANGUAGE;\n return (lang && lang.replace(/[.:].*/, '')) || 'en';\n}\n\nconst isStringIntegerKey = (key) => typeof key === 'string' &&\n key !== 'NaN' &&\n key[0] !== '-' &&\n '' + parseInt(key, 10) === key;\nconst isNumberIntegerKey = (key) => typeof key === 'number' &&\n !isNaN(key) &&\n key >= 0 &&\n parseInt(key + '', 10) === key;\n/**\n * 用于替代@vue/shared的isIntegerKey,原始方法在鸿蒙arkts中会引发bug。根本原因是arkts的数组的key是数字而不是字符串。\n * 目前这个方法使用的地方都和数组有关,切记不能挪作他用。\n * @param key\n * @returns\n */\nconst isIntegerKey = (key) => isNumberIntegerKey(key) || isStringIntegerKey(key);\n\nconst GLOBALS_ALLOWED = 'Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,' +\n 'decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,' +\n 'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,' +\n 'uni';\nconst isGloballyAllowed = /*#__PURE__*/ makeMap(GLOBALS_ALLOWED);\n\nexport { ACTION_TYPE_ADD_EVENT, ACTION_TYPE_ADD_WXS_EVENT, ACTION_TYPE_CREATE, ACTION_TYPE_EVENT, ACTION_TYPE_INSERT, ACTION_TYPE_PAGE_CREATE, ACTION_TYPE_PAGE_CREATED, ACTION_TYPE_PAGE_SCROLL, ACTION_TYPE_REMOVE, ACTION_TYPE_REMOVE_ATTRIBUTE, ACTION_TYPE_REMOVE_EVENT, ACTION_TYPE_SET_ATTRIBUTE, ACTION_TYPE_SET_TEXT, ATTR_CHANGE_PREFIX, ATTR_CLASS, ATTR_INNER_HTML, ATTR_STYLE, ATTR_TEXT_CONTENT, ATTR_V_OWNER_ID, ATTR_V_RENDERJS, ATTR_V_SHOW, BACKGROUND_COLOR, BUILT_IN_TAGS, BUILT_IN_TAG_NAMES, COMPONENT_NAME_PREFIX, COMPONENT_PREFIX, COMPONENT_SELECTOR_PREFIX, DATA_RE, E$1 as Emitter, EventChannel, EventModifierFlags, I18N_JSON_DELIMITERS, JSON_PROTOCOL, LINEFEED, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, NAVBAR_HEIGHT, NODE_TYPE_COMMENT, NODE_TYPE_ELEMENT, NODE_TYPE_PAGE, NODE_TYPE_TEXT, NVUE_BUILT_IN_TAGS, NVUE_U_BUILT_IN_TAGS, OFF_HOST_THEME_CHANGE, OFF_THEME_CHANGE, ON_ADD_TO_FAVORITES, ON_APP_ENTER_BACKGROUND, ON_APP_ENTER_FOREGROUND, ON_BACK_PRESS, ON_ERROR, ON_EXIT, ON_HIDE, ON_HOST_THEME_CHANGE, ON_INIT, ON_KEYBOARD_HEIGHT_CHANGE, ON_LAST_PAGE_BACK_PRESS, ON_LAUNCH, ON_LOAD, ON_NAVIGATION_BAR_BUTTON_TAP, ON_NAVIGATION_BAR_CHANGE, ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED, ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED, ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED, ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED, ON_PAGE_NOT_FOUND, ON_PAGE_SCROLL, ON_PULL_DOWN_REFRESH, ON_REACH_BOTTOM, ON_REACH_BOTTOM_DISTANCE, ON_READY, ON_RESIZE, ON_SAVE_EXIT_STATE, ON_SHARE_APP_MESSAGE, ON_SHARE_CHAT, ON_SHARE_TIMELINE, ON_SHOW, ON_TAB_ITEM_TAP, ON_THEME_CHANGE, ON_UNHANDLE_REJECTION, ON_UNLOAD, ON_WEB_INVOKE_APP_SERVICE, ON_WXS_INVOKE_CALL_METHOD, PLUS_RE, PRIMARY_COLOR, RENDERJS_MODULES, RESPONSIVE_MIN_WIDTH, SCHEME_RE, SELECTED_COLOR, SLOT_DEFAULT_NAME, TABBAR_HEIGHT, TAGS, UNI_AD_PLUGINS, UNI_SSR, UNI_SSR_DATA, UNI_SSR_GLOBAL_DATA, UNI_SSR_STORE, UNI_SSR_TITLE, UNI_STORAGE_LOCALE, UNI_UI_CONFLICT_TAGS, UVUE_BUILT_IN_TAGS, UVUE_HARMONY_BUILT_IN_TAGS, UVUE_IOS_BUILT_IN_TAGS, UVUE_WEB_BUILT_IN_CUSTOM_ELEMENTS, UVUE_WEB_BUILT_IN_TAGS, UniBaseNode, UniCommentNode, UniElement, UniEvent, UniInputElement, UniLifecycleHooks, UniNode, UniTextAreaElement, UniTextNode, VIRTUAL_HOST_CLASS, VIRTUAL_HOST_HIDDEN, VIRTUAL_HOST_ID, VIRTUAL_HOST_STYLE, WEB_INVOKE_APPSERVICE, WXS_MODULES, WXS_PROTOCOL, addFont, addLeadingSlash, borderStyles, cache, cacheStringFunction, callOptions, createIsCustomElement, createRpx2Unit, createUniEvent, customizeEvent, debounce, decode, decodedQuery, defaultMiniProgramRpx2Unit, defaultNVueRpx2Unit, defaultRpx2Unit, dynamicSlotName, forcePatchProp, formatDateTime, formatLog, getCustomDataset, getEnvLocale, getGlobal, getLen, getValueByDataPath, initCustomDatasetOnce, invokeArrayFns, invokeCreateErrorHandler, invokeCreateVueAppHook, isAppHarmonyUVueNativeTag, isAppIOSUVueNativeTag, isAppNVueNativeTag, isAppNativeTag, isAppUVueBuiltInEasyComponent, isAppUVueNativeTag, isAppVoidTag, isBuiltInComponent, isComponentInternalInstance, isComponentTag, isGloballyAllowed, isH5CustomElement, isH5NativeTag, isIntegerKey, isMiniProgramNativeTag, isMiniProgramUVueNativeTag, isRootHook, isRootImmediateHook, isUniLifecycleHook, isUniXElement, normalizeClass, normalizeDataset, normalizeEventType, normalizeProps, normalizeStyle, normalizeStyles, normalizeTabBarStyles, normalizeTarget, normalizeTitleColor, onCreateVueApp, once, parseEventName, parseNVueDataset, parseQuery, parseUrl, passive, plusReady, removeLeadingSlash, resolveComponentInstance, resolveOwnerEl, resolveOwnerVm, sanitise, scrollTo, sortObject, stringifyQuery, updateElementStyle };\n","import { isRootHook, getValueByDataPath, isUniLifecycleHook, ON_ERROR, UniLifecycleHooks, invokeCreateErrorHandler, dynamicSlotName } from '@dcloudio/uni-shared';\nimport { NOOP, extend, isSymbol, isObject, def, hasChanged, isFunction, isArray, isPromise, camelize, capitalize, EMPTY_OBJ, remove, toHandlerKey, hasOwn, hyphenate, isReservedProp, toRawType, isString, normalizeClass, normalizeStyle, isOn, toTypeString, isMap, isIntegerKey, isSet, isPlainObject, makeMap, invokeArrayFns, isBuiltInDirective, looseToNumber, NO, EMPTY_ARR, isModelListener, toNumber, toDisplayString } from '@vue/shared';\nexport { EMPTY_OBJ, camelize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\n/**\n* @dcloudio/uni-mp-vue v3.4.21\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n\nfunction warn$2(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeEffect;\nclass ReactiveEffect {\n constructor(fn, trigger, scheduler, scope) {\n this.fn = fn;\n this.trigger = trigger;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n /**\n * @internal\n */\n this._dirtyLevel = 4;\n /**\n * @internal\n */\n this._trackId = 0;\n /**\n * @internal\n */\n this._runnings = 0;\n /**\n * @internal\n */\n this._shouldSchedule = false;\n /**\n * @internal\n */\n this._depsLength = 0;\n recordEffectScope(this, scope);\n }\n get dirty() {\n if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {\n this._dirtyLevel = 1;\n pauseTracking();\n for (let i = 0; i < this._depsLength; i++) {\n const dep = this.deps[i];\n if (dep.computed) {\n triggerComputed(dep.computed);\n if (this._dirtyLevel >= 4) {\n break;\n }\n }\n }\n if (this._dirtyLevel === 1) {\n this._dirtyLevel = 0;\n }\n resetTracking();\n }\n return this._dirtyLevel >= 4;\n }\n set dirty(v) {\n this._dirtyLevel = v ? 4 : 0;\n }\n run() {\n this._dirtyLevel = 0;\n if (!this.active) {\n return this.fn();\n }\n let lastShouldTrack = shouldTrack;\n let lastEffect = activeEffect;\n try {\n shouldTrack = true;\n activeEffect = this;\n this._runnings++;\n preCleanupEffect(this);\n return this.fn();\n } finally {\n postCleanupEffect(this);\n this._runnings--;\n activeEffect = lastEffect;\n shouldTrack = lastShouldTrack;\n }\n }\n stop() {\n var _a;\n if (this.active) {\n preCleanupEffect(this);\n postCleanupEffect(this);\n (_a = this.onStop) == null ? void 0 : _a.call(this);\n this.active = false;\n }\n }\n}\nfunction triggerComputed(computed) {\n return computed.value;\n}\nfunction preCleanupEffect(effect2) {\n effect2._trackId++;\n effect2._depsLength = 0;\n}\nfunction postCleanupEffect(effect2) {\n if (effect2.deps.length > effect2._depsLength) {\n for (let i = effect2._depsLength; i < effect2.deps.length; i++) {\n cleanupDepEffect(effect2.deps[i], effect2);\n }\n effect2.deps.length = effect2._depsLength;\n }\n}\nfunction cleanupDepEffect(dep, effect2) {\n const trackId = dep.get(effect2);\n if (trackId !== void 0 && effect2._trackId !== trackId) {\n dep.delete(effect2);\n if (dep.size === 0) {\n dep.cleanup();\n }\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn, NOOP, () => {\n if (_effect.dirty) {\n _effect.run();\n }\n });\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nlet pauseScheduleStack = 0;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction pauseScheduling() {\n pauseScheduleStack++;\n}\nfunction resetScheduling() {\n pauseScheduleStack--;\n while (!pauseScheduleStack && queueEffectSchedulers.length) {\n queueEffectSchedulers.shift()();\n }\n}\nfunction trackEffect(effect2, dep, debuggerEventExtraInfo) {\n var _a;\n if (dep.get(effect2) !== effect2._trackId) {\n dep.set(effect2, effect2._trackId);\n const oldDep = effect2.deps[effect2._depsLength];\n if (oldDep !== dep) {\n if (oldDep) {\n cleanupDepEffect(oldDep, effect2);\n }\n effect2.deps[effect2._depsLength++] = dep;\n } else {\n effect2._depsLength++;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n }\n}\nconst queueEffectSchedulers = [];\nfunction triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {\n var _a;\n pauseScheduling();\n for (const effect2 of dep.keys()) {\n let tracking;\n if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);\n effect2._dirtyLevel = dirtyLevel;\n }\n if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n effect2.trigger();\n if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {\n effect2._shouldSchedule = false;\n if (effect2.scheduler) {\n queueEffectSchedulers.push(effect2.scheduler);\n }\n }\n }\n }\n resetScheduling();\n}\n\nconst createDep = (cleanup, computed) => {\n const dep = /* @__PURE__ */ new Map();\n dep.cleanup = cleanup;\n dep.computed = computed;\n return dep;\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep(() => depsMap.delete(key)));\n }\n trackEffect(\n activeEffect,\n dep,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key\n } : void 0\n );\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || !isSymbol(key2) && key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isIntegerKey(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n pauseScheduling();\n for (const dep of deps) {\n if (dep) {\n triggerEffects(\n dep,\n 4,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n } : void 0\n );\n }\n }\n resetScheduling();\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n pauseScheduling();\n const res = toRaw(this)[key].apply(this, args);\n resetScheduling();\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the reciever is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\n true\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set$1(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn$2(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations2[method] = createIterableMethod(method, true, false);\n shallowInstrumentations2[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n warn$2(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nconst COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this.getter = getter;\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this.effect = new ReactiveEffect(\n () => getter(this._value),\n () => triggerRefValue(\n this,\n this.effect._dirtyLevel === 2 ? 2 : 3\n )\n );\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {\n triggerRefValue(self, 4);\n }\n trackRefValue(self);\n if (self.effect._dirtyLevel >= 2) {\n if (!!(process.env.NODE_ENV !== \"production\") && this._warnRecursive) {\n warn$2(COMPUTED_SIDE_EFFECT_WARN, `\n\ngetter: `, this.getter);\n }\n triggerRefValue(self, 2);\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x\n get _dirty() {\n return this.effect.dirty;\n }\n set _dirty(v) {\n this.effect.dirty = v;\n }\n // #endregion\n}\nfunction computed$1(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\n warn$2(\"Write operation failed: computed value is readonly\");\n } : NOOP;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nfunction trackRefValue(ref2) {\n var _a;\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n trackEffect(\n activeEffect,\n (_a = ref2.dep) != null ? _a : ref2.dep = createDep(\n () => ref2.dep = void 0,\n ref2 instanceof ComputedRefImpl ? ref2 : void 0\n ),\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"get\",\n key: \"value\"\n } : void 0\n );\n }\n}\nfunction triggerRefValue(ref2, dirtyLevel = 4, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n triggerEffects(\n dep,\n dirtyLevel,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n } : void 0\n );\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = void 0;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, 4, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, 4, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn$2(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn$1(msg, ...args) {\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core .\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings[type] || type : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings[type] || type;\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n console.error(err);\n } else {\n console.error(err);\n }\n } else {\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick$1(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction hasQueueJob(job) {\n return queue.indexOf(job) > -1;\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n } else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools && typeof devtools.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n // fixed by xxxxxx\n // 为 0 是 App,无 parent 是 Page 指向 App\n component.uid === 0 ? void 0 : component.parent ? component.parent.uid : 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn$1(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn$1(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn$1(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(\n event\n )}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx)\n return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction markAttrsAccessed() {\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nconst ssrContextKey = Symbol.for(\"v-scx\");\nconst useSSRContext = () => {\n {\n const ctx = inject(ssrContextKey);\n if (!ctx) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\n );\n }\n return ctx;\n }\n};\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nconst INITIAL_WATCHER_VALUE = {};\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn$1(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, {\n immediate,\n deep,\n flush,\n once,\n onTrack,\n onTrigger\n} = EMPTY_OBJ) {\n if (cb && once) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n unwatch();\n };\n }\n if (!!(process.env.NODE_ENV !== \"production\") && deep !== void 0 && typeof deep === \"number\") {\n warn$1(\n `watch() \"deep\" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.`\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn$1(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn$1(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (once !== void 0) {\n warn$1(\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n warn$1(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const instance = currentInstance;\n const reactiveGetter = (source2) => deep === true ? source2 : (\n // for deep: false, only traverse root-level properties\n traverse(source2, deep === false ? 1 : void 0)\n );\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2);\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = () => callWithErrorHandling(source, instance, 2);\n } else {\n getter = () => {\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(\n source,\n instance,\n 3,\n [onCleanup]\n );\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4);\n cleanup = effect.onStop = void 0;\n };\n };\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active || !effect.dirty) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n } else {\n effect.run();\n }\n };\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === \"sync\") {\n scheduler = job;\n } else if (flush === \"post\") {\n scheduler = () => queuePostRenderEffect$1(job, instance && instance.suspense);\n } else {\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, NOOP, scheduler);\n const scope = getCurrentScope();\n const unwatch = () => {\n effect.stop();\n if (scope) {\n remove(scope.effects, effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n if (cb) {\n if (immediate) {\n job();\n } else {\n oldValue = effect.run();\n }\n } else if (flush === \"post\") {\n queuePostRenderEffect$1(\n effect.run.bind(effect),\n instance && instance.suspense\n );\n } else {\n effect.run();\n }\n return unwatch;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const reset = setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n reset();\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, depth, currentDepth = 0, seen) {\n if (!isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n if (depth && depth > 0) {\n if (currentDepth >= depth) {\n return value;\n }\n currentDepth++;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, depth, currentDepth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, currentDepth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, currentDepth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, currentDepth, seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(currentRenderingInstance) || currentRenderingInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\n\nfunction createAppContext() {\n return {\n app: null,\n config: {\n isNativeTag: NO,\n performance: false,\n globalProperties: {},\n optionMergeStrategies: {},\n errorHandler: void 0,\n warnHandler: void 0,\n compilerOptions: {}\n },\n mixins: [],\n components: {},\n directives: {},\n provides: /* @__PURE__ */ Object.create(null),\n optionsCache: /* @__PURE__ */ new WeakMap(),\n propsCache: /* @__PURE__ */ new WeakMap(),\n emitsCache: /* @__PURE__ */ new WeakMap()\n };\n}\nlet uid$1 = 0;\nfunction createAppAPI(render, hydrate) {\n return function createApp(rootComponent, rootProps = null) {\n if (!isFunction(rootComponent)) {\n rootComponent = extend({}, rootComponent);\n }\n if (rootProps != null && !isObject(rootProps)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`root props passed to app.mount() must be an object.`);\n rootProps = null;\n }\n const context = createAppContext();\n const installedPlugins = /* @__PURE__ */ new WeakSet();\n const app = context.app = {\n _uid: uid$1++,\n _component: rootComponent,\n _props: rootProps,\n _container: null,\n _context: context,\n _instance: null,\n version,\n get config() {\n return context.config;\n },\n set config(v) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `app.config cannot be replaced. Modify individual options instead.`\n );\n }\n },\n use(plugin, ...options) {\n if (installedPlugins.has(plugin)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`Plugin has already been applied to target app.`);\n } else if (plugin && isFunction(plugin.install)) {\n installedPlugins.add(plugin);\n plugin.install(app, ...options);\n } else if (isFunction(plugin)) {\n installedPlugins.add(plugin);\n plugin(app, ...options);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `A plugin must either be a function or an object with an \"install\" function.`\n );\n }\n return app;\n },\n mixin(mixin) {\n if (__VUE_OPTIONS_API__) {\n if (!context.mixins.includes(mixin)) {\n context.mixins.push(mixin);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Mixin has already been applied to target app\" + (mixin.name ? `: ${mixin.name}` : \"\")\n );\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Mixins are only available in builds supporting Options API\");\n }\n return app;\n },\n component(name, component) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateComponentName(name, context.config);\n }\n if (!component) {\n return context.components[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.components[name]) {\n warn$1(`Component \"${name}\" has already been registered in target app.`);\n }\n context.components[name] = component;\n return app;\n },\n directive(name, directive) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateDirectiveName(name);\n }\n if (!directive) {\n return context.directives[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.directives[name]) {\n warn$1(`Directive \"${name}\" has already been registered in target app.`);\n }\n context.directives[name] = directive;\n return app;\n },\n // fixed by xxxxxx\n mount() {\n },\n // fixed by xxxxxx\n unmount() {\n },\n provide(key, value) {\n if (!!(process.env.NODE_ENV !== \"production\") && key in context.provides) {\n warn$1(\n `App already provides property with key \"${String(key)}\". It will be overwritten with the new value.`\n );\n }\n context.provides[key] = value;\n return app;\n },\n runWithContext(fn) {\n const lastApp = currentApp;\n currentApp = app;\n try {\n return fn();\n } finally {\n currentApp = lastApp;\n }\n }\n };\n return app;\n };\n}\nlet currentApp = null;\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`provide() can only be used inside setup().`);\n }\n } else {\n let provides = currentInstance.provides;\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n provides[key] = value;\n if (currentInstance.type.mpType === \"app\") {\n currentInstance.appContext.app.provide(key, value);\n }\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n const instance = currentInstance || currentRenderingInstance;\n if (instance || currentApp) {\n const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides;\n if (provides && key in provides) {\n return provides[key];\n } else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`injection \"${String(key)}\" not found.`);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`inject() can only be used inside setup() or functional components.`);\n }\n}\nfunction hasInjectionContext() {\n return !!(currentInstance || currentRenderingInstance || currentApp);\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n if (isRootHook(type)) {\n target = target.root;\n }\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(\n (ErrorTypeStrings[type] || type.replace(/^on/, \"\")).replace(/ hook$/, \"\")\n );\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (``)\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\n);\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nfunction getComponentInternalInstance(i) {\n return i;\n}\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n // fixed by xxxxxx\n $: getComponentInternalInstance,\n // fixed by xxxxxx vue-i18n 在 dev 模式,访问了 $el,故模拟一个假的\n // $el: i => i.vnode.el,\n $el: (i) => i.__$el || (i.__$el = {}),\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n i.effect.dirty = true;\n queueJob(i.update);\n }),\n // $nextTick: i => i.n || (i.n = nextTick.bind(i.proxy!)),// fixed by xxxxxx\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance, \"get\", key);\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate \r\n\r\n\r\n\r\n","import MiniProgramPage from '/Users/iuu/Developer/PHP/Work/cmgd/mini-app/pages/data/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["date","ref","uni","onLoad","onShow"],"mappings":";;;;;;;;;;;;;AA0BC,UAAM,uBAAuB,MAAM;AAClC,YAAMA,QAAO,oBAAI;AACjB,MAAAA,MAAK,SAASA,MAAK,SAAU,IAAG,CAAC;AACjC,MAAAA,MAAK,QAAQ,CAAC;AACd,aAAO,WAAWA,KAAI;AAAA,IACxB;AAGC,UAAM,yBAAyB,MAAM;AACpC,YAAMA,QAAO,oBAAI;AACjB,MAAAA,MAAK,SAASA,MAAK,SAAU,IAAG,CAAC;AACjC,MAAAA,MAAK,QAAQ,CAAC;AACd,aAAO,WAAWA,KAAI;AAAA,IACxB;AAGC,UAAM,aAAa,CAACA,UAAS;AAC5B,YAAM,OAAOA,MAAK;AAClB,YAAM,SAASA,MAAK,aAAa,GAAG,SAAQ,EAAG,SAAS,GAAG,GAAG;AAC9D,YAAM,MAAMA,MAAK,QAAS,EAAC,SAAQ,EAAG,SAAS,GAAG,GAAG;AACrD,aAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG;AAAA,IAChC;AAGC,UAAM,YAAYC,cAAAA,IAAI,qBAAoB,CAAE;AAC5C,UAAM,UAAUA,cAAAA,IAAI,uBAAsB,CAAE;AAE5C,UAAM,OAAOA,kBAAI,EAAE;AAEnB,UAAM,WAAW,CAAC,MAAM;AACvBC,oBAAY,MAAA,MAAA,OAAA,8BAAA,YAAY,CAAC;AAAA,IACzB;AACD,UAAM,WAAW,CAAC,MAAM;AACvBA,oBAAY,MAAA,MAAA,OAAA,8BAAA,YAAY,CAAC;AACzBA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK,yBAAyB,EAAE,CAAC,CAAC;AAAA,MACrC,CAAG;AAAA,IACD;AAIDC,kBAAM,OAAC,CAAC,YAAY;AAAA,IAErB,CAAE;AAMDC,kBAAAA,OAAO,MAAM;AAAA,IASd,CAAE;;;;;;;;;;;;;;;;;;ACnFF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/data/list.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/data/list.js.map
new file mode 100644
index 0000000..64c7d09
--- /dev/null
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/data/list.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"list.js","sources":["pages/data/list.vue?type=page"],"sourcesContent":["import MiniProgramPage from '/Users/iuu/Developer/PHP/Work/cmgd/mini-app/pages/data/list.vue'\nwx.createPage(MiniProgramPage)"],"names":[],"mappings":";;;;;;;AACA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/index.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/index.js.map
index 563070e..e7721e0 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/index.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sources":["pages/mine/index.vue","pages/mine/index.vue?type=page"],"sourcesContent":["\r\n\t\r\n\t\t 0\">\r\n\t\t\t\r\n\t\t\t\t用户\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{{ staffName }}\r\n\t\t\t\tUID:{{ uid }}\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from '/Users/iuu/Developer/PHP/Work/cmgd/mini-app/pages/mine/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","onLoad","uni","onShow"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAgDC,UAAM,MAAMA,kBAAI,CAAC;AACjB,UAAM,YAAYA,kBAAI,EAAE;AAKxBC,kBAAAA,OAAO,aAAW;AACjB;IACF,CAAE;AAOD,UAAM,OAAO,MAAM;AACFC,oBAAG,MAAC,eAAe,WAAW;AAC9C,UAAI,aAAaA,cAAAA,MAAI,eAAe,YAAY;AACrCA,oBAAG,MAAC,eAAe,MAAM;AACpC,UAAI,UAAUA,cAAAA,MAAI,eAAe,KAAK;AACtCA,oBAAA,MAAA,MAAA,OAAA,8BAAY,cAAc,UAAU;AACpC,UAAI,QAAQ;AACZ,gBAAU,QAAQ;AAAA,IAElB;AAKDC,kBAAAA,OAAO,MAAM;AACZD,oBAAAA,MAAY,MAAA,OAAA,8BAAA,MAAM;AAClB;IACF,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/EF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"index.js","sources":["pages/mine/index.vue","pages/mine/index.vue?type=page"],"sourcesContent":["\r\n\t\r\n\t\t 0\">\r\n\t\t\t\r\n\t\t\t\t用户\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{{ staffName }}\r\n\t\t\t\tUID:{{ uid }}\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from '/Users/iuu/Developer/PHP/Work/cmgd/mini-app/pages/mine/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","onLoad","uni","onShow"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAgDC,UAAM,MAAMA,kBAAI,CAAC;AACjB,UAAM,YAAYA,kBAAI,EAAE;AAKxBC,kBAAAA,OAAO,aAAW;AACjB;IACF,CAAE;AAOD,UAAM,OAAO,MAAM;AACFC,oBAAG,MAAC,eAAe,WAAW;AAC9C,UAAI,aAAaA,cAAAA,MAAI,eAAe,YAAY;AACrCA,oBAAG,MAAC,eAAe,MAAM;AACpC,UAAI,UAAUA,cAAAA,MAAI,eAAe,KAAK;AACtCA,oBAAA,MAAA,MAAA,OAAA,8BAAY,cAAc,UAAU;AACpC,UAAI,QAAQ;AACZ,gBAAU,QAAQ;AAAA,IAElB;AAKDC,kBAAAA,OAAO,MAAM;AACZD,oBAAAA,MAAY,MAAA,OAAA,8BAAA,MAAM;AAClB;IACF,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/EF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/todo/todoList.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/todo/todoList.js.map
index 18ee717..cbec13e 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/todo/todoList.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/todo/todoList.js.map
@@ -1 +1 @@
-{"version":3,"file":"todoList.js","sources":["pages/todo/todoList.vue","pages/todo/todoList.vue?type=page"],"sourcesContent":["\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t添加待办事项\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{{item.content}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t记录人: {{tempTodo?.user?.staff_name}} \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t添加时间: {{tempTodo.create_time}}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\r\n\t\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from '/Users/iuu/Developer/PHP/Work/cmgd/mini-app/pages/todo/todoList.vue'\nwx.createPage(MiniProgramPage)"],"names":["reactive","ref","uni","fetchEditTodo","fetchTodoList","onShow","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;AAmFC,UAAM,WAAWA,cAAQ,SAAC,EAAE;AAE5B,UAAM,mBAAmBC,cAAG,IAAC,KAAK;AAClC,UAAM,kBAAkB,CAAC,SAAS;AACjCC,oBAAY,MAAA,MAAA,OAAA,iCAAA,QAAQ,IAAI;AACxB,aAAO,OAAO,UAAU,IAAI;AAC5B,uBAAiB,QAAQ;AAAA,IACzB;AACD,UAAM,mBAAmB,MAAM;AAC9B,aAAO,OAAO,UAAU,EAAE;AAC1B,uBAAiB,QAAQ;AACzBA,oBAAAA,oDAAY,IAAI;AAAA,IAClB;AAGC,UAAM,SAASD,kBAAI,IAAI;AACvB,UAAM,WAAWA,kBAAI,CAAA,CAAE;AAGvB,UAAM,SAAS,CAAC,IAAI,WAAW;AAC9B,YAAM,SAAS;AAAA,QACd;AAAA,QACA;AAAA,MACA;AACDC,oBAAAA,MAAY,MAAA,OAAA,kCAAA,MAAM;AAClBC,gBAAAA,cAAc,MAAM,EAAE,KAAK,SAAO;AACjCD,sBAAAA,MAAI,UAAU;AAAA,UACb,OAAO;AAAA,UACP,MAAM;AAAA,QACV,CAAI;AACD,eAAO,MAAM;MAChB,CAAG,EAAE,MAAM,SAAO;AACf,eAAO,MAAM;MAChB,CAAG;AAAA,IACH;AAKC,UAAM,YAAY,CAAC,QAAQ,aAAa;AACvC,YAAM,SAAS;AAAA,QACd;AAAA,QACA,MAAM;AAAA,MAEN;AACDA,oBAAAA,MAAY,MAAA,OAAA,kCAAA,MAAM;AAClBE,gBAAAA,cAAc,MAAM,EAAE,KAAK,SAAO;AACjCF,sBAAY,MAAA,MAAA,OAAA,kCAAA,SAAS,IAAI,IAAI;AAC7B,eAAO,MAAM,SAAS,IAAI,IAAI;AAAA,MACjC,CAAG,EAAE,MAAM,SAAO;AACf,eAAO,MAAM,SAAS,KAAK;AAAA,MAC9B,CAAG;AAAA,IACH;AAKC,UAAM,OAAO,MAAM;AAClBA,oBAAAA,MAAA,MAAA,OAAA,kCAAY,SAAS;AAAA,IACrB;AAEDG,kBAAAA,OAAO,MAAM;AACZH,oBAAAA,MAAA,MAAA,OAAA,kCAAY,WAAW;AACvBA,oBAAA,MAAA,MAAA,OAAA,kCAAY,gBAAgB,OAAO,KAAK;AACxC,UAAI,OAAO,OAAO;AACjB,eAAO,MAAM;MACb;AAAA,IACH,CAAE;AAGDI,kBAAAA,UAAU,MAAM;AACf;IACF,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1JF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"todoList.js","sources":["pages/todo/todoList.vue","pages/todo/todoList.vue?type=page"],"sourcesContent":["\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t添加待办事项\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{{item.content}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t记录人: {{tempTodo?.user?.staff_name}} \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t添加时间: {{tempTodo.create_time}}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\r\n\t\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from '/Users/iuu/Developer/PHP/Work/cmgd/mini-app/pages/todo/todoList.vue'\nwx.createPage(MiniProgramPage)"],"names":["reactive","ref","uni","fetchEditTodo","fetchTodoList","onShow","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;AAmFC,UAAM,WAAWA,cAAQ,SAAC,EAAE;AAE5B,UAAM,mBAAmBC,cAAG,IAAC,KAAK;AAClC,UAAM,kBAAkB,CAAC,SAAS;AACjCC,oBAAY,MAAA,MAAA,OAAA,iCAAA,QAAQ,IAAI;AACxB,aAAO,OAAO,UAAU,IAAI;AAC5B,uBAAiB,QAAQ;AAAA,IACzB;AACD,UAAM,mBAAmB,MAAM;AAC9B,aAAO,OAAO,UAAU,EAAE;AAC1B,uBAAiB,QAAQ;AACzBA,oBAAAA,oDAAY,IAAI;AAAA,IAClB;AAGC,UAAM,SAASD,kBAAI,IAAI;AACvB,UAAM,WAAWA,kBAAI,CAAA,CAAE;AAGvB,UAAM,SAAS,CAAC,IAAI,WAAW;AAC9B,YAAM,SAAS;AAAA,QACd;AAAA,QACA;AAAA,MACA;AACDC,oBAAAA,MAAY,MAAA,OAAA,kCAAA,MAAM;AAClBC,gBAAAA,cAAc,MAAM,EAAE,KAAK,SAAO;AACjCD,sBAAAA,MAAI,UAAU;AAAA,UACb,OAAO;AAAA,UACP,MAAM;AAAA,QACV,CAAI;AACD,eAAO,MAAM;MAChB,CAAG,EAAE,MAAM,SAAO;AACf,eAAO,MAAM;MAChB,CAAG;AAAA,IACH;AAKC,UAAM,YAAY,CAAC,QAAQ,aAAa;AACvC,YAAM,SAAS;AAAA,QACd;AAAA,QACA,MAAM;AAAA,MAEN;AACDA,oBAAAA,MAAY,MAAA,OAAA,kCAAA,MAAM;AAClBE,gBAAAA,cAAc,MAAM,EAAE,KAAK,SAAO;AACjCF,sBAAY,MAAA,MAAA,OAAA,kCAAA,SAAS,IAAI,IAAI;AAC7B,eAAO,MAAM,SAAS,IAAI,IAAI;AAAA,MACjC,CAAG,EAAE,MAAM,SAAO;AACf,eAAO,MAAM,SAAS,KAAK;AAAA,MAC9B,CAAG;AAAA,IACH;AAKC,UAAM,OAAO,MAAM;AAClBA,oBAAAA,MAAA,MAAA,OAAA,kCAAY,SAAS;AAAA,IACrB;AAEDG,kBAAAA,OAAO,MAAM;AACZH,oBAAAA,MAAA,MAAA,OAAA,kCAAY,WAAW;AACvBA,oBAAA,MAAA,MAAA,OAAA,kCAAY,gBAAgB,OAAO,KAAK;AACxC,UAAI,OAAO,OAAO;AACjB,eAAO,MAAM;MACb;AAAA,IACH,CAAE;AAGDI,kBAAAA,UAAU,MAAM;AACf;IACF,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1JF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/_constants/event.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/_constants/event.js.map
index 332067b..1addafd 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/_constants/event.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/_constants/event.js.map
@@ -1 +1 @@
-{"version":3,"file":"event.js","sources":["uni_modules/nutui-uni/components/_constants/event.ts"],"sourcesContent":["export const UPDATE_MODEL_EVENT = 'update:modelValue'\nexport const UPDATE_VISIBLE_EVENT = 'update:visible'\nexport const CHANGE_EVENT = 'change'\nexport const INPUT_EVENT = 'input'\nexport const CLICK_EVENT = 'click'\nexport const OPEN_EVENT = 'open'\nexport const CLOSE_EVENT = 'close'\nexport const OPENED_EVENT = 'opened'\nexport const CLOSED_EVENT = 'closed'\nexport const FOCUS_EVENT = 'focus'\nexport const BLUR_EVENT = 'blur'\nexport const CONFIRM_EVENT = 'confirm'\nexport const SEARCH_EVENT = 'search'\nexport const CLEAR_EVENT = 'clear'\nexport const CANCEL_EVENT = 'cancel'\nexport const CHOOSE_EVENT = 'choose'\nexport const SELECT_EVENT = 'select'\nexport const SELECTED_EVENT = 'selected'\n"],"names":[],"mappings":";AAAO,MAAM,qBAAqB;AAC3B,MAAM,uBAAuB;AAC7B,MAAM,eAAe;AACrB,MAAM,cAAc;AACpB,MAAM,cAAc;AACpB,MAAM,aAAa;AACnB,MAAM,cAAc;AACpB,MAAM,eAAe;AACrB,MAAM,eAAe;AACrB,MAAM,cAAc;AACpB,MAAM,aAAa;AACnB,MAAM,gBAAgB;AAEtB,MAAM,cAAc;AACpB,MAAM,eAAe;;;;;;;;;;;;;;;"}
\ No newline at end of file
+{"version":3,"file":"event.js","sources":["uni_modules/nutui-uni/components/_constants/event.ts"],"sourcesContent":["export const UPDATE_MODEL_EVENT = 'update:modelValue'\nexport const UPDATE_VISIBLE_EVENT = 'update:visible'\nexport const CHANGE_EVENT = 'change'\nexport const INPUT_EVENT = 'input'\nexport const CLICK_EVENT = 'click'\nexport const OPEN_EVENT = 'open'\nexport const CLOSE_EVENT = 'close'\nexport const OPENED_EVENT = 'opened'\nexport const CLOSED_EVENT = 'closed'\nexport const FOCUS_EVENT = 'focus'\nexport const BLUR_EVENT = 'blur'\nexport const CONFIRM_EVENT = 'confirm'\nexport const SEARCH_EVENT = 'search'\nexport const CLEAR_EVENT = 'clear'\nexport const CANCEL_EVENT = 'cancel'\nexport const CHOOSE_EVENT = 'choose'\nexport const SELECT_EVENT = 'select'\nexport const SELECTED_EVENT = 'selected'\n"],"names":[],"mappings":";AAAO,MAAM,qBAAqB;AAC3B,MAAM,uBAAuB;AAC7B,MAAM,eAAe;AACrB,MAAM,cAAc;AACpB,MAAM,cAAc;AACpB,MAAM,aAAa;AACnB,MAAM,cAAc;AACpB,MAAM,eAAe;AACrB,MAAM,eAAe;AACrB,MAAM,cAAc;AACpB,MAAM,aAAa;AACnB,MAAM,gBAAgB;AAEtB,MAAM,cAAc;AACpB,MAAM,eAAe;AACrB,MAAM,eAAe;AACrB,MAAM,eAAe;;;;;;;;;;;;;;;;;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/_utils/date.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/_utils/date.js.map
index a1c7001..c15de73 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/_utils/date.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/_utils/date.js.map
@@ -1 +1 @@
-{"version":3,"file":"date.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
\ No newline at end of file
+{"version":3,"file":"date.js","sources":["uni_modules/nutui-uni/components/_utils/date.ts"],"sourcesContent":["/**\n * 时间戳转换 或 获取当前时间的时间戳\n */\nexport function getTimeStamp(timeStr?: string | number) {\n if (!timeStr)\n return Date.now()\n let t = timeStr\n t = (t as number > 0) ? +t : t.toString().replace(/-/g, '/')\n return new Date(t).getTime()\n}\n\n/**\n * 是否为闫年\n * @return {Boolse} true|false\n */\nexport function isLeapYear(y: number): boolean {\n return (y % 4 === 0 && y % 100 !== 0) || y % 400 === 0\n}\n\n/**\n * 返回星期数\n * @return {string}\n */\nexport function getWhatDay(year: number, month: number, day: number): string {\n const date = new Date(`${year}/${month}/${day}`)\n const index = date.getDay()\n const dayNames = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']\n return dayNames[index]\n}\n\n/**\n * 返回星期数\n * @return {number}\n */\nexport function getMonthPreDay(year: number, month: number): number {\n const date = new Date(`${year}/${month}/01`)\n let day = date.getDay()\n if (day === 0)\n day = 7\n\n return day\n}\n\n/**\n * 返回月份天数\n * @return {number}\n */\nexport function getMonthDays(year: string, month: string): number {\n if (month.startsWith('0'))\n month = month.split('')[1]\n\n return ([0, 31, isLeapYear(Number(year)) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] as number[])[\n month as any\n ]\n}\n\n/**\n * 补齐数字位数\n * @return {string}\n */\nexport function getNumTwoBit(n: number): string {\n n = Number(n)\n return (n > 9 ? '' : '0') + n\n}\n\n/**\n * 日期对象转成字符串\n * @return {string}\n */\nexport function date2Str(date: Date, split?: string): string {\n split = split || '-'\n const y = date.getFullYear()\n const m = getNumTwoBit(date.getMonth() + 1)\n const d = getNumTwoBit(date.getDate())\n return [y, m, d].join(split)\n}\n\n/**\n * 返回日期格式字符串\n * @param i 0返回今天的日期、1返回明天的日期,2返回后天得日期,依次类推\n * @return {string} '2014-12-31'\n */\nexport function getDay(i: number): string {\n i = i || 0\n let date = new Date()\n const diff = i * (1000 * 60 * 60 * 24)\n date = new Date(date.getTime() + diff)\n return date2Str(date)\n}\n\n/**\n * 时间比较\n * @return {boolean}\n */\nexport function compareDate(date1: string, date2: string): boolean {\n const startTime = new Date(date1.replace('-', '/').replace('-', '/'))\n const endTime = new Date(date2.replace('-', '/').replace('-', '/'))\n if (startTime >= endTime)\n return false\n\n return true\n}\n\n/**\n * 时间是否相等\n * @return {boolean}\n */\nexport function isEqual(date1: string, date2: string): boolean {\n const startTime = new Date(date1).getTime()\n const endTime = new Date(date2).getTime()\n if (startTime === endTime)\n return true\n\n return false\n}\nexport function getMonthWeek(year: string, month: string, date: string, firstDayOfWeek = 0): number {\n const dateNow = new Date(Number(year), Number.parseInt(month) - 1, Number(date))\n let w = dateNow.getDay() // 星期数\n const d = dateNow.getDate()\n let remainder = 6 - w\n if (firstDayOfWeek !== 0) {\n w = w === 0 ? 7 : w\n remainder = 7 - w\n }\n return Math.ceil((d + remainder) / 7)\n}\nexport function getYearWeek(year: string, month: string, date: string): number {\n const dateNow = new Date(Number(year), Number.parseInt(month) - 1, Number(date))\n const dateFirst = new Date(Number(year), 0, 1)\n const dataNumber = Math.round((dateNow.valueOf() - dateFirst.valueOf()) / 86400000)\n return Math.ceil((dataNumber + (dateFirst.getDay() + 1 - 1)) / 7)\n}\nexport function getWeekDate(year: string, month: string, date: string, firstDayOfWeek = 0): string[] {\n const dateNow = new Date(Number(year), Number.parseInt(month) - 1, Number(date))\n const nowTime = dateNow.getTime()\n let day = dateNow.getDay()\n if (firstDayOfWeek === 0) {\n const oneDayTime = 24 * 60 * 60 * 1000\n // 显示周日\n const SundayTime = nowTime - day * oneDayTime // 本周的周日\n // 显示周六\n const SaturdayTime = nowTime + (6 - day) * oneDayTime // 本周的周六\n\n const sunday = date2Str(new Date(SundayTime))\n const saturday = date2Str(new Date(SaturdayTime))\n return [sunday, saturday]\n }\n else {\n day = day === 0 ? 7 : day\n const oneDayTime = 24 * 60 * 60 * 1000\n // 显示周一\n const MondayTime = nowTime - (day - 1) * oneDayTime // 本周的周一\n // 显示周日\n const SundayTime = nowTime + (7 - day) * oneDayTime // 本周的周日\n\n const monday = date2Str(new Date(MondayTime))\n const sunday = date2Str(new Date(SundayTime))\n return [monday, sunday]\n }\n}\nexport function formatResultDate(date: string) {\n const days = [...date.split('-')]\n days[2] = getNumTwoBit(Number(days[2]))\n days[3] = `${days[0]}-${days[1]}-${days[2]}`\n days[4] = getWhatDay(+days[0], +days[1], +days[2])\n return days\n}\n"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/_utils/raf.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/_utils/raf.js.map
index d415c7b..9fa9d1f 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/_utils/raf.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/_utils/raf.js.map
@@ -1 +1 @@
-{"version":3,"file":"raf.js","sources":["uni_modules/nutui-uni/components/_utils/raf.ts"],"sourcesContent":["const _window = window as any\n\nexport const inBrowser = typeof window !== 'undefined'\n\nfunction requestAniFrame() {\n if (typeof _window !== 'undefined') {\n return (\n _window.requestAnimationFrame\n || _window.webkitRequestAnimationFrame\n || function (callback: () => void) {\n _window.setTimeout(callback, 1000 / 60)\n }\n )\n }\n else {\n return function (callback: () => void) {\n setTimeout(callback, 1000 / 60)\n }\n }\n}\n\nexport function cancelRaf(id: number) {\n if (inBrowser)\n cancelAnimationFrame(id)\n\n else\n clearTimeout(id)\n}\n\nexport default requestAniFrame()\n"],"names":[],"mappings":";AAAA,MAAM,UAAU;AAIhB,SAAS,kBAAkB;AACrB,MAAA,OAAO,YAAY,aAAa;AAClC,WACE,QAAQ,yBACL,QAAQ,+BACR,SAAU,UAAsB;AACzB,cAAA,WAAW,UAAU,MAAO,EAAE;AAAA,IAAA;AAAA,EACxC,OAGC;AACH,WAAO,SAAU,UAAsB;AAC1B,iBAAA,UAAU,MAAO,EAAE;AAAA,IAAA;AAAA,EAElC;AACF;AAUA,MAAA,MAAe,gBAAgB;;"}
\ No newline at end of file
+{"version":3,"file":"raf.js","sources":["uni_modules/nutui-uni/components/_utils/raf.ts"],"sourcesContent":["const _window = window as any\n\nexport const inBrowser = typeof window !== 'undefined'\n\nfunction requestAniFrame() {\n if (typeof _window !== 'undefined') {\n return (\n _window.requestAnimationFrame\n || _window.webkitRequestAnimationFrame\n || function (callback: () => void) {\n _window.setTimeout(callback, 1000 / 60)\n }\n )\n }\n else {\n return function (callback: () => void) {\n setTimeout(callback, 1000 / 60)\n }\n }\n}\n\nexport function cancelRaf(id: number) {\n if (inBrowser)\n cancelAnimationFrame(id)\n\n else\n clearTimeout(id)\n}\n\nexport default requestAniFrame()\n"],"names":[],"mappings":";AAAA,MAAM,UAAU;AAIhB,SAAS,kBAAkB;AACrB,MAAA,OAAO,YAAY,aAAa;AAClC,WACE,QAAQ,yBACL,QAAQ,+BACR,SAAU,UAAsB;AACzB,cAAA,WAAW,UAAU,MAAO,EAAE;AAAA,IAAA;AAAA,EACxC,OAGC;AACH,WAAO,SAAU,UAAsB;AAC1B,iBAAA,UAAU,MAAO,EAAE;AAAA,IAAA;AAAA,EAElC;AACF;AAUA,MAAA,oBAAe,gBAAgB;;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.js.map
new file mode 100644
index 0000000..9a993ea
--- /dev/null
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"calendar.js","sources":["uni_modules/nutui-uni/components/calendar/calendar.ts","uni_modules/nutui-uni/components/calendar/calendar.vue","/Users/iuu/Developer/PHP/Work/cmgd/mini-app/uni_modules/nutui-uni/components/calendar/calendar.vue?type=component"],"sourcesContent":["import type { ExtractPropTypes, PropType, StyleValue } from 'vue'\nimport {\n CHOOSE_EVENT,\n CLOSE_EVENT,\n CLOSED_EVENT,\n OPEN_EVENT,\n OPENED_EVENT,\n SELECT_EVENT,\n UPDATE_VISIBLE_EVENT,\n} from '../_constants'\nimport { commonProps, getDay, makeNumberProp, makeStringProp, truthProp } from '../_utils'\nimport { popupProps } from '../popup/popup'\n\nexport const calendarProps = {\n ...popupProps,\n ...commonProps,\n /**\n * @description 是否可见\n */\n visible: Boolean,\n /**\n * @description 类型,日期单选 `one`,区间选择 `range`,日期多选 `multiple`,周选择 `week`\n */\n type: makeStringProp<'one' | 'range' | 'multiple' | 'week'>('one'),\n /**\n * @description 是否弹窗状态展示\n */\n poppable: truthProp,\n /**\n * @description 自动回填\n */\n isAutoBackFill: Boolean,\n /**\n * @description 显示标题\n */\n title: makeStringProp('日期选择'),\n /**\n * @description 默认值,单个日期选择为 `string`,其他为 `string[]`\n */\n defaultValue: {\n type: [String, Array] as PropType,\n },\n /**\n * @description 开始日期\n */\n startDate: makeStringProp(getDay(0)),\n /**\n * @description 结束日期\n */\n endDate: makeStringProp(getDay(365)),\n /**\n * @description 范围选择,开始信息文案\n */\n startText: makeStringProp('开始'),\n /**\n * @description 范围选择,结束信息文案\n */\n endText: makeStringProp('结束'),\n /**\n * @description 底部确认按钮文案\n */\n confirmText: makeStringProp('确认'),\n /**\n * @description 是否展示今天标记\n */\n showToday: truthProp,\n /**\n * @description 是否在展示日历标题\n */\n showTitle: truthProp,\n /**\n * @description 是否展示日期标题\n */\n showSubTitle: truthProp,\n /**\n * @description 是否启动滚动动画\n */\n toDateAnimation: truthProp,\n /**\n * @description 设置周起始日\n */\n firstDayOfWeek: makeNumberProp(0),\n /**\n * @description 一个用来判断该日期是否被禁用的函数,接受一个 `年 - 月 - 日` 作为参数。 应该返回一个 Boolean 值。\n * @default undefined\n */\n disabledDate: Function,\n /**\n * @description 是否使用 footer 插槽,如果使用,此值必须为 true\n */\n footerSlot: Boolean,\n /**\n * @description 是否使用 btn 插槽,如果使用,此值必须为 true\n */\n btnSlot: Boolean,\n /**\n * @description 自定义弹窗样式\n */\n popStyle: {\n type: [String, Object, Array] as PropType,\n default: '',\n },\n /**\n * @description 遮罩显示时的背景是否锁定\n */\n lockScroll: truthProp,\n}\n\nexport type CalendarProps = ExtractPropTypes\n\n/* eslint-disable unused-imports/no-unused-vars */\nexport const calendarEmits = {\n [UPDATE_VISIBLE_EVENT]: (value: boolean) => true,\n [CHOOSE_EVENT]: (value: string | object) => true,\n [SELECT_EVENT]: (value: any) => true,\n clickCloseIcon: () => true,\n clickOverlay: () => true,\n [OPEN_EVENT]: () => true,\n [OPENED_EVENT]: () => true,\n [CLOSE_EVENT]: () => true,\n [CLOSED_EVENT]: () => true,\n}\n/* eslint-enable unused-imports/no-unused-vars */\n\nexport type CalendarEmits = typeof calendarEmits\n","\n\n\n\n\n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n \n \n \n\n\n\n","import Component from '/Users/iuu/Developer/PHP/Work/cmgd/mini-app/uni_modules/nutui-uni/components/calendar/calendar.vue'\nwx.createComponent(Component)"],"names":["popupProps","commonProps","makeStringProp","truthProp","getDay","makeNumberProp","UPDATE_VISIBLE_EVENT","CHOOSE_EVENT","SELECT_EVENT","OPEN_EVENT","OPENED_EVENT","CLOSE_EVENT","CLOSED_EVENT","PREFIX","defineComponent","useSlots","computed","getMainClass","ref","Component"],"mappings":"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"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.js.map
new file mode 100644
index 0000000..a47132d
--- /dev/null
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"calendaritem.js","sources":["uni_modules/nutui-uni/components/calendaritem/calendaritem.ts","uni_modules/nutui-uni/components/calendaritem/calendaritem.vue","/Users/iuu/Developer/PHP/Work/cmgd/mini-app/uni_modules/nutui-uni/components/calendaritem/calendaritem.vue?type=component"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\nimport { CHOOSE_EVENT, SELECT_EVENT } from '../_constants'\nimport { commonProps, getDay, makeNumberProp, makeStringProp, truthProp } from '../_utils'\n\nexport const calendaritemProps = {\n ...commonProps,\n /**\n * @description 是否可见\n */\n visible: Boolean,\n /**\n * @description 类型,日期单选 `one`,区间选择 `range`,日期多选 `multiple`,周选择 `week`\n */\n type: makeStringProp<'one' | 'range' | 'multiple' | 'week'>('one'),\n /**\n * @description 是否弹窗状态展示\n */\n poppable: truthProp,\n /**\n * @description 自动回填\n */\n isAutoBackFill: Boolean,\n /**\n * @description 显示标题\n */\n title: makeStringProp('日期选择'),\n /**\n * @description 默认值,单个日期选择为 `string`,其他为 `string[]`\n */\n defaultValue: {\n type: [String, Array],\n },\n /**\n * @description 开始日期\n */\n startDate: makeStringProp(getDay(0)),\n /**\n * @description 结束日期\n */\n endDate: makeStringProp(getDay(365)),\n /**\n * @description 范围选择,开始信息文案\n */\n startText: makeStringProp('开始'),\n /**\n * @description 范围选择,结束信息文案\n */\n endText: makeStringProp('结束'),\n /**\n * @description 底部确认按钮文案\n */\n confirmText: makeStringProp('确认'),\n /**\n * @description 是否展示今天标记\n */\n showToday: truthProp,\n /**\n * @description 是否在展示日历标题\n */\n showTitle: truthProp,\n /**\n * @description 是否展示日期标题\n */\n showSubTitle: truthProp,\n /**\n * @description 是否启动滚动动画\n */\n toDateAnimation: truthProp,\n /**\n * @description 设置周起始日\n */\n firstDayOfWeek: makeNumberProp(0),\n /**\n * @description 一个用来判断该日期是否被禁用的函数,接受一个 `年 - 月 - 日` 作为参数。 应该返回一个 Boolean 值。\n * @default undefined\n */\n disabledDate: Function,\n /**\n * @description 是否使用 footer 插槽,如果使用,此值必须为 true\n */\n footerSlot: Boolean,\n /**\n * @description 是否使用 btn 插槽,如果使用,此值必须为 true\n */\n btnSlot: Boolean,\n}\n\nexport type CalendarItemProps = ExtractPropTypes\n\n/* eslint-disable unused-imports/no-unused-vars */\nexport const calendaritemEmits = {\n [CHOOSE_EVENT]: (value: string | object) => true,\n [SELECT_EVENT]: (value: any) => true,\n update: () => true,\n close: () => true,\n}\n/* eslint-enable unused-imports/no-unused-vars */\n\nexport type CalendarItemEmits = typeof calendaritemEmits\n","\n\n\n\n\n \n \n\n \n \n \n \n \n {{ month.title }}\n \n\n \n \n \n \n \n \n\n {{ day.type === 'curr' ? day.day : '' }}\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n {{ translate('today') }}\n \n\n\n \n {{ props.startText || translate('start') }}\n \n\n \n {{ props.endText || translate('end') }}\n \n \n \n \n \n \n \n \n \n\n \n \n\n\n\n","import Component from '/Users/iuu/Developer/PHP/Work/cmgd/mini-app/uni_modules/nutui-uni/components/calendaritem/calendaritem.vue'\nwx.createComponent(Component)"],"names":["commonProps","makeStringProp","truthProp","getDay","makeNumberProp","CHOOSE_EVENT","SELECT_EVENT","defineComponent","PREFIX","useSlots","useTranslate","reactive","computed","getMainClass","ref","isEqual","getNumTwoBit","compareDate","getWhatDay","getWeekDate","formatResultDate","getMonthWeek","getYearWeek","getMonthDays","months","getMonthPreDay","isH5","current","item","requestAniFrame","date2Str","watch","onMounted","uni","Component"],"mappings":"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"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/tabs/tabs.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/tabs/tabs.js.map
index 3278dc4..25c2e1b 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/tabs/tabs.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/nutui-uni/components/tabs/tabs.js.map
@@ -1 +1 @@
-{"version":3,"file":"tabs.js","sources":["uni_modules/nutui-uni/components/tabs/tabs.vue","/Users/iuu/Developer/PHP/Work/cmgd/mini-app/uni_modules/nutui-uni/components/tabs/tabs.vue?type=component"],"sourcesContent":["\n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n {{ item.title }}\n \n \n \n \n \n \n \n \n \n \n\n\n\n","import Component from '/Users/iuu/Developer/PHP/Work/cmgd/mini-app/uni_modules/nutui-uni/components/tabs/tabs.vue'\nwx.createComponent(Component)"],"names":["PREFIX","defineComponent","getCurrentInstance","useSelectorQuery","getRandomId","ref","useProvide","TAB_KEY","computed","Title","TypeOfFun","raf","nextTick","watch","onMounted","onActivated","UPDATE_MODEL_EVENT","CHANGE_EVENT","CLICK_EVENT","useTabContentTouch","useRect","pxCheck","getMainClass","Component"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"tabs.js","sources":["uni_modules/nutui-uni/components/tabs/tabs.vue","/Users/iuu/Developer/PHP/Work/cmgd/mini-app/uni_modules/nutui-uni/components/tabs/tabs.vue?type=component"],"sourcesContent":["\n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n {{ item.title }}\n \n \n \n \n \n \n \n \n \n \n\n\n\n","import Component from '/Users/iuu/Developer/PHP/Work/cmgd/mini-app/uni_modules/nutui-uni/components/tabs/tabs.vue'\nwx.createComponent(Component)"],"names":["PREFIX","defineComponent","getCurrentInstance","useSelectorQuery","getRandomId","ref","useProvide","TAB_KEY","computed","Title","TypeOfFun","raf","nextTick","watch","onMounted","onActivated","UPDATE_MODEL_EVENT","CHANGE_EVENT","CLICK_EVENT","useTabContentTouch","useRect","pxCheck","getMainClass","Component"],"mappings":"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"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/api/config.js b/unpackage/dist/dev/mp-weixin/api/config.js
deleted file mode 100644
index b24cc4a..0000000
--- a/unpackage/dist/dev/mp-weixin/api/config.js
+++ /dev/null
@@ -1,10 +0,0 @@
-"use strict";
-const api_request = require("./request.js");
-function fetchGetConfig() {
- return api_request.request({
- url: "/config/get"
- // id : number
- });
-}
-exports.fetchGetConfig = fetchGetConfig;
-//# sourceMappingURL=../../.sourcemap/mp-weixin/api/config.js.map
diff --git a/unpackage/dist/dev/mp-weixin/api/goods.js b/unpackage/dist/dev/mp-weixin/api/goods.js
deleted file mode 100644
index c618fd5..0000000
--- a/unpackage/dist/dev/mp-weixin/api/goods.js
+++ /dev/null
@@ -1,10 +0,0 @@
-"use strict";
-const api_request = require("./request.js");
-function fetchGoodsDetail(id) {
- return api_request.request({
- url: "/goods/detail",
- data: { goods_id: id }
- });
-}
-exports.fetchGoodsDetail = fetchGoodsDetail;
-//# sourceMappingURL=../../.sourcemap/mp-weixin/api/goods.js.map
diff --git a/unpackage/dist/dev/mp-weixin/api/house_goods.js b/unpackage/dist/dev/mp-weixin/api/house_goods.js
deleted file mode 100644
index a3cc76b..0000000
--- a/unpackage/dist/dev/mp-weixin/api/house_goods.js
+++ /dev/null
@@ -1,17 +0,0 @@
-"use strict";
-require("../common/vendor.js");
-const api_house_request = require("./house_request.js");
-function houseFetchGoodsDetail(id) {
- return api_house_request.houseRequest({
- url: "/store.goods/detail",
- data: { id }
- });
-}
-function houseFetchCartGoodsIds() {
- return api_house_request.houseRequest({
- url: "/store.goods/cartGoodsIds"
- });
-}
-exports.houseFetchCartGoodsIds = houseFetchCartGoodsIds;
-exports.houseFetchGoodsDetail = houseFetchGoodsDetail;
-//# sourceMappingURL=../../.sourcemap/mp-weixin/api/house_goods.js.map
diff --git a/unpackage/dist/dev/mp-weixin/api/house_order.js b/unpackage/dist/dev/mp-weixin/api/house_order.js
deleted file mode 100644
index 7b922c7..0000000
--- a/unpackage/dist/dev/mp-weixin/api/house_order.js
+++ /dev/null
@@ -1,49 +0,0 @@
-"use strict";
-const common_vendor = require("../common/vendor.js");
-const config = require("../config.js");
-const api_house_request = require("./house_request.js");
-function houseFetchCheckGoods(form) {
- const defaultParams = {
- agent_id: config.config.wxapp_id,
- goods_id: 0
- };
- common_vendor.index.__f__("log", "at api/house_order.ts:33", defaultParams);
- common_vendor.index.__f__("log", "at api/house_order.ts:34", form);
- const requestParams = {
- ...defaultParams,
- ...form
- };
- return api_house_request.houseRequest({
- url: "/store.api/checkGoods",
- data: requestParams,
- method: "POST"
- });
-}
-function houseFetchGoodsPreview(form) {
- const defaultParams = {
- agent_id: config.config.wxapp_id,
- goods_id: 0
- };
- common_vendor.index.__f__("log", "at api/house_order.ts:54", defaultParams);
- common_vendor.index.__f__("log", "at api/house_order.ts:55", form);
- const requestParams = {
- ...defaultParams,
- ...form
- };
- return api_house_request.houseRequest({
- url: "/store.api/preview",
- data: requestParams,
- method: "POST"
- });
-}
-function fetchOrderbuyNow(data) {
- return api_house_request.houseRequest({
- url: "/order/buyNow",
- data,
- method: "POST"
- });
-}
-exports.fetchOrderbuyNow = fetchOrderbuyNow;
-exports.houseFetchCheckGoods = houseFetchCheckGoods;
-exports.houseFetchGoodsPreview = houseFetchGoodsPreview;
-//# sourceMappingURL=../../.sourcemap/mp-weixin/api/house_order.js.map
diff --git a/unpackage/dist/dev/mp-weixin/api/house_request.js b/unpackage/dist/dev/mp-weixin/api/house_request.js
deleted file mode 100644
index c5df5f7..0000000
--- a/unpackage/dist/dev/mp-weixin/api/house_request.js
+++ /dev/null
@@ -1,51 +0,0 @@
-"use strict";
-const common_vendor = require("../common/vendor.js");
-const config = require("../config.js");
-const utils_helper = require("../utils/helper.js");
-const houseRequest = (options) => {
- return new Promise((resolve, reject) => {
- common_vendor.index.request({
- // 拼接完整请求URL(基础URL + 路径 + 固定参数)
- url: config.config.house_api_base_url + options.url + "&wxapp_id=10001&token=" + common_vendor.index.getStorageSync("token"),
- method: options.method || "GET",
- // 默认GET方法
- data: options.data || options.params || {},
- // 兼容data/params传参
- dataType: options.dataType || "json",
- // 默认json格式
- responseType: options.responseType || "text",
- // 默认text类型
- // 请求成功回调
- success(res) {
- const ret = res.data;
- switch (ret.code) {
- case -1:
- utils_helper.goToLoginPage();
- break;
- case 1:
- resolve(ret.data);
- break;
- case 0:
- common_vendor.index.showToast({
- title: ret.msg || "操作失败",
- // 显示错误信息
- icon: "none"
- // 不显示图标
- });
- break;
- }
- },
- // 请求失败回调
- fail(err) {
- common_vendor.index.$emit("z-paging-error-emit");
- reject(err);
- common_vendor.index.showToast({
- title: "网络请求失败",
- icon: "none"
- });
- }
- });
- });
-};
-exports.houseRequest = houseRequest;
-//# sourceMappingURL=../../.sourcemap/mp-weixin/api/house_request.js.map
diff --git a/unpackage/dist/dev/mp-weixin/api/order.js b/unpackage/dist/dev/mp-weixin/api/order.js
deleted file mode 100644
index 127b224..0000000
--- a/unpackage/dist/dev/mp-weixin/api/order.js
+++ /dev/null
@@ -1,10 +0,0 @@
-"use strict";
-const api_request = require("./request.js");
-function fetchOrderDetail(id) {
- return api_request.request({
- url: "/order/detail",
- data: { id }
- });
-}
-exports.fetchOrderDetail = fetchOrderDetail;
-//# sourceMappingURL=../../.sourcemap/mp-weixin/api/order.js.map
diff --git a/unpackage/dist/dev/mp-weixin/api/user.js b/unpackage/dist/dev/mp-weixin/api/user.js
deleted file mode 100644
index 4252b2b..0000000
--- a/unpackage/dist/dev/mp-weixin/api/user.js
+++ /dev/null
@@ -1,3 +0,0 @@
-"use strict";
-require("../common/vendor.js");
-//# sourceMappingURL=../../.sourcemap/mp-weixin/api/user.js.map
diff --git a/unpackage/dist/dev/mp-weixin/app.js b/unpackage/dist/dev/mp-weixin/app.js
index d3b887c..928cc5e 100644
--- a/unpackage/dist/dev/mp-weixin/app.js
+++ b/unpackage/dist/dev/mp-weixin/app.js
@@ -11,6 +11,8 @@ if (!Math) {
"./pages/index/goodsOrderAdd.js";
"./pages/mine/index.js";
"./pages/order/index.js";
+ "./pages/data/index.js";
+ "./pages/data/list.js";
}
const _sfc_main = {
onLaunch: function() {
diff --git a/unpackage/dist/dev/mp-weixin/app.json b/unpackage/dist/dev/mp-weixin/app.json
index 22746b1..912da2e 100644
--- a/unpackage/dist/dev/mp-weixin/app.json
+++ b/unpackage/dist/dev/mp-weixin/app.json
@@ -8,7 +8,9 @@
"pages/index/orderEdit",
"pages/index/goodsOrderAdd",
"pages/mine/index",
- "pages/order/index"
+ "pages/order/index",
+ "pages/data/index",
+ "pages/data/list"
],
"window": {
"navigationBarTextStyle": "black",
diff --git a/unpackage/dist/dev/mp-weixin/common/vendor.js b/unpackage/dist/dev/mp-weixin/common/vendor.js
index 1c0f571..07162d5 100644
--- a/unpackage/dist/dev/mp-weixin/common/vendor.js
+++ b/unpackage/dist/dev/mp-weixin/common/vendor.js
@@ -5565,6 +5565,42 @@ function findScopedSlotInvoker(vueId, instance) {
parent = parent.parent;
}
}
+function withScopedSlot(fn, { name, path, vueId }) {
+ const instance = getCurrentInstance();
+ fn.path = path;
+ const scopedSlots = instance.$ssi || (instance.$ssi = {});
+ const invoker = scopedSlots[vueId] || (scopedSlots[vueId] = createScopedSlotInvoker(instance));
+ if (!invoker.slots[name]) {
+ invoker.slots[name] = {
+ fn
+ };
+ } else {
+ invoker.slots[name].fn = fn;
+ }
+ return getValueByDataPath(instance.ctx.$scope.data, path);
+}
+function createScopedSlotInvoker(instance) {
+ const invoker = (slotName, args, index2) => {
+ const slot = invoker.slots[slotName];
+ if (!slot) {
+ return;
+ }
+ const hasIndex = typeof index2 !== "undefined";
+ index2 = index2 || 0;
+ const prevInstance = setCurrentRenderingInstance(instance);
+ const data = slot.fn(args, slotName + (hasIndex ? "-" + index2 : ""), index2);
+ const path = slot.fn.path;
+ setCurrentRenderingInstance(prevInstance);
+ (instance.$scopedSlotsData || (instance.$scopedSlotsData = [])).push({
+ path,
+ index: index2,
+ data
+ });
+ instance.$updateScopedSlots();
+ };
+ invoker.slots = {};
+ return invoker;
+}
function setRef(ref2, id, opts = {}) {
const { $templateRefs } = getCurrentInstance();
$templateRefs.push({ i: id, r: ref2, k: opts.k, f: opts.f });
@@ -5572,6 +5608,7 @@ function setRef(ref2, id, opts = {}) {
const o = (value, key) => vOn(value, key);
const f = (source, renderItem) => vFor(source, renderItem);
const r = (name, props, key) => renderSlot(name, props, key);
+const w = (fn, options) => withScopedSlot(fn, options);
const s = (value) => stringifyStyle(value);
const e = (target, ...sources) => extend(target, ...sources);
const n = (value) => normalizeClass(value);
@@ -8396,5 +8433,6 @@ exports.toRef = toRef;
exports.toRefs = toRefs;
exports.unref = unref;
exports.useSlots = useSlots;
+exports.w = w;
exports.watch = watch;
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/vendor.js.map
diff --git a/unpackage/dist/dev/mp-weixin/pages/data/index.js b/unpackage/dist/dev/mp-weixin/pages/data/index.js
new file mode 100644
index 0000000..42631a8
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/data/index.js
@@ -0,0 +1,66 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+if (!Array) {
+ const _easycom_nut_calendar2 = common_vendor.resolveComponent("nut-calendar");
+ _easycom_nut_calendar2();
+}
+const _easycom_nut_calendar = () => "../../uni_modules/nutui-uni/components/calendar/calendar.js";
+if (!Math) {
+ _easycom_nut_calendar();
+}
+const _sfc_main = {
+ __name: "index",
+ setup(__props) {
+ const getLastMonthFirstDay = () => {
+ const date2 = /* @__PURE__ */ new Date();
+ date2.setMonth(date2.getMonth() - 1);
+ date2.setDate(1);
+ return formatDate(date2);
+ };
+ const getCurrentMonthLastDay = () => {
+ const date2 = /* @__PURE__ */ new Date();
+ date2.setMonth(date2.getMonth() + 1);
+ date2.setDate(0);
+ return formatDate(date2);
+ };
+ const formatDate = (date2) => {
+ const year = date2.getFullYear();
+ const month = (date2.getMonth() + 1).toString().padStart(2, "0");
+ const day = date2.getDate().toString().padStart(2, "0");
+ return `${year}-${month}-${day}`;
+ };
+ const startDate = common_vendor.ref(getLastMonthFirstDay());
+ const endDate = common_vendor.ref(getCurrentMonthLastDay());
+ const date = common_vendor.ref("");
+ const onChoose = (e) => {
+ common_vendor.index.__f__("log", "at pages/data/index.vue:57", "onChoose", e);
+ };
+ const onSelect = (e) => {
+ common_vendor.index.__f__("log", "at pages/data/index.vue:60", "onSelect", e);
+ common_vendor.index.navigateTo({
+ url: `/pages/data/list?date=${e[3]}`
+ });
+ };
+ common_vendor.onLoad((options) => {
+ });
+ common_vendor.onShow(() => {
+ });
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.o(onChoose),
+ b: common_vendor.o(onSelect),
+ c: common_vendor.p({
+ title: "选择想要的日期",
+ ["show-sub-title"]: false,
+ poppable: false,
+ ["default-value"]: date.value,
+ ["start-date"]: startDate.value,
+ ["end-date"]: endDate.value
+ })
+ };
+ };
+ }
+};
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-af28c7f4"]]);
+wx.createPage(MiniProgramPage);
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/data/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/pages/data/index.json b/unpackage/dist/dev/mp-weixin/pages/data/index.json
new file mode 100644
index 0000000..6ca087b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/data/index.json
@@ -0,0 +1,7 @@
+{
+ "navigationBarTitleText": "运营数据-选择日期",
+ "enablePullDownRefresh": false,
+ "usingComponents": {
+ "nut-calendar": "../../uni_modules/nutui-uni/components/calendar/calendar"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/data/index.wxml b/unpackage/dist/dev/mp-weixin/pages/data/index.wxml
new file mode 100644
index 0000000..62531bf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/data/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/steps/steps.wxss b/unpackage/dist/dev/mp-weixin/pages/data/index.wxss
similarity index 95%
rename from unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/steps/steps.wxss
rename to unpackage/dist/dev/mp-weixin/pages/data/index.wxss
index 9cb4947..5fb3b3d 100644
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/steps/steps.wxss
+++ b/unpackage/dist/dev/mp-weixin/pages/data/index.wxss
@@ -48,10 +48,7 @@
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
-.nut-steps {
- display: flex;
-}
-.nut-steps-vertical {
- flex-flow: column;
- height: 100%;
+.page-content.data-v-af28c7f4 {
+ min-height: 100vh;
+ background-color: #f2f3f5;
}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/data/list.js b/unpackage/dist/dev/mp-weixin/pages/data/list.js
new file mode 100644
index 0000000..248d9c2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/data/list.js
@@ -0,0 +1,9 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+const _sfc_main = {};
+function _sfc_render(_ctx, _cache) {
+ return {};
+}
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
+wx.createPage(MiniProgramPage);
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/data/list.js.map
diff --git a/unpackage/dist/dev/mp-weixin/pages/data/list.json b/unpackage/dist/dev/mp-weixin/pages/data/list.json
new file mode 100644
index 0000000..bb7a7c4
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/data/list.json
@@ -0,0 +1,5 @@
+{
+ "navigationBarTitleText": "运营数据-数据看板",
+ "enablePullDownRefresh": false,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/data/list.wxml b/unpackage/dist/dev/mp-weixin/pages/data/list.wxml
new file mode 100644
index 0000000..e69de29
diff --git a/unpackage/dist/dev/mp-weixin/pages/mall/detail.js b/unpackage/dist/dev/mp-weixin/pages/mall/detail.js
deleted file mode 100644
index f9f5626..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/mall/detail.js
+++ /dev/null
@@ -1,136 +0,0 @@
-"use strict";
-const common_vendor = require("../../common/vendor.js");
-const utils_helper = require("../../utils/helper.js");
-const api_goods = require("../../api/goods.js");
-const api_config = require("../../api/config.js");
-if (!Array) {
- const _easycom_nut_watermark2 = common_vendor.resolveComponent("nut-watermark");
- const _easycom_nut_cell_group2 = common_vendor.resolveComponent("nut-cell-group");
- const _easycom_nut_icon2 = common_vendor.resolveComponent("nut-icon");
- const _easycom_nut_button2 = common_vendor.resolveComponent("nut-button");
- (_easycom_nut_watermark2 + _easycom_nut_cell_group2 + _easycom_nut_icon2 + _easycom_nut_button2)();
-}
-const _easycom_nut_watermark = () => "../../uni_modules/nutui-uni/components/watermark/watermark.js";
-const _easycom_nut_cell_group = () => "../../uni_modules/nutui-uni/components/cellgroup/cellgroup.js";
-const _easycom_nut_icon = () => "../../uni_modules/nutui-uni/components/icon/icon.js";
-const _easycom_nut_button = () => "../../uni_modules/nutui-uni/components/button/button.js";
-if (!Math) {
- (_easycom_nut_watermark + _easycom_nut_cell_group + _easycom_nut_icon + _easycom_nut_button)();
-}
-const _sfc_main = {
- __name: "detail",
- setup(__props) {
- const audit = common_vendor.ref(true);
- const serviceTxt = common_vendor.ref("");
- const id = common_vendor.ref(0);
- const detail = common_vendor.reactive({});
- common_vendor.onLoad((options) => {
- common_vendor.index.__f__("log", "at pages/mall/detail.vue:110", "init");
- getConfig();
- id.value = options.id;
- api_goods.fetchGoodsDetail(id.value).then((res) => {
- Object.assign(detail, res);
- });
- });
- const buyNow = (goodsId) => {
- let token = common_vendor.index.getStorageSync("token");
- if (token) {
- common_vendor.index.__f__("log", "at pages/mall/detail.vue:127", "已经登陆");
- common_vendor.index.navigateTo({
- url: `/pages/order/preview?ids=${goodsId}&from=item`
- });
- } else {
- utils_helper.goToLoginPage();
- }
- };
- const getConfig = () => {
- api_config.fetchGetConfig().then((res) => {
- common_vendor.index.__f__("log", "at pages/mall/detail.vue:140", "getConfig=====>", res);
- audit.value = res.appConfig.is_audit == 1;
- serviceTxt.value = res.appConfig.service_txt;
- });
- };
- common_vendor.onShareTimeline((res) => {
- return {
- title: detail.goods_name,
- path: "/pages/mall/detail?id=" + detail.goods_id,
- imageUrl: detail.image[0].file_path
- };
- });
- common_vendor.onShareAppMessage((res) => {
- return {
- title: detail.goods_name,
- path: "/pages/mall/detail?id=" + detail.goods_id,
- imageUrl: detail.image[0].file_path
- };
- });
- const showGoodsImages = (index) => {
- common_vendor.index.previewImage({
- current: index,
- // 指定当前显示的图片索引
- urls: detail.image.map((e) => {
- return e.file_path;
- })
- });
- };
- return (_ctx, _cache) => {
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
- return common_vendor.e({
- a: ((_a = detail.status) == null ? void 0 : _a.value) === 10
- }, ((_b = detail.status) == null ? void 0 : _b.value) === 10 ? {
- b: common_vendor.p({
- ["z-index"]: 1,
- content: "此商品已下架"
- })
- } : {}, {
- c: ((_c = detail.status) == null ? void 0 : _c.value) === 30
- }, ((_d = detail.status) == null ? void 0 : _d.value) === 30 ? {
- d: common_vendor.p({
- ["z-index"]: 1,
- content: "此商品已锁定"
- })
- } : {}, {
- e: ((_e = detail.status) == null ? void 0 : _e.value) === 40
- }, ((_f = detail.status) == null ? void 0 : _f.value) === 40 ? {
- f: common_vendor.p({
- ["z-index"]: 1,
- content: "此商品已售出"
- })
- } : {}, {
- g: common_vendor.f(detail.image, (item, idx, i0) => {
- return {
- a: item.file_path,
- b: common_vendor.o(($event) => showGoodsImages(idx), idx),
- c: idx
- };
- }),
- h: common_vendor.t(detail.goods_price),
- i: common_vendor.t((_g = detail.degree) == null ? void 0 : _g.degree_name),
- j: common_vendor.t(detail.goods_name),
- k: common_vendor.t(detail.content),
- l: common_vendor.t(serviceTxt.value),
- m: common_vendor.p({
- name: "service"
- }),
- n: ((_h = detail.status) == null ? void 0 : _h.value) === 20
- }, ((_i = detail.status) == null ? void 0 : _i.value) === 20 ? common_vendor.e({
- o: !audit.value
- }, !audit.value ? {
- p: common_vendor.o(($event) => buyNow(detail.goods_id)),
- q: common_vendor.p({
- type: "primary"
- })
- } : {}) : common_vendor.e({
- r: !audit.value
- }, !audit.value ? {
- s: common_vendor.p({
- plain: true
- })
- } : {}));
- };
- }
-};
-const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-da39d73f"]]);
-_sfc_main.__runtimeHooks = 6;
-wx.createPage(MiniProgramPage);
-//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/mall/detail.js.map
diff --git a/unpackage/dist/dev/mp-weixin/pages/mall/detail.json b/unpackage/dist/dev/mp-weixin/pages/mall/detail.json
deleted file mode 100644
index 713ce74..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/mall/detail.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "navigationBarTitleText": "店铺商品详情",
- "usingComponents": {
- "nut-watermark": "../../uni_modules/nutui-uni/components/watermark/watermark",
- "nut-cell-group": "../../uni_modules/nutui-uni/components/cellgroup/cellgroup",
- "nut-icon": "../../uni_modules/nutui-uni/components/icon/icon",
- "nut-button": "../../uni_modules/nutui-uni/components/button/button"
- }
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/mall/detail.wxml b/unpackage/dist/dev/mp-weixin/pages/mall/detail.wxml
deleted file mode 100644
index a9d39d5..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/mall/detail.wxml
+++ /dev/null
@@ -1 +0,0 @@
-¥{{h}}{{i}}{{j}}{{k}}服务{{l}}立即购买暂不支持购买
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/mall/detail.wxss b/unpackage/dist/dev/mp-weixin/pages/mall/detail.wxss
deleted file mode 100644
index 76fa33d..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/mall/detail.wxss
+++ /dev/null
@@ -1,211 +0,0 @@
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-.bottom-action.data-v-da39d73f {
- position: fixed;
- bottom: 0;
- left: 0;
- height: 50px;
- background: #fff;
- width: calc(100% - 20px);
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin: 0 auto;
- padding: 5px 10px;
-}
-.bottom-action .bottom-action-icon.data-v-da39d73f {
- align-items: center;
- display: flex;
- justify-content: center;
-}
-.bottom-action .bottom-action-icon .bottom-action-icon-item.data-v-da39d73f {
- align-items: center;
- display: flex;
- flex-direction: column;
- justify-content: center;
-}
-.bottom-action .bottom-action-icon .bottom-action-icon-item text.data-v-da39d73f {
- color: rgba(0, 0, 0, 0.5);
- font-size: 11px;
-}
-.bottom-action .bottom-action-btn.data-v-da39d73f {
- -ms-flex-align: center;
- -ms-flex-pack: end;
- align-items: center;
- display: flex;
- gap: 5px;
- justify-content: flex-end;
-}
-.content.data-v-da39d73f {
- display: flex;
- flex-direction: column;
- min-height: calc(100vh - 50px);
- /* align-items: center; */
- background-color: #f2f3f5;
- --nut-cell-group-title-color: #000;
- --nut-collapse-item-padding: 10px 10px 10px 10px;
- --nut-collapse-wrapper-content-padding: 10px 10px 10px 10px;
- --nut-collapse-item-color: #000;
- padding-bottom: 50px;
-}
-.report-inner.data-v-da39d73f {
- display: flex;
- flex-direction: column;
- gap: 5px;
-}
-.report-inner .report-item .report-item-name.data-v-da39d73f {
- color: rgba(0, 0, 0, 0.9);
- font-weight: 700;
-}
-.report-inner .report-item .report-item-content.data-v-da39d73f {
- display: flex;
- flex-wrap: wrap;
-}
-.report-inner .report-item .report-item-content .report-item-content-item.data-v-da39d73f {
- padding-top: 2px;
- padding-bottom: 2px;
- width: 50%;
- display: flex;
- align-items: center;
-}
-.count-item.data-v-da39d73f {
- display: flex;
- justify-content: center;
- align-items: center;
- gap: 2px;
-}
-.swiper.data-v-da39d73f {
- width: 100%;
- height: 414px;
-}
-.swiper image.data-v-da39d73f {
- width: 100%;
- height: 100%;
-}
-.goods_info.data-v-da39d73f {
- padding: 5px;
- color: #000;
-}
-.goods_info .price.data-v-da39d73f {
- border-radius: 5px;
- padding: 10px;
- background: #fff;
-}
-.goods_info .price .unit.data-v-da39d73f {
- font-size: 12px;
-}
-.goods_info .price .value.data-v-da39d73f {
- font-size: 24px;
-}
-.goods_info .name.data-v-da39d73f {
- border-radius: 5px;
- padding: 10px;
- background: #fff;
- display: flex;
- gap: 5px;
- flex-direction: column;
-}
-.goods_info .name .top.data-v-da39d73f {
- display: flex;
- gap: 5px;
-}
-.goods_info .name .top .tag.data-v-da39d73f {
- background: #000;
- padding: 1px 2px;
- justify-content: center;
- align-items: center;
- display: flex;
- border-radius: 2px;
-}
-.goods_info .name .top .tag text.data-v-da39d73f {
- font-size: 10px;
- color: #fff;
-}
-.goods_info .name .top .title.data-v-da39d73f {
- font-size: 16px;
-}
-.goods_info .name .info.data-v-da39d73f {
- color: rgba(0, 0, 0, 0.7);
- font-size: 13px;
-}
-.goods_info .service.data-v-da39d73f {
- border-radius: 5px;
- padding: 10px;
- background: #fff;
- display: flex;
- align-items: center;
- justify-content: space-between;
-}
-.goods_info .service .info.data-v-da39d73f {
- display: flex;
- flex-direction: column;
- justify-content: center;
- gap: 5px;
-}
-.goods_info .service .info .title.data-v-da39d73f {
- font-size: 16px;
-}
-.goods_info .service .info .value.data-v-da39d73f {
- color: rgba(0, 0, 0, 0.7);
- font-size: 13px;
-}
-.goods_info .service .right_icon.data-v-da39d73f {
- background-color: currentColor;
- -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGZpbGw9IiMxQTFBMUEiIGQ9Ik0zNTMuODMgMTU4LjE3YTQyLjY3IDQyLjY3IDAgMSAxIDYwLjM0LTYwLjM0bDM4NCAzODRhNDIuNjcgNDIuNjcgMCAwIDEgMCA2MC4zNmwtMzg0IDM4NGE0Mi42NyA0Mi42NyAwIDEgMS02MC4zNC02MC4zNkw3MDcuNjcgNTEyeiIvPjwvc3ZnPg==") 0 0/100% 100% no-repeat;
- mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGZpbGw9IiMxQTFBMUEiIGQ9Ik0zNTMuODMgMTU4LjE3YTQyLjY3IDQyLjY3IDAgMSAxIDYwLjM0LTYwLjM0bDM4NCAzODRhNDIuNjcgNDIuNjcgMCAwIDEgMCA2MC4zNmwtMzg0IDM4NGE0Mi42NyA0Mi42NyAwIDEgMS02MC4zNC02MC4zNkw3MDcuNjcgNTEyeiIvPjwvc3ZnPg==") 0 0/100% 100% no-repeat;
- width: 12px;
- height: 12px;
-}
-.goods_info .report.data-v-da39d73f {
- border-radius: 5px;
- padding: 1px;
- background: #fff;
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/mall/houseDetail.js b/unpackage/dist/dev/mp-weixin/pages/mall/houseDetail.js
deleted file mode 100644
index 011fa2a..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/mall/houseDetail.js
+++ /dev/null
@@ -1,303 +0,0 @@
-"use strict";
-const common_vendor = require("../../common/vendor.js");
-const utils_helper = require("../../utils/helper.js");
-const api_house_goods = require("../../api/house_goods.js");
-const api_house_order = require("../../api/house_order.js");
-const api_config = require("../../api/config.js");
-if (!Array) {
- const _easycom_nut_watermark2 = common_vendor.resolveComponent("nut-watermark");
- const _easycom_nut_cell_group2 = common_vendor.resolveComponent("nut-cell-group");
- const _easycom_nut_icon2 = common_vendor.resolveComponent("nut-icon");
- const _easycom_nut_collapse_item2 = common_vendor.resolveComponent("nut-collapse-item");
- const _easycom_nut_collapse2 = common_vendor.resolveComponent("nut-collapse");
- const _easycom_nut_button2 = common_vendor.resolveComponent("nut-button");
- (_easycom_nut_watermark2 + _easycom_nut_cell_group2 + _easycom_nut_icon2 + _easycom_nut_collapse_item2 + _easycom_nut_collapse2 + _easycom_nut_button2)();
-}
-const _easycom_nut_watermark = () => "../../uni_modules/nutui-uni/components/watermark/watermark.js";
-const _easycom_nut_cell_group = () => "../../uni_modules/nutui-uni/components/cellgroup/cellgroup.js";
-const _easycom_nut_icon = () => "../../uni_modules/nutui-uni/components/icon/icon.js";
-const _easycom_nut_collapse_item = () => "../../uni_modules/nutui-uni/components/collapseitem/collapseitem.js";
-const _easycom_nut_collapse = () => "../../uni_modules/nutui-uni/components/collapse/collapse.js";
-const _easycom_nut_button = () => "../../uni_modules/nutui-uni/components/button/button.js";
-if (!Math) {
- (_easycom_nut_watermark + _easycom_nut_cell_group + _easycom_nut_icon + _easycom_nut_collapse_item + _easycom_nut_collapse + _easycom_nut_button)();
-}
-const _sfc_main = {
- __name: "houseDetail",
- setup(__props) {
- const audit = common_vendor.ref(true);
- const isWarehouse = common_vendor.ref(false);
- const singleRule = common_vendor.ref([]);
- const rangeRule = common_vendor.ref([]);
- const warehouseRule = common_vendor.reactive({
- val: 0,
- val_type: 1
- });
- const GetPriceRules = () => {
- api_config.fetchGetPriceRules().then((res) => {
- var _a;
- common_vendor.index.__f__("log", "at pages/mall/houseDetail.vue:174", "res", res);
- rangeRule.value = (res == null ? void 0 : res.range) ?? [];
- singleRule.value = (res == null ? void 0 : res.single) ?? [];
- Object.assign(warehouseRule, ((_a = res == null ? void 0 : res.warehouse) == null ? void 0 : _a[0]) ?? {
- val: 0,
- val_type: 1
- });
- });
- };
- const getPrice = (goods) => {
- if (isWarehouse.value) {
- common_vendor.index.__f__("log", "at pages/mall/houseDetail.vue:192", "开启整仓调价");
- const list = singleRule.value || singleRule;
- const rule = list.find((item) => item.product_id === goods.goods_id);
- if (rule) {
- const basePrice = Number(goods.goods_price);
- const val = Number(rule.val);
- let finalPrice = basePrice;
- if (rule.val_type == 1) {
- finalPrice = basePrice + val;
- } else if (rule.val_type == 2) {
- finalPrice = basePrice + basePrice * val / 100;
- }
- return finalPrice.toFixed(2);
- } else {
- const basePrice = Number(goods.goods_price);
- const val = Number(warehouseRule.val);
- let finalPrice = basePrice;
- if (warehouseRule.val_type == 1) {
- finalPrice = basePrice + val;
- } else if (warehouseRule.val_type == 2) {
- finalPrice = basePrice + basePrice * val / 100;
- }
- return finalPrice.toFixed(2);
- }
- } else {
- common_vendor.index.__f__("log", "at pages/mall/houseDetail.vue:223", "未开启整仓调价");
- const singleRuleList = singleRule.value || singleRule;
- const oneRule = singleRuleList.find((item) => item.product_id === goods.goods_id);
- if (oneRule) {
- const basePrice = Number(goods.goods_price);
- const val = Number(oneRule.val);
- let finalPrice = basePrice;
- if (oneRule.val_type == 1) {
- finalPrice = basePrice + val;
- } else if (oneRule.val_type == 2) {
- finalPrice = basePrice + basePrice * val / 100;
- }
- return finalPrice.toFixed(2);
- } else {
- const basePrice = Number(goods.goods_price);
- const rangeRulelist = rangeRule.value || rangeRule;
- const quRule = rangeRulelist.find((item) => {
- const min = Number(item.min_price);
- const max = Number(item.max_price);
- return basePrice >= min && basePrice < max;
- }) || null;
- if (quRule) {
- const val = Number(quRule.val);
- let finalPrice = basePrice;
- if (quRule.val_type == 1) {
- finalPrice = basePrice + val;
- } else if (quRule.val_type == 2) {
- finalPrice = basePrice + basePrice * val / 100;
- }
- return finalPrice.toFixed(2);
- } else {
- return basePrice;
- }
- }
- }
- };
- const id = common_vendor.ref(0);
- const detail = common_vendor.reactive({});
- const user_goods_cart_ids = common_vendor.ref([]);
- const goods_cart_ids = common_vendor.ref([]);
- const buyNow = (goodsId) => {
- let token = common_vendor.index.getStorageSync("token");
- if (token) {
- api_house_order.houseFetchCheckGoods({
- goods_id: goodsId
- }).then((res) => {
- common_vendor.index.__f__("log", "at pages/mall/houseDetail.vue:292", res);
- common_vendor.index.__f__("log", "at pages/mall/houseDetail.vue:293", "已经登陆");
- common_vendor.index.navigateTo({
- url: `/pages/order/housePreview?ids=${goodsId}&from=item`
- });
- });
- } else {
- utils_helper.goToLoginPage();
- }
- };
- const getConfig = () => {
- api_config.fetchGetConfig().then((res) => {
- common_vendor.index.__f__("log", "at pages/mall/houseDetail.vue:309", "getConfig=====>", res);
- audit.value = res.appConfig.is_audit == 1;
- isWarehouse.value = res.appConfig.is_warehouse == 1;
- });
- };
- common_vendor.onLoad((options) => {
- common_vendor.index.__f__("log", "at pages/mall/houseDetail.vue:317", "init");
- getConfig();
- GetPriceRules();
- id.value = options.id;
- api_house_goods.houseFetchGoodsDetail(id.value).then((res) => {
- Object.assign(detail, res);
- });
- api_house_goods.houseFetchCartGoodsIds().then((res) => {
- common_vendor.index.__f__("log", "at pages/mall/houseDetail.vue:331", res);
- user_goods_cart_ids.value = res.user_cart_goods_ids;
- goods_cart_ids.value = res.cart_goods_ids;
- });
- });
- common_vendor.onShareTimeline((res) => {
- return {
- title: detail.goods_name,
- path: "/pages/mall/houseDetail?id=" + detail.goods_id,
- imageUrl: detail.image[0].file_path
- };
- });
- common_vendor.onShareAppMessage((res) => {
- return {
- title: detail.goods_name,
- path: "/pages/mall/houseDetail?id=" + detail.goods_id,
- imageUrl: detail.image[0].file_path
- };
- });
- const activeNames = common_vendor.ref([1, 2]);
- const onChange = (modelValue, currName, status) => {
- common_vendor.index.__f__("log", "at pages/mall/houseDetail.vue:364", modelValue, currName, status);
- };
- const showGoodsImages = (index) => {
- common_vendor.index.previewImage({
- current: index,
- // 指定当前显示的图片索引
- urls: detail.image.map((e) => {
- return e.file_path;
- })
- });
- };
- return (_ctx, _cache) => {
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
- return common_vendor.e({
- a: ((_a = detail.shelves_status) == null ? void 0 : _a.value) === 10
- }, ((_b = detail.shelves_status) == null ? void 0 : _b.value) === 10 ? {
- b: common_vendor.p({
- ["z-index"]: 1,
- content: "此商品已下架"
- })
- } : {}, {
- c: ((_c = detail.shelves_status) == null ? void 0 : _c.value) === 30
- }, ((_d = detail.shelves_status) == null ? void 0 : _d.value) === 30 ? {
- d: common_vendor.p({
- ["z-index"]: 1,
- content: "此商品已售出"
- })
- } : {}, {
- e: detail.is_locked
- }, detail.is_locked ? {
- f: common_vendor.p({
- ["z-index"]: 1,
- content: "此商品被锁单"
- })
- } : {}, {
- g: common_vendor.f(detail.image, (item, idx, i0) => {
- return {
- a: item.file_path,
- b: common_vendor.o(($event) => showGoodsImages(idx), idx),
- c: idx
- };
- }),
- h: common_vendor.t(getPrice(detail)),
- i: common_vendor.t((_e = detail.degree) == null ? void 0 : _e.degree_name),
- j: common_vendor.t(detail.goods_name),
- k: common_vendor.t(detail.content),
- l: common_vendor.t(detail.service_txt),
- m: common_vendor.p({
- name: "tips",
- size: "12",
- ["custom-color"]: "#ff3535"
- }),
- n: common_vendor.t((_f = detail.report_tags) == null ? void 0 : _f.bad_count),
- o: common_vendor.f((_g = detail == null ? void 0 : detail.report_tags) == null ? void 0 : _g.bad, (item, idx, i0) => {
- return {
- a: common_vendor.t(item.name),
- b: common_vendor.f(item.value_list, (iitem, iidx, i1) => {
- return {
- a: "cec1cea2-9-" + i0 + "-" + i1 + ",cec1cea2-7",
- b: common_vendor.t(iitem.name),
- c: iidx
- };
- }),
- c: idx
- };
- }),
- p: common_vendor.p({
- name: "tips",
- size: "12",
- ["custom-color"]: "#ff3535"
- }),
- q: common_vendor.p({
- name: 1,
- icon: "rect-down"
- }),
- r: common_vendor.p({
- name: "success",
- size: "12",
- ["custom-color"]: "#5dcc30"
- }),
- s: common_vendor.t((_h = detail.report_tags) == null ? void 0 : _h.ok_count),
- t: common_vendor.f((_i = detail == null ? void 0 : detail.report_tags) == null ? void 0 : _i.ok, (item, idx, i0) => {
- return {
- a: common_vendor.t(item.name),
- b: common_vendor.f(item.value_list, (iitem, iidx, i1) => {
- return {
- a: "cec1cea2-12-" + i0 + "-" + i1 + ",cec1cea2-10",
- b: common_vendor.t(iitem.name),
- c: iidx
- };
- }),
- c: idx
- };
- }),
- v: common_vendor.p({
- name: "success",
- size: "12",
- ["custom-color"]: "#5dcc30"
- }),
- w: common_vendor.p({
- name: 2,
- icon: "rect-down"
- }),
- x: common_vendor.o(onChange),
- y: common_vendor.o(($event) => activeNames.value = $event),
- z: common_vendor.p({
- modelValue: activeNames.value
- }),
- A: common_vendor.p({
- title: "验机报告"
- }),
- B: common_vendor.p({
- name: "service"
- }),
- C: ((_j = detail.shelves_status) == null ? void 0 : _j.value) === 20 && !goods_cart_ids.value.includes(detail.goods_id)
- }, ((_k = detail.shelves_status) == null ? void 0 : _k.value) === 20 && !goods_cart_ids.value.includes(detail.goods_id) ? common_vendor.e({
- D: !audit.value
- }, !audit.value ? {
- E: common_vendor.o(($event) => buyNow(detail.goods_id)),
- F: common_vendor.p({
- type: "primary"
- })
- } : {}) : common_vendor.e({
- G: !audit.value
- }, !audit.value ? {
- H: common_vendor.p({
- plain: true
- })
- } : {}));
- };
- }
-};
-const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-cec1cea2"]]);
-_sfc_main.__runtimeHooks = 6;
-wx.createPage(MiniProgramPage);
-//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/mall/houseDetail.js.map
diff --git a/unpackage/dist/dev/mp-weixin/pages/mall/houseDetail.json b/unpackage/dist/dev/mp-weixin/pages/mall/houseDetail.json
deleted file mode 100644
index cbf5fe4..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/mall/houseDetail.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "navigationBarTitleText": "仓库商品详情",
- "usingComponents": {
- "nut-watermark": "../../uni_modules/nutui-uni/components/watermark/watermark",
- "nut-cell-group": "../../uni_modules/nutui-uni/components/cellgroup/cellgroup",
- "nut-icon": "../../uni_modules/nutui-uni/components/icon/icon",
- "nut-collapse-item": "../../uni_modules/nutui-uni/components/collapseitem/collapseitem",
- "nut-collapse": "../../uni_modules/nutui-uni/components/collapse/collapse",
- "nut-button": "../../uni_modules/nutui-uni/components/button/button"
- }
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/mall/houseDetail.wxml b/unpackage/dist/dev/mp-weixin/pages/mall/houseDetail.wxml
deleted file mode 100644
index 2f61d95..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/mall/houseDetail.wxml
+++ /dev/null
@@ -1 +0,0 @@
-¥{{h}}{{i}}{{j}}{{k}}服务{{l}} 瑕疵项 {{n}}项{{item.a}}{{iitem.b}} 正常项 {{s}}项{{item.a}}{{iitem.b}}立即购买已锁定
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/mall/houseDetail.wxss b/unpackage/dist/dev/mp-weixin/pages/mall/houseDetail.wxss
deleted file mode 100644
index e5e9d4a..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/mall/houseDetail.wxss
+++ /dev/null
@@ -1,211 +0,0 @@
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-.bottom-action.data-v-cec1cea2 {
- position: fixed;
- bottom: 0;
- left: 0;
- height: 50px;
- background: #fff;
- width: calc(100% - 20px);
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin: 0 auto;
- padding: 5px 10px;
-}
-.bottom-action .bottom-action-icon.data-v-cec1cea2 {
- align-items: center;
- display: flex;
- justify-content: center;
-}
-.bottom-action .bottom-action-icon .bottom-action-icon-item.data-v-cec1cea2 {
- align-items: center;
- display: flex;
- flex-direction: column;
- justify-content: center;
-}
-.bottom-action .bottom-action-icon .bottom-action-icon-item text.data-v-cec1cea2 {
- color: rgba(0, 0, 0, 0.5);
- font-size: 11px;
-}
-.bottom-action .bottom-action-btn.data-v-cec1cea2 {
- -ms-flex-align: center;
- -ms-flex-pack: end;
- align-items: center;
- display: flex;
- gap: 5px;
- justify-content: flex-end;
-}
-.content.data-v-cec1cea2 {
- display: flex;
- flex-direction: column;
- /* align-items: center; */
- background-color: #f2f3f5;
- height: calc(100% - 50px);
- --nut-cell-group-title-color: #000;
- --nut-collapse-item-padding: 10px 10px 10px 10px;
- --nut-collapse-wrapper-content-padding: 10px 10px 10px 10px;
- --nut-collapse-item-color: #000;
- padding-bottom: 50px;
-}
-.report-inner.data-v-cec1cea2 {
- display: flex;
- flex-direction: column;
- gap: 5px;
-}
-.report-inner .report-item .report-item-name.data-v-cec1cea2 {
- color: rgba(0, 0, 0, 0.9);
- font-weight: 700;
-}
-.report-inner .report-item .report-item-content.data-v-cec1cea2 {
- display: flex;
- flex-wrap: wrap;
-}
-.report-inner .report-item .report-item-content .report-item-content-item.data-v-cec1cea2 {
- padding-top: 2px;
- padding-bottom: 2px;
- width: 50%;
- display: flex;
- align-items: center;
-}
-.count-item.data-v-cec1cea2 {
- display: flex;
- justify-content: center;
- align-items: center;
- gap: 2px;
-}
-.swiper.data-v-cec1cea2 {
- width: 100%;
- height: 414px;
-}
-.swiper image.data-v-cec1cea2 {
- width: 100%;
- height: 100%;
-}
-.goods_info.data-v-cec1cea2 {
- padding: 5px;
- color: #000;
-}
-.goods_info .price.data-v-cec1cea2 {
- border-radius: 5px;
- padding: 10px;
- background: #fff;
-}
-.goods_info .price .unit.data-v-cec1cea2 {
- font-size: 12px;
-}
-.goods_info .price .value.data-v-cec1cea2 {
- font-size: 24px;
-}
-.goods_info .name.data-v-cec1cea2 {
- border-radius: 5px;
- padding: 10px;
- background: #fff;
- display: flex;
- gap: 5px;
- flex-direction: column;
-}
-.goods_info .name .top.data-v-cec1cea2 {
- display: flex;
- gap: 5px;
-}
-.goods_info .name .top .tag.data-v-cec1cea2 {
- background: #000;
- padding: 1px 2px;
- justify-content: center;
- align-items: center;
- display: flex;
- border-radius: 2px;
-}
-.goods_info .name .top .tag text.data-v-cec1cea2 {
- font-size: 10px;
- color: #fff;
-}
-.goods_info .name .top .title.data-v-cec1cea2 {
- font-size: 16px;
-}
-.goods_info .name .info.data-v-cec1cea2 {
- color: rgba(0, 0, 0, 0.7);
- font-size: 13px;
-}
-.goods_info .service.data-v-cec1cea2 {
- border-radius: 5px;
- padding: 10px;
- background: #fff;
- display: flex;
- align-items: center;
- justify-content: space-between;
-}
-.goods_info .service .info.data-v-cec1cea2 {
- display: flex;
- flex-direction: column;
- justify-content: center;
- gap: 5px;
-}
-.goods_info .service .info .title.data-v-cec1cea2 {
- font-size: 16px;
-}
-.goods_info .service .info .value.data-v-cec1cea2 {
- color: rgba(0, 0, 0, 0.7);
- font-size: 13px;
-}
-.goods_info .service .right_icon.data-v-cec1cea2 {
- background-color: currentColor;
- -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGZpbGw9IiMxQTFBMUEiIGQ9Ik0zNTMuODMgMTU4LjE3YTQyLjY3IDQyLjY3IDAgMSAxIDYwLjM0LTYwLjM0bDM4NCAzODRhNDIuNjcgNDIuNjcgMCAwIDEgMCA2MC4zNmwtMzg0IDM4NGE0Mi42NyA0Mi42NyAwIDEgMS02MC4zNC02MC4zNkw3MDcuNjcgNTEyeiIvPjwvc3ZnPg==") 0 0/100% 100% no-repeat;
- mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGZpbGw9IiMxQTFBMUEiIGQ9Ik0zNTMuODMgMTU4LjE3YTQyLjY3IDQyLjY3IDAgMSAxIDYwLjM0LTYwLjM0bDM4NCAzODRhNDIuNjcgNDIuNjcgMCAwIDEgMCA2MC4zNmwtMzg0IDM4NGE0Mi42NyA0Mi42NyAwIDEgMS02MC4zNC02MC4zNkw3MDcuNjcgNTEyeiIvPjwvc3ZnPg==") 0 0/100% 100% no-repeat;
- width: 12px;
- height: 12px;
-}
-.goods_info .report.data-v-cec1cea2 {
- border-radius: 5px;
- padding: 1px;
- background: #fff;
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/mine/index.js b/unpackage/dist/dev/mp-weixin/pages/mine/index.js
index d43aac2..49e7a5e 100644
--- a/unpackage/dist/dev/mp-weixin/pages/mine/index.js
+++ b/unpackage/dist/dev/mp-weixin/pages/mine/index.js
@@ -58,7 +58,7 @@ const _sfc_main = {
h: common_vendor.p({
name: "eye"
}),
- i: common_vendor.o(($event) => common_vendor.unref(utils_helper.navigateTo)("/pages/order/shopOrder/index?tab=0")),
+ i: common_vendor.o(($event) => common_vendor.unref(utils_helper.navigateTo)("/pages/data/index")),
j: common_vendor.p({
text: "运营数据"
}),
diff --git a/unpackage/dist/dev/mp-weixin/pages/order/detail.js b/unpackage/dist/dev/mp-weixin/pages/order/detail.js
deleted file mode 100644
index 7ac67cd..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/order/detail.js
+++ /dev/null
@@ -1,128 +0,0 @@
-"use strict";
-const common_vendor = require("../../common/vendor.js");
-const api_order = require("../../api/order.js");
-const utils_helper = require("../../utils/helper.js");
-const api_config = require("../../api/config.js");
-if (!Array) {
- const _easycom_nut_step2 = common_vendor.resolveComponent("nut-step");
- const _easycom_nut_steps2 = common_vendor.resolveComponent("nut-steps");
- const _easycom_nut_cell2 = common_vendor.resolveComponent("nut-cell");
- const _easycom_nut_cell_group2 = common_vendor.resolveComponent("nut-cell-group");
- const _easycom_nut_tag2 = common_vendor.resolveComponent("nut-tag");
- const _easycom_nut_price2 = common_vendor.resolveComponent("nut-price");
- (_easycom_nut_step2 + _easycom_nut_steps2 + _easycom_nut_cell2 + _easycom_nut_cell_group2 + _easycom_nut_tag2 + _easycom_nut_price2)();
-}
-const _easycom_nut_step = () => "../../uni_modules/nutui-uni/components/step/step.js";
-const _easycom_nut_steps = () => "../../uni_modules/nutui-uni/components/steps/steps.js";
-const _easycom_nut_cell = () => "../../uni_modules/nutui-uni/components/cell/cell.js";
-const _easycom_nut_cell_group = () => "../../uni_modules/nutui-uni/components/cellgroup/cellgroup.js";
-const _easycom_nut_tag = () => "../../uni_modules/nutui-uni/components/tag/tag.js";
-const _easycom_nut_price = () => "../../uni_modules/nutui-uni/components/price/price.js";
-if (!Math) {
- (_easycom_nut_step + _easycom_nut_steps + _easycom_nut_cell + _easycom_nut_cell_group + _easycom_nut_tag + _easycom_nut_price)();
-}
-const _sfc_main = {
- __name: "detail",
- setup(__props) {
- const audit = common_vendor.ref(true);
- const id = common_vendor.ref(0);
- const detail = common_vendor.reactive({});
- const images = common_vendor.ref([]);
- common_vendor.onLoad((options) => {
- id.value = options.id;
- });
- common_vendor.onShow(() => {
- getConfig();
- api_order.fetchOrderDetail(id.value).then((res) => {
- Object.assign(detail, res);
- });
- });
- const getConfig = () => {
- api_config.fetchGetConfig().then((res) => {
- common_vendor.index.__f__("log", "at pages/order/detail.vue:126", "getConfig=====>", res);
- audit.value = res.appConfig.is_audit == 1;
- common_vendor.index.__f__("log", "at pages/order/detail.vue:128", res.appConfig.pay_imgs);
- let pay_imgs = JSON.parse(res.appConfig.pay_imgs) || [];
- let wechat_imgs = JSON.parse(res.appConfig.wechat_imgs) || [];
- let pay_imgs_arr = pay_imgs.map((item) => item.file_path) || [];
- let wechat_imgs_arr = wechat_imgs.map((item) => item.file_path) || [];
- const merged_imgs_arr = pay_imgs_arr.concat(wechat_imgs_arr);
- images.value = merged_imgs_arr;
- });
- };
- return (_ctx, _cache) => {
- return common_vendor.e({
- a: common_vendor.p({
- title: "待付款"
- }),
- b: common_vendor.p({
- title: "待发货"
- }),
- c: common_vendor.p({
- title: "待收货"
- }),
- d: common_vendor.p({
- title: "已完成"
- }),
- e: common_vendor.p({
- current: detail.progress
- }),
- f: detail.address_info
- }, detail.address_info ? {
- g: common_vendor.t(detail.address_info.user_name),
- h: common_vendor.t(detail.address_info.tel_number),
- i: common_vendor.t(detail.address_info.province_name + detail.address_info.city_name + detail.address_info.county_name + detail.address_info.street_name + detail.address_info.detail_info_new)
- } : {}, {
- j: common_vendor.f(detail.goods, (goods, index, i0) => {
- return {
- a: common_vendor.t(goods.snapshot_info.degree.degree_name),
- b: "6b23c96c-9-" + i0 + "," + ("6b23c96c-8-" + i0),
- c: common_vendor.t(goods.goods_name),
- d: common_vendor.t(goods.goods_no),
- e: "6b23c96c-10-" + i0 + "," + ("6b23c96c-8-" + i0),
- f: common_vendor.p({
- price: goods.goods_price,
- size: "small",
- ["need-symbol"]: true
- }),
- g: index,
- h: common_vendor.o(($event) => common_vendor.unref(utils_helper.navigateTo)("/pages/mall/detail?id=" + goods.goods_id), index),
- i: "6b23c96c-8-" + i0 + ",6b23c96c-7"
- };
- }),
- k: common_vendor.p({
- ["custom-color"]: "#1a1a1a"
- }),
- l: common_vendor.p({
- center: true
- }),
- m: common_vendor.p({
- price: detail.pay_price,
- size: "normal",
- ["need-symbol"]: true
- }),
- n: common_vendor.p({
- title: "订单编号",
- desc: detail.order_no
- }),
- o: common_vendor.p({
- title: "下单时间",
- desc: detail.create_time
- }),
- p: detail.progress >= 3
- }, detail.progress >= 3 ? {
- q: common_vendor.p({
- title: "物流公司",
- desc: detail.express_company
- }),
- r: common_vendor.p({
- title: "物流单号",
- desc: detail.express_no
- })
- } : {});
- };
- }
-};
-const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-6b23c96c"]]);
-wx.createPage(MiniProgramPage);
-//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/order/detail.js.map
diff --git a/unpackage/dist/dev/mp-weixin/pages/order/detail.json b/unpackage/dist/dev/mp-weixin/pages/order/detail.json
deleted file mode 100644
index 8121b54..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/order/detail.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "navigationBarTitleText": "订单详情",
- "enablePullDownRefresh": false,
- "usingComponents": {
- "nut-step": "../../uni_modules/nutui-uni/components/step/step",
- "nut-steps": "../../uni_modules/nutui-uni/components/steps/steps",
- "nut-cell": "../../uni_modules/nutui-uni/components/cell/cell",
- "nut-cell-group": "../../uni_modules/nutui-uni/components/cellgroup/cellgroup",
- "nut-tag": "../../uni_modules/nutui-uni/components/tag/tag",
- "nut-price": "../../uni_modules/nutui-uni/components/price/price"
- }
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/order/detail.wxml b/unpackage/dist/dev/mp-weixin/pages/order/detail.wxml
deleted file mode 100644
index 628cb2d..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/order/detail.wxml
+++ /dev/null
@@ -1 +0,0 @@
-1234{{g}} - {{h}}{{i}}{{goods.a}}{{goods.c}}串号:{{goods.d}}商品总额
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/order/detail.wxss b/unpackage/dist/dev/mp-weixin/pages/order/detail.wxss
deleted file mode 100644
index e2f3998..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/order/detail.wxss
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-.page-content.data-v-6b23c96c {
- min-height: 100vh;
- background-color: #f2f3f5;
- padding: 20rpx;
-}
-.address-inner.data-v-6b23c96c {
- display: flex;
- flex-direction: column;
- justify-content: center;
-}
-.total-price-inner.data-v-6b23c96c {
- width: 100%;
- display: flex;
- justify-content: space-between;
- align-items: center;
-}
-.total-price-inner view.data-v-6b23c96c:nth-child(2) {
- color: #fa2c19;
-}
-.wechat-img-inner.data-v-6b23c96c {
- margin-top: 60rpx;
- padding: 0rpx 80rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- flex-direction: column;
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/order/housePreview.js b/unpackage/dist/dev/mp-weixin/pages/order/housePreview.js
deleted file mode 100644
index 1f75511..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/order/housePreview.js
+++ /dev/null
@@ -1,245 +0,0 @@
-"use strict";
-const common_vendor = require("../../common/vendor.js");
-const api_house_order = require("../../api/house_order.js");
-const api_config = require("../../api/config.js");
-if (!Array) {
- const _easycom_nut_cell2 = common_vendor.resolveComponent("nut-cell");
- const _easycom_nut_cell_group2 = common_vendor.resolveComponent("nut-cell-group");
- const _easycom_nut_tag2 = common_vendor.resolveComponent("nut-tag");
- const _easycom_nut_price2 = common_vendor.resolveComponent("nut-price");
- const _easycom_nut_button2 = common_vendor.resolveComponent("nut-button");
- (_easycom_nut_cell2 + _easycom_nut_cell_group2 + _easycom_nut_tag2 + _easycom_nut_price2 + _easycom_nut_button2)();
-}
-const _easycom_nut_cell = () => "../../uni_modules/nutui-uni/components/cell/cell.js";
-const _easycom_nut_cell_group = () => "../../uni_modules/nutui-uni/components/cellgroup/cellgroup.js";
-const _easycom_nut_tag = () => "../../uni_modules/nutui-uni/components/tag/tag.js";
-const _easycom_nut_price = () => "../../uni_modules/nutui-uni/components/price/price.js";
-const _easycom_nut_button = () => "../../uni_modules/nutui-uni/components/button/button.js";
-if (!Math) {
- (_easycom_nut_cell + _easycom_nut_cell_group + _easycom_nut_tag + _easycom_nut_price + _easycom_nut_button)();
-}
-const _sfc_main = {
- __name: "housePreview",
- setup(__props) {
- const audit = common_vendor.ref(true);
- const isWarehouse = common_vendor.ref(false);
- const singleRule = common_vendor.ref([]);
- const rangeRule = common_vendor.ref([]);
- const warehouseRule = common_vendor.reactive({
- val: 0,
- val_type: 1
- });
- const GetPriceRules = () => {
- api_config.fetchGetPriceRules().then((res) => {
- var _a;
- common_vendor.index.__f__("log", "at pages/order/housePreview.vue:107", "res", res);
- rangeRule.value = (res == null ? void 0 : res.range) ?? [];
- singleRule.value = (res == null ? void 0 : res.single) ?? [];
- Object.assign(warehouseRule, ((_a = res == null ? void 0 : res.warehouse) == null ? void 0 : _a[0]) ?? {
- val: 0,
- val_type: 1
- });
- });
- };
- const getPrice = (goods2) => {
- if (isWarehouse.value) {
- common_vendor.index.__f__("log", "at pages/order/housePreview.vue:125", "开启整仓调价");
- const list = singleRule.value || singleRule;
- const rule = list.find((item) => item.product_id === (goods2 == null ? void 0 : goods2.goods_id));
- if (rule) {
- const basePrice = Number(goods2 == null ? void 0 : goods2.goods_price);
- const val = Number(rule.val);
- let finalPrice = basePrice;
- if (rule.val_type == 1) {
- finalPrice = basePrice + val;
- } else if (rule.val_type == 2) {
- finalPrice = basePrice + basePrice * val / 100;
- }
- return finalPrice.toFixed(2);
- } else {
- const basePrice = Number(goods2 == null ? void 0 : goods2.goods_price);
- const val = Number(warehouseRule.val);
- let finalPrice = basePrice;
- if (warehouseRule.val_type == 1) {
- finalPrice = basePrice + val;
- } else if (warehouseRule.val_type == 2) {
- finalPrice = basePrice + basePrice * val / 100;
- }
- return finalPrice.toFixed(2);
- }
- } else {
- common_vendor.index.__f__("log", "at pages/order/housePreview.vue:156", "未开启整仓调价");
- const singleRuleList = singleRule.value || singleRule;
- const oneRule = singleRuleList.find((item) => item.product_id === (goods2 == null ? void 0 : goods2.goods_id));
- if (oneRule) {
- const basePrice = Number(goods2 == null ? void 0 : goods2.goods_price);
- const val = Number(oneRule.val);
- let finalPrice = basePrice;
- if (oneRule.val_type == 1) {
- finalPrice = basePrice + val;
- } else if (oneRule.val_type == 2) {
- finalPrice = basePrice + basePrice * val / 100;
- }
- return finalPrice.toFixed(2);
- } else {
- const basePrice = Number(goods2 == null ? void 0 : goods2.goods_price);
- const rangeRulelist = rangeRule.value || rangeRule;
- const quRule = rangeRulelist.find((item) => {
- const min = Number(item.min_price);
- const max = Number(item.max_price);
- return basePrice >= min && basePrice < max;
- }) || null;
- if (quRule) {
- const val = Number(quRule.val);
- let finalPrice = basePrice;
- if (quRule.val_type == 1) {
- finalPrice = basePrice + val;
- } else if (quRule.val_type == 2) {
- finalPrice = basePrice + basePrice * val / 100;
- }
- return finalPrice.toFixed(2);
- } else {
- return basePrice;
- }
- }
- }
- };
- const getConfig = () => {
- api_config.fetchGetConfig().then((res) => {
- common_vendor.index.__f__("log", "at pages/order/housePreview.vue:204", "getConfig=====>", res);
- audit.value = res.appConfig.is_audit == 1;
- isWarehouse.value = res.appConfig.is_warehouse == 1;
- });
- };
- const chooseAddress = () => {
- common_vendor.index.chooseAddress({
- success(res) {
- common_vendor.index.__f__("log", "at pages/order/housePreview.vue:226", res);
- Object.assign(form, {
- address_info: {
- address_id: res.addressID || 1,
- user_name: res.userName,
- tel_number: res.telNumber,
- city_name: res.cityName || "",
- county_name: res.countyName || "",
- detail_info: res.detailInfo || "",
- detail_info_new: res.detailInfoNew || "",
- national_code: res.nationalCode || "",
- national_code_full: res.nationalCodeFull || "",
- postal_code: res.postalCode || "",
- province_name: res.provinceName || "",
- street_name: res.streetName || ""
- }
- });
- }
- });
- };
- common_vendor.ref([]);
- const goods = common_vendor.reactive({});
- const order_total_price = common_vendor.ref(0);
- const order_total_num = common_vendor.ref(0);
- const form = common_vendor.reactive({
- goods_id: 0,
- address_info: {}
- });
- const fromStr = common_vendor.ref("");
- common_vendor.onLoad((options) => {
- common_vendor.index.__f__("log", "at pages/order/housePreview.vue:271", "init");
- getConfig();
- GetPriceRules();
- common_vendor.index.__f__("log", "at pages/order/housePreview.vue:277", "🚀 ~ from:", options.from);
- fromStr.value = options.from;
- common_vendor.index.__f__("log", "at pages/order/housePreview.vue:279", "🚀 ~ ids:", options.ids);
- form.goods_id = options.ids;
- });
- common_vendor.onShow(() => {
- common_vendor.index.__f__("log", "at pages/order/housePreview.vue:287", "🚀 ~ onShowfrom:", fromStr.value);
- if (fromStr.value === "list" || fromStr.value === "item") {
- api_house_order.houseFetchGoodsPreview({
- goods_id: form.goods_id
- }).then((res) => {
- common_vendor.index.__f__("log", "at pages/order/housePreview.vue:292", res);
- Object.assign(goods, res.goods);
- order_total_price.value = res.order_total_price;
- order_total_num.value = res.order_total_num;
- });
- }
- });
- common_vendor.onHide(() => {
- fromStr.value = "";
- });
- const onSubmitClick = () => {
- var _a;
- if (!((_a = form.address_info) == null ? void 0 : _a.address_id)) {
- common_vendor.index.showToast({
- title: "请选择收货地址",
- icon: "none"
- });
- return;
- }
- api_house_order.fetchOrderbuyNow(form).then((res) => {
- common_vendor.index.__f__("log", "at pages/order/housePreview.vue:318", res);
- common_vendor.index.redirectTo({
- url: "/pages/order/detail?id=" + res.order_id,
- success: (res2) => {
- },
- fail: () => {
- },
- complete: () => {
- }
- });
- });
- };
- return (_ctx, _cache) => {
- var _a, _b, _c, _d, _e, _f;
- return common_vendor.e({
- a: !((_a = form.address_info) == null ? void 0 : _a.address_id)
- }, !((_b = form.address_info) == null ? void 0 : _b.address_id) ? {
- b: common_vendor.o(chooseAddress),
- c: common_vendor.p({
- title: "添加地址",
- ["is-link"]: true
- })
- } : {
- d: common_vendor.o(chooseAddress),
- e: common_vendor.p({
- title: form.address_info.user_name + " " + form.address_info.tel_number,
- ["is-link"]: true,
- ["sub-title"]: form.address_info.province_name + form.address_info.city_name + form.address_info.county_name + form.address_info.street_name + form.address_info.detail_info_new
- })
- }, {
- f: common_vendor.t((_d = (_c = goods == null ? void 0 : goods.goods_house) == null ? void 0 : _c.degree) == null ? void 0 : _d.degree_name),
- g: common_vendor.p({
- ["custom-color"]: "#1a1a1a"
- }),
- h: common_vendor.t((_e = goods == null ? void 0 : goods.goods_house) == null ? void 0 : _e.goods_name),
- i: common_vendor.t((_f = goods == null ? void 0 : goods.goods_house) == null ? void 0 : _f.goods_no),
- j: common_vendor.p({
- price: getPrice(goods == null ? void 0 : goods.goods_house),
- size: "small",
- ["need-symbol"]: true
- }),
- k: common_vendor.p({
- center: true
- }),
- l: common_vendor.t(order_total_num.value),
- m: common_vendor.p({
- price: getPrice(goods == null ? void 0 : goods.goods_house),
- ["need-symbol"]: true
- }),
- n: common_vendor.p({
- size: "large",
- price: getPrice(goods == null ? void 0 : goods.goods_house),
- ["need-symbol"]: true
- }),
- o: common_vendor.o(onSubmitClick),
- p: common_vendor.p({
- type: "primary"
- })
- });
- };
- }
-};
-const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-f68461ec"]]);
-wx.createPage(MiniProgramPage);
-//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/order/housePreview.js.map
diff --git a/unpackage/dist/dev/mp-weixin/pages/order/housePreview.json b/unpackage/dist/dev/mp-weixin/pages/order/housePreview.json
deleted file mode 100644
index 7214aa5..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/order/housePreview.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "navigationBarTitleText": "提交订单",
- "usingComponents": {
- "nut-cell": "../../uni_modules/nutui-uni/components/cell/cell",
- "nut-cell-group": "../../uni_modules/nutui-uni/components/cellgroup/cellgroup",
- "nut-tag": "../../uni_modules/nutui-uni/components/tag/tag",
- "nut-price": "../../uni_modules/nutui-uni/components/price/price",
- "nut-button": "../../uni_modules/nutui-uni/components/button/button"
- }
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/order/housePreview.wxml b/unpackage/dist/dev/mp-weixin/pages/order/housePreview.wxml
deleted file mode 100644
index 654ee95..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/order/housePreview.wxml
+++ /dev/null
@@ -1 +0,0 @@
-{{f}}{{h}}串号:{{i}}件数{{l}}件商品总额合计:确认下单
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/order/housePreview.wxss b/unpackage/dist/dev/mp-weixin/pages/order/housePreview.wxss
deleted file mode 100644
index f073310..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/order/housePreview.wxss
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-.page-content.data-v-f68461ec {
- min-height: calc(100vh - 60px);
- background-color: #f2f3f5;
- padding: 20rpx;
- padding-bottom: 140rpx;
-}
-
-/* 信息行布局 */
-.goods-info-row.data-v-f68461ec {
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding-bottom: 10rpx;
- /* 左侧文字样式 */
- /* 右侧价格样式 */
-}
-.goods-info-row .left-text.data-v-f68461ec {
- flex: 1;
-}
-.goods-info-row .goods-name.data-v-f68461ec {
- font-size: 30rpx;
- color: #000000;
- display: block;
- margin-bottom: 8rpx;
-}
-.goods-info-row .goods-no.data-v-f68461ec {
- font-size: 26rpx;
- color: #000000;
- display: block;
-}
-.goods-info-row .price.data-v-f68461ec {
- margin-left: 20rpx;
- align-self: center;
- /* 垂直居中在两行文字之间 */
-}
-.bottom-submit-inner.data-v-f68461ec {
- position: fixed;
- bottom: 0;
- left: 0;
- height: 120rpx;
- background: #fff;
- width: calc(100% - 40rpx);
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin: 0 auto;
- padding: 15rpx 20rpx;
-}
-.total-price-inner.data-v-f68461ec {
- width: 100%;
- display: flex;
- justify-content: space-between;
- align-items: center;
-}
-.total-price-inner view.data-v-f68461ec:nth-child(2) {
- color: #fa2c19;
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/order/preview.js b/unpackage/dist/dev/mp-weixin/pages/order/preview.js
deleted file mode 100644
index b56517f..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/order/preview.js
+++ /dev/null
@@ -1,157 +0,0 @@
-"use strict";
-const common_vendor = require("../../common/vendor.js");
-const api_order = require("../../api/order.js");
-if (!Array) {
- const _easycom_nut_cell2 = common_vendor.resolveComponent("nut-cell");
- const _easycom_nut_cell_group2 = common_vendor.resolveComponent("nut-cell-group");
- const _easycom_nut_tag2 = common_vendor.resolveComponent("nut-tag");
- const _easycom_nut_price2 = common_vendor.resolveComponent("nut-price");
- const _easycom_nut_button2 = common_vendor.resolveComponent("nut-button");
- (_easycom_nut_cell2 + _easycom_nut_cell_group2 + _easycom_nut_tag2 + _easycom_nut_price2 + _easycom_nut_button2)();
-}
-const _easycom_nut_cell = () => "../../uni_modules/nutui-uni/components/cell/cell.js";
-const _easycom_nut_cell_group = () => "../../uni_modules/nutui-uni/components/cellgroup/cellgroup.js";
-const _easycom_nut_tag = () => "../../uni_modules/nutui-uni/components/tag/tag.js";
-const _easycom_nut_price = () => "../../uni_modules/nutui-uni/components/price/price.js";
-const _easycom_nut_button = () => "../../uni_modules/nutui-uni/components/button/button.js";
-if (!Math) {
- (_easycom_nut_cell + _easycom_nut_cell_group + _easycom_nut_tag + _easycom_nut_price + _easycom_nut_button)();
-}
-const _sfc_main = {
- __name: "preview",
- setup(__props) {
- const chooseAddress = () => {
- common_vendor.index.chooseAddress({
- success(res) {
- common_vendor.index.__f__("log", "at pages/order/preview.vue:145", res);
- Object.assign(form, {
- address_info: {
- address_id: res.addressID || 1,
- user_name: res.userName,
- tel_number: res.telNumber,
- city_name: res.cityName || "",
- county_name: res.countyName || "",
- detail_info: res.detailInfo || "",
- detail_info_new: res.detailInfoNew || "",
- national_code: res.nationalCode || "",
- national_code_full: res.nationalCodeFull || "",
- postal_code: res.postalCode || "",
- province_name: res.provinceName || "",
- street_name: res.streetName || ""
- }
- });
- }
- });
- };
- common_vendor.ref([]);
- const list = common_vendor.reactive([]);
- const order_total_price = common_vendor.ref(0);
- const order_total_num = common_vendor.ref(0);
- const form = common_vendor.reactive({
- goods_id: 0,
- address_info: {}
- });
- const fromStr = common_vendor.ref("");
- common_vendor.onLoad((options) => {
- common_vendor.index.__f__("log", "at pages/order/preview.vue:186", "🚀 ~ from:", options.from);
- fromStr.value = options.from;
- common_vendor.index.__f__("log", "at pages/order/preview.vue:188", "🚀 ~ ids:", options.ids);
- form.goods_id = options.ids;
- });
- common_vendor.onShow(() => {
- common_vendor.index.__f__("log", "at pages/order/preview.vue:196", "🚀 ~ onShowfrom:", fromStr.value);
- if (fromStr.value === "list" || fromStr.value === "item") {
- api_order.fetchOrderPreview(form).then((res) => {
- Object.assign(list, res.goods_list);
- Object.assign(form.address_info, res.address_info);
- order_total_price.value = res.order_total_price;
- order_total_num.value = res.order_total_num;
- });
- }
- });
- common_vendor.onHide(() => {
- fromStr.value = "";
- });
- const onSubmitClick = () => {
- var _a;
- if (!((_a = form.address_info) == null ? void 0 : _a.address_id)) {
- common_vendor.index.showToast({
- title: "请选择收货地址",
- icon: "none"
- });
- return;
- }
- api_order.fetchOrderbuyNow(form).then((res) => {
- common_vendor.index.__f__("log", "at pages/order/preview.vue:223", res);
- common_vendor.index.redirectTo({
- url: "/pages/order/detail?id=" + res.order_id,
- success: (res2) => {
- },
- fail: () => {
- },
- complete: () => {
- }
- });
- });
- };
- return (_ctx, _cache) => {
- var _a, _b;
- return common_vendor.e({
- a: !((_a = form.address_info) == null ? void 0 : _a.address_id)
- }, !((_b = form.address_info) == null ? void 0 : _b.address_id) ? {
- b: common_vendor.o(chooseAddress),
- c: common_vendor.p({
- title: "添加地址",
- ["is-link"]: true
- })
- } : {
- d: common_vendor.o(chooseAddress),
- e: common_vendor.p({
- title: form.address_info.user_name + " " + form.address_info.tel_number,
- ["is-link"]: true,
- ["sub-title"]: form.address_info.province_name + form.address_info.city_name + form.address_info.county_name + form.address_info.street_name + form.address_info.detail_info_new
- })
- }, {
- f: common_vendor.f(list, (goods, index, i0) => {
- return {
- a: common_vendor.t(goods.degree.degree_name),
- b: "2ea27d69-5-" + i0 + "," + ("2ea27d69-4-" + i0),
- c: common_vendor.t(goods.goods_name),
- d: common_vendor.t(goods.goods_no),
- e: "2ea27d69-6-" + i0 + "," + ("2ea27d69-4-" + i0),
- f: common_vendor.p({
- price: goods.goods_price,
- size: "small",
- ["need-symbol"]: true
- }),
- g: index,
- h: "2ea27d69-4-" + i0 + ",2ea27d69-3"
- };
- }),
- g: common_vendor.p({
- ["custom-color"]: "#1a1a1a"
- }),
- h: common_vendor.p({
- center: true
- }),
- i: common_vendor.t(order_total_num.value),
- j: common_vendor.p({
- price: order_total_price.value,
- ["need-symbol"]: true
- }),
- k: common_vendor.p({
- size: "large",
- price: order_total_price.value,
- ["need-symbol"]: true
- }),
- l: common_vendor.o(onSubmitClick),
- m: common_vendor.p({
- type: "primary"
- })
- });
- };
- }
-};
-const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-2ea27d69"]]);
-wx.createPage(MiniProgramPage);
-//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/order/preview.js.map
diff --git a/unpackage/dist/dev/mp-weixin/pages/order/preview.json b/unpackage/dist/dev/mp-weixin/pages/order/preview.json
deleted file mode 100644
index 7214aa5..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/order/preview.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "navigationBarTitleText": "提交订单",
- "usingComponents": {
- "nut-cell": "../../uni_modules/nutui-uni/components/cell/cell",
- "nut-cell-group": "../../uni_modules/nutui-uni/components/cellgroup/cellgroup",
- "nut-tag": "../../uni_modules/nutui-uni/components/tag/tag",
- "nut-price": "../../uni_modules/nutui-uni/components/price/price",
- "nut-button": "../../uni_modules/nutui-uni/components/button/button"
- }
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/order/preview.wxml b/unpackage/dist/dev/mp-weixin/pages/order/preview.wxml
deleted file mode 100644
index e868de1..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/order/preview.wxml
+++ /dev/null
@@ -1 +0,0 @@
-{{goods.a}}{{goods.c}}串号:{{goods.d}}件数{{i}}件商品总额合计:确认下单
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/order/preview.wxss b/unpackage/dist/dev/mp-weixin/pages/order/preview.wxss
deleted file mode 100644
index b4e9b50..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/order/preview.wxss
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-.page-content.data-v-2ea27d69 {
- min-height: calc(100vh - 60px);
- background-color: #f2f3f5;
- padding: 20rpx;
- padding-bottom: 140rpx;
-}
-
-/* 信息行布局 */
-.goods-info-row.data-v-2ea27d69 {
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding-bottom: 10rpx;
- /* 左侧文字样式 */
- /* 右侧价格样式 */
-}
-.goods-info-row .left-text.data-v-2ea27d69 {
- flex: 1;
-}
-.goods-info-row .goods-name.data-v-2ea27d69 {
- font-size: 30rpx;
- color: #000000;
- display: block;
- margin-bottom: 8rpx;
-}
-.goods-info-row .goods-no.data-v-2ea27d69 {
- font-size: 26rpx;
- color: #000000;
- display: block;
-}
-.goods-info-row .price.data-v-2ea27d69 {
- margin-left: 20rpx;
- align-self: center;
- /* 垂直居中在两行文字之间 */
-}
-.bottom-submit-inner.data-v-2ea27d69 {
- position: fixed;
- bottom: 0;
- left: 0;
- height: 120rpx;
- background: #fff;
- width: calc(100% - 40rpx);
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin: 0 auto;
- padding: 15rpx 20rpx;
-}
-.total-price-inner.data-v-2ea27d69 {
- width: 100%;
- display: flex;
- justify-content: space-between;
- align-items: center;
-}
-.total-price-inner view.data-v-2ea27d69:nth-child(2) {
- color: #fa2c19;
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/todo/todoList.wxss b/unpackage/dist/dev/mp-weixin/pages/todo/todoList.wxss
index 2734ba3..cb85122 100644
--- a/unpackage/dist/dev/mp-weixin/pages/todo/todoList.wxss
+++ b/unpackage/dist/dev/mp-weixin/pages/todo/todoList.wxss
@@ -120,9 +120,10 @@
width: 100%;
box-sizing: border-box;
}
-.room-info .room-id.data-v-2f35fb20 {
- font-size: 28rpx;
-}
.room-info .remark.data-v-2f35fb20 {
font-size: 26rpx;
+}
+.room-info .room-id.data-v-2f35fb20 {
+ font-size: 26rpx;
+ padding-top: 40rpx;
}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/_constants/event.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/_constants/event.js
index be4e866..32acafb 100644
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/_constants/event.js
+++ b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/_constants/event.js
@@ -13,9 +13,12 @@ const BLUR_EVENT = "blur";
const CONFIRM_EVENT = "confirm";
const CLEAR_EVENT = "clear";
const CANCEL_EVENT = "cancel";
+const CHOOSE_EVENT = "choose";
+const SELECT_EVENT = "select";
exports.BLUR_EVENT = BLUR_EVENT;
exports.CANCEL_EVENT = CANCEL_EVENT;
exports.CHANGE_EVENT = CHANGE_EVENT;
+exports.CHOOSE_EVENT = CHOOSE_EVENT;
exports.CLEAR_EVENT = CLEAR_EVENT;
exports.CLICK_EVENT = CLICK_EVENT;
exports.CLOSED_EVENT = CLOSED_EVENT;
@@ -25,6 +28,7 @@ exports.FOCUS_EVENT = FOCUS_EVENT;
exports.INPUT_EVENT = INPUT_EVENT;
exports.OPENED_EVENT = OPENED_EVENT;
exports.OPEN_EVENT = OPEN_EVENT;
+exports.SELECT_EVENT = SELECT_EVENT;
exports.UPDATE_MODEL_EVENT = UPDATE_MODEL_EVENT;
exports.UPDATE_VISIBLE_EVENT = UPDATE_VISIBLE_EVENT;
//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/nutui-uni/components/_constants/event.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/_utils/date.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/_utils/date.js
index 2d0154f..78c44dc 100644
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/_utils/date.js
+++ b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/_utils/date.js
@@ -1,2 +1,112 @@
"use strict";
+function isLeapYear(y) {
+ return y % 4 === 0 && y % 100 !== 0 || y % 400 === 0;
+}
+function getWhatDay(year, month, day) {
+ const date = /* @__PURE__ */ new Date(`${year}/${month}/${day}`);
+ const index = date.getDay();
+ const dayNames = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
+ return dayNames[index];
+}
+function getMonthPreDay(year, month) {
+ const date = /* @__PURE__ */ new Date(`${year}/${month}/01`);
+ let day = date.getDay();
+ if (day === 0)
+ day = 7;
+ return day;
+}
+function getMonthDays(year, month) {
+ if (month.startsWith("0"))
+ month = month.split("")[1];
+ return [0, 31, isLeapYear(Number(year)) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
+}
+function getNumTwoBit(n) {
+ n = Number(n);
+ return (n > 9 ? "" : "0") + n;
+}
+function date2Str(date, split) {
+ split = split || "-";
+ const y = date.getFullYear();
+ const m = getNumTwoBit(date.getMonth() + 1);
+ const d = getNumTwoBit(date.getDate());
+ return [y, m, d].join(split);
+}
+function getDay(i) {
+ i = i || 0;
+ let date = /* @__PURE__ */ new Date();
+ const diff = i * (1e3 * 60 * 60 * 24);
+ date = new Date(date.getTime() + diff);
+ return date2Str(date);
+}
+function compareDate(date1, date2) {
+ const startTime = new Date(date1.replace("-", "/").replace("-", "/"));
+ const endTime = new Date(date2.replace("-", "/").replace("-", "/"));
+ if (startTime >= endTime)
+ return false;
+ return true;
+}
+function isEqual(date1, date2) {
+ const startTime = new Date(date1).getTime();
+ const endTime = new Date(date2).getTime();
+ if (startTime === endTime)
+ return true;
+ return false;
+}
+function getMonthWeek(year, month, date, firstDayOfWeek = 0) {
+ const dateNow = new Date(Number(year), Number.parseInt(month) - 1, Number(date));
+ let w = dateNow.getDay();
+ const d = dateNow.getDate();
+ let remainder = 6 - w;
+ if (firstDayOfWeek !== 0) {
+ w = w === 0 ? 7 : w;
+ remainder = 7 - w;
+ }
+ return Math.ceil((d + remainder) / 7);
+}
+function getYearWeek(year, month, date) {
+ const dateNow = new Date(Number(year), Number.parseInt(month) - 1, Number(date));
+ const dateFirst = new Date(Number(year), 0, 1);
+ const dataNumber = Math.round((dateNow.valueOf() - dateFirst.valueOf()) / 864e5);
+ return Math.ceil((dataNumber + (dateFirst.getDay() + 1 - 1)) / 7);
+}
+function getWeekDate(year, month, date, firstDayOfWeek = 0) {
+ const dateNow = new Date(Number(year), Number.parseInt(month) - 1, Number(date));
+ const nowTime = dateNow.getTime();
+ let day = dateNow.getDay();
+ if (firstDayOfWeek === 0) {
+ const oneDayTime = 24 * 60 * 60 * 1e3;
+ const SundayTime = nowTime - day * oneDayTime;
+ const SaturdayTime = nowTime + (6 - day) * oneDayTime;
+ const sunday = date2Str(new Date(SundayTime));
+ const saturday = date2Str(new Date(SaturdayTime));
+ return [sunday, saturday];
+ } else {
+ day = day === 0 ? 7 : day;
+ const oneDayTime = 24 * 60 * 60 * 1e3;
+ const MondayTime = nowTime - (day - 1) * oneDayTime;
+ const SundayTime = nowTime + (7 - day) * oneDayTime;
+ const monday = date2Str(new Date(MondayTime));
+ const sunday = date2Str(new Date(SundayTime));
+ return [monday, sunday];
+ }
+}
+function formatResultDate(date) {
+ const days = [...date.split("-")];
+ days[2] = getNumTwoBit(Number(days[2]));
+ days[3] = `${days[0]}-${days[1]}-${days[2]}`;
+ days[4] = getWhatDay(+days[0], +days[1], +days[2]);
+ return days;
+}
+exports.compareDate = compareDate;
+exports.date2Str = date2Str;
+exports.formatResultDate = formatResultDate;
+exports.getDay = getDay;
+exports.getMonthDays = getMonthDays;
+exports.getMonthPreDay = getMonthPreDay;
+exports.getMonthWeek = getMonthWeek;
+exports.getNumTwoBit = getNumTwoBit;
+exports.getWeekDate = getWeekDate;
+exports.getWhatDay = getWhatDay;
+exports.getYearWeek = getYearWeek;
+exports.isEqual = isEqual;
//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/nutui-uni/components/_utils/date.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/_utils/raf.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/_utils/raf.js
index 5fd764d..d0b9ad1 100644
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/_utils/raf.js
+++ b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/_utils/raf.js
@@ -11,6 +11,6 @@ function requestAniFrame() {
};
}
}
-const raf = requestAniFrame();
-exports.raf = raf;
+const requestAniFrame$1 = requestAniFrame();
+exports.requestAniFrame = requestAniFrame$1;
//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/nutui-uni/components/_utils/raf.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.js
new file mode 100644
index 0000000..36d8e80
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.js
@@ -0,0 +1,453 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const uni_modules_nutuiUni_components__constants_event = require("../_constants/event.js");
+const uni_modules_nutuiUni_components__constants_prefix = require("../_constants/prefix.js");
+require("../_utils/env.js");
+const uni_modules_nutuiUni_components__utils_style = require("../_utils/style.js");
+const uni_modules_nutuiUni_components__utils_date = require("../_utils/date.js");
+const uni_modules_nutuiUni_components__utils_props = require("../_utils/props.js");
+const popup = require("../../../../popup.js");
+const calendarProps = {
+ ...popup.popupProps,
+ ...uni_modules_nutuiUni_components__utils_props.commonProps,
+ /**
+ * @description 是否可见
+ */
+ visible: Boolean,
+ /**
+ * @description 类型,日期单选 `one`,区间选择 `range`,日期多选 `multiple`,周选择 `week`
+ */
+ type: uni_modules_nutuiUni_components__utils_props.makeStringProp("one"),
+ /**
+ * @description 是否弹窗状态展示
+ */
+ poppable: uni_modules_nutuiUni_components__utils_props.truthProp,
+ /**
+ * @description 自动回填
+ */
+ isAutoBackFill: Boolean,
+ /**
+ * @description 显示标题
+ */
+ title: uni_modules_nutuiUni_components__utils_props.makeStringProp("日期选择"),
+ /**
+ * @description 默认值,单个日期选择为 `string`,其他为 `string[]`
+ */
+ defaultValue: {
+ type: [String, Array]
+ },
+ /**
+ * @description 开始日期
+ */
+ startDate: uni_modules_nutuiUni_components__utils_props.makeStringProp(uni_modules_nutuiUni_components__utils_date.getDay(0)),
+ /**
+ * @description 结束日期
+ */
+ endDate: uni_modules_nutuiUni_components__utils_props.makeStringProp(uni_modules_nutuiUni_components__utils_date.getDay(365)),
+ /**
+ * @description 范围选择,开始信息文案
+ */
+ startText: uni_modules_nutuiUni_components__utils_props.makeStringProp("开始"),
+ /**
+ * @description 范围选择,结束信息文案
+ */
+ endText: uni_modules_nutuiUni_components__utils_props.makeStringProp("结束"),
+ /**
+ * @description 底部确认按钮文案
+ */
+ confirmText: uni_modules_nutuiUni_components__utils_props.makeStringProp("确认"),
+ /**
+ * @description 是否展示今天标记
+ */
+ showToday: uni_modules_nutuiUni_components__utils_props.truthProp,
+ /**
+ * @description 是否在展示日历标题
+ */
+ showTitle: uni_modules_nutuiUni_components__utils_props.truthProp,
+ /**
+ * @description 是否展示日期标题
+ */
+ showSubTitle: uni_modules_nutuiUni_components__utils_props.truthProp,
+ /**
+ * @description 是否启动滚动动画
+ */
+ toDateAnimation: uni_modules_nutuiUni_components__utils_props.truthProp,
+ /**
+ * @description 设置周起始日
+ */
+ firstDayOfWeek: uni_modules_nutuiUni_components__utils_props.makeNumberProp(0),
+ /**
+ * @description 一个用来判断该日期是否被禁用的函数,接受一个 `年 - 月 - 日` 作为参数。 应该返回一个 Boolean 值。
+ * @default undefined
+ */
+ disabledDate: Function,
+ /**
+ * @description 是否使用 footer 插槽,如果使用,此值必须为 true
+ */
+ footerSlot: Boolean,
+ /**
+ * @description 是否使用 btn 插槽,如果使用,此值必须为 true
+ */
+ btnSlot: Boolean,
+ /**
+ * @description 自定义弹窗样式
+ */
+ popStyle: {
+ type: [String, Object, Array],
+ default: ""
+ },
+ /**
+ * @description 遮罩显示时的背景是否锁定
+ */
+ lockScroll: uni_modules_nutuiUni_components__utils_props.truthProp
+};
+const calendarEmits = {
+ [uni_modules_nutuiUni_components__constants_event.UPDATE_VISIBLE_EVENT]: (value) => true,
+ [uni_modules_nutuiUni_components__constants_event.CHOOSE_EVENT]: (value) => true,
+ [uni_modules_nutuiUni_components__constants_event.SELECT_EVENT]: (value) => true,
+ clickCloseIcon: () => true,
+ clickOverlay: () => true,
+ [uni_modules_nutuiUni_components__constants_event.OPEN_EVENT]: () => true,
+ [uni_modules_nutuiUni_components__constants_event.OPENED_EVENT]: () => true,
+ [uni_modules_nutuiUni_components__constants_event.CLOSE_EVENT]: () => true,
+ [uni_modules_nutuiUni_components__constants_event.CLOSED_EVENT]: () => true
+};
+if (!Math) {
+ (NutCalendarItem + NutPopup)();
+}
+const NutCalendarItem = () => "../calendaritem/calendaritem.js";
+const NutPopup = () => "../popup/popup.js";
+const componentName = `${uni_modules_nutuiUni_components__constants_prefix.PREFIX}-calendar`;
+const __default__ = common_vendor.defineComponent({
+ name: componentName,
+ options: {
+ virtualHost: true,
+ addGlobalClass: true,
+ styleIsolation: "shared"
+ }
+});
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ ...__default__,
+ props: calendarProps,
+ emits: calendarEmits,
+ setup(__props, { expose: __expose, emit: __emit }) {
+ const props = __props;
+ const emit = __emit;
+ const slots = common_vendor.useSlots();
+ const innerVisible = common_vendor.computed({
+ get() {
+ return props.visible;
+ },
+ set(value) {
+ emit("update:visible", value);
+ }
+ });
+ const classes = common_vendor.computed(() => {
+ return uni_modules_nutuiUni_components__utils_style.getMainClass(props, componentName);
+ });
+ const popClasses = common_vendor.computed(() => {
+ return `${componentName}__popup ${props.popClass}`;
+ });
+ const popStyles = common_vendor.computed(() => {
+ return [{
+ height: "85vh"
+ }, props.popStyle];
+ });
+ const overlayClasses = common_vendor.computed(() => {
+ return `${componentName}__overlay ${props.overlayClass}`;
+ });
+ const calendarRef = common_vendor.ref(null);
+ function scrollToDate(date) {
+ var _a;
+ (_a = calendarRef.value) == null ? void 0 : _a.scrollToDate(date);
+ }
+ function initPosition() {
+ var _a;
+ (_a = calendarRef.value) == null ? void 0 : _a.initPosition();
+ }
+ function close() {
+ emit(uni_modules_nutuiUni_components__constants_event.UPDATE_VISIBLE_EVENT, false);
+ emit(uni_modules_nutuiUni_components__constants_event.CLOSE_EVENT);
+ }
+ function choose(param) {
+ close();
+ emit(uni_modules_nutuiUni_components__constants_event.CHOOSE_EVENT, param);
+ }
+ function select(param) {
+ emit(uni_modules_nutuiUni_components__constants_event.SELECT_EVENT, param);
+ }
+ function update() {
+ emit(uni_modules_nutuiUni_components__constants_event.UPDATE_VISIBLE_EVENT, false);
+ }
+ function handleCloseIconClick() {
+ emit("clickCloseIcon");
+ }
+ function handleOverlayClick() {
+ emit("clickOverlay");
+ }
+ function handleOpen() {
+ emit(uni_modules_nutuiUni_components__constants_event.OPEN_EVENT);
+ }
+ function handleOpened() {
+ emit(uni_modules_nutuiUni_components__constants_event.OPENED_EVENT);
+ if (props.defaultValue) {
+ if (Array.isArray(props.defaultValue)) {
+ if (props.defaultValue.length > 0) {
+ scrollToDate(props.defaultValue[0]);
+ }
+ } else {
+ scrollToDate(props.defaultValue);
+ }
+ }
+ }
+ function handleClose() {
+ emit(uni_modules_nutuiUni_components__constants_event.CLOSE_EVENT);
+ }
+ function handleClosed() {
+ emit(uni_modules_nutuiUni_components__constants_event.CLOSED_EVENT);
+ }
+ __expose({
+ scrollToDate,
+ initPosition
+ });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: props.poppable
+ }, props.poppable ? common_vendor.e({
+ b: common_vendor.unref(slots).btn
+ }, common_vendor.unref(slots).btn ? {} : {}, {
+ c: common_vendor.unref(slots).day
+ }, common_vendor.unref(slots).day ? {
+ d: common_vendor.w(({
+ date
+ }, s0, i0) => {
+ return {
+ a: common_vendor.r("day", {
+ date
+ }),
+ b: i0,
+ c: s0
+ };
+ }, {
+ name: "day",
+ path: "d",
+ vueId: "4c9799f0-1,4c9799f0-0"
+ })
+ } : {}, {
+ e: common_vendor.unref(slots).topInfo
+ }, common_vendor.unref(slots).topInfo ? {
+ f: common_vendor.w(({
+ date
+ }, s0, i0) => {
+ return {
+ a: common_vendor.r("topInfo", {
+ date
+ }),
+ b: i0,
+ c: s0
+ };
+ }, {
+ name: "topInfo",
+ path: "f",
+ vueId: "4c9799f0-1,4c9799f0-0"
+ })
+ } : {}, {
+ g: common_vendor.unref(slots).bottomInfo
+ }, common_vendor.unref(slots).bottomInfo ? {
+ h: common_vendor.w(({
+ date
+ }, s0, i0) => {
+ return {
+ a: common_vendor.r("bottomInfo", {
+ date
+ }),
+ b: i0,
+ c: s0
+ };
+ }, {
+ name: "bottomInfo",
+ path: "h",
+ vueId: "4c9799f0-1,4c9799f0-0"
+ })
+ } : {}, {
+ i: common_vendor.unref(slots).footer
+ }, common_vendor.unref(slots).footer ? {
+ j: common_vendor.w(({
+ date
+ }, s0, i0) => {
+ return {
+ a: common_vendor.r("footer", {
+ date
+ }),
+ b: i0,
+ c: s0
+ };
+ }, {
+ name: "footer",
+ path: "j",
+ vueId: "4c9799f0-1,4c9799f0-0"
+ })
+ } : {}, {
+ k: common_vendor.sr(calendarRef, "4c9799f0-1,4c9799f0-0", {
+ "k": "calendarRef"
+ }),
+ l: common_vendor.o(choose),
+ m: common_vendor.o(select),
+ n: common_vendor.o(update),
+ o: common_vendor.o(close),
+ p: common_vendor.p({
+ visible: innerVisible.value,
+ type: props.type,
+ poppable: props.poppable,
+ ["is-auto-back-fill"]: props.isAutoBackFill,
+ title: props.title,
+ ["default-value"]: props.defaultValue,
+ ["start-date"]: props.startDate,
+ ["end-date"]: props.endDate,
+ ["start-text"]: props.startText,
+ ["end-text"]: props.endText,
+ ["confirm-text"]: props.confirmText,
+ ["show-today"]: props.showToday,
+ ["show-title"]: props.showTitle,
+ ["show-sub-title"]: props.showSubTitle,
+ ["to-date-animation"]: props.toDateAnimation,
+ ["first-day-of-week"]: props.firstDayOfWeek,
+ ["disabled-date"]: props.disabledDate,
+ ["footer-slot"]: props.footerSlot,
+ ["btn-slot"]: props.btnSlot
+ }),
+ q: common_vendor.o(handleCloseIconClick),
+ r: common_vendor.o(handleOverlayClick),
+ s: common_vendor.o(handleOpen),
+ t: common_vendor.o(handleOpened),
+ v: common_vendor.o(handleClose),
+ w: common_vendor.o(handleClosed),
+ x: common_vendor.o(($event) => innerVisible.value = $event),
+ y: common_vendor.p({
+ ["custom-class"]: popClasses.value,
+ ["custom-style"]: popStyles.value,
+ ["overlay-class"]: overlayClasses.value,
+ ["overlay-style"]: props.overlayStyle,
+ position: "bottom",
+ round: true,
+ closeable: props.closeable,
+ ["close-icon"]: props.closeIcon,
+ ["close-icon-position"]: props.closeIconPosition,
+ ["z-index"]: props.zIndex,
+ ["lock-scroll"]: props.lockScroll,
+ overlay: props.overlay,
+ ["close-on-click-overlay"]: props.closeOnClickOverlay,
+ ["destroy-on-close"]: false,
+ visible: innerVisible.value
+ })
+ }) : common_vendor.e({
+ z: common_vendor.unref(slots).btn
+ }, common_vendor.unref(slots).btn ? {} : {}, {
+ A: common_vendor.unref(slots).day
+ }, common_vendor.unref(slots).day ? {
+ B: common_vendor.w(({
+ date
+ }, s0, i0) => {
+ return {
+ a: common_vendor.r("day", {
+ date
+ }),
+ b: i0,
+ c: s0
+ };
+ }, {
+ name: "day",
+ path: "B",
+ vueId: "4c9799f0-2"
+ })
+ } : {}, {
+ C: common_vendor.unref(slots).topInfo
+ }, common_vendor.unref(slots).topInfo ? {
+ D: common_vendor.w(({
+ date
+ }, s0, i0) => {
+ return {
+ a: common_vendor.r("topInfo", {
+ date
+ }),
+ b: i0,
+ c: s0
+ };
+ }, {
+ name: "topInfo",
+ path: "D",
+ vueId: "4c9799f0-2"
+ })
+ } : {}, {
+ E: common_vendor.unref(slots).bottomInfo
+ }, common_vendor.unref(slots).bottomInfo ? {
+ F: common_vendor.w(({
+ date
+ }, s0, i0) => {
+ return {
+ a: common_vendor.r("bottomInfo", {
+ date
+ }),
+ b: i0,
+ c: s0
+ };
+ }, {
+ name: "bottomInfo",
+ path: "F",
+ vueId: "4c9799f0-2"
+ })
+ } : {}, {
+ G: common_vendor.unref(slots).footer
+ }, common_vendor.unref(slots).footer ? {
+ H: common_vendor.w(({
+ date
+ }, s0, i0) => {
+ return {
+ a: common_vendor.r("footer", {
+ date
+ }),
+ b: i0,
+ c: s0
+ };
+ }, {
+ name: "footer",
+ path: "H",
+ vueId: "4c9799f0-2"
+ })
+ } : {}, {
+ I: common_vendor.sr(calendarRef, "4c9799f0-2", {
+ "k": "calendarRef"
+ }),
+ J: common_vendor.o(choose),
+ K: common_vendor.o(select),
+ L: common_vendor.o(close),
+ M: common_vendor.p({
+ visible: innerVisible.value,
+ type: props.type,
+ poppable: props.poppable,
+ ["is-auto-back-fill"]: props.isAutoBackFill,
+ title: props.title,
+ ["default-value"]: props.defaultValue,
+ ["start-date"]: props.startDate,
+ ["end-date"]: props.endDate,
+ ["start-text"]: props.startText,
+ ["end-text"]: props.endText,
+ ["confirm-text"]: props.confirmText,
+ ["show-today"]: props.showToday,
+ ["show-title"]: props.showTitle,
+ ["show-sub-title"]: props.showSubTitle,
+ ["to-date-animation"]: props.toDateAnimation,
+ ["first-day-of-week"]: props.firstDayOfWeek,
+ ["disabled-date"]: props.disabledDate,
+ ["footer-slot"]: props.footerSlot,
+ ["btn-slot"]: props.btnSlot
+ })
+ }), {
+ N: common_vendor.n(classes.value),
+ O: common_vendor.s(props.customStyle)
+ });
+ };
+ }
+});
+wx.createComponent(_sfc_main);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/dialog.json b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.json
similarity index 59%
rename from unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/dialog.json
rename to unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.json
index 27cceca..87e50c1 100644
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/dialog.json
+++ b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.json
@@ -1,7 +1,7 @@
{
"component": true,
"usingComponents": {
- "nut-button": "../button/button",
+ "nut-calendar-item": "../calendaritem/calendaritem",
"nut-popup": "../popup/popup"
}
}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.wxml b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.wxml
new file mode 100644
index 0000000..2a335d2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.wxss b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.wxss
new file mode 100644
index 0000000..deba407
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendar/calendar.wxss
@@ -0,0 +1,170 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.nut-overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: var(--nut-overlay-bg-color, rgba(0, 0, 0, 0.7));
+}
+.nut-overflow-hidden {
+ overflow: hidden !important;
+}
+.nut-theme-dark .nut-popup {
+ background: var(--nut-dark-background2, #1b1b1b);
+}
+.nut-theme-dark .nut-popup__close-icon {
+ color: var(--nut-dark-color, var(--nut-white, #fff));
+}
+.nut-popup-slide-center-enter-active, .nut-popup-slide-center-leave-active {
+ transition-timing-function: ease;
+ transition-property: opacity;
+}
+.nut-popup-slide-center-enter-from, .nut-popup-slide-center-leave-to {
+ opacity: 0;
+}
+.nut-popup-slide-top-enter-from, .nut-popup-slide-top-leave-active {
+ transform: translate(0, -100%);
+}
+.nut-popup-slide-right-enter-from, .nut-popup-slide-right-leave-active {
+ transform: translate(100%, 0);
+}
+.nut-popup-slide-bottom-enter-from, .nut-popup-slide-bottom-leave-active {
+ transform: translate(0, 100%);
+}
+.nut-popup-slide-left-enter-from, .nut-popup-slide-left-leave-active {
+ transform: translate(-100%, 0);
+}
+.nut-popup--center {
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+}
+.nut-popup--center.round {
+ border-radius: var(--nut-popup-border-radius, 20px);
+}
+.nut-popup--bottom {
+ bottom: 0;
+ left: 0;
+ width: 100%;
+}
+.nut-popup--bottom.round {
+ border-radius: var(--nut-popup-border-radius, 20px) var(--nut-popup-border-radius, 20px) 0 0;
+}
+.nut-popup--bottom--safebottom {
+ padding-bottom: constant(safe-area-inset-bottom);
+ padding-bottom: env(safe-area-inset-bottom);
+}
+.nut-popup--right {
+ top: 0;
+ right: 0;
+}
+.nut-popup--right.round {
+ border-radius: var(--nut-popup-border-radius, 20px) 0 0 var(--nut-popup-border-radius, 20px);
+}
+.nut-popup--left {
+ top: 0;
+ left: 0;
+}
+.nut-popup--left.round {
+ border-radius: 0 var(--nut-popup-border-radius, 20px) var(--nut-popup-border-radius, 20px) 0;
+}
+.nut-popup--top {
+ top: 0;
+ left: 0;
+ width: 100%;
+}
+.nut-popup--top.round {
+ border-radius: 0 0 var(--nut-popup-border-radius, 20px) var(--nut-popup-border-radius, 20px);
+}
+.nut-popup--top--safetop {
+ padding-top: var(--status-bar-height);
+ padding-top: constant(safe-area-inset-top);
+ padding-top: env(safe-area-inset-top);
+}
+.nut-popup {
+ position: fixed;
+ max-height: 100%;
+ overflow-y: auto;
+ background-color: var(--nut-white, #fff);
+ -webkit-overflow-scrolling: touch;
+}
+.nut-popup__close-icon {
+ position: absolute !important;
+ z-index: 1;
+ width: 30px;
+ height: 30px;
+ font-size: 18px;
+ line-height: 30px;
+ color: #969799;
+ text-align: center;
+ cursor: pointer;
+}
+.nut-popup__close-icon:active {
+ opacity: 0.7;
+}
+.nut-popup__close-icon--top-left {
+ top: var(--nut-popup-close-icon-margin, 16px);
+ left: var(--nut-popup-close-icon-margin, 16px);
+}
+.nut-popup__close-icon--top-right {
+ top: var(--nut-popup-close-icon-margin, 16px);
+ right: var(--nut-popup-close-icon-margin, 16px);
+}
+.nut-popup__close-icon--bottom-left {
+ bottom: var(--nut-popup-close-icon-margin, 16px);
+ left: var(--nut-popup-close-icon-margin, 16px);
+}
+.nut-popup__close-icon--bottom-right {
+ right: var(--nut-popup-close-icon-margin, 16px);
+ bottom: var(--nut-popup-close-icon-margin, 16px);
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.js
new file mode 100644
index 0000000..4c214fc
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.js
@@ -0,0 +1,708 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const uni_modules_nutuiUni_components__constants_event = require("../_constants/event.js");
+const uni_modules_nutuiUni_components__constants_prefix = require("../_constants/prefix.js");
+const uni_modules_nutuiUni_components__utils_date = require("../_utils/date.js");
+const uni_modules_nutuiUni_components__utils_env = require("../_utils/env.js");
+const uni_modules_nutuiUni_components__utils_raf = require("../_utils/raf.js");
+const uni_modules_nutuiUni_components__utils_style = require("../_utils/style.js");
+require("../../locale/locale.js");
+const uni_modules_nutuiUni_locale_useTranslate = require("../../locale/useTranslate.js");
+const uni_modules_nutuiUni_components__utils_props = require("../_utils/props.js");
+const calendaritemProps = {
+ ...uni_modules_nutuiUni_components__utils_props.commonProps,
+ /**
+ * @description 是否可见
+ */
+ visible: Boolean,
+ /**
+ * @description 类型,日期单选 `one`,区间选择 `range`,日期多选 `multiple`,周选择 `week`
+ */
+ type: uni_modules_nutuiUni_components__utils_props.makeStringProp("one"),
+ /**
+ * @description 是否弹窗状态展示
+ */
+ poppable: uni_modules_nutuiUni_components__utils_props.truthProp,
+ /**
+ * @description 自动回填
+ */
+ isAutoBackFill: Boolean,
+ /**
+ * @description 显示标题
+ */
+ title: uni_modules_nutuiUni_components__utils_props.makeStringProp("日期选择"),
+ /**
+ * @description 默认值,单个日期选择为 `string`,其他为 `string[]`
+ */
+ defaultValue: {
+ type: [String, Array]
+ },
+ /**
+ * @description 开始日期
+ */
+ startDate: uni_modules_nutuiUni_components__utils_props.makeStringProp(uni_modules_nutuiUni_components__utils_date.getDay(0)),
+ /**
+ * @description 结束日期
+ */
+ endDate: uni_modules_nutuiUni_components__utils_props.makeStringProp(uni_modules_nutuiUni_components__utils_date.getDay(365)),
+ /**
+ * @description 范围选择,开始信息文案
+ */
+ startText: uni_modules_nutuiUni_components__utils_props.makeStringProp("开始"),
+ /**
+ * @description 范围选择,结束信息文案
+ */
+ endText: uni_modules_nutuiUni_components__utils_props.makeStringProp("结束"),
+ /**
+ * @description 底部确认按钮文案
+ */
+ confirmText: uni_modules_nutuiUni_components__utils_props.makeStringProp("确认"),
+ /**
+ * @description 是否展示今天标记
+ */
+ showToday: uni_modules_nutuiUni_components__utils_props.truthProp,
+ /**
+ * @description 是否在展示日历标题
+ */
+ showTitle: uni_modules_nutuiUni_components__utils_props.truthProp,
+ /**
+ * @description 是否展示日期标题
+ */
+ showSubTitle: uni_modules_nutuiUni_components__utils_props.truthProp,
+ /**
+ * @description 是否启动滚动动画
+ */
+ toDateAnimation: uni_modules_nutuiUni_components__utils_props.truthProp,
+ /**
+ * @description 设置周起始日
+ */
+ firstDayOfWeek: uni_modules_nutuiUni_components__utils_props.makeNumberProp(0),
+ /**
+ * @description 一个用来判断该日期是否被禁用的函数,接受一个 `年 - 月 - 日` 作为参数。 应该返回一个 Boolean 值。
+ * @default undefined
+ */
+ disabledDate: Function,
+ /**
+ * @description 是否使用 footer 插槽,如果使用,此值必须为 true
+ */
+ footerSlot: Boolean,
+ /**
+ * @description 是否使用 btn 插槽,如果使用,此值必须为 true
+ */
+ btnSlot: Boolean
+};
+const calendaritemEmits = {
+ [uni_modules_nutuiUni_components__constants_event.CHOOSE_EVENT]: (value) => true,
+ [uni_modules_nutuiUni_components__constants_event.SELECT_EVENT]: (value) => true,
+ update: () => true,
+ close: () => true
+};
+const __default__ = common_vendor.defineComponent({
+ name: `${uni_modules_nutuiUni_components__constants_prefix.PREFIX}-calendar-item`,
+ options: {
+ virtualHost: true,
+ addGlobalClass: true,
+ styleIsolation: "shared"
+ }
+});
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ ...__default__,
+ props: calendaritemProps,
+ emits: calendaritemEmits,
+ setup(__props, { expose: __expose, emit: __emit }) {
+ const props = __props;
+ const emit = __emit;
+ common_vendor.useSlots();
+ const componentName = `${uni_modules_nutuiUni_components__constants_prefix.PREFIX}-calendar-item`;
+ const { translate } = uni_modules_nutuiUni_locale_useTranslate.useTranslate(componentName);
+ const state = common_vendor.reactive({
+ yearMonthTitle: "",
+ defaultRange: [],
+ containerHeight: "100%",
+ currDate: "",
+ propStartDate: "",
+ propEndDate: "",
+ unLoadPrev: false,
+ touchParams: {
+ startY: 0,
+ endY: 0,
+ startTime: 0,
+ endTime: 0,
+ lastY: 0,
+ lastTime: 0
+ },
+ transformY: 0,
+ translateY: 0,
+ scrollDistance: 0,
+ defaultData: [],
+ chooseData: [],
+ monthsData: [],
+ dayPrefix: "nut-calendar__day",
+ startData: "",
+ endData: "",
+ isRange: props.type === "range",
+ timer: 0,
+ currentIndex: 0,
+ avgHeight: 0,
+ scrollTop: 0,
+ monthsNum: 0
+ });
+ const classes = common_vendor.computed(() => {
+ return uni_modules_nutuiUni_components__utils_style.getMainClass(props, componentName, {
+ "nut-calendar--nopop": !props.poppable,
+ "nut-calendar--nofooter": props.isAutoBackFill
+ });
+ });
+ const weekdays = translate("weekdays").map((day, index) => ({
+ day,
+ weekend: index === 0 || index === 6
+ }));
+ const weeks = common_vendor.ref([...weekdays.slice(props.firstDayOfWeek, 7), ...weekdays.slice(0, props.firstDayOfWeek)]);
+ const months = common_vendor.ref(null);
+ const scalePx = common_vendor.ref(2);
+ const viewHeight = common_vendor.ref(0);
+ const compConthsData = common_vendor.computed(() => {
+ return state.monthsData.slice(state.defaultRange[0], state.defaultRange[1]);
+ });
+ const scrollWithAnimation = common_vendor.ref(false);
+ function splitDate(date) {
+ return date.split("-");
+ }
+ function isStart(currDate) {
+ return uni_modules_nutuiUni_components__utils_date.isEqual(state.currDate[0], currDate);
+ }
+ function isEnd(currDate) {
+ return uni_modules_nutuiUni_components__utils_date.isEqual(state.currDate[1], currDate);
+ }
+ function isMultiple(currDate) {
+ var _a, _b;
+ if (((_a = state.currDate) == null ? void 0 : _a.length) > 0) {
+ return (_b = state.currDate) == null ? void 0 : _b.some((item) => {
+ return uni_modules_nutuiUni_components__utils_date.isEqual(item, currDate);
+ });
+ } else {
+ return false;
+ }
+ }
+ function getCurrDate(day, month) {
+ return `${month.curData[0]}-${month.curData[1]}-${uni_modules_nutuiUni_components__utils_date.getNumTwoBit(+day.day)}`;
+ }
+ function getClass(day, month, index) {
+ const res = [];
+ if (typeof index === "number" && ((index + 1 + props.firstDayOfWeek) % 7 === 0 || (index + props.firstDayOfWeek) % 7 === 0)) {
+ res.push("weekend");
+ }
+ const currDate = getCurrDate(day, month);
+ const { type } = props;
+ if (day.type === "curr") {
+ if (uni_modules_nutuiUni_components__utils_date.isEqual(state.currDate, currDate) || (type === "range" || type === "week") && (isStart(currDate) || isEnd(currDate)) || type === "multiple" && isMultiple(currDate)) {
+ res.push(`${state.dayPrefix}--active`);
+ } else if (state.propStartDate && uni_modules_nutuiUni_components__utils_date.compareDate(currDate, state.propStartDate) || state.propEndDate && uni_modules_nutuiUni_components__utils_date.compareDate(state.propEndDate, currDate) || props.disabledDate && props.disabledDate(currDate)) {
+ res.push(`${state.dayPrefix}--disabled`);
+ } else if ((type === "range" || type === "week") && Array.isArray(state.currDate) && Object.values(state.currDate).length === 2 && uni_modules_nutuiUni_components__utils_date.compareDate(state.currDate[0], currDate) && uni_modules_nutuiUni_components__utils_date.compareDate(currDate, state.currDate[1])) {
+ res.push(`${state.dayPrefix}--choose`);
+ }
+ } else {
+ res.push(`${state.dayPrefix}--disabled`);
+ }
+ return res;
+ }
+ function confirm() {
+ const { type } = props;
+ if (type === "range" && state.chooseData.length === 2 || type !== "range") {
+ let selectData = state.chooseData.slice(0);
+ if (type === "week") {
+ selectData = {
+ weekDate: [handleWeekDate(state.chooseData[0]), handleWeekDate(state.chooseData[1])]
+ };
+ }
+ emit(uni_modules_nutuiUni_components__constants_event.CHOOSE_EVENT, selectData);
+ if (props.poppable)
+ emit("update");
+ }
+ }
+ function chooseDay(day, month, isFirst = false) {
+ var _a, _b;
+ if (!getClass(day, month).includes(`${state.dayPrefix}--disabled`)) {
+ const { type } = props;
+ const [y, m] = month.curData;
+ const days = [...month.curData];
+ days[2] = uni_modules_nutuiUni_components__utils_date.getNumTwoBit(Number(day.day));
+ days[3] = `${days[0]}-${days[1]}-${days[2]}`;
+ days[4] = uni_modules_nutuiUni_components__utils_date.getWhatDay(+days[0], +days[1], +days[2]);
+ if (type === "multiple") {
+ if (((_a = state.currDate) == null ? void 0 : _a.length) > 0) {
+ let hasIndex;
+ (_b = state.currDate) == null ? void 0 : _b.forEach((item, index) => {
+ if (item === days[3])
+ hasIndex = index;
+ });
+ if (isFirst) {
+ state.chooseData.push([...days]);
+ } else {
+ if (hasIndex !== void 0) {
+ state.currDate.splice(hasIndex, 1);
+ state.chooseData.splice(hasIndex, 1);
+ } else {
+ state.currDate.push(days[3]);
+ state.chooseData.push([...days]);
+ }
+ }
+ } else {
+ state.currDate = [days[3]];
+ state.chooseData = [[...days]];
+ }
+ } else if (type === "range") {
+ const curDataLength = Object.values(state.currDate).length;
+ if (curDataLength === 2 || curDataLength === 0) {
+ state.currDate = [days[3]];
+ } else {
+ if (uni_modules_nutuiUni_components__utils_date.compareDate(state.currDate[0], days[3]))
+ Array.isArray(state.currDate) && state.currDate.push(days[3]);
+ else
+ Array.isArray(state.currDate) && state.currDate.unshift(days[3]);
+ }
+ if (state.chooseData.length === 2 || !state.chooseData.length) {
+ state.chooseData = [[...days]];
+ } else {
+ if (uni_modules_nutuiUni_components__utils_date.compareDate(state.chooseData[0][3], days[3]))
+ state.chooseData = [...state.chooseData, [...days]];
+ else
+ state.chooseData = [[...days], ...state.chooseData];
+ }
+ } else if (type === "week") {
+ const weekArr = uni_modules_nutuiUni_components__utils_date.getWeekDate(y, m, day.day, props.firstDayOfWeek);
+ if (state.propStartDate && uni_modules_nutuiUni_components__utils_date.compareDate(weekArr[0], state.propStartDate))
+ weekArr.splice(0, 1, state.propStartDate);
+ if (state.propEndDate && uni_modules_nutuiUni_components__utils_date.compareDate(state.propEndDate, weekArr[1]))
+ weekArr.splice(1, 1, state.propEndDate);
+ state.currDate = weekArr;
+ state.chooseData = [uni_modules_nutuiUni_components__utils_date.formatResultDate(weekArr[0]), uni_modules_nutuiUni_components__utils_date.formatResultDate(weekArr[1])];
+ } else {
+ state.currDate = days[3];
+ state.chooseData = [...days];
+ }
+ if (!isFirst) {
+ let selectData = state.chooseData;
+ if (type === "week") {
+ selectData = {
+ weekDate: [
+ handleWeekDate(state.chooseData[0]),
+ handleWeekDate(state.chooseData[1])
+ ]
+ };
+ }
+ emit(uni_modules_nutuiUni_components__constants_event.SELECT_EVENT, selectData);
+ if (props.isAutoBackFill || !props.poppable)
+ confirm();
+ }
+ }
+ }
+ function handleWeekDate(weekDate) {
+ const [y, m, d] = weekDate;
+ return {
+ date: weekDate,
+ monthWeekNum: uni_modules_nutuiUni_components__utils_date.getMonthWeek(y, m, d, props.firstDayOfWeek),
+ yearWeekNum: uni_modules_nutuiUni_components__utils_date.getYearWeek(y, m, d)
+ };
+ }
+ function getCurrData(type) {
+ const monthData = type === "prev" ? state.monthsData[0] : state.monthsData[state.monthsData.length - 1];
+ let year = Number.parseInt(monthData.curData[0]);
+ let month = Number.parseInt(monthData.curData[1].toString().replace(/^0/, ""));
+ switch (type) {
+ case "prev":
+ month === 1 && (year -= 1);
+ month = month === 1 ? 12 : --month;
+ break;
+ case "next":
+ month === 12 && (year += 1);
+ month = month === 12 ? 1 : ++month;
+ break;
+ }
+ return [`${year}`, uni_modules_nutuiUni_components__utils_date.getNumTwoBit(month), `${uni_modules_nutuiUni_components__utils_date.getMonthDays(String(year), String(month))}`];
+ }
+ function getDaysStatus(days, type, dateInfo) {
+ const { year, month } = dateInfo;
+ if (type === "prev" && days >= 7)
+ days -= 7;
+ return Array.from(Array.from({ length: days }), (v, k) => {
+ return {
+ day: String(k + 1),
+ type,
+ year,
+ month
+ };
+ });
+ }
+ function getPreDaysStatus(days, type, dateInfo, preCurrMonthDays) {
+ days = days - props.firstDayOfWeek;
+ const { year, month } = dateInfo;
+ if (type === "prev" && days >= 7)
+ days -= 7;
+ const months2 = Array.from(Array.from({ length: preCurrMonthDays }), (v, k) => {
+ return {
+ day: String(k + 1),
+ type,
+ year,
+ month
+ };
+ });
+ return months2.slice(preCurrMonthDays - days);
+ }
+ function getMonth(curData, type) {
+ const preMonthDays = uni_modules_nutuiUni_components__utils_date.getMonthPreDay(+curData[0], +curData[1]);
+ let preMonth = Number(curData[1]) - 1;
+ let preYear = Number(curData[0]);
+ if (preMonth <= 0) {
+ preMonth = 12;
+ preYear += 1;
+ }
+ const currMonthDays = uni_modules_nutuiUni_components__utils_date.getMonthDays(String(curData[0]), String(curData[1]));
+ const preCurrMonthDays = uni_modules_nutuiUni_components__utils_date.getMonthDays(`${preYear}`, `${preMonth}`);
+ const title = {
+ year: curData[0],
+ month: curData[1]
+ };
+ const monthInfo = {
+ curData,
+ title: translate("monthTitle", title.year, title.month),
+ monthData: [
+ ...getPreDaysStatus(
+ preMonthDays,
+ "prev",
+ { month: String(preMonth), year: String(preYear) },
+ preCurrMonthDays
+ ),
+ ...getDaysStatus(currMonthDays, "curr", title)
+ ],
+ cssHeight: 0,
+ cssScrollHeight: 0
+ };
+ let titleHeight, itemHeight;
+ if (uni_modules_nutuiUni_components__utils_env.isH5) {
+ titleHeight = 46 * scalePx.value + 16 * scalePx.value * 2;
+ itemHeight = 128 * scalePx.value;
+ } else {
+ titleHeight = Math.floor(46 * scalePx.value) + Math.floor(16 * scalePx.value) * 2;
+ itemHeight = Math.floor(128 * scalePx.value);
+ }
+ monthInfo.cssHeight = titleHeight + (monthInfo.monthData.length > 35 ? itemHeight * 6 : itemHeight * 5);
+ let cssScrollHeight = 0;
+ if (state.monthsData.length > 0) {
+ cssScrollHeight = state.monthsData[state.monthsData.length - 1].cssScrollHeight + state.monthsData[state.monthsData.length - 1].cssHeight;
+ }
+ monthInfo.cssScrollHeight = cssScrollHeight;
+ if (type === "next") {
+ if (!state.endData || !uni_modules_nutuiUni_components__utils_date.compareDate(
+ `${state.endData[0]}-${state.endData[1]}-${uni_modules_nutuiUni_components__utils_date.getMonthDays(state.endData[0], state.endData[1])}`,
+ `${curData[0]}-${curData[1]}-${curData[2]}`
+ )) {
+ state.monthsData.push(monthInfo);
+ }
+ } else {
+ if (!state.startData || !uni_modules_nutuiUni_components__utils_date.compareDate(
+ `${curData[0]}-${curData[1]}-${curData[2]}`,
+ `${state.startData[0]}-${state.startData[1]}-01`
+ )) {
+ state.monthsData.unshift(monthInfo);
+ } else {
+ state.unLoadPrev = true;
+ }
+ }
+ }
+ function initData() {
+ const propStartDate = props.startDate ? props.startDate : uni_modules_nutuiUni_components__utils_date.getDay(0);
+ const propEndDate = props.endDate ? props.endDate : uni_modules_nutuiUni_components__utils_date.getDay(365);
+ state.propStartDate = propStartDate;
+ state.propEndDate = propEndDate;
+ state.startData = splitDate(propStartDate);
+ state.endData = splitDate(propEndDate);
+ if (props.defaultValue || Array.isArray(props.defaultValue) && props.defaultValue.length > 0) {
+ state.currDate = props.type !== "one" ? [...props.defaultValue] : props.defaultValue;
+ }
+ const startDate = {
+ year: Number(state.startData[0]),
+ month: Number(state.startData[1])
+ };
+ const endDate = {
+ year: Number(state.endData[0]),
+ month: Number(state.endData[1])
+ };
+ let monthsNum = endDate.month - startDate.month;
+ if (endDate.year - startDate.year > 0)
+ monthsNum = monthsNum + 12 * (endDate.year - startDate.year);
+ if (monthsNum <= 0)
+ monthsNum = 1;
+ getMonth(state.startData, "next");
+ let i = 1;
+ do
+ getMonth(getCurrData("next"), "next");
+ while (i++ < monthsNum);
+ state.monthsNum = monthsNum;
+ if (props.type === "range" && Array.isArray(state.currDate)) {
+ if (state.currDate.length > 0) {
+ if (propStartDate && uni_modules_nutuiUni_components__utils_date.compareDate(state.currDate[0], propStartDate))
+ state.currDate.splice(0, 1, propStartDate);
+ if (propEndDate && uni_modules_nutuiUni_components__utils_date.compareDate(propEndDate, state.currDate[1]))
+ state.currDate.splice(1, 1, propEndDate);
+ state.defaultData = [...splitDate(state.currDate[0]), ...splitDate(state.currDate[1])];
+ }
+ } else if (props.type === "multiple" && Array.isArray(state.currDate)) {
+ if (state.currDate.length > 0) {
+ const defaultArr = [];
+ const obj = {};
+ state.currDate.forEach((item) => {
+ if (propStartDate && !uni_modules_nutuiUni_components__utils_date.compareDate(item, propStartDate) && propEndDate && !uni_modules_nutuiUni_components__utils_date.compareDate(propEndDate, item)) {
+ if (!Object.hasOwnProperty.call(obj, item)) {
+ defaultArr.push(item);
+ obj[item] = item;
+ }
+ }
+ });
+ state.currDate = [...defaultArr];
+ state.defaultData = [...splitDate(defaultArr[0])];
+ }
+ } else if (props.type === "week" && Array.isArray(state.currDate)) {
+ if (state.currDate.length > 0) {
+ const [y, m, d] = splitDate(state.currDate[0]);
+ state.currDate = uni_modules_nutuiUni_components__utils_date.getWeekDate(y, m, d, props.firstDayOfWeek);
+ if (propStartDate && uni_modules_nutuiUni_components__utils_date.compareDate(state.currDate[0], propStartDate))
+ state.currDate.splice(0, 1, propStartDate);
+ if (propEndDate && uni_modules_nutuiUni_components__utils_date.compareDate(propEndDate, state.currDate[1]))
+ state.currDate.splice(1, 1, propEndDate);
+ state.defaultData = [...splitDate(state.currDate[0]), ...splitDate(state.currDate[1])];
+ }
+ } else {
+ if (state.currDate) {
+ if (propStartDate && uni_modules_nutuiUni_components__utils_date.compareDate(state.currDate, propStartDate))
+ state.currDate = propStartDate;
+ else if (propEndDate && !uni_modules_nutuiUni_components__utils_date.compareDate(state.currDate, propEndDate))
+ state.currDate = propEndDate;
+ state.defaultData = [...splitDate(state.currDate)];
+ }
+ }
+ let current = 0;
+ let lastCurrent = 0;
+ if (state.defaultData.length > 0) {
+ state.monthsData.forEach((item, index) => {
+ if (item.title === translate("monthTitle", state.defaultData[0], state.defaultData[1]))
+ current = index;
+ if (props.type === "range" || props.type === "week") {
+ if (item.title === translate("monthTitle", state.defaultData[3], state.defaultData[4]))
+ lastCurrent = index;
+ }
+ });
+ }
+ setDefaultRange(monthsNum, current);
+ state.currentIndex = current;
+ state.yearMonthTitle = state.monthsData[state.currentIndex].title;
+ if (state.defaultData.length > 0) {
+ if (state.isRange) {
+ chooseDay({ day: state.defaultData[2], type: "curr" }, state.monthsData[state.currentIndex], true);
+ chooseDay({ day: state.defaultData[5], type: "curr" }, state.monthsData[lastCurrent], true);
+ } else if (props.type === "week") {
+ chooseDay({ day: state.defaultData[2], type: "curr" }, state.monthsData[state.currentIndex], true);
+ } else if (props.type === "multiple") {
+ [...state.currDate].forEach((item) => {
+ const dateArr = splitDate(item);
+ let current2 = state.currentIndex;
+ state.monthsData.forEach((item2, index) => {
+ if (item2.title === translate("monthTitle", dateArr[0], dateArr[1]))
+ current2 = index;
+ });
+ chooseDay({ day: dateArr[2], type: "curr" }, state.monthsData[current2], true);
+ });
+ } else {
+ chooseDay({ day: state.defaultData[2], type: "curr" }, state.monthsData[state.currentIndex], true);
+ }
+ }
+ const lastItem = state.monthsData[state.monthsData.length - 1];
+ const containerHeight = lastItem.cssHeight + lastItem.cssScrollHeight;
+ state.containerHeight = `${containerHeight}px`;
+ state.scrollTop = Math.ceil(state.monthsData[state.currentIndex].cssScrollHeight);
+ state.avgHeight = Math.floor(containerHeight / (monthsNum + 1));
+ if (months == null ? void 0 : months.value)
+ viewHeight.value = months.value.clientHeight;
+ }
+ function scrollToDate(date) {
+ if (uni_modules_nutuiUni_components__utils_date.compareDate(date, state.propStartDate))
+ date = state.propStartDate;
+ else if (!uni_modules_nutuiUni_components__utils_date.compareDate(date, state.propEndDate))
+ date = state.propEndDate;
+ const dateArr = splitDate(date);
+ state.monthsData.forEach((item, index) => {
+ if (item.title === translate("monthTitle", dateArr[0], dateArr[1])) {
+ state.scrollTop += 1;
+ scrollWithAnimation.value = props.toDateAnimation;
+ uni_modules_nutuiUni_components__utils_raf.requestAniFrame(() => {
+ setTimeout(() => {
+ state.scrollTop = state.monthsData[index].cssScrollHeight;
+ setTimeout(() => {
+ scrollWithAnimation.value = false;
+ }, 200);
+ }, 10);
+ });
+ }
+ });
+ }
+ function initPosition() {
+ state.scrollTop = Math.ceil(state.monthsData[state.currentIndex].cssScrollHeight);
+ }
+ function setDefaultRange(monthsNum, current) {
+ if (monthsNum >= 3) {
+ if (current > 0 && current < monthsNum)
+ state.defaultRange = [current - 1, current + 3];
+ else if (current === 0)
+ state.defaultRange = [current, current + 4];
+ else if (current === monthsNum)
+ state.defaultRange = [current - 2, current + 2];
+ } else {
+ state.defaultRange = [0, monthsNum + 2];
+ }
+ state.translateY = state.monthsData[state.defaultRange[0]].cssScrollHeight;
+ }
+ function isActive(day, month) {
+ return (props.type === "range" || props.type === "week") && day.type === "curr" && getClass(day, month).includes("nut-calendar__day--active");
+ }
+ function isStartTip(day, month) {
+ return isActive(day, month) && isStart(getCurrDate(day, month));
+ }
+ function isEndTip(day, month) {
+ if (state.currDate.length >= 2 && isEnd(getCurrDate(day, month)))
+ return isActive(day, month);
+ return false;
+ }
+ function rangeTip() {
+ if (state.currDate.length >= 2)
+ return uni_modules_nutuiUni_components__utils_date.isEqual(state.currDate[0], state.currDate[1]);
+ }
+ function isCurrDay(dateInfo) {
+ const date = `${dateInfo.year}-${dateInfo.month}-${Number(dateInfo.day) < 10 ? `0${dateInfo.day}` : dateInfo.day}`;
+ return uni_modules_nutuiUni_components__utils_date.isEqual(date, uni_modules_nutuiUni_components__utils_date.date2Str(/* @__PURE__ */ new Date()));
+ }
+ function mothsViewScroll(e) {
+ if (state.monthsData.length <= 1)
+ return;
+ const currentScrollTop = e.detail.scrollTop;
+ let current = Math.floor(currentScrollTop / state.avgHeight);
+ if (current === 0) {
+ if (currentScrollTop >= state.monthsData[current + 1].cssScrollHeight)
+ current += 1;
+ } else if (current > 0 && current < state.monthsNum - 1) {
+ if (currentScrollTop >= state.monthsData[current + 1].cssScrollHeight)
+ current += 1;
+ if (currentScrollTop < state.monthsData[current].cssScrollHeight)
+ current -= 1;
+ }
+ if (state.currentIndex !== current) {
+ state.currentIndex = current;
+ setDefaultRange(state.monthsNum, current);
+ }
+ state.yearMonthTitle = state.monthsData[current].title;
+ }
+ function resetRender() {
+ state.chooseData.splice(0);
+ state.monthsData.splice(0);
+ initData();
+ }
+ common_vendor.watch(() => props.defaultValue, (value) => {
+ if (value) {
+ if (props.poppable) {
+ resetRender();
+ }
+ }
+ });
+ common_vendor.onMounted(() => {
+ common_vendor.index.getSystemInfo({
+ success(res) {
+ let scale = 2;
+ let toFixed = 3;
+ if (uni_modules_nutuiUni_components__utils_env.isH5) {
+ toFixed = 5;
+ const fontSize = document.documentElement.style.fontSize;
+ scale = Number((Number.parseInt(fontSize) / 40).toFixed(toFixed));
+ } else {
+ const screenWidth = res.screenWidth;
+ scale = Number((screenWidth / 750).toFixed(toFixed));
+ }
+ scalePx.value = scale;
+ initData();
+ }
+ });
+ });
+ __expose({
+ scrollToDate,
+ initPosition
+ });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: props.showTitle
+ }, props.showTitle ? {
+ b: common_vendor.t(props.title || common_vendor.unref(translate)("title"))
+ } : {}, {
+ c: props.btnSlot
+ }, props.btnSlot ? {} : {}, {
+ d: props.showSubTitle
+ }, props.showSubTitle ? {
+ e: common_vendor.t(state.yearMonthTitle)
+ } : {}, {
+ f: common_vendor.f(weeks.value, (item, index, i0) => {
+ return {
+ a: common_vendor.t(item.day),
+ b: index,
+ c: item.weekend ? 1 : ""
+ };
+ }),
+ g: common_vendor.f(compConthsData.value, (month, index, i0) => {
+ return {
+ a: common_vendor.t(month.title),
+ b: common_vendor.f(month.monthData, (day, i, i1) => {
+ return common_vendor.e({
+ a: common_vendor.t(day.type === "curr" ? day.day : ""),
+ b: props.showToday && isCurrDay(day)
+ }, props.showToday && isCurrDay(day) ? {
+ c: common_vendor.t(common_vendor.unref(translate)("today"))
+ } : {}, {
+ d: isStartTip(day, month)
+ }, isStartTip(day, month) ? {
+ e: common_vendor.t(props.startText || common_vendor.unref(translate)("start")),
+ f: rangeTip() ? 1 : ""
+ } : {}, {
+ g: isEndTip(day, month)
+ }, isEndTip(day, month) ? {
+ h: common_vendor.t(props.endText || common_vendor.unref(translate)("end"))
+ } : {}, {
+ i: common_vendor.n(getClass(day, month, i)),
+ j: common_vendor.o(($event) => chooseDay(day, month), i),
+ k: i
+ });
+ }),
+ c: index
+ };
+ }),
+ h: props.type === "range" ? 1 : "",
+ i: `translateY(${state.translateY}px)`,
+ j: state.containerHeight,
+ k: state.scrollTop,
+ l: scrollWithAnimation.value,
+ m: common_vendor.o(mothsViewScroll),
+ n: props.poppable && !props.isAutoBackFill
+ }, props.poppable && !props.isAutoBackFill ? common_vendor.e({
+ o: props.footerSlot
+ }, props.footerSlot ? {
+ p: common_vendor.r("footer", {
+ date: state.chooseData
+ })
+ } : {
+ q: common_vendor.t(props.confirmText || common_vendor.unref(translate)("confirm")),
+ r: common_vendor.o(confirm)
+ }) : {}, {
+ s: common_vendor.n(classes.value),
+ t: common_vendor.s(props.customStyle)
+ });
+ };
+ }
+});
+wx.createComponent(_sfc_main);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapse/collapse.json b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.json
similarity index 100%
rename from unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapse/collapse.json
rename to unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.json
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.wxml b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.wxml
new file mode 100644
index 0000000..537c9b6
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.wxml
@@ -0,0 +1 @@
+{{month.a}}{{day.a}}{{day.c}}{{day.e}}{{day.h}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.wxss b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.wxss
new file mode 100644
index 0000000..b32fb31
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/calendaritem/calendaritem.wxss
@@ -0,0 +1,253 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.nut-theme-dark .nut-calendar-item {
+ color: var(--nut-dark-color, var(--nut-white, #fff));
+ background: var(--nut-dark-background, #131313);
+}
+.nut-theme-dark .nut-calendar__header {
+ color: var(--nut-dark-color, var(--nut-white, #fff));
+ background: var(--nut-dark-background, #131313);
+}
+.nut-theme-dark .nut-calendar__content .nut-theme-dark .nut-calendar__panel .nut-theme-dark .nut-calendar__days .nut-theme-dark .nut-calendar__day--disabled {
+ color: var(--nut-dark-calendar-disabled, #646566) !important;
+}
+.nut-theme-dark .nut-calendar__content .nut-theme-dark .nut-calendar__panel .nut-theme-dark .nut-calendar__days .calendar-month-day-choose {
+ color: var(--nut-calendar-choose-font-color, var(--nut-primary-color, #fa2c19));
+ background-color: var(--nut-dark-calendar-choose-color, rgba(227, 227, 227, 0.2));
+}
+.nut-theme-dark .nut-calendar__footer {
+ color: var(--nut-dark-color, var(--nut-white, #fff));
+ background: var(--nut-dark-background2, #1b1b1b);
+}
+.nut-calendar-item {
+ position: relative;
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ height: 100%;
+ overflow: hidden;
+ font-size: 16px;
+ color: #333;
+ background-color: var(--nut-white, #fff);
+}
+.nut-calendar.nut-calendar--nopop .nut-calendar__header .nut-calendar__header-title {
+ font-size: var(--nut-calendar-base-font, var(--nut-font-size-3, 16px));
+}
+.nut-calendar .popup-box {
+ height: 100%;
+}
+.nut-calendar ::-webkit-scrollbar {
+ display: none;
+}
+.nut-calendar__header {
+ display: flex;
+ flex-direction: column;
+ padding-top: 1px;
+ text-align: center;
+ background-color: var(--nut-white, #fff);
+}
+.nut-calendar__header-title {
+ font-size: var(--nut-calendar-title-font, var(--nut-font-size-4, 18px));
+ font-weight: var(--nut-calendar-title-font-weight, 500);
+ line-height: 44px;
+}
+.nut-calendar__header-slot {
+ min-height: 24px;
+}
+.nut-calendar__header-subtitle {
+ padding: 7px 0;
+ font-size: var(--nut-calendar-sub-title-font, var(--nut-font-size-2, 14px));
+ line-height: 22px;
+}
+.nut-calendar__header .nut-calendar__weekdays {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ height: 36px;
+ border-radius: 0 0 12px 12px;
+ box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.06);
+}
+.nut-calendar__header .nut-calendar__weekdays .nut-calendar__weekday.weekend {
+ color: var(--nut-calendar-day67-font-color, var(--nut-primary-color, #fa2c19));
+}
+.nut-calendar__content {
+ display: block;
+ flex: 1;
+ width: 100%;
+ overflow-y: auto;
+}
+.nut-calendar__content .nut-calendar__panel {
+ position: relative;
+ box-sizing: border-box;
+ display: block;
+ width: 100%;
+ height: auto;
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__body {
+ display: block;
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__month {
+ display: flex;
+ flex-direction: column;
+ text-align: center;
+}
+.nut-calendar__content .nut-calendar__panel view:nth-of-type(2) .nut-calendar__month-title {
+ padding-top: 0;
+}
+.nut-calendar__content .nut-calendar__panel .calendar-loading-tip {
+ position: absolute;
+ top: -50px;
+ right: 0;
+ left: 0;
+ height: 50px;
+ font-size: var(--nut-calendar-text-font, var(--nut-font-size-1, 12px));
+ line-height: 50px;
+ color: var(--nut-text-color, #808080);
+ text-align: center;
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__month-title {
+ height: 23px;
+ margin: 8px 0;
+ font-size: var(--nut-calendar-month-title-font-size, inherit);
+ line-height: 23px;
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__days {
+ overflow: hidden;
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__days .nut-calendar__day {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ float: left;
+ width: 14.28%;
+ height: 64px;
+ font-weight: var(--nut-calendar-day-font-weight, 500);
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__days .nut-calendar__day.weekend {
+ color: var(--nut-calendar-day67-font-color, var(--nut-primary-color, #fa2c19));
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__days .nut-calendar__day .nut-calendar__day-tips {
+ position: absolute;
+ width: 100%;
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__days .nut-calendar__day .nut-calendar__day-tips--curr {
+ position: absolute;
+ bottom: 6px;
+ width: 100%;
+ font-size: 12px;
+ line-height: 14px;
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__days .nut-calendar__day .nut-calendar__day-tip {
+ position: absolute;
+ bottom: 6px;
+ width: 100%;
+ font-size: 12px;
+ line-height: 14px;
+ color: var(--nut-calendar-primary-color, var(--nut-primary-color, #fa2c19));
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__days .nut-calendar__day .nut-calendar__day-tips--top {
+ top: 6px;
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__days .nut-calendar__day .nut-calendar__day-tips--bottom {
+ bottom: 6px;
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__days .nut-calendar__day--active {
+ color: var(--nut-white, #fff) !important;
+ background-color: var(--nut-calendar-primary-color, var(--nut-primary-color, #fa2c19));
+ border-radius: var(--nut-calendar-day-active-border-radius, 0);
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__days .nut-calendar__day--active .nut-calendar__day-tips {
+ visibility: hidden;
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__days .nut-calendar__day--active .nut-calendar__day-tips--curr {
+ visibility: hidden;
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__days .nut-calendar__day--active .nut-calendar__day-tip {
+ color: var(--nut-white, #fff);
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__days .nut-calendar__day--disabled {
+ color: var(--nut-calendar-disable-color, #d1d0d0) !important;
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__days .nut-calendar__day--choose {
+ color: var(--nut-calendar-choose-font-color, var(--nut-primary-color, #fa2c19));
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__days .nut-calendar__day--choose::after {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ content: "";
+ background-color: var(--nut-calendar-choose-color, var(--nut-primary-color, #fa2c19));
+ opacity: 0.09;
+}
+.nut-calendar__content .nut-calendar__panel .nut-calendar__days .nut-calendar__day .nut-calendar__day-value {
+ padding: 2px 0;
+ font-size: var(--nut-calendar-day-font, 16px);
+}
+.nut-calendar__footer {
+ display: flex;
+ width: 100%;
+ height: 62px;
+ background-color: var(--nut-white, #fff);
+}
+.nut-calendar__footer .nut-calendar__confirm {
+ width: 100%;
+ height: 44px;
+ margin: 10px 18px;
+ line-height: 44px;
+ color: var(--nut-white, #fff);
+ text-align: center;
+ background: var(--nut-button-primary-background-color, linear-gradient(135deg, var(--nut-primary-color, var(--nut-primary-color, #fa2c19)) 0%, var(--nut-primary-color, var(--nut-primary-color, #fa2c19)) 100%));
+ border-radius: 22px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapse/collapse.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapse/collapse.js
deleted file mode 100644
index 9616b8c..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapse/collapse.js
+++ /dev/null
@@ -1,92 +0,0 @@
-"use strict";
-const common_vendor = require("../../../../common/vendor.js");
-const uni_modules_nutuiUni_components__constants_event = require("../_constants/event.js");
-const uni_modules_nutuiUni_components__constants_prefix = require("../_constants/prefix.js");
-require("../_utils/env.js");
-const uni_modules_nutuiUni_components__utils_style = require("../_utils/style.js");
-const uni_modules_nutuiUni_components__utils_is = require("../_utils/is.js");
-const uni_modules_nutuiUni_components__utils_props = require("../_utils/props.js");
-const collapseProps = {
- ...uni_modules_nutuiUni_components__utils_props.commonProps,
- /**
- * @description 当前展开面板的 `name`
- */
- modelValue: { type: [String, Number, Array] },
- /**
- * @description 是否开启手风琴模式
- */
- accordion: Boolean
-};
-const collapseEmits = {
- [uni_modules_nutuiUni_components__constants_event.CHANGE_EVENT]: (val, name, status) => uni_modules_nutuiUni_components__utils_is.isString(val) || uni_modules_nutuiUni_components__utils_is.isNumber(val) || val instanceof Object && uni_modules_nutuiUni_components__utils_is.isNumber(name) || uni_modules_nutuiUni_components__utils_is.isString(name) && uni_modules_nutuiUni_components__utils_is.isBoolean(status),
- [uni_modules_nutuiUni_components__constants_event.UPDATE_MODEL_EVENT]: (val) => uni_modules_nutuiUni_components__utils_is.isString(val) || uni_modules_nutuiUni_components__utils_is.isNumber(val) || val instanceof Object
-};
-const componentName = `${uni_modules_nutuiUni_components__constants_prefix.PREFIX}-collapse`;
-const __default__ = common_vendor.defineComponent({
- name: componentName,
- options: {
- virtualHost: true,
- addGlobalClass: true,
- styleIsolation: "shared"
- }
-});
-const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
- ...__default__,
- props: collapseProps,
- emits: collapseEmits,
- setup(__props, { emit: __emit }) {
- const props = __props;
- const emit = __emit;
- const innerValue = common_vendor.ref(props.modelValue || (props.accordion ? "" : []));
- const classes = common_vendor.computed(() => {
- return uni_modules_nutuiUni_components__utils_style.getMainClass(props, componentName);
- });
- common_vendor.watch(() => props.modelValue, (val) => {
- innerValue.value = val;
- });
- function changeVal(val, name, status = true) {
- innerValue.value = val;
- emit(uni_modules_nutuiUni_components__constants_event.UPDATE_MODEL_EVENT, val);
- emit(uni_modules_nutuiUni_components__constants_event.CHANGE_EVENT, val, name, status);
- }
- function updateVal(name) {
- if (props.accordion) {
- if (innerValue.value === name)
- changeVal("", name, false);
- else
- changeVal(name, name, true);
- } else {
- if (Array.isArray(innerValue.value)) {
- if (innerValue.value.includes(name)) {
- const newValue = innerValue.value.filter((v) => v !== name);
- changeVal(newValue, name, false);
- } else {
- const newValue = innerValue.value.concat([name]);
- changeVal(newValue, name, true);
- }
- } else {
- common_vendor.index.__f__("warn", "at uni_modules/nutui-uni/components/collapse/collapse.vue:44", "[NutUI] 未开启手风琴模式时 v-model 应为数组");
- }
- }
- }
- function isExpanded(name) {
- if (props.accordion)
- return innerValue.value === name;
- else if (Array.isArray(innerValue.value))
- return innerValue.value.includes(name);
- return false;
- }
- common_vendor.provide("collapseParent", {
- updateVal,
- isExpanded
- });
- return (_ctx, _cache) => {
- return {
- a: common_vendor.n(classes.value),
- b: common_vendor.s(_ctx.customStyle)
- };
- };
- }
-});
-wx.createComponent(_sfc_main);
-//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/nutui-uni/components/collapse/collapse.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapse/collapse.wxml b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapse/collapse.wxml
deleted file mode 100644
index 46ce590..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapse/collapse.wxml
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapse/collapse.wxss b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapse/collapse.wxss
deleted file mode 100644
index a22f793..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapse/collapse.wxss
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapseitem/collapseitem.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapseitem/collapseitem.js
deleted file mode 100644
index ada98c3..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapseitem/collapseitem.js
+++ /dev/null
@@ -1,178 +0,0 @@
-"use strict";
-const common_vendor = require("../../../../common/vendor.js");
-const uni_modules_nutuiUni_components__constants_prefix = require("../_constants/prefix.js");
-const uni_modules_nutuiUni_components__hooks_useSelectorQuery = require("../_hooks/useSelectorQuery.js");
-const uni_modules_nutuiUni_components__utils_common = require("../_utils/common.js");
-require("../_utils/env.js");
-const uni_modules_nutuiUni_components__utils_style = require("../_utils/style.js");
-const uni_modules_nutuiUni_components__utils_props = require("../_utils/props.js");
-const collapseitemProps = {
- ...uni_modules_nutuiUni_components__utils_props.commonProps,
- /**
- * @description 折叠面板的引用对象
- */
- collapseRef: Object,
- /**
- * @description 标题栏左侧内容,支持插槽传入(`props` 传入的优先级更高)
- */
- title: uni_modules_nutuiUni_components__utils_props.makeStringProp(""),
- /**
- * @description 唯一标识符,必填
- */
- name: {
- ...uni_modules_nutuiUni_components__utils_props.makeRequiredProp([String, Number]),
- default: -1
- },
- /**
- * @description 标题栏右侧内容,支持插槽传入(`props` 传入的优先级更高)
- */
- value: uni_modules_nutuiUni_components__utils_props.makeStringProp(""),
- /**
- * @description 标题栏描述信息
- */
- label: uni_modules_nutuiUni_components__utils_props.makeStringProp(""),
- /**
- * @description 标题栏是否禁用
- */
- disabled: Boolean,
- /**
- * @description 是否显示边框
- * @type boolean
- * @default true
- */
- border: uni_modules_nutuiUni_components__utils_props.truthProp,
- /**
- * @description 标题栏左侧图标组件,等同于 `nutui-icon` 组件
- */
- icon: uni_modules_nutuiUni_components__utils_props.makeStringProp("down-arrow"),
- /**
- * @description 点击折叠和展开的旋转角度,在自定义图标模式下生效
- */
- rotate: uni_modules_nutuiUni_components__utils_props.makeNumericProp(180)
-};
-if (!Math) {
- NutIcon();
-}
-const NutIcon = () => "../icon/icon.js";
-const componentName = `${uni_modules_nutuiUni_components__constants_prefix.PREFIX}-collapse-item`;
-const __default__ = common_vendor.defineComponent({
- name: componentName,
- options: {
- virtualHost: true,
- addGlobalClass: true,
- styleIsolation: "shared"
- }
-});
-const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
- ...__default__,
- props: collapseitemProps,
- setup(__props) {
- const props = __props;
- const instance = common_vendor.getCurrentInstance();
- const { getSelectorNodeInfo } = uni_modules_nutuiUni_components__hooks_useSelectorQuery.useSelectorQuery(instance);
- const refRandomId = uni_modules_nutuiUni_components__utils_common.getRandomId();
- common_vendor.useSlots();
- const target = `#nut-collapse__item-${refRandomId}`;
- const currentHeight = common_vendor.ref("auto");
- const inAnimation = common_vendor.ref(false);
- const timeoutId = common_vendor.ref("");
- const collapse = common_vendor.inject("collapseParent");
- const parent = common_vendor.reactive(collapse);
- const classes = common_vendor.computed(() => {
- return uni_modules_nutuiUni_components__utils_style.getMainClass(props, componentName, {
- [`${componentName}__border`]: props.border
- });
- });
- common_vendor.onMounted(() => {
- setTimeout(() => {
- getRect(target).then((res) => {
- if (res == null ? void 0 : res.height)
- currentHeight.value = `${res.height}px`;
- });
- }, 100);
- });
- async function getRectHeight() {
- const rect = await getRect(target);
- return rect.height;
- }
- common_vendor.watch(
- () => getRectHeight(),
- (val) => {
- setTimeout(() => {
- currentHeight.value = `${val}px`;
- }, 200);
- },
- {
- deep: true
- }
- );
- function getRect(selector) {
- return getSelectorNodeInfo(selector);
- }
- const expanded = common_vendor.computed(() => {
- if (parent)
- return parent.isExpanded(props.name);
- return false;
- });
- const wrapperHeight = common_vendor.ref(expanded.value ? "auto" : "0px");
- function handleClick() {
- if (!inAnimation.value)
- parent.updateVal(props.name);
- }
- function toggle(open) {
- if (timeoutId.value) {
- clearTimeout(timeoutId.value);
- timeoutId.value = "";
- }
- const start = open ? "0px" : currentHeight.value;
- const end = open ? currentHeight.value : "0px";
- inAnimation.value = true;
- wrapperHeight.value = start;
- setTimeout(() => {
- wrapperHeight.value = end;
- inAnimation.value = false;
- if (open) {
- timeoutId.value = setTimeout(() => {
- wrapperHeight.value = "auto";
- }, 300);
- }
- }, 100);
- }
- common_vendor.watch(expanded, toggle);
- return (_ctx, _cache) => {
- return common_vendor.e({
- a: _ctx.$slots.title
- }, _ctx.$slots.title ? {} : {
- b: _ctx.title
- }, {
- c: _ctx.label
- }, _ctx.label ? {
- d: common_vendor.t(_ctx.label)
- } : {}, {
- e: _ctx.$slots.value
- }, _ctx.$slots.value ? {} : {
- f: _ctx.value
- }, {
- g: common_vendor.p({
- name: _ctx.icon
- }),
- h: common_vendor.n({
- "nut-collapse-item__title-icon--expanded": expanded.value
- }),
- i: `rotate(${expanded.value ? _ctx.rotate : 0}deg)`,
- j: common_vendor.n({
- "nut-collapse-item__title--disabled": _ctx.disabled
- }),
- k: common_vendor.o(handleClick),
- l: _ctx.$slots.extra
- }, _ctx.$slots.extra ? {} : {}, {
- m: `nut-collapse__item-${common_vendor.unref(refRandomId)}`,
- n: wrapperHeight.value,
- o: common_vendor.n(classes.value),
- p: common_vendor.s(_ctx.customStyle)
- });
- };
- }
-});
-wx.createComponent(_sfc_main);
-//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/nutui-uni/components/collapseitem/collapseitem.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapseitem/collapseitem.json b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapseitem/collapseitem.json
deleted file mode 100644
index 62334e2..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapseitem/collapseitem.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "nut-icon": "../icon/icon"
- }
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapseitem/collapseitem.wxml b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapseitem/collapseitem.wxml
deleted file mode 100644
index 506d921..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapseitem/collapseitem.wxml
+++ /dev/null
@@ -1 +0,0 @@
-{{d}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapseitem/collapseitem.wxss b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapseitem/collapseitem.wxss
deleted file mode 100644
index bcccb83..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/collapseitem/collapseitem.wxss
+++ /dev/null
@@ -1,181 +0,0 @@
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-.nut-theme-dark .nut-collapse-item .nut-collapse-item__title {
- color: var(--nut-dark-color, var(--nut-white, #fff));
- background: var(--nut-dark-background, #131313);
- box-shadow: none;
-}
-.nut-theme-dark .nut-collapse-item .nut-collapse-item__title--disabled {
- color: var(--nut-dark-color-gray, var(--nut-text-color, #808080));
-}
-.nut-theme-dark .nut-collapse-item .nut-collapse-item__title--disabled .collapse-icon {
- color: var(--nut-dark-color-gray, var(--nut-text-color, #808080));
-}
-.nut-theme-dark .nut-collapse-item .nut-collapse__item-wrapper .collapse-content,
-.nut-theme-dark .nut-collapse-item .nut-collapse__item-wrapper .nut-collapse__item-wrapper__content,
-.nut-theme-dark .nut-collapse-item .nut-collapse__item-wrapper .nut-collapse__item-extraWrapper__extraRender {
- color: var(--nut-dark-color, var(--nut-white, #fff));
- background: var(--nut-dark-background2, #1b1b1b);
-}
-.nut-theme-dark .nut-collapse-item .nut-collapse__item-extraWrapper .nut-collapse__item-extraWrapper__extraRender,
-.nut-theme-dark .nut-collapse-item .nut-collapse__item-extraWrapper .nut-collapse__item-wrapper__content {
- background: var(--nut-dark-background2, #1b1b1b);
-}
-.nut-collapse-item__border .nut-collapse-item__title::after {
- position: absolute;
- right: 16px;
- bottom: 0;
- left: 16px;
- box-sizing: border-box;
- pointer-events: none;
- content: "";
- border-bottom: 1px solid #ebedf0;
- transform: scaleY(0.5);
-}
-.nut-collapse-item {
- position: relative;
-}
-.nut-collapse-item .nut-collapse-item__title {
- position: relative;
- box-sizing: border-box;
- display: flex;
- align-items: center;
- justify-content: space-between;
- width: 100%;
- padding: var(--nut-collapse-item-padding, 13px 36px 13px 26px);
- overflow: hidden;
- font-size: var(--nut-collapse-item-font-size, var(--nut-font-size-2, 14px));
- line-height: var(--nut-collapse-item-line-height, 24px);
- color: var(--nut-collapse-item-color, #666);
- background-color: #fff;
-}
-.nut-collapse-item .nut-collapse-item__title .nut-collapse-item__title-main {
- flex: 1;
-}
-.nut-collapse-item .nut-collapse-item__title .nut-collapse-item__title-main-value {
- display: block;
-}
-.nut-collapse-item .nut-collapse-item__title .nut-collapse-item__title-main-value .nut-collapse-item__title-main-icon {
- top: 2px;
-}
-.nut-collapse-item .nut-collapse-item__title .nut-collapse-item__title-icon {
- display: flex;
- align-items: center;
- color: var(--nut-collapse-item-icon-color, #666);
- transition: transform 0.3s;
-}
-.nut-collapse-item .nut-collapse-item__title .nut-collapse-item__title-icon--expanded {
- transform: rotate(-180deg);
-}
-.nut-collapse-item .nut-collapse-item__title .nut-collapse-item__title-sub {
- position: absolute;
- top: 50%;
- right: 65px;
- margin-top: -12px;
- color: var(--nut-collapse-item-sub-title-color, #666);
-}
-.nut-collapse-item .nut-collapse-item__title .nut-collapse-item__title-label {
- display: block;
- font-size: 12px;
- color: #969799;
-}
-.nut-collapse-item .nut-collapse__item-wrapper,
-.nut-collapse-item .nut-collapse__item-extraWrapper {
- position: relative;
- display: block;
- height: 0;
- overflow: hidden;
- transition: height 0.3s ease-in-out;
-}
-.nut-collapse-item .nut-collapse__item-wrapper .nut-collapse__item-wrapper__content,
-.nut-collapse-item .nut-collapse__item-wrapper .nut-collapse__item-extraWrapper__extraRender,
-.nut-collapse-item .nut-collapse__item-extraWrapper .nut-collapse__item-wrapper__content,
-.nut-collapse-item .nut-collapse__item-extraWrapper .nut-collapse__item-extraWrapper__extraRender {
- display: block;
- padding: var(--nut-collapse-wrapper-content-padding, 12px 26px);
- font-size: var(--nut-collapse-wrapper-content-font-size, var(--nut-font-size-2, 14px));
- line-height: var(--nut-collapse-wrapper-content-line-height, 1.5);
- color: var(--nut-collapse-wrapper-content-color, #666);
- background-color: var(--nut-collapse-wrapper-content-background-color, var(--nut-white, #fff));
-}
-.nut-collapse-item .nut-collapse__item-wrapper .nut-collapse__item-wrapper__content--empty,
-.nut-collapse-item .nut-collapse__item-extraWrapper .nut-collapse__item-wrapper__content--empty {
- padding: var(--nut-collapse-wrapper-empty-content-padding, 0 26px);
-}
-.nut-collapse-item .nut-collapse__item-extraWrapper {
- height: auto;
-}
-.nut-collapse-item .nut-collapse__item-extraWrapper .nut-collapse__item-extraWrapper__extraRender {
- overflow: hidden;
- word-break: break-all;
- word-wrap: break-word;
-}
-.nut-collapse-item .open-style {
- height: auto;
- will-change: height;
-}
-.nut-collapse-item .close-style {
- will-change: auto;
-}
-.nut-collapse-item .nut-collapse-item__title--disabled {
- color: var(--nut-collapse-item-disabled-color, #c8c9cc);
- pointer-events: none;
- cursor: not-allowed;
-}
-.nut-collapse-item .nut-collapse-item__title--disabled .collapse-icon {
- color: var(--nut-collapse-item-disabled-color, #c8c9cc);
-}
-.nut-collapse-item .nut-collapse-item__title-mtitle {
- display: inline-block;
-}
-.collapse-border-none .nut-collapse-item__title::after {
- display: none;
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/dialog.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/dialog.js
deleted file mode 100644
index 427a807..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/dialog.js
+++ /dev/null
@@ -1,189 +0,0 @@
-"use strict";
-const common_vendor = require("../../../../common/vendor.js");
-const uni_modules_nutuiUni_components__constants_prefix = require("../_constants/prefix.js");
-require("../../locale/locale.js");
-const uni_modules_nutuiUni_locale_useTranslate = require("../../locale/useTranslate.js");
-const uni_modules_nutuiUni_components__constants_event = require("../_constants/event.js");
-const uni_modules_nutuiUni_components__utils_is = require("../_utils/is.js");
-require("../_utils/env.js");
-const uni_modules_nutuiUni_components__utils_props = require("../_utils/props.js");
-const popup = require("../../../../popup.js");
-const uni_modules_nutuiUni_components_dialog_useDialog = require("./use-dialog.js");
-const dialogProps = {
- ...popup.popupProps,
- ...uni_modules_nutuiUni_components__utils_props.commonProps,
- /**
- * @description 点击蒙层是否关闭对话框
- */
- closeOnClickOverlay: uni_modules_nutuiUni_components__utils_props.truthProp,
- /**
- * @description 标题
- */
- title: uni_modules_nutuiUni_components__utils_props.makeStringProp(""),
- /**
- * @description 内容,支持 HTML
- */
- content: uni_modules_nutuiUni_components__utils_props.makeStringProp(""),
- /**
- * @description 是否隐藏底部按钮栏
- */
- noFooter: Boolean,
- /**
- * @description 是否隐藏确定按钮
- */
- noOkBtn: Boolean,
- /**
- * @description 是否隐藏取消按钮
- */
- noCancelBtn: Boolean,
- /**
- * @description 取消按钮文案
- */
- cancelText: uni_modules_nutuiUni_components__utils_props.makeStringProp(""),
- /**
- * @description 确定按钮文案
- */
- okText: uni_modules_nutuiUni_components__utils_props.makeStringProp(""),
- /**
- * @description 确认按钮是否默认关闭弹窗
- */
- okAutoClose: uni_modules_nutuiUni_components__utils_props.truthProp,
- /**
- * @description 取消按钮是否默认关闭弹窗
- */
- cancelAutoClose: uni_modules_nutuiUni_components__utils_props.truthProp,
- /**
- * @description 文字对齐方向,可选值同 css 的 text-align
- */
- textAlign: uni_modules_nutuiUni_components__utils_props.makeStringProp("center"),
- /**
- * @description 是否在页面回退时自动关闭
- */
- closeOnPopstate: Boolean,
- /**
- * @description 使用横纵方向,可选值`horizontal`、`vertical`
- */
- footerDirection: uni_modules_nutuiUni_components__utils_props.makeStringProp("horizontal"),
- /**
- * @description 自定义类名
- */
- customClass: uni_modules_nutuiUni_components__utils_props.makeStringProp(""),
- /**
- * @description 自定义 popup 弹框样式
- */
- popStyle: {
- type: Object
- },
- /**
- * @description 是否在页面回退时自动关闭
- */
- beforeClose: Function
-};
-const dialogEmits = {
- update: (val) => uni_modules_nutuiUni_components__utils_is.isBoolean(val),
- [uni_modules_nutuiUni_components__constants_event.UPDATE_VISIBLE_EVENT]: (val) => uni_modules_nutuiUni_components__utils_is.isBoolean(val),
- ok: () => true,
- [uni_modules_nutuiUni_components__constants_event.CANCEL_EVENT]: () => true,
- [uni_modules_nutuiUni_components__constants_event.OPENED_EVENT]: () => true,
- [uni_modules_nutuiUni_components__constants_event.CLOSED_EVENT]: () => true
-};
-if (!Math) {
- (NutButton + NutPopup)();
-}
-const NutButton = () => "../button/button.js";
-const NutPopup = () => "../popup/popup.js";
-const componentName = `${uni_modules_nutuiUni_components__constants_prefix.PREFIX}-dialog`;
-const __default__ = common_vendor.defineComponent({
- name: componentName,
- inheritAttrs: false,
- options: {
- virtualHost: true,
- addGlobalClass: true,
- styleIsolation: "shared"
- }
-});
-const { translate } = uni_modules_nutuiUni_locale_useTranslate.useTranslate(componentName);
-const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
- ...__default__,
- props: dialogProps,
- emits: dialogEmits,
- setup(__props, { expose: __expose, emit: __emit }) {
- const props = __props;
- const emit = __emit;
- const {
- contentStyle,
- showPopup,
- onClickOverlay,
- onCancel,
- onOk,
- classes,
- closed,
- dialogStatus,
- showDialog
- } = uni_modules_nutuiUni_components_dialog_useDialog.useDialog(props, emit);
- __expose({ showDialog, onOk, onCancel });
- return (_ctx, _cache) => {
- return common_vendor.e({
- a: _ctx.$slots.header || common_vendor.unref(dialogStatus).title
- }, _ctx.$slots.header || common_vendor.unref(dialogStatus).title ? common_vendor.e({
- b: _ctx.$slots.header
- }, _ctx.$slots.header ? {} : {
- c: common_vendor.t(common_vendor.unref(dialogStatus).title || props.title)
- }) : {}, {
- d: _ctx.$slots.default
- }, _ctx.$slots.default ? {} : typeof _ctx.content === "string" ? {
- f: common_vendor.unref(dialogStatus).content || props.content
- } : {}, {
- e: typeof _ctx.content === "string",
- g: common_vendor.s(common_vendor.unref(contentStyle)),
- h: !common_vendor.unref(dialogStatus).noFooter
- }, !common_vendor.unref(dialogStatus).noFooter ? common_vendor.e({
- i: _ctx.$slots.footer
- }, _ctx.$slots.footer ? {} : common_vendor.e({
- j: !common_vendor.unref(dialogStatus).noCancelBtn
- }, !common_vendor.unref(dialogStatus).noCancelBtn ? {
- k: common_vendor.t(common_vendor.unref(dialogStatus).cancelText || props.cancelText || common_vendor.unref(translate)("cancel")),
- l: common_vendor.o(common_vendor.unref(onCancel)),
- m: common_vendor.p({
- size: "small",
- plain: true,
- type: "primary",
- ["custom-class"]: "nut-dialog__footer-cancel"
- })
- } : {}, {
- n: !common_vendor.unref(dialogStatus).noOkBtn
- }, !common_vendor.unref(dialogStatus).noOkBtn ? {
- o: common_vendor.t(common_vendor.unref(dialogStatus).okText || props.okText || common_vendor.unref(translate)("confirm")),
- p: common_vendor.o(common_vendor.unref(onOk)),
- q: common_vendor.p({
- size: "small",
- type: "primary",
- ["custom-class"]: "nut-dialog__footer-ok"
- })
- } : {}), {
- r: _ctx.footerDirection,
- s: common_vendor.unref(dialogStatus).footerDirection ? 1 : ""
- }) : {}, {
- t: common_vendor.n(common_vendor.unref(classes)),
- v: common_vendor.s(_ctx.customStyle),
- w: common_vendor.o(common_vendor.unref(onClickOverlay)),
- x: common_vendor.o(common_vendor.unref(closed)),
- y: common_vendor.o(($event) => common_vendor.isRef(showPopup) ? showPopup.value = $event : null),
- z: common_vendor.p({
- ["close-on-click-overlay"]: false,
- ["lock-scroll"]: _ctx.lockScroll,
- ["pop-class"]: _ctx.popClass,
- ["overlay-class"]: _ctx.overlayClass,
- ["overlay-style"]: _ctx.overlayStyle,
- ["custom-style"]: _ctx.popStyle,
- ["z-index"]: _ctx.zIndex,
- round: true,
- transition: _ctx.transition,
- visible: common_vendor.unref(showPopup)
- })
- });
- };
- }
-});
-wx.createComponent(_sfc_main);
-//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/nutui-uni/components/dialog/dialog.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/dialog.wxml b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/dialog.wxml
deleted file mode 100644
index e7b585f..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/dialog.wxml
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/dialog.wxss b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/dialog.wxss
deleted file mode 100644
index c040af2..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/dialog.wxss
+++ /dev/null
@@ -1,468 +0,0 @@
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-.nut-theme-dark .nut-button--default {
- color: var(--nut-dark-color3, rgba(232, 230, 227, 0.8));
- background: var(--nut-dark-background2, #1b1b1b);
- border: var(--nut-button-border-width, 1px) solid var(--nut-dark-background2, #1b1b1b);
-}
-.nut-theme-dark .nut-button--plain {
- background: var(--nut-dark-background2, #1b1b1b);
-}
-.nut-theme-dark .nut-button:not(.nut-button--hovercls) .nut-button--plain:not([disabled]):active {
- background: var(--nut-dark-background2, #1b1b1b);
-}
-.nut-theme-dark .nut-button:not(.nut-button--hovercls) .nut-button--default:not([disabled]):active {
- color: var(--nut-dark-color3, rgba(232, 230, 227, 0.8));
- background: var(--nut-dark-background2, #1b1b1b);
- border: var(--nut-button-border-width, 1px) solid var(--nut-dark-background2, #1b1b1b);
-}
-.nut-button {
- position: relative;
- box-sizing: border-box;
- display: inline-block;
- flex-shrink: 0;
- width: auto;
- height: var(--nut-button-default-height, 38px);
- padding: 0;
- margin: 0;
- font-size: var(--nut-button-default-font-size, var(--nut-font-size-2, 14px));
- line-height: var(--nut-button-default-line-height, 36px);
- text-align: center;
- vertical-align: bottom;
- -webkit-appearance: none;
- appearance: none;
- touch-action: manipulation;
- cursor: pointer;
- -webkit-user-select: none;
- user-select: none;
- transition: opacity 0.2s;
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
- -webkit-tap-highlight-color: transparent;
-}
-.nut-button .nut-button__text {
- margin-left: 5px;
-}
-.nut-button::before {
- position: absolute;
- top: 50%;
- left: 50%;
- width: 100%;
- height: 100%;
- content: "";
- background-color: var(--nut-black, #000);
- border: inherit;
- border-color: var(--nut-black, #000);
- border-radius: inherit;
- opacity: 0;
- transform: translate(-50%, -50%);
-}
-.nut-button::after {
- display: none;
-}
-.nut-button:not(.nut-button--hovercls):active::before {
- opacity: 0.1;
-}
-.nut-button__wrap {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 100%;
- height: 100%;
-}
-.nut-button--loading::before, .nut-button--disabled::before {
- display: none;
-}
-.nut-button--default {
- color: var(--nut-button-default-color, #666666);
- background: var(--nut-button-default-bg-color, var(--nut-white, #fff));
- background-origin: border-box;
- border: var(--nut-button-border-width, 1px) solid var(--nut-button-default-border-color, #cccccc);
-}
-.nut-button--primary {
- color: var(--nut-button-primary-color, var(--nut-white, #fff));
- background: var(--nut-button-primary-background-color, linear-gradient(135deg, var(--nut-primary-color, var(--nut-primary-color, #fa2c19)) 0%, var(--nut-primary-color, var(--nut-primary-color, #fa2c19)) 100%));
- background-origin: border-box;
- border: var(--nut-button-border-width, 1px) solid transparent;
-}
-.nut-button--info {
- color: var(--nut-button-info-color, var(--nut-white, #fff));
- background: var(--nut-button-info-background-color, linear-gradient(315deg, #498ff2 0%, #4965f2 100%));
- background-origin: border-box;
- border: var(--nut-button-border-width, 1px) solid transparent;
-}
-.nut-button--success {
- color: var(--nut-button-success-color, var(--nut-white, #fff));
- background: var(--nut-button-success-background-color, linear-gradient(135deg, #26bf26 0%, #27c530 45%, #28cf3f 83%, #29d446 100%));
- background-origin: border-box;
- border: var(--nut-button-border-width, 1px) solid transparent;
-}
-.nut-button--danger {
- color: var(--nut-button-danger-color, var(--nut-white, #fff));
- background: var(--nut-button-danger-background-color, #fa2c19);
- background-origin: border-box;
- border: var(--nut-button-border-width, 1px) solid transparent;
-}
-.nut-button--warning {
- color: var(--nut-button-warning-color, var(--nut-white, #fff));
- background: var(--nut-button-warning-background-color, linear-gradient(135deg, #ff9e0d 0%, #ffa70d 45%, #ffb60d 83%, #ffbe0d 100%));
- background-origin: border-box;
- border: var(--nut-button-border-width, 1px) solid transparent;
-}
-.nut-button--plain {
- background: var(--nut-button-plain-background-color, var(--nut-white, #fff));
- background-origin: border-box;
-}
-.nut-button--plain.nut-button--primary {
- color: var(--nut-button-primary-border-color, var(--nut-primary-color, #fa2c19));
- border-color: var(--nut-button-primary-border-color, var(--nut-primary-color, #fa2c19));
-}
-.nut-button--plain.nut-button--info {
- color: var(--nut-button-info-border-color, #496af2);
- border-color: var(--nut-button-info-border-color, #496af2);
-}
-.nut-button--plain.nut-button--success {
- color: var(--nut-button-success-border-color, #26bf26);
- border-color: var(--nut-button-success-border-color, #26bf26);
-}
-.nut-button--plain.nut-button--danger {
- color: var(--nut-button-danger-border-color, #fa2c19);
- border-color: var(--nut-button-danger-border-color, #fa2c19);
-}
-.nut-button--plain.nut-button--warning {
- color: var(--nut-button-warning-border-color, #ff9e0d);
- border-color: var(--nut-button-warning-border-color, #ff9e0d);
-}
-.nut-button--plain:not(.nut-button--hovercls).nut-button--primary:not([disabled]):active {
- color: var(--nut-button-primary-border-color, var(--nut-primary-color, #fa2c19));
- border-color: var(--nut-button-primary-border-color, var(--nut-primary-color, #fa2c19));
-}
-.nut-button--plain:not(.nut-button--hovercls).nut-button--info:not([disabled]):active {
- color: var(--nut-button-info-border-color, #496af2);
- border-color: var(--nut-button-info-border-color, #496af2);
-}
-.nut-button--plain:not(.nut-button--hovercls).nut-button--success:not([disabled]):active {
- color: var(--nut-button-success-border-color, #26bf26);
- border-color: var(--nut-button-success-border-color, #26bf26);
-}
-.nut-button--plain:not(.nut-button--hovercls).nut-button--danger:not([disabled]):active {
- color: var(--nut-button-danger-border-color, #fa2c19);
- border-color: var(--nut-button-danger-border-color, #fa2c19);
-}
-.nut-button--plain:not(.nut-button--hovercls).nut-button--warning:not([disabled]):active {
- color: var(--nut-button-warning-border-color, #ff9e0d);
- border-color: var(--nut-button-warning-border-color, #ff9e0d);
-}
-.nut-button--large {
- width: 100%;
- height: var(--nut-button-large-height, 48px);
- font-size: var(--nut-button-large-font-size, var(--nut-button-default-font-size, var(--nut-font-size-2, 14px)));
- line-height: var(--nut-button-large-line-height, 46px);
-}
-.nut-button--normal {
- padding: var(--nut-button-default-padding, 0 18px);
- font-size: var(--nut-button-default-font-size, var(--nut-font-size-2, 14px));
-}
-.nut-button--small {
- height: var(--nut-button-small-height, 28px);
- padding: var(--nut-button-small-padding, 0 12px);
- font-size: var(--nut-button-small-font-size, var(--nut-font-size-1, 12px));
- line-height: var(--nut-button-small-line-height, 26px);
-}
-.nut-button--small.nut-button--round {
- border-radius: var(--nut-button-small-round-border-radius, var(--nut-button-border-radius, 25px));
-}
-.nut-button--mini {
- height: var(--nut-button-mini-height, 24px);
- padding: var(--nut-button-mini-padding, 0 12px);
- font-size: var(--nut-button-mini-font-size, var(--nut-font-size-1, 12px));
- line-height: var(--nut-button-mini-line-height, 1.2);
-}
-.nut-button--block {
- display: block;
- width: 100%;
-}
-.nut-button--disabled {
- cursor: not-allowed;
- opacity: var(--nut-button-disabled-opacity, 0.68);
-}
-.nut-button--loading {
- cursor: default;
- opacity: 0.9;
-}
-.nut-button--round {
- border-radius: var(--nut-button-border-radius, 25px);
-}
-.nut-button--square {
- border-radius: 0;
-}
-.nut-button:not(.nut-button--hovercls) .nut-button--default:not([disabled]):active {
- color: var(--nut-button-default-color, #666666);
- background: var(--nut-button-default-bg-color, var(--nut-white, #fff));
- background-origin: border-box;
- border: var(--nut-button-border-width, 1px) solid var(--nut-button-default-border-color, #cccccc);
-}
-.nut-button:not(.nut-button--hovercls) .nut-button--primary:not([disabled]):active {
- color: var(--nut-button-primary-color, var(--nut-white, #fff));
- background: var(--nut-button-primary-background-color, linear-gradient(135deg, var(--nut-primary-color, var(--nut-primary-color, #fa2c19)) 0%, var(--nut-primary-color, var(--nut-primary-color, #fa2c19)) 100%));
- background-origin: border-box;
- border: var(--nut-button-border-width, 1px) solid transparent;
-}
-.nut-button:not(.nut-button--hovercls) .nut-button--info:not([disabled]):active {
- color: var(--nut-button-info-color, var(--nut-white, #fff));
- background: var(--nut-button-info-background-color, linear-gradient(315deg, #498ff2 0%, #4965f2 100%));
- background-origin: border-box;
- border: var(--nut-button-border-width, 1px) solid transparent;
-}
-.nut-button:not(.nut-button--hovercls) .nut-button--success:not([disabled]):active {
- color: var(--nut-button-success-color, var(--nut-white, #fff));
- background: var(--nut-button-success-background-color, linear-gradient(135deg, #26bf26 0%, #27c530 45%, #28cf3f 83%, #29d446 100%));
- background-origin: border-box;
- border: var(--nut-button-border-width, 1px) solid transparent;
-}
-.nut-button:not(.nut-button--hovercls) .nut-button--danger:not([disabled]):active {
- color: var(--nut-button-danger-color, var(--nut-white, #fff));
- background: var(--nut-button-danger-background-color, #fa2c19);
- background-origin: border-box;
- border: var(--nut-button-border-width, 1px) solid transparent;
-}
-.nut-button:not(.nut-button--hovercls) .nut-button--warning:not([disabled]):active {
- color: var(--nut-button-warning-color, var(--nut-white, #fff));
- background: var(--nut-button-warning-background-color, linear-gradient(135deg, #ff9e0d 0%, #ffa70d 45%, #ffb60d 83%, #ffbe0d 100%));
- background-origin: border-box;
- border: var(--nut-button-border-width, 1px) solid transparent;
-}
-.nut-button:not(.nut-button--hovercls) .nut-button--plain:not([disabled]):active {
- background: var(--nut-button-plain-background-color, var(--nut-white, #fff));
- background-origin: border-box;
-}
-.nut-overlay {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background: var(--nut-overlay-bg-color, rgba(0, 0, 0, 0.7));
-}
-.nut-overflow-hidden {
- overflow: hidden !important;
-}
-.nut-theme-dark .nut-popup {
- background: var(--nut-dark-background2, #1b1b1b);
-}
-.nut-theme-dark .nut-popup__close-icon {
- color: var(--nut-dark-color, var(--nut-white, #fff));
-}
-.nut-popup-slide-center-enter-active, .nut-popup-slide-center-leave-active {
- transition-timing-function: ease;
- transition-property: opacity;
-}
-.nut-popup-slide-center-enter-from, .nut-popup-slide-center-leave-to {
- opacity: 0;
-}
-.nut-popup-slide-top-enter-from, .nut-popup-slide-top-leave-active {
- transform: translate(0, -100%);
-}
-.nut-popup-slide-right-enter-from, .nut-popup-slide-right-leave-active {
- transform: translate(100%, 0);
-}
-.nut-popup-slide-bottom-enter-from, .nut-popup-slide-bottom-leave-active {
- transform: translate(0, 100%);
-}
-.nut-popup-slide-left-enter-from, .nut-popup-slide-left-leave-active {
- transform: translate(-100%, 0);
-}
-.nut-popup--center {
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
-}
-.nut-popup--center.round {
- border-radius: var(--nut-popup-border-radius, 20px);
-}
-.nut-popup--bottom {
- bottom: 0;
- left: 0;
- width: 100%;
-}
-.nut-popup--bottom.round {
- border-radius: var(--nut-popup-border-radius, 20px) var(--nut-popup-border-radius, 20px) 0 0;
-}
-.nut-popup--bottom--safebottom {
- padding-bottom: constant(safe-area-inset-bottom);
- padding-bottom: env(safe-area-inset-bottom);
-}
-.nut-popup--right {
- top: 0;
- right: 0;
-}
-.nut-popup--right.round {
- border-radius: var(--nut-popup-border-radius, 20px) 0 0 var(--nut-popup-border-radius, 20px);
-}
-.nut-popup--left {
- top: 0;
- left: 0;
-}
-.nut-popup--left.round {
- border-radius: 0 var(--nut-popup-border-radius, 20px) var(--nut-popup-border-radius, 20px) 0;
-}
-.nut-popup--top {
- top: 0;
- left: 0;
- width: 100%;
-}
-.nut-popup--top.round {
- border-radius: 0 0 var(--nut-popup-border-radius, 20px) var(--nut-popup-border-radius, 20px);
-}
-.nut-popup--top--safetop {
- padding-top: var(--status-bar-height);
- padding-top: constant(safe-area-inset-top);
- padding-top: env(safe-area-inset-top);
-}
-.nut-popup {
- position: fixed;
- max-height: 100%;
- overflow-y: auto;
- background-color: var(--nut-white, #fff);
- -webkit-overflow-scrolling: touch;
-}
-.nut-popup__close-icon {
- position: absolute !important;
- z-index: 1;
- width: 30px;
- height: 30px;
- font-size: 18px;
- line-height: 30px;
- color: #969799;
- text-align: center;
- cursor: pointer;
-}
-.nut-popup__close-icon:active {
- opacity: 0.7;
-}
-.nut-popup__close-icon--top-left {
- top: var(--nut-popup-close-icon-margin, 16px);
- left: var(--nut-popup-close-icon-margin, 16px);
-}
-.nut-popup__close-icon--top-right {
- top: var(--nut-popup-close-icon-margin, 16px);
- right: var(--nut-popup-close-icon-margin, 16px);
-}
-.nut-popup__close-icon--bottom-left {
- bottom: var(--nut-popup-close-icon-margin, 16px);
- left: var(--nut-popup-close-icon-margin, 16px);
-}
-.nut-popup__close-icon--bottom-right {
- right: var(--nut-popup-close-icon-margin, 16px);
- bottom: var(--nut-popup-close-icon-margin, 16px);
-}
-.nut-theme-dark .nut-dialog__header {
- color: var(--nut-dark-color3, rgba(232, 230, 227, 0.8));
-}
-.nut-dialog {
- box-sizing: border-box;
- display: flex;
- flex-direction: column;
- align-items: center;
- width: var(--nut-dialog-width, 296px);
- min-height: 156px;
- padding: 28px 24px 16px;
-}
-.nut-dialog__header {
- display: block;
- height: 20px;
- font-size: 16px;
- font-weight: var(--nut-dialog-header-font-weight, normal);
- color: var(--nut-dialog-header-color, #262626);
- text-align: center;
- width: 100%;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-.nut-dialog__content {
- flex: 1;
- width: 100%;
- max-height: 268px;
- margin: 20px 0;
- overflow: auto;
- font-size: 12px;
- line-height: 16px;
- color: var(--nut-text-color, #808080);
- word-break: break-all;
- word-wrap: break-word;
- white-space: pre-wrap;
-}
-.nut-dialog__footer {
- display: flex;
- align-items: center;
- justify-content: var(--nut-dialog-footer-justify-content, space-around);
- width: 100%;
-}
-.nut-dialog__footer.vertical {
- flex-direction: column;
-}
-.nut-dialog__footer.vertical .nut-button {
- min-width: 100%;
- margin: 0;
-}
-.nut-dialog__footer.vertical .nut-button.nut-dialog__footer-cancel {
- border: 0;
-}
-.nut-dialog__footer.vertical .nut-button.nut-dialog__footer-ok {
- margin-top: 10px;
-}
-.nut-dialog__footer .nut-button {
- min-width: 100px;
- overflow: hidden;
-}
-.nut-dialog__footer-ok {
- max-width: 128px;
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/use-dialog.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/use-dialog.js
deleted file mode 100644
index c5f7321..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/dialog/use-dialog.js
+++ /dev/null
@@ -1,106 +0,0 @@
-"use strict";
-const common_vendor = require("../../../../common/vendor.js");
-const uni_modules_nutuiUni_components__constants_event = require("../_constants/event.js");
-const uni_modules_nutuiUni_components__constants_prefix = require("../_constants/prefix.js");
-require("../_utils/env.js");
-const uni_modules_nutuiUni_components__utils_interceptor = require("../_utils/interceptor.js");
-const uni_modules_nutuiUni_components__utils_style = require("../_utils/style.js");
-const componentName = `${uni_modules_nutuiUni_components__constants_prefix.PREFIX}-dialog`;
-function useDialog(props, emit) {
- const showPopup = common_vendor.ref(props.visible);
- const dialogStatus = common_vendor.ref({
- title: props.title,
- content: props.content,
- cancelText: props.cancelText,
- okText: props.okText,
- textAlign: props.textAlign,
- footerDirection: props.footerDirection,
- noFooter: props.noFooter,
- noOkBtn: props.noOkBtn,
- noCancelBtn: props.noCancelBtn,
- transition: props.transition,
- closeOnClickOverlay: props.closeOnClickOverlay,
- okAutoClose: props.okAutoClose
- });
- common_vendor.watch(() => props.title, (title) => dialogStatus.value.title = title);
- const showDialog = (options) => {
- dialogStatus.value = {
- title: options.title || props.title,
- content: options.content || props.content,
- cancelText: options.cancelText || props.cancelText,
- okText: options.okText || props.okText,
- okAutoClose: options.okAutoClose || props.okAutoClose,
- textAlign: options.textAlign || props.textAlign,
- footerDirection: options.footerDirection || props.footerDirection,
- noFooter: options.noFooter || props.noFooter,
- noOkBtn: options.noOkBtn || props.noOkBtn,
- transition: options.transition || props.transition,
- noCancelBtn: options.noCancelBtn || props.noCancelBtn,
- closeOnClickOverlay: options.closeOnClickOverlay || props.closeOnClickOverlay
- };
- showPopup.value = true;
- };
- common_vendor.onMounted(() => {
- if (props.closeOnPopstate)
- ;
- });
- common_vendor.watch(
- () => props.visible,
- (value) => {
- showPopup.value = value;
- if (value)
- emit(uni_modules_nutuiUni_components__constants_event.OPENED_EVENT);
- }
- );
- const classes = common_vendor.computed(() => {
- return uni_modules_nutuiUni_components__utils_style.getMainClass(props, componentName);
- });
- function update(val) {
- emit("update", val);
- emit(uni_modules_nutuiUni_components__constants_event.UPDATE_VISIBLE_EVENT, val);
- }
- function closed(action) {
- uni_modules_nutuiUni_components__utils_interceptor.funInterceptor(props.beforeClose, {
- args: [action],
- done: () => {
- showPopup.value = false;
- update(false);
- emit(uni_modules_nutuiUni_components__constants_event.CLOSED_EVENT);
- }
- });
- }
- function onCancel() {
- emit(uni_modules_nutuiUni_components__constants_event.CANCEL_EVENT);
- if (props.cancelAutoClose) {
- showPopup.value = false;
- closed(uni_modules_nutuiUni_components__constants_event.CANCEL_EVENT);
- }
- }
- function onOk() {
- emit("ok");
- if (props.okAutoClose)
- closed("ok");
- }
- function onClickOverlay() {
- if (props.closeOnClickOverlay)
- closed("");
- }
- const contentStyle = common_vendor.computed(() => {
- return {
- textAlign: dialogStatus.value.textAlign
- };
- });
- return {
- contentStyle,
- showPopup,
- onClickOverlay,
- onCancel,
- onOk,
- closed,
- classes,
- showDialog,
- dialogStatus
- };
-}
-exports.useDialog = useDialog;
-//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/nutui-uni/components/dialog/use-dialog.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/price/price.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/price/price.js
deleted file mode 100644
index 64fca06..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/price/price.js
+++ /dev/null
@@ -1,131 +0,0 @@
-"use strict";
-const common_vendor = require("../../../../common/vendor.js");
-const uni_modules_nutuiUni_components__constants_prefix = require("../_constants/prefix.js");
-require("../_utils/env.js");
-const uni_modules_nutuiUni_components__utils_style = require("../_utils/style.js");
-const uni_modules_nutuiUni_components__utils_props = require("../_utils/props.js");
-const priceProps = {
- ...uni_modules_nutuiUni_components__utils_props.commonProps,
- /**
- * @description 价格数量
- */
- price: uni_modules_nutuiUni_components__utils_props.makeNumericProp(0),
- /**
- * @description 是否需要加上 symbol 符号
- */
- needSymbol: uni_modules_nutuiUni_components__utils_props.truthProp,
- /**
- * @description 符号类型
- */
- symbol: uni_modules_nutuiUni_components__utils_props.makeStringProp("¥"),
- /**
- * @description 小数位位数
- */
- decimalDigits: uni_modules_nutuiUni_components__utils_props.makeNumberProp(2),
- /**
- * @description 是否按照千分号形式显示
- */
- thousands: Boolean,
- /**
- * @description 符号显示在价格前或者后,`before`、`after`
- */
- position: uni_modules_nutuiUni_components__utils_props.makeStringProp("before"),
- /**
- * @description 价格尺寸,`small`、`normal`、`large`
- */
- size: uni_modules_nutuiUni_components__utils_props.makeStringProp("normal"),
- /**
- * @description 是否展示划线价
- */
- strikeThrough: Boolean
-};
-const componentName = `${uni_modules_nutuiUni_components__constants_prefix.PREFIX}-price`;
-const __default__ = common_vendor.defineComponent({
- name: componentName,
- options: {
- virtualHost: true,
- addGlobalClass: true,
- styleIsolation: "shared"
- }
-});
-const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
- ...__default__,
- props: priceProps,
- setup(__props) {
- const props = __props;
- const classes = common_vendor.computed(() => {
- return uni_modules_nutuiUni_components__utils_style.getMainClass(props, componentName, {
- [`${componentName}--strike`]: props.strikeThrough
- });
- });
- function replaceSpecialChar(url) {
- url = url.replace(/"/g, '"');
- url = url.replace(/&/g, "&");
- url = url.replace(/</g, "<");
- url = url.replace(/>/g, ">");
- url = url.replace(/ /g, " ");
- url = url.replace(/¥/g, "¥");
- return url;
- }
- const showSymbol = common_vendor.computed(() => {
- const symbol = props.needSymbol ? replaceSpecialChar(props.symbol) : "";
- return symbol;
- });
- function checkPoint(price) {
- return String(price).indexOf(".") > 0;
- }
- function formatThousands(num) {
- if (Number(num) === 0)
- num = 0;
- if (checkPoint(num)) {
- num = Number(num).toFixed(props.decimalDigits);
- num = typeof num.split(".") === "string" ? num.split(".") : num.split(".")[0];
- } else {
- num = num.toString();
- }
- if (props.thousands)
- return (num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, "$1,");
- else
- return num;
- }
- function formatDecimal(decimalNum) {
- if (Number(decimalNum) === 0)
- decimalNum = 0;
- if (checkPoint(decimalNum)) {
- decimalNum = Number(decimalNum).toFixed(props.decimalDigits);
- decimalNum = typeof decimalNum.split(".") === "string" ? 0 : decimalNum.split(".")[1] ? decimalNum.split(".")[1] : 0;
- } else {
- decimalNum = 0;
- }
- const result = `0.${decimalNum}`;
- const resultFixed = Number(result).toFixed(props.decimalDigits);
- return String(resultFixed).substring(2, resultFixed.length);
- }
- return (_ctx, _cache) => {
- return common_vendor.e({
- a: _ctx.needSymbol && _ctx.position === "before"
- }, _ctx.needSymbol && _ctx.position === "before" ? {
- b: common_vendor.n(`nut-price--symbol-${_ctx.size}`),
- c: showSymbol.value
- } : {}, {
- d: common_vendor.t(formatThousands(_ctx.price)),
- e: common_vendor.n(`nut-price--${_ctx.size}`),
- f: _ctx.decimalDigits !== 0
- }, _ctx.decimalDigits !== 0 ? {
- g: common_vendor.n(`nut-price--decimal-${_ctx.size}`)
- } : {}, {
- h: common_vendor.t(formatDecimal(_ctx.price)),
- i: common_vendor.n(`nut-price--decimal-${_ctx.size}`),
- j: _ctx.needSymbol && _ctx.position === "after"
- }, _ctx.needSymbol && _ctx.position === "after" ? {
- k: common_vendor.n(`nut-price--symbol-${_ctx.size}`),
- l: showSymbol.value
- } : {}, {
- m: common_vendor.n(classes.value),
- n: common_vendor.s(_ctx.customStyle)
- });
- };
- }
-});
-wx.createComponent(_sfc_main);
-//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/nutui-uni/components/price/price.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/price/price.json b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/price/price.json
deleted file mode 100644
index e8cfaaf..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/price/price.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "component": true,
- "usingComponents": {}
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/price/price.wxml b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/price/price.wxml
deleted file mode 100644
index 15fd2b3..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/price/price.wxml
+++ /dev/null
@@ -1 +0,0 @@
-{{d}} . {{h}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/price/price.wxss b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/price/price.wxss
deleted file mode 100644
index af054c9..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/price/price.wxss
+++ /dev/null
@@ -1,102 +0,0 @@
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-.nut-price {
- display: inline;
- font-size: 0;
- color: var(--nut-primary-color, #fa2c19);
-}
-.nut-price--strike [class*=nut-price] {
- text-decoration: line-through;
-}
-.nut-price--symbol {
- display: inline-block;
- font-size: var(--nut-font-size-3, 16px);
-}
-.nut-price--large {
- display: inline-block;
- font-size: var(--nut-price-big-size, 24px);
-}
-.nut-price--point {
- display: inline-block;
- font-size: var(--nut-price-big-size, 24px);
-}
-.nut-price--decimal-large {
- display: inline-block;
- font-size: var(--nut-price-decimal-big-size, 18px);
-}
-.nut-price--symbol-large {
- display: inline-block;
- font-size: var(--nut-price-symbol-big-size, 18px);
-}
-.nut-price--normal {
- display: inline-block;
- font-size: var(--nut-price-medium-size, 16px);
-}
-.nut-price--decimal-normal {
- display: inline-block;
- font-size: var(--nut-price-decimal-medium-size, 14px);
-}
-.nut-price--symbol-normal {
- display: inline-block;
- font-size: var(--nut-price-symbol-medium-size, 14px);
-}
-.nut-price--small {
- display: inline-block;
- font-size: var(--nut-price-small-size, 12px);
-}
-.nut-price--decimal-small {
- display: inline-block;
- font-size: var(--nut-price-decimal-small-size, 10px);
-}
-.nut-price--symbol-small {
- display: inline-block;
- font-size: var(--nut-price-symbol-small-size, 10px);
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/index.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/index.js
deleted file mode 100644
index 088ecd3..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/index.js
+++ /dev/null
@@ -1,34 +0,0 @@
-"use strict";
-require("../../../../common/vendor.js");
-require("../_utils/env.js");
-const uni_modules_nutuiUni_components__utils_props = require("../_utils/props.js");
-const radioProps = {
- ...uni_modules_nutuiUni_components__utils_props.commonProps,
- /**
- * @description 是否禁用选择
- */
- disabled: uni_modules_nutuiUni_components__utils_props.nullableBooleanProp,
- /**
- * @description 图标尺寸
- */
- iconSize: uni_modules_nutuiUni_components__utils_props.makeNumericProp(""),
- /**
- * @description 单选框标识
- */
- label: {
- type: [String, Number, Boolean],
- default: ""
- },
- /**
- * @description 形状,可选值为 button、round
- */
- shape: uni_modules_nutuiUni_components__utils_props.makeStringProp("round"),
- /**
- * @description 尺寸,可选值为 `large` `small` `mini` `normal`,仅在 shape 为 `button` 时生效
- */
- size: uni_modules_nutuiUni_components__utils_props.makeStringProp("normal")
-};
-const RADIO_KEY = Symbol("nut-radio");
-exports.RADIO_KEY = RADIO_KEY;
-exports.radioProps = radioProps;
-//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/nutui-uni/components/radio/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/radio.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/radio.js
deleted file mode 100644
index 08a4b7d..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/radio.js
+++ /dev/null
@@ -1,108 +0,0 @@
-"use strict";
-const common_vendor = require("../../../../common/vendor.js");
-const uni_modules_nutuiUni_components__constants_prefix = require("../_constants/prefix.js");
-const uni_modules_nutuiUni_components__hooks_useInject = require("../_hooks/useInject.js");
-require("../_utils/env.js");
-const uni_modules_nutuiUni_components__utils_pxCheck = require("../_utils/pxCheck.js");
-const uni_modules_nutuiUni_components__utils_style = require("../_utils/style.js");
-const form = require("../../../../form.js");
-const uni_modules_nutuiUni_components_radio_index = require("./index.js");
-if (!Math) {
- NutIcon();
-}
-const NutIcon = () => "../icon/icon.js";
-const componentName = `${uni_modules_nutuiUni_components__constants_prefix.PREFIX}-radio`;
-const __default__ = common_vendor.defineComponent({
- name: componentName,
- options: {
- virtualHost: true,
- addGlobalClass: true,
- styleIsolation: "shared"
- }
-});
-const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
- ...__default__,
- props: uni_modules_nutuiUni_components_radio_index.radioProps,
- setup(__props) {
- const props = __props;
- const { parent } = uni_modules_nutuiUni_components__hooks_useInject.useInject(uni_modules_nutuiUni_components_radio_index.RADIO_KEY);
- const disabled = form.useFormDisabled(common_vendor.toRef(props, "disabled"));
- const reverseState = common_vendor.computed(() => parent.position.value === "left");
- const classes = common_vendor.computed(() => {
- return uni_modules_nutuiUni_components__utils_style.getMainClass(props, componentName, {
- [`${componentName}--reverse`]: reverseState.value,
- [`${componentName}--${props.shape}`]: true
- });
- });
- function handleClick() {
- if (isCurValue.value || disabled.value)
- return;
- parent.updateValue(props.label);
- }
- const isCurValue = common_vendor.computed(() => {
- return parent.label.value === props.label;
- });
- const color = common_vendor.computed(() => {
- return !disabled.value ? isCurValue.value ? "nut-radio__icon" : "nut-radio__icon--unchecked" : "nut-radio__icon--disable";
- });
- const getButtonClass = common_vendor.computed(() => {
- return `${componentName}__button ${componentName}__button--${props.size} ${isCurValue.value && `${componentName}__button--active`} ${disabled.value ? `${componentName}__button--disabled` : ""}`;
- });
- const getLabelClass = common_vendor.computed(() => {
- return `${componentName}__label ${disabled.value ? `${componentName}__label--disabled` : ""}`;
- });
- return (_ctx, _cache) => {
- return common_vendor.e({
- a: _ctx.shape === "button"
- }, _ctx.shape === "button" ? {
- b: common_vendor.n(getButtonClass.value)
- } : reverseState.value ? common_vendor.e({
- d: common_vendor.n(getLabelClass.value),
- e: !isCurValue.value
- }, !isCurValue.value ? {
- f: common_vendor.p({
- name: "check-normal",
- size: common_vendor.unref(uni_modules_nutuiUni_components__utils_pxCheck.pxCheck)(_ctx.iconSize),
- width: common_vendor.unref(uni_modules_nutuiUni_components__utils_pxCheck.pxCheck)(_ctx.iconSize),
- height: common_vendor.unref(uni_modules_nutuiUni_components__utils_pxCheck.pxCheck)(_ctx.iconSize),
- ["pop-class"]: color.value
- })
- } : {
- g: common_vendor.p({
- name: "check-checked",
- size: common_vendor.unref(uni_modules_nutuiUni_components__utils_pxCheck.pxCheck)(_ctx.iconSize),
- width: common_vendor.unref(uni_modules_nutuiUni_components__utils_pxCheck.pxCheck)(_ctx.iconSize),
- height: common_vendor.unref(uni_modules_nutuiUni_components__utils_pxCheck.pxCheck)(_ctx.iconSize),
- ["pop-class"]: color.value
- })
- }) : common_vendor.e({
- h: !isCurValue.value
- }, !isCurValue.value ? {
- i: common_vendor.p({
- name: "check-normal",
- size: common_vendor.unref(uni_modules_nutuiUni_components__utils_pxCheck.pxCheck)(_ctx.iconSize),
- width: common_vendor.unref(uni_modules_nutuiUni_components__utils_pxCheck.pxCheck)(_ctx.iconSize),
- height: common_vendor.unref(uni_modules_nutuiUni_components__utils_pxCheck.pxCheck)(_ctx.iconSize),
- ["pop-class"]: color.value
- })
- } : {
- j: common_vendor.p({
- name: "check-checked",
- size: common_vendor.unref(uni_modules_nutuiUni_components__utils_pxCheck.pxCheck)(_ctx.iconSize),
- width: common_vendor.unref(uni_modules_nutuiUni_components__utils_pxCheck.pxCheck)(_ctx.iconSize),
- height: common_vendor.unref(uni_modules_nutuiUni_components__utils_pxCheck.pxCheck)(_ctx.iconSize),
- ["pop-class"]: color.value
- })
- }, {
- k: common_vendor.n(getLabelClass.value)
- }), {
- c: reverseState.value,
- l: common_vendor.n(classes.value),
- m: common_vendor.s(_ctx.customStyle),
- n: common_vendor.o(handleClick)
- });
- };
- }
-});
-wx.createComponent(_sfc_main);
-//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/nutui-uni/components/radio/radio.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/radio.json b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/radio.json
deleted file mode 100644
index 62334e2..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/radio.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "nut-icon": "../icon/icon"
- }
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/radio.wxml b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/radio.wxml
deleted file mode 100644
index f15e08d..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/radio.wxml
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/radio.wxss b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/radio.wxss
deleted file mode 100644
index ae65cb2..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radio/radio.wxss
+++ /dev/null
@@ -1,159 +0,0 @@
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-.nut-radio-group {
- display: inline-block;
-}
-.nut-radio-group .nut-radio {
- margin-bottom: 5px;
-}
-.nut-radio-group--horizontal .nut-radio {
- display: inline-flex !important;
- margin-right: 10px !important;
-}
-.nut-radio-group--horizontal .nut-radio--round .nut-radio__label {
- margin: 0 6px !important;
-}
-.nut-theme-dark .nut-radio__label {
- color: var(--nut-dark-color, var(--nut-white, #fff));
-}
-.nut-theme-dark .nut-radio__label--disabled {
- color: var(--nut-radio-label-disable-color, #999);
-}
-.nut-theme-dark .nut-radio__button {
- color: var(--nut-dark-color, var(--nut-white, #fff));
- background: var(--nut-dark-background, #131313);
-}
-.nut-theme-dark .nut-radio__button--disabled {
- color: var(--nut-radio-label-disable-color, #999);
- border: 1px solid var(--nut-radio-label-disable-color, #999);
-}
-.nut-radio {
- display: flex;
- flex-shrink: 0;
- align-items: center;
-}
-.nut-radio:last-child {
- margin-right: 0 !important;
- margin-bottom: 0 !important;
-}
-.nut-radio--reverse .nut-radio__label {
- margin-right: var(--nut-radio-label-margin-left, 15px);
- margin-left: 0;
-}
-.nut-radio__button {
- box-sizing: border-box;
- display: inline-flex;
- align-items: center;
- padding: var(--nut-radio-button-padding, 5px 18px);
- font-size: var(--nut-radio-button-font-size, 12px);
- color: var(--nut-radio-label-font-color, #1d1e1e);
- background: #f6f7f9;
- border: 1px solid #f6f7f9;
- border-radius: var(--nut-radio-button-border-radius, 15px);
-}
-.nut-radio__button--active {
- position: relative;
- color: var(--nut-radio-label-font-active-color, var(--nut-primary-color, #fa2c19));
- background: transparent;
- border: 1px solid var(--nut-radio-label-button-border-color, var(--nut-primary-color, #fa2c19));
-}
-.nut-radio__button--active::after {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- content: "";
- background-color: var(--nut-radio-label-button-background, var(--nut-primary-color, #fa2c19));
- border-radius: var(--nut-radio-button-border-radius, 15px);
- opacity: 0.05;
-}
-.nut-radio__button--disabled {
- color: var(--nut-radio-label-disable-color, #999);
- border: none;
-}
-.nut-radio__button--large {
- height: var(--nut-button-large-height, 48px);
- font-size: var(--nut-button-large-font-size, var(--nut-button-default-font-size, var(--nut-font-size-2, 14px)));
- line-height: var(--nut-button-large-line-height, 46px);
-}
-.nut-radio__button--small {
- height: var(--nut-button-small-height, 28px);
- padding: var(--nut-button-small-padding, 0 12px);
- font-size: var(--nut-button-small-font-size, var(--nut-font-size-1, 12px));
- line-height: var(--nut-button-small-line-height, 26px);
-}
-.nut-radio__button--mini {
- height: var(--nut-button-mini-height, 24px);
- padding: var(--nut-button-mini-padding, 0 12px);
- font-size: var(--nut-button-mini-font-size, var(--nut-font-size-1, 12px));
- line-height: var(--nut-button-mini-line-height, 1.2);
-}
-.nut-radio__label {
- flex: 1;
- margin-left: var(--nut-radio-label-margin-left, 15px);
- font-size: var(--nut-radio-label-font-size, 14px);
- color: var(--nut-radio-label-font-color, #1d1e1e);
-}
-.nut-radio__label--disabled {
- color: var(--nut-radio-label-disable-color, #999);
-}
-.nut-radio__icon {
- color: var(--nut-radio-label-font-active-color, var(--nut-primary-color, #fa2c19));
- transition-duration: 0.3s;
- transition-property: color, border-color, background-color;
-}
-.nut-radio__icon--unchecked {
- color: var(--nut-radio-icon-disable-color, #d6d6d6);
-}
-.nut-radio__icon--disable {
- color: var(--nut-radio-icon-disable-color2, var(--nut-help-color, #f5f5f5));
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radiogroup/radiogroup.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radiogroup/radiogroup.js
deleted file mode 100644
index 5e220b0..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radiogroup/radiogroup.js
+++ /dev/null
@@ -1,73 +0,0 @@
-"use strict";
-const common_vendor = require("../../../../common/vendor.js");
-const uni_modules_nutuiUni_components__constants_event = require("../_constants/event.js");
-const uni_modules_nutuiUni_components__constants_prefix = require("../_constants/prefix.js");
-const uni_modules_nutuiUni_components__hooks_useProvide = require("../_hooks/useProvide.js");
-require("../_utils/env.js");
-const uni_modules_nutuiUni_components__utils_style = require("../_utils/style.js");
-const uni_modules_nutuiUni_components_radio_index = require("../radio/index.js");
-const uni_modules_nutuiUni_components__utils_is = require("../_utils/is.js");
-const uni_modules_nutuiUni_components__utils_props = require("../_utils/props.js");
-const radiogroupProps = {
- ...uni_modules_nutuiUni_components__utils_props.commonProps,
- /**
- * @description 当前选中项的标识符,与 `label` 值一致时呈选中状态
- */
- modelValue: {
- type: [Number, String, Boolean],
- default: ""
- },
- /**
- * @description 使用横纵方向,可选值 `horizontal`、`vertical`
- */
- direction: uni_modules_nutuiUni_components__utils_props.makeStringProp("vertical"),
- /**
- * @description 文本所在的位置,可选值:`left`,`right`
- */
- textPosition: uni_modules_nutuiUni_components__utils_props.makeStringProp("right")
-};
-const radiogroupEmits = {
- [uni_modules_nutuiUni_components__constants_event.CHANGE_EVENT]: (val) => uni_modules_nutuiUni_components__utils_is.isString(val) || uni_modules_nutuiUni_components__utils_is.isNumber(val) || uni_modules_nutuiUni_components__utils_is.isBoolean(val),
- [uni_modules_nutuiUni_components__constants_event.UPDATE_MODEL_EVENT]: (val) => uni_modules_nutuiUni_components__utils_is.isString(val) || uni_modules_nutuiUni_components__utils_is.isNumber(val) || uni_modules_nutuiUni_components__utils_is.isBoolean(val)
-};
-const componentName = `${uni_modules_nutuiUni_components__constants_prefix.PREFIX}-radio-group`;
-const __default__ = common_vendor.defineComponent({
- name: componentName,
- options: {
- virtualHost: true,
- addGlobalClass: true,
- styleIsolation: "shared"
- }
-});
-const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
- ...__default__,
- props: radiogroupProps,
- emits: radiogroupEmits,
- setup(__props, { emit: __emit }) {
- const props = __props;
- const emit = __emit;
- const updateValue = (value) => emit(uni_modules_nutuiUni_components__constants_event.UPDATE_MODEL_EVENT, value);
- uni_modules_nutuiUni_components__hooks_useProvide.useProvide(uni_modules_nutuiUni_components_radio_index.RADIO_KEY)({
- label: common_vendor.readonly(common_vendor.computed(() => props.modelValue)),
- position: common_vendor.readonly(common_vendor.computed(() => props.textPosition)),
- updateValue
- });
- const classes = common_vendor.computed(() => {
- return uni_modules_nutuiUni_components__utils_style.getMainClass(props, componentName, {
- [`${componentName}--${props.direction}`]: true
- });
- });
- common_vendor.watch(
- () => props.modelValue,
- (value) => emit(uni_modules_nutuiUni_components__constants_event.CHANGE_EVENT, value)
- );
- return (_ctx, _cache) => {
- return {
- a: common_vendor.n(classes.value),
- b: common_vendor.s(_ctx.customStyle)
- };
- };
- }
-});
-wx.createComponent(_sfc_main);
-//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/nutui-uni/components/radiogroup/radiogroup.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radiogroup/radiogroup.json b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radiogroup/radiogroup.json
deleted file mode 100644
index e8cfaaf..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radiogroup/radiogroup.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "component": true,
- "usingComponents": {}
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radiogroup/radiogroup.wxml b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radiogroup/radiogroup.wxml
deleted file mode 100644
index 46ce590..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radiogroup/radiogroup.wxml
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radiogroup/radiogroup.wxss b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radiogroup/radiogroup.wxss
deleted file mode 100644
index 6f22482..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/radiogroup/radiogroup.wxss
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-.nut-radio-group {
- display: inline-block;
-}
-.nut-radio-group .nut-radio {
- margin-bottom: 5px;
-}
-.nut-radio-group--horizontal .nut-radio {
- display: inline-flex !important;
- margin-right: 10px !important;
-}
-.nut-radio-group--horizontal .nut-radio--round .nut-radio__label {
- margin: 0 6px !important;
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/searchbar/searchbar.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/searchbar/searchbar.js
deleted file mode 100644
index ad0cecf..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/searchbar/searchbar.js
+++ /dev/null
@@ -1,251 +0,0 @@
-"use strict";
-const common_vendor = require("../../../../common/vendor.js");
-const uni_modules_nutuiUni_components__constants_event = require("../_constants/event.js");
-const uni_modules_nutuiUni_components__constants_prefix = require("../_constants/prefix.js");
-require("../_utils/env.js");
-const uni_modules_nutuiUni_components__utils_style = require("../_utils/style.js");
-require("../../locale/locale.js");
-const uni_modules_nutuiUni_locale_useTranslate = require("../../locale/useTranslate.js");
-const form = require("../../../../form.js");
-const uni_modules_nutuiUni_components__utils_is = require("../_utils/is.js");
-const uni_modules_nutuiUni_components__utils_props = require("../_utils/props.js");
-const searchbarProps = {
- ...uni_modules_nutuiUni_components__utils_props.commonProps,
- /**
- * @description 当前输入的值
- */
- modelValue: uni_modules_nutuiUni_components__utils_props.makeNumericProp(""),
- /**
- * @description 输入框类型
- */
- inputType: uni_modules_nutuiUni_components__utils_props.makeStringProp("text"),
- /**
- * @description 搜索框形状,可选值为 `square` `round`
- */
- shape: uni_modules_nutuiUni_components__utils_props.makeStringProp("round"),
- /**
- * @description 最大输入长度
- */
- maxLength: uni_modules_nutuiUni_components__utils_props.numericProp,
- /**
- * @description 输入框默认占位符
- */
- placeholder: String,
- /**
- * @description 是否展示清除按钮
- */
- clearable: uni_modules_nutuiUni_components__utils_props.truthProp,
- /**
- * @description 自定义清除按钮图标
- */
- clearIcon: uni_modules_nutuiUni_components__utils_props.makeStringProp("circle-close"),
- /**
- * @description 输入框外部背景
- */
- background: String,
- /**
- * @description 输入框内部背景
- */
- inputBackground: String,
- /**
- * @description 聚焦时搜索框样式
- */
- focusStyle: uni_modules_nutuiUni_components__utils_props.makeObjectProp({}),
- /**
- * @description 是否自动聚焦
- */
- autofocus: Boolean,
- /**
- * @description 是否禁用输入框
- */
- disabled: uni_modules_nutuiUni_components__utils_props.nullableBooleanProp,
- /**
- * @description 输入框只读
- */
- readonly: Boolean,
- /**
- * @description 对齐方式,可选 `left` `center` `right`
- */
- inputAlign: uni_modules_nutuiUni_components__utils_props.makeStringProp("left"),
- /**
- * @description 键盘右下角按钮的文字,仅在`type='text'`时生效,可选值 `send`:发送、`search`:搜索、`next`:下一个、`go`:前往、`done`:完成
- */
- confirmType: uni_modules_nutuiUni_components__utils_props.makeStringProp("done"),
- /**
- * @description 是否开启 iphone 系列全面屏底部安全区适配
- */
- safeAreaInsetBottom: Boolean,
- /**
- * @description 指定的距离的最小值作为光标与键盘的距离
- */
- cursorSpacing: uni_modules_nutuiUni_components__utils_props.makeNumberProp(0)
-};
-const searchbarEmits = {
- [uni_modules_nutuiUni_components__constants_event.UPDATE_MODEL_EVENT]: (val, event) => (uni_modules_nutuiUni_components__utils_is.isString(val) || val === void 0) && event instanceof Object,
- [uni_modules_nutuiUni_components__constants_event.CHANGE_EVENT]: (val, event) => (uni_modules_nutuiUni_components__utils_is.isString(val) || val === void 0) && event instanceof Object,
- [uni_modules_nutuiUni_components__constants_event.BLUR_EVENT]: (val, event) => (uni_modules_nutuiUni_components__utils_is.isString(val) || val === void 0) && event instanceof Object,
- [uni_modules_nutuiUni_components__constants_event.FOCUS_EVENT]: (val, event) => (uni_modules_nutuiUni_components__utils_is.isString(val) || val === void 0) && event instanceof Object,
- [uni_modules_nutuiUni_components__constants_event.CLEAR_EVENT]: (val) => uni_modules_nutuiUni_components__utils_is.isString(val) || val === void 0,
- [uni_modules_nutuiUni_components__constants_event.SEARCH_EVENT]: (val) => uni_modules_nutuiUni_components__utils_is.isString(val) || val === void 0,
- clickInput: (val, event) => (uni_modules_nutuiUni_components__utils_is.isString(val) || val === void 0) && event instanceof Object,
- clickLeftIcon: (val, event) => (uni_modules_nutuiUni_components__utils_is.isString(val) || val === void 0) && event instanceof Object,
- clickRightIcon: (val, event) => (uni_modules_nutuiUni_components__utils_is.isString(val) || val === void 0) && event instanceof Object
-};
-if (!Math) {
- NutIcon();
-}
-const NutIcon = () => "../icon/icon.js";
-const componentName = `${uni_modules_nutuiUni_components__constants_prefix.PREFIX}-searchbar`;
-const { translate } = uni_modules_nutuiUni_locale_useTranslate.useTranslate(componentName);
-const __default__ = common_vendor.defineComponent({
- name: componentName,
- options: {
- virtualHost: true,
- addGlobalClass: true,
- styleIsolation: "shared"
- }
-});
-const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
- ...__default__,
- props: searchbarProps,
- emits: searchbarEmits,
- setup(__props, { emit: __emit }) {
- const props = __props;
- const emit = __emit;
- const slots = common_vendor.useSlots();
- function hasSlot(name) {
- return Boolean(slots[name]);
- }
- const formDisabled = form.useFormDisabled(common_vendor.toRef(props, "disabled"));
- const state = common_vendor.reactive({
- active: false
- });
- function stringModelValue() {
- if (props.modelValue == null)
- return "";
- return String(props.modelValue);
- }
- const innerValue = common_vendor.computed(() => {
- return stringModelValue();
- });
- const innerMaxLength = common_vendor.computed(() => {
- if (props.maxLength == null)
- return -1;
- return Number(props.maxLength);
- });
- const classes = common_vendor.computed(() => {
- return uni_modules_nutuiUni_components__utils_style.getMainClass(props, componentName, {
- "safe-area-inset-bottom": props.safeAreaInsetBottom
- });
- });
- const styles = common_vendor.computed(() => {
- return uni_modules_nutuiUni_components__utils_style.getMainStyle(props, {
- background: props.background
- });
- });
- const inputWrapperStyles = common_vendor.computed(() => {
- const style = {
- background: props.inputBackground
- };
- if (state.active)
- Object.assign(style, props.focusStyle);
- return style;
- });
- const inputStyles = common_vendor.computed(() => {
- return {
- textAlign: props.inputAlign
- };
- });
- function handleValue(value) {
- if (innerMaxLength.value > 0 && value.length > innerMaxLength.value)
- value = value.slice(0, innerMaxLength.value);
- return value;
- }
- function handleInput(event) {
- const value = handleValue(event.detail.value);
- emit(uni_modules_nutuiUni_components__constants_event.UPDATE_MODEL_EVENT, value, event);
- emit(uni_modules_nutuiUni_components__constants_event.CHANGE_EVENT, value, event);
- }
- function handleFocus(event) {
- const value = handleValue(event.detail.value);
- state.active = true;
- emit(uni_modules_nutuiUni_components__constants_event.FOCUS_EVENT, value, event);
- }
- function handleBlur(event) {
- const value = handleValue(event.detail.value);
- setTimeout(() => {
- state.active = false;
- }, 200);
- emit(uni_modules_nutuiUni_components__constants_event.BLUR_EVENT, value, event);
- }
- function handleClear(event) {
- emit(uni_modules_nutuiUni_components__constants_event.UPDATE_MODEL_EVENT, "", event);
- emit(uni_modules_nutuiUni_components__constants_event.CHANGE_EVENT, "", event);
- emit(uni_modules_nutuiUni_components__constants_event.CLEAR_EVENT, "");
- }
- function handleSubmit() {
- emit(uni_modules_nutuiUni_components__constants_event.SEARCH_EVENT, innerValue.value);
- }
- function handleInputClick(event) {
- emit("clickInput", innerValue.value, event);
- }
- function handleLeftIconClick(event) {
- emit("clickLeftIcon", innerValue.value, event);
- }
- function handleRightIconClick(event) {
- emit("clickRightIcon", innerValue.value, event);
- }
- return (_ctx, _cache) => {
- return common_vendor.e({
- a: hasSlot("leftout")
- }, hasSlot("leftout") ? {
- b: common_vendor.o(handleLeftIconClick)
- } : {}, {
- c: hasSlot("leftin")
- }, hasSlot("leftin") ? {} : {}, {
- d: props.clearable ? 1 : "",
- e: common_vendor.s(inputStyles.value),
- f: props.inputType,
- g: innerMaxLength.value,
- h: props.placeholder || common_vendor.unref(translate)("placeholder"),
- i: innerValue.value,
- j: props.autofocus,
- k: props.confirmType,
- l: common_vendor.unref(formDisabled),
- m: props.readonly,
- n: props.cursorSpacing,
- o: common_vendor.o(handleInputClick),
- p: common_vendor.o(handleInput),
- q: common_vendor.o(handleFocus),
- r: common_vendor.o(handleBlur),
- s: common_vendor.o(handleSubmit),
- t: common_vendor.o(handleSubmit),
- v: hasSlot("rightin") ? 1 : "",
- w: props.clearable
- }, props.clearable ? common_vendor.e({
- x: hasSlot("clear-icon")
- }, hasSlot("clear-icon") ? {} : {
- y: common_vendor.p({
- name: props.clearIcon
- })
- }, {
- z: innerValue.value.length <= 0 ? 1 : "",
- A: common_vendor.o(handleClear)
- }) : {}, {
- B: hasSlot("rightin")
- }, hasSlot("rightin") ? {
- C: common_vendor.o(handleRightIconClick)
- } : {}, {
- D: hasSlot("rightin") ? 1 : "",
- E: common_vendor.n(props.shape),
- F: common_vendor.s(inputWrapperStyles.value),
- G: hasSlot("rightout")
- }, hasSlot("rightout") ? {} : {}, {
- H: common_vendor.n(classes.value),
- I: common_vendor.s(styles.value)
- });
- };
- }
-});
-wx.createComponent(_sfc_main);
-//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/nutui-uni/components/searchbar/searchbar.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/searchbar/searchbar.json b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/searchbar/searchbar.json
deleted file mode 100644
index 62334e2..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/searchbar/searchbar.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "nut-icon": "../icon/icon"
- }
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/searchbar/searchbar.wxml b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/searchbar/searchbar.wxml
deleted file mode 100644
index 1052e2f..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/searchbar/searchbar.wxml
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/searchbar/searchbar.wxss b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/searchbar/searchbar.wxss
deleted file mode 100644
index 6e742aa..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/searchbar/searchbar.wxss
+++ /dev/null
@@ -1,165 +0,0 @@
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-.nut-theme-dark .nut-searchbar {
- background: var(--nut-dark-background, #131313);
-}
-.nut-theme-dark .nut-searchbar__search-input {
- background: var(--nut-dark-background4, #323233);
-}
-.nut-theme-dark .nut-searchbar__right-search-icon, .nut-theme-dark .nut-searchbar__left-search-icon {
- color: var(--nut-dark-color, var(--nut-white, #fff));
-}
-.nut-searchbar {
- box-sizing: border-box;
- display: flex;
- align-items: center;
- width: var(--nut-searchbar-width, 100%);
- padding: var(--nut-searchbar-padding, 9px 16px);
- color: var(--nut-searchbar-input-bar-color, inherit);
- background: var(--nut-searchbar-background, var(--nut-white, #fff));
-}
-.nut-searchbar.safe-area-inset-bottom {
- position: relative;
- margin-bottom: constant(safe-area-inset-bottom);
- margin-bottom: env(safe-area-inset-bottom);
-}
-.nut-searchbar.safe-area-inset-bottom::after {
- position: absolute;
- bottom: 0;
- left: 0;
- width: 100%;
- height: constant(safe-area-inset-bottom);
- height: env(safe-area-inset-bottom);
- content: "";
- background: var(--nut-searchbar-background, var(--nut-white, #fff));
-}
-.nut-searchbar::-webkit-input-placeholder {
- color: var(--nut-searchbar-input-bar-placeholder-color, inherit);
-}
-.nut-searchbar::placeholder {
- color: var(--nut-searchbar-input-bar-placeholder-color, inherit);
-}
-.nut-searchbar__search-input {
- box-sizing: border-box;
- display: flex;
- flex: 1;
- align-items: center;
- height: var(--nut-searchbar-input-height, 32px);
- padding: var(--nut-searchbar-input-padding, 0 0 0 13px);
- background: var(--nut-searchbar-input-background, #f7f7f7);
- border-radius: var(--nut-searchbar-input-border-radius, 16px);
- box-shadow: var(--nut-searchbar-input-box-shadow, 0 0 8px 0 rgba(0, 0, 0, 0.04));
-}
-.nut-searchbar__search-input.square {
- border-radius: 0;
-}
-.nut-searchbar__search-input .nut-searchbar__input-inner {
- position: relative;
- display: flex;
- flex: 1;
- align-items: center;
- overflow: hidden;
-}
-.nut-searchbar__search-input .nut-searchbar__input-inner .nut-searchbar__input-form {
- flex: 1;
- overflow: hidden;
-}
-.nut-searchbar__search-input .nut-searchbar__input-inner-icon {
- position: relative;
- display: flex;
- align-items: center;
- padding: 0 7px;
-}
-.nut-searchbar__search-input .nut-searchbar__input-clear {
- position: relative;
- z-index: 10;
- padding: 0 5px;
-}
-.nut-searchbar__search-input .nut-searchbar__input-inner-icon-absolute .nut-searchbar__input-clear {
- position: absolute;
- left: -20px;
-}
-.nut-searchbar__search-input .nut-searchbar__iptleft-search-icon {
- width: 14px;
- height: 14px;
- margin-right: 6px;
-}
-.nut-searchbar__search-input .nut-searchbar__iptright-search-icon {
- margin-left: 5px;
-}
-.nut-searchbar__search-input .nut-searchbar__input-bar {
- flex: 1;
- height: var(--nut-searchbar-input-height, 32px);
- padding: 0;
- margin: 0;
- font-size: 14px;
- line-height: var(--nut-searchbar-input-height, 32px);
- background-color: transparent;
- border-color: transparent;
- outline: none;
-}
-.nut-searchbar__search-input .nut-searchbar__input-inner-absolute .nut-searchbar__input-bar {
- box-sizing: border-box;
- padding-right: 20px;
-}
-.nut-searchbar__left-search-icon {
- margin-right: 8px;
-}
-.nut-searchbar__search-icon {
- display: flex;
- align-items: center;
- justify-content: center;
-}
-.nut-searchbar__right-search-icon {
- margin-left: 16px;
- font-size: 14px;
- color: var(--nut-searchbar-right-out-color, var(--nut-black, #000));
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/step/step.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/step/step.js
deleted file mode 100644
index f238fe0..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/step/step.js
+++ /dev/null
@@ -1,86 +0,0 @@
-"use strict";
-const common_vendor = require("../../../../common/vendor.js");
-const uni_modules_nutuiUni_components__constants_prefix = require("../_constants/prefix.js");
-require("../_utils/env.js");
-const uni_modules_nutuiUni_components__utils_style = require("../_utils/style.js");
-const uni_modules_nutuiUni_components__utils_is = require("../_utils/is.js");
-const uni_modules_nutuiUni_components__utils_props = require("../_utils/props.js");
-const stepProps = {
- ...uni_modules_nutuiUni_components__utils_props.commonProps,
- /**
- * @description 流程步骤的标题
- */
- title: String,
- /**
- * @description 流程步骤的描述性文字(支持 html 结构)
- */
- content: String
-};
-const stepEmits = {
- clickStep: (val) => uni_modules_nutuiUni_components__utils_is.isNumber(val)
-};
-const componentName = `${uni_modules_nutuiUni_components__constants_prefix.PREFIX}-step`;
-const __default__ = common_vendor.defineComponent({
- name: componentName,
- options: {
- virtualHost: true,
- addGlobalClass: true,
- styleIsolation: "shared"
- }
-});
-const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
- ...__default__,
- props: stepProps,
- emits: stepEmits,
- setup(__props) {
- const props = __props;
- const instance = common_vendor.getCurrentInstance();
- const parent = common_vendor.inject("parent");
- parent.relation(instance);
- const state = common_vendor.reactive({
- dot: parent.props.progressDot
- });
- const index = common_vendor.computed(() => parent.state.children.indexOf(instance) + 1);
- function getCurrentStatus() {
- const activeIndex = index.value;
- if (activeIndex < +parent.props.current)
- return "finish";
- return activeIndex === +parent.props.current ? "process" : "wait";
- }
- const status = common_vendor.computed(() => {
- return getCurrentStatus();
- });
- const classes = common_vendor.computed(() => {
- return uni_modules_nutuiUni_components__utils_style.getMainClass(props, componentName, {
- [`${componentName}-${status.value}`]: true
- });
- });
- function handleClickStep() {
- parent.onEmit(index.value);
- }
- return (_ctx, _cache) => {
- return common_vendor.e({
- a: state.dot
- }, state.dot ? {} : {
- b: common_vendor.t(index.value)
- }, {
- c: common_vendor.n(!state.dot ? "is-icon" : ""),
- d: !_ctx.$slots.title
- }, !_ctx.$slots.title ? {
- e: common_vendor.t(_ctx.title)
- } : {}, {
- f: _ctx.content || _ctx.$slots.content
- }, _ctx.content || _ctx.$slots.content ? common_vendor.e({
- g: !_ctx.$slots.content
- }, !_ctx.$slots.content ? {
- h: _ctx.content
- } : {}) : {}, {
- i: common_vendor.n(classes.value),
- j: common_vendor.s(_ctx.customStyle),
- k: common_vendor.o(handleClickStep)
- });
- };
- }
-});
-wx.createComponent(_sfc_main);
-//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/nutui-uni/components/step/step.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/step/step.json b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/step/step.json
deleted file mode 100644
index e8cfaaf..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/step/step.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "component": true,
- "usingComponents": {}
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/step/step.wxml b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/step/step.wxml
deleted file mode 100644
index 91fbf35..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/step/step.wxml
+++ /dev/null
@@ -1 +0,0 @@
-{{b}}{{e}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/step/step.wxss b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/step/step.wxss
deleted file mode 100644
index ce58305..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/step/step.wxss
+++ /dev/null
@@ -1,253 +0,0 @@
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-.nut-step {
- flex: 1;
- font-size: 0;
- text-align: center;
-}
-.nut-step-head {
- position: relative;
- display: flex;
- justify-content: center;
- margin-bottom: 12px;
-}
-.nut-step-line {
- position: absolute;
- top: 11px;
- right: -50%;
- left: 50%;
- display: inline-block;
- height: 1px;
- background: var(--nut-steps-base-line-color, #909ca4);
-}
-.nut-step-icon {
- position: relative;
- z-index: 1;
- display: flex;
- align-items: center;
- justify-content: center;
- width: var(--nut-steps-base-icon-width, 25px);
- height: var(--nut-steps-base-icon-height, 25px);
- font-size: var(--nut-steps-base-icon-font-size, 13px);
- line-height: var(--nut-steps-base-icon-line-height, 25px);
-}
-.nut-step-icon-inner {
- display: flex;
- align-items: center;
- justify-content: center;
-}
-.nut-step-icon .nut-icon {
- width: var(--nut-steps-base-icon-font-size, 13px);
- height: var(--nut-steps-base-icon-font-size, 13px);
-}
-.nut-step-icon.is-icon {
- border-style: solid;
- border-width: 1px;
- border-radius: 50%;
-}
-.nut-step-main {
- display: inline-block;
- padding-right: 10%;
- padding-left: 10%;
- text-align: center;
-}
-.nut-step-title {
- display: block;
- margin-bottom: var(--nut-steps-base-title-margin-bottom, 10px);
- font-size: var(--nut-steps-base-title-font-size, 14px);
- color: var(--nut-steps-base-title-color, #909ca4);
-}
-.nut-step-content {
- display: block;
- font-size: var(--nut-steps-base-content-font-size, 14px);
- color: var(--nut-steps-base-content-color, #666);
-}
-.nut-step:last-child .nut-step-line {
- display: none;
-}
-.nut-step.nut-step-finish .nut-step-head {
- color: var(--nut-steps-finish-head-color, var(--nut-primary-color, #fa2c19));
- border-color: var(--nut-steps-finish-head-border-color, var(--nut-primary-color, #fa2c19));
-}
-.nut-step.nut-step-finish .nut-step-icon.is-icon {
- background-color: var(--nut-steps-finish-icon-text-color, var(--nut-white, #fff));
-}
-.nut-step.nut-step-finish .nut-step-line {
- background: var(--nut-steps-finish-line-background, var(--nut-primary-color, #fa2c19));
-}
-.nut-step.nut-step-finish .nut-step-title {
- color: var(--nut-steps-finish-title-color, var(--nut-primary-color, #fa2c19));
-}
-.nut-step.nut-step-process .nut-step-head {
- color: var(--nut-steps-process-head-color, var(--nut-white, #fff));
- border-color: var(--nut-steps-process-head-border-color, var(--nut-primary-color, #fa2c19));
-}
-.nut-step.nut-step-process .nut-step-icon.is-icon {
- background-color: var(--nut-steps-process-icon-text-color, var(--nut-primary-color, #fa2c19));
-}
-.nut-step.nut-step-process .nut-step-title {
- color: var(--nut-steps-process-title-color, var(--nut-primary-color, #fa2c19));
-}
-.nut-step.nut-step-wait .nut-step-head {
- color: var(--nut-steps-wait-head-color, #909ca4);
- border-color: var(--nut-steps-wait-head-border-color, #909ca4);
-}
-.nut-step.nut-step-wait .nut-step-icon.is-icon {
- color: var(--nut-steps-wait-icon-text-color, #fff);
- background-color: var(--nut-steps-wait-icon-bg-color, #959fb1);
-}
-.nut-step.nut-step-wait .nut-step-icon.is-icon .nut-icon {
- color: var(--nut-steps-wait-icon-color, var(--nut-white, #fff));
-}
-.nut-step.nut-step-wait .nut-step-content {
- color: var(--nut-steps-wait-content-color, #909ca4);
-}
-.nut-steps-horizontal.nut-steps-dot .nut-step-head {
- margin-top: 7px;
- margin-bottom: 0;
-}
-.nut-steps-horizontal.nut-steps-dot .nut-step-line {
- top: 50%;
- bottom: -50%;
-}
-.nut-steps-horizontal.nut-steps-dot .nut-step-icon {
- box-sizing: content-box;
- width: 8px;
- height: 8px;
- background: var(--nut-primary-color, #fa2c19);
- border-radius: 50%;
-}
-.nut-steps-horizontal.nut-steps-dot .nut-step-wait .nut-step-icon {
- background-color: var(--nut-steps-wait-icon-bg-color, #959fb1);
-}
-.nut-steps-horizontal.nut-steps-dot .nut-step-wait .nut-step-content {
- color: var(--nut-steps-wait-content-color, #909ca4);
-}
-.nut-steps-horizontal.nut-steps-dot .nut-step-finish .nut-step-icon {
- background-color: var(--nut-primary-color, #fa2c19);
-}
-.nut-steps-horizontal.nut-steps-dot .nut-step-process .nut-step-icon {
- position: relative;
- background-color: var(--nut-primary-color, #fa2c19);
-}
-.nut-steps-horizontal.nut-steps-dot .nut-step-process .nut-step-icon::before {
- position: absolute;
- top: 50%;
- left: 50%;
- display: inline-block;
- width: 14px;
- height: 14px;
- margin-top: -7px;
- margin-left: -7px;
- content: "";
- background-color: var(--nut-primary-color-end, #fa6419);
- border-radius: 50%;
- opacity: 0.23;
-}
-.nut-steps-vertical .nut-step {
- display: flex;
- height: 33.34%;
-}
-.nut-steps-vertical .nut-step-line {
- position: absolute;
- display: inline-block;
- width: 1px;
- height: 100%;
- background: #909ca4;
-}
-.nut-steps-vertical .nut-step-main {
- display: inline-block;
- padding-left: 6%;
- text-align: left;
-}
-.nut-steps-vertical.nut-steps-dot .nut-step-head {
- margin-top: 7px;
- margin-bottom: 0;
-}
-.nut-steps-vertical.nut-steps-dot .nut-step-line {
- top: 7px;
- right: -50%;
- left: 50%;
-}
-.nut-steps-vertical.nut-steps-dot .nut-step-icon {
- box-sizing: content-box;
- width: 8px;
- height: 8px;
- background: var(--nut-primary-color, #fa2c19);
- border-radius: 50%;
-}
-.nut-steps-vertical.nut-steps-dot .nut-step-wait .nut-step-icon {
- background-color: var(--nut-steps-wait-icon-bg-color, #959fb1);
-}
-.nut-steps-vertical.nut-steps-dot .nut-step-wait .nut-step-content {
- color: var(--nut-steps-wait-content-color, #909ca4);
-}
-.nut-steps-vertical.nut-steps-dot .nut-step-finish .nut-step-icon {
- background-color: var(--nut-primary-color, #fa2c19);
-}
-.nut-steps-vertical.nut-steps-dot .nut-step-process .nut-step-icon {
- position: relative;
- background-color: var(--nut-primary-color, #fa2c19);
-}
-.nut-steps-vertical.nut-steps-dot .nut-step-process .nut-step-icon::before {
- position: absolute;
- top: 50%;
- left: 50%;
- display: inline-block;
- width: 14px;
- height: 14px;
- margin-top: -7px;
- margin-left: -7px;
- content: "";
- background-color: var(--nut-primary-color-end, #fa6419);
- border-radius: 50%;
- opacity: 0.23;
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/steps/steps.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/steps/steps.js
deleted file mode 100644
index 4ccb1b1..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/steps/steps.js
+++ /dev/null
@@ -1,72 +0,0 @@
-"use strict";
-const common_vendor = require("../../../../common/vendor.js");
-const uni_modules_nutuiUni_components__constants_prefix = require("../_constants/prefix.js");
-require("../_utils/env.js");
-const uni_modules_nutuiUni_components__utils_style = require("../_utils/style.js");
-const uni_modules_nutuiUni_components__utils_is = require("../_utils/is.js");
-const uni_modules_nutuiUni_components__utils_props = require("../_utils/props.js");
-const stepsProps = {
- ...uni_modules_nutuiUni_components__utils_props.commonProps,
- /**
- * @description 显示方向,`horizontal`,`vertical`
- */
- direction: uni_modules_nutuiUni_components__utils_props.makeStringProp("horizontal"),
- /**
- * @description 当前所在的步骤
- */
- current: uni_modules_nutuiUni_components__utils_props.makeNumericProp(0),
- /**
- * @description 点状步骤条
- */
- progressDot: Boolean
-};
-const stepsEmits = {
- clickStep: (val) => uni_modules_nutuiUni_components__utils_is.isNumber(val)
-};
-const componentName = `${uni_modules_nutuiUni_components__constants_prefix.PREFIX}-steps`;
-const __default__ = common_vendor.defineComponent({
- name: componentName,
- options: {
- virtualHost: true,
- addGlobalClass: true,
- styleIsolation: "shared"
- }
-});
-const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
- ...__default__,
- props: stepsProps,
- emits: stepsEmits,
- setup(__props, { emit: __emit }) {
- const props = __props;
- const emit = __emit;
- const state = common_vendor.reactive({
- children: []
- });
- const classes = common_vendor.computed(() => {
- return uni_modules_nutuiUni_components__utils_style.getMainClass(props, componentName, {
- [`${componentName}-${props.direction}`]: true,
- [`${componentName}-dot`]: !!props.progressDot
- });
- });
- function relation(child) {
- child && state.children.push(child);
- }
- function onEmit(index) {
- emit("clickStep", index);
- }
- common_vendor.provide("parent", {
- relation,
- state,
- props,
- onEmit
- });
- return (_ctx, _cache) => {
- return {
- a: common_vendor.n(classes.value),
- b: common_vendor.s(_ctx.customStyle)
- };
- };
- }
-});
-wx.createComponent(_sfc_main);
-//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/nutui-uni/components/steps/steps.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/steps/steps.json b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/steps/steps.json
deleted file mode 100644
index e8cfaaf..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/steps/steps.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "component": true,
- "usingComponents": {}
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/steps/steps.wxml b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/steps/steps.wxml
deleted file mode 100644
index 46ce590..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/steps/steps.wxml
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/tabs/tabs.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/tabs/tabs.js
index 7939382..f0e393d 100644
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/tabs/tabs.js
+++ b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/tabs/tabs.js
@@ -87,7 +87,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
function scrollIntoView() {
if (!props.titleScroll)
return;
- uni_modules_nutuiUni_components__utils_raf.raf(() => {
+ uni_modules_nutuiUni_components__utils_raf.requestAniFrame(() => {
Promise.all([
getSelectorNodeInfo(`#nut-tabs__titles_${refRandomId}`),
getSelectorNodeInfos(`#nut-tabs__titles_${refRandomId} .nut-tabs__titles-item`)
@@ -136,7 +136,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
else
scrollTop.value += (to - from) / frames;
if (++count < frames)
- uni_modules_nutuiUni_components__utils_raf.raf(animate);
+ uni_modules_nutuiUni_components__utils_raf.requestAniFrame(animate);
}
animate();
}
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/watermark/watermark.js b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/watermark/watermark.js
deleted file mode 100644
index b9216ed..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/watermark/watermark.js
+++ /dev/null
@@ -1,229 +0,0 @@
-"use strict";
-const common_vendor = require("../../../../common/vendor.js");
-const uni_modules_nutuiUni_components__constants_prefix = require("../_constants/prefix.js");
-require("../_utils/env.js");
-const uni_modules_nutuiUni_components__utils_style = require("../_utils/style.js");
-const uni_modules_nutuiUni_components__constants_event = require("../_constants/event.js");
-const uni_modules_nutuiUni_components__utils_props = require("../_utils/props.js");
-const watermarkProps = {
- ...uni_modules_nutuiUni_components__utils_props.commonProps,
- /**
- * @description 水印的名称
- */
- name: String,
- /**
- * @description 水印之间的垂直间距
- */
- gapY: uni_modules_nutuiUni_components__utils_props.makeNumberProp(48),
- /**
- * @description 水印之间的水平间距
- */
- gapX: uni_modules_nutuiUni_components__utils_props.makeNumberProp(24),
- /**
- * @description 追加的水印元素的z-index
- */
- zIndex: uni_modules_nutuiUni_components__utils_props.makeNumberProp(2e3),
- /**
- * @description 水印的宽度
- */
- width: uni_modules_nutuiUni_components__utils_props.makeNumberProp(120),
- /**
- * @description 水印的高度
- */
- height: uni_modules_nutuiUni_components__utils_props.makeNumberProp(64),
- /**
- * @description 水印绘制时,旋转的角度
- */
- rotate: uni_modules_nutuiUni_components__utils_props.makeNumberProp(-22),
- /**
- * @description 图片源,建议导出 2 倍或 3 倍图,优先使用图片渲染水印
- */
- image: String,
- /**
- * @description 图片宽度
- */
- imageWidth: uni_modules_nutuiUni_components__utils_props.makeNumberProp(120),
- /**
- * @description 图片高度
- */
- imageHeight: uni_modules_nutuiUni_components__utils_props.makeNumberProp(64),
- /**
- * @description 水印文字内容
- */
- content: {
- type: [String, Array],
- default: ""
- },
- /**
- * @description 水印文字颜色
- */
- fontColor: uni_modules_nutuiUni_components__utils_props.makeStringProp("rgba(0,0,0,.15)"),
- /**
- * @description 水印文字样式
- */
- fontStyle: uni_modules_nutuiUni_components__utils_props.makeStringProp("normal"),
- /**
- * @description 水印文字字体
- */
- fontFamily: uni_modules_nutuiUni_components__utils_props.makeStringProp("PingFang SC"),
- /**
- * @description 水印文字粗细
- */
- fontWeight: uni_modules_nutuiUni_components__utils_props.makeStringProp("normal"),
- /**
- * @description 水印文字大小
- */
- fontSize: uni_modules_nutuiUni_components__utils_props.makeNumericProp(14),
- /**
- * @description 是否覆盖整个页面
- */
- fullPage: uni_modules_nutuiUni_components__utils_props.truthProp
-};
-const watermarkEmits = {
- [uni_modules_nutuiUni_components__constants_event.CLICK_EVENT]: (val) => val instanceof Object
-};
-const componentName = `${uni_modules_nutuiUni_components__constants_prefix.PREFIX}-watermark`;
-const __default__ = common_vendor.defineComponent({
- name: componentName,
- options: {
- virtualHost: true,
- addGlobalClass: true,
- styleIsolation: "shared"
- }
-});
-const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
- ...__default__,
- props: watermarkProps,
- emits: watermarkEmits,
- setup(__props) {
- const props = __props;
- const state = common_vendor.reactive({
- base64Url: ""
- });
- const {
- zIndex,
- gapX,
- gapY,
- width,
- height,
- rotate,
- image,
- imageWidth,
- imageHeight,
- content,
- fontStyle,
- fontWeight,
- fontColor,
- fontSize,
- fontFamily
- } = common_vendor.toRefs(props);
- async function init() {
- let ratio = 1;
- common_vendor.index.getSystemInfo({
- success(res) {
- ratio = res.pixelRatio;
- }
- });
- const canvasWidth = `${(gapX.value + width.value) * ratio}`;
- const canvasHeight = `${(gapY.value + height.value) * ratio}`;
- const markWidth = width.value * ratio;
- const markHeight = height.value * ratio;
- const canvas = common_vendor.index.createOffscreenCanvas({
- type: "2d",
- width: Number(canvasWidth),
- height: Number(canvasHeight)
- });
- const ctx = canvas.getContext("2d");
- if (ctx) {
- if (image == null ? void 0 : image.value) {
- const img = canvas.createImage();
- dealWithImage(ctx, img, ratio, ctx.canvas, markWidth, markHeight);
- } else if (content == null ? void 0 : content.value) {
- dealWithText(ctx, ratio, ctx.canvas, markWidth, markHeight);
- }
- } else {
- throw new Error("当前环境不支持Canvas");
- }
- }
- function dealWithImage(ctx, img, ratio, canvas, markWidth, markHeight) {
- ctx.translate(markWidth / 2, markHeight / 2);
- ctx.rotate(Math.PI / 180 * Number(rotate.value));
- img.crossOrigin = "anonymous";
- img.referrerPolicy = "no-referrer";
- img.src = image.value;
- img.onload = () => {
- ctx.drawImage(
- img,
- -imageWidth.value * ratio / 2,
- -imageHeight.value * ratio / 2,
- imageWidth.value * ratio,
- imageHeight.value * ratio
- );
- ctx.restore();
- state.base64Url = canvas.toDataURL();
- };
- }
- function dealWithText(ctx, ratio, canvas, markWidth, markHeight) {
- var _a;
- ctx.textBaseline = "middle";
- ctx.textAlign = "center";
- ctx.translate(markWidth / 2, markHeight / 2);
- ctx.rotate(Math.PI / 180 * Number(rotate.value));
- const markSize = Number(fontSize.value) * ratio;
- ctx.font = `${fontStyle.value} normal ${fontWeight.value} ${markSize}px/${markHeight}px ${fontFamily.value}`;
- ctx.fillStyle = fontColor.value;
- if (Array.isArray(content.value)) {
- (_a = content.value) == null ? void 0 : _a.forEach((item, index) => {
- ctx.fillText(item, 0, (index - 1) * markSize);
- });
- } else {
- ctx.fillText(content.value, 0, 0);
- }
- ctx.restore();
- state.base64Url = canvas.toDataURL();
- }
- init();
- common_vendor.watch(
- () => [
- zIndex.value,
- gapX.value,
- gapY.value,
- width.value,
- height.value,
- rotate.value,
- image == null ? void 0 : image.value,
- imageWidth.value,
- imageHeight.value,
- content == null ? void 0 : content.value,
- fontStyle.value,
- fontWeight.value,
- fontColor.value,
- fontSize.value,
- fontFamily.value
- ],
- () => {
- init();
- }
- );
- const classes = common_vendor.computed(() => {
- return uni_modules_nutuiUni_components__utils_style.getMainClass(props, componentName, {
- [`${componentName}-full-page`]: props.fullPage
- });
- });
- const styles = common_vendor.computed(() => {
- return uni_modules_nutuiUni_components__utils_style.getMainStyle(props, {
- zIndex: props.zIndex,
- backgroundSize: `${props.gapX + props.width}px`,
- backgroundImage: `url('${state.base64Url}')`
- });
- });
- return (_ctx, _cache) => {
- return {
- a: common_vendor.n(classes.value),
- b: common_vendor.s(styles.value)
- };
- };
- }
-});
-wx.createComponent(_sfc_main);
-//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/nutui-uni/components/watermark/watermark.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/watermark/watermark.json b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/watermark/watermark.json
deleted file mode 100644
index e8cfaaf..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/watermark/watermark.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "component": true,
- "usingComponents": {}
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/watermark/watermark.wxml b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/watermark/watermark.wxml
deleted file mode 100644
index 30f236b..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/watermark/watermark.wxml
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/watermark/watermark.wxss b/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/watermark/watermark.wxss
deleted file mode 100644
index 3887e58..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/nutui-uni/components/watermark/watermark.wxss
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-.nut-watermark {
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: var(--nut-watermark-z-index, 2000);
- pointer-events: none;
- background-repeat: repeat;
-}
-.nut-watermark-full-page {
- position: fixed;
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.js b/unpackage/dist/dev/mp-weixin/uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.js
deleted file mode 100644
index d1c3087..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.js
+++ /dev/null
@@ -1,462 +0,0 @@
-"use strict";
-const common_vendor = require("../../../../common/vendor.js");
-const _sfc_main = {
- emits: ["input", "update:modelValue"],
- props: {
- // 排序图片
- value: {
- type: Array,
- default: function() {
- return [];
- }
- },
- // 排序图片
- modelValue: {
- type: Array,
- default: function() {
- return [];
- }
- },
- // 从 list 元素对象中读取的键名
- keyName: {
- type: String,
- default: null
- },
- // 选择图片数量限制
- number: {
- type: Number,
- default: 6
- },
- // 图片父容器宽度(实际显示的图片宽度为 imageWidth / 1.1 ),单位 rpx
- // imageWidth > 0 则 cols 无效
- imageWidth: {
- type: Number,
- default: 0
- },
- // 图片列数
- cols: {
- type: Number,
- default: 3
- },
- // 图片圆角,单位 rpx
- borderRadius: {
- type: Number,
- default: 0
- },
- // 图片周围空白填充,单位 rpx
- padding: {
- type: Number,
- default: 10
- },
- // 拖动图片时放大倍数 [0, ∞)
- scale: {
- type: Number,
- default: 1.1
- },
- // 拖动图片时不透明度
- opacity: {
- type: Number,
- default: 0.7
- },
- // 自定义添加
- addImage: {
- type: Function,
- default: null
- },
- // 删除确认
- delImage: {
- type: Function,
- default: null
- }
- },
- data() {
- return {
- imageList: [],
- width: 0,
- add: {
- x: 0,
- y: 0
- },
- colsValue: 0,
- viewWidth: 0,
- tempItem: null,
- timer: null,
- changeStatus: true,
- preStatus: true,
- first: true
- };
- },
- computed: {
- areaHeight() {
- let height = "";
- if (this.imageList.length < this.number) {
- height = (Math.ceil((this.imageList.length + 1) / this.colsValue) * this.viewWidth).toFixed() + "px";
- } else {
- height = (Math.ceil(this.imageList.length / this.colsValue) * this.viewWidth).toFixed() + "px";
- }
- common_vendor.index.__f__("log", "at uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.vue:144", "areaHeight", height);
- return height;
- },
- childWidth() {
- return this.viewWidth - this.rpx2px(this.padding) * 2 + "px";
- }
- },
- watch: {
- value: {
- handler(n) {
- if (!this.first && this.changeStatus) {
- common_vendor.index.__f__("log", "at uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.vue:155", "watch", n);
- let flag = false;
- for (let i = 0; i < n.length; i++) {
- if (flag) {
- this.addProperties(this.getSrc(n[i]));
- continue;
- }
- if (this.imageList.length === i || this.imageList[i].src !== this.getSrc(n[i])) {
- flag = true;
- this.imageList.splice(i);
- this.addProperties(this.getSrc(n[i]));
- }
- }
- }
- },
- deep: true
- },
- modelValue: {
- handler(n) {
- if (!this.first && this.changeStatus) {
- common_vendor.index.__f__("log", "at uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.vue:175", "watch", n);
- let flag = false;
- for (let i = 0; i < n.length; i++) {
- if (flag) {
- this.addProperties(this.getSrc(n[i]));
- continue;
- }
- if (this.imageList.length === i || this.imageList[i].src !== this.getSrc(n[i])) {
- flag = true;
- this.imageList.splice(i);
- this.addProperties(this.getSrc(n[i]));
- }
- }
- }
- },
- deep: true
- }
- },
- created() {
- this.width = common_vendor.index.getSystemInfoSync().windowWidth;
- },
- mounted() {
- const query = common_vendor.index.createSelectorQuery().in(this);
- query.select(".con").boundingClientRect((data) => {
- this.colsValue = this.cols;
- this.viewWidth = data.width / this.cols;
- if (this.imageWidth > 0) {
- this.viewWidth = this.rpx2px(this.imageWidth);
- this.colsValue = Math.floor(data.width / this.viewWidth);
- }
- let list = this.value;
- list = this.modelValue;
- for (let item of list) {
- this.addProperties(this.getSrc(item));
- }
- this.first = false;
- });
- query.exec();
- },
- methods: {
- getSrc(item) {
- if (this.keyName !== null) {
- return item[this.keyName];
- }
- return item;
- },
- onChange(e, item) {
- if (!item)
- return;
- item.oldX = e.detail.x;
- item.oldY = e.detail.y;
- if (e.detail.source === "touch") {
- if (item.moveEnd) {
- item.offset = Math.sqrt(Math.pow(item.oldX - item.absX * this.viewWidth, 2) + Math.pow(item.oldY - item.absY * this.viewWidth, 2));
- }
- let x = Math.floor((e.detail.x + this.viewWidth / 2) / this.viewWidth);
- if (x >= this.colsValue)
- return;
- let y = Math.floor((e.detail.y + this.viewWidth / 2) / this.viewWidth);
- let index = this.colsValue * y + x;
- if (item.index != index && index < this.imageList.length) {
- this.changeStatus = false;
- for (let obj of this.imageList) {
- if (item.index > index && obj.index >= index && obj.index < item.index) {
- this.change(obj, 1);
- } else if (item.index < index && obj.index <= index && obj.index > item.index) {
- this.change(obj, -1);
- } else if (obj.id != item.id) {
- obj.offset = 0;
- obj.x = obj.oldX;
- obj.y = obj.oldY;
- setTimeout(() => {
- this.$nextTick(() => {
- obj.x = obj.absX * this.viewWidth;
- obj.y = obj.absY * this.viewWidth;
- });
- }, 0);
- }
- }
- item.index = index;
- item.absX = x;
- item.absY = y;
- if (!item.moveEnd) {
- setTimeout(() => {
- this.$nextTick(() => {
- item.x = item.absX * this.viewWidth;
- item.y = item.absY * this.viewWidth;
- });
- }, 0);
- }
- this.sortList();
- }
- }
- },
- change(obj, i) {
- obj.index += i;
- obj.offset = 0;
- obj.x = obj.oldX;
- obj.y = obj.oldY;
- obj.absX = obj.index % this.colsValue;
- obj.absY = Math.floor(obj.index / this.colsValue);
- setTimeout(() => {
- this.$nextTick(() => {
- obj.x = obj.absX * this.viewWidth;
- obj.y = obj.absY * this.viewWidth;
- });
- }, 0);
- },
- touchstart(item) {
- this.imageList.forEach((v) => {
- v.zIndex = v.index + 9;
- });
- item.zIndex = 99;
- item.moveEnd = true;
- this.tempItem = item;
- this.timer = setTimeout(() => {
- item.scale = this.scale;
- item.opacity = this.opacity;
- clearTimeout(this.timer);
- this.timer = null;
- }, 200);
- },
- touchend(item) {
- this.previewImage(item);
- item.scale = 1;
- item.opacity = 1;
- item.x = item.oldX;
- item.y = item.oldY;
- item.offset = 0;
- item.moveEnd = false;
- setTimeout(() => {
- this.$nextTick(() => {
- item.x = item.absX * this.viewWidth;
- item.y = item.absY * this.viewWidth;
- this.tempItem = null;
- this.changeStatus = true;
- });
- }, 0);
- },
- previewImage(item) {
- if (this.timer && this.preStatus && this.changeStatus && item.offset < 28.28) {
- clearTimeout(this.timer);
- this.timer = null;
- const list = this.value || this.modelValue;
- let srcList = list.map((v) => this.getSrc(v));
- common_vendor.index.__f__("log", "at uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.vue:326", list, srcList);
- common_vendor.index.previewImage({
- urls: srcList,
- current: item.src,
- success: () => {
- this.preStatus = false;
- setTimeout(() => {
- this.preStatus = true;
- }, 600);
- },
- fail: (e) => {
- common_vendor.index.__f__("log", "at uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.vue:337", e);
- }
- });
- } else if (this.timer) {
- clearTimeout(this.timer);
- this.timer = null;
- }
- },
- mouseenter() {
- },
- mouseleave() {
- },
- addImages() {
- if (typeof this.addImage === "function") {
- this.addImage.bind(this.$parent)();
- } else {
- let checkNumber = this.number - this.imageList.length;
- common_vendor.index.chooseImage({
- count: checkNumber,
- sourceType: ["album", "camera"],
- success: (res) => {
- let count = checkNumber <= res.tempFilePaths.length ? checkNumber : res.tempFilePaths.length;
- for (let i = 0; i < count; i++) {
- this.addProperties(res.tempFilePaths[i]);
- }
- this.sortList();
- }
- });
- }
- },
- delImages(item, index) {
- if (typeof this.delImage === "function") {
- this.delImage.bind(this.$parent)(() => {
- this.delImageHandle(item, index);
- });
- } else {
- this.delImageHandle(item, index);
- }
- },
- delImageHandle(item, index) {
- this.imageList.splice(index, 1);
- for (let obj of this.imageList) {
- if (obj.index > item.index) {
- obj.index -= 1;
- obj.x = obj.oldX;
- obj.y = obj.oldY;
- obj.absX = obj.index % this.colsValue;
- obj.absY = Math.floor(obj.index / this.colsValue);
- this.$nextTick(() => {
- obj.x = obj.absX * this.viewWidth;
- obj.y = obj.absY * this.viewWidth;
- });
- }
- }
- this.add.x = this.imageList.length % this.colsValue * this.viewWidth + "px";
- this.add.y = Math.floor(this.imageList.length / this.colsValue) * this.viewWidth + "px";
- this.sortList();
- },
- delImageMp(item, index) {
- this.delImages(item, index);
- },
- sortList() {
- common_vendor.index.__f__("log", "at uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.vue:434", "sortList");
- const result = [];
- let source = this.value;
- source = this.modelValue;
- let list = this.imageList.slice();
- list.sort((a, b) => {
- return a.index - b.index;
- });
- for (let s of list) {
- let item = source.find((d) => this.getSrc(d) == s.src);
- if (item) {
- result.push(item);
- } else {
- if (this.keyName !== null) {
- result.push({
- [this.keyName]: s.src
- });
- } else {
- result.push(s.src);
- }
- }
- }
- this.$emit("input", result);
- this.$emit("update:modelValue", result);
- },
- addProperties(item) {
- common_vendor.index.__f__("log", "at uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.vue:464", item);
- let absX = this.imageList.length % this.colsValue;
- let absY = Math.floor(this.imageList.length / this.colsValue);
- let x = absX * this.viewWidth;
- let y = absY * this.viewWidth;
- this.imageList.push({
- src: item,
- x,
- y,
- oldX: x,
- oldY: y,
- absX,
- absY,
- scale: 1,
- zIndex: 9,
- opacity: 1,
- index: this.imageList.length,
- id: this.guid(16),
- disable: false,
- offset: 0,
- moveEnd: false
- });
- this.add.x = this.imageList.length % this.colsValue * this.viewWidth + "px";
- this.add.y = Math.floor(this.imageList.length / this.colsValue) * this.viewWidth + "px";
- },
- nothing() {
- },
- rpx2px(v) {
- return this.width * v / 750;
- },
- guid(len = 32) {
- const chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split("");
- const uuid = [];
- const radix = chars.length;
- for (let i = 0; i < len; i++)
- uuid[i] = chars[0 | Math.random() * radix];
- uuid.shift();
- return `u${uuid.join("")}`;
- }
- }
-};
-function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
- return common_vendor.e({
- a: $data.viewWidth
- }, $data.viewWidth ? common_vendor.e({
- b: common_vendor.f($data.imageList, (item, index, i0) => {
- return {
- a: item.src,
- b: common_vendor.o(($event) => $options.delImages(item, index), item.id),
- c: common_vendor.o(($event) => $options.delImageMp(item, index), item.id),
- d: common_vendor.o(($event) => $options.nothing(), item.id),
- e: common_vendor.o(($event) => $options.nothing(), item.id),
- f: common_vendor.o(($event) => $options.nothing(), item.id),
- g: "scale(" + item.scale + ")",
- h: item.id,
- i: item.y,
- j: item.x,
- k: item.disable,
- l: common_vendor.o(($event) => $options.onChange($event, item), item.id),
- m: common_vendor.o(($event) => $options.touchstart(item), item.id),
- n: common_vendor.o(($event) => $options.touchstart(item), item.id),
- o: common_vendor.o(($event) => $options.touchend(item), item.id),
- p: common_vendor.o(($event) => $options.touchend(item), item.id),
- q: item.zIndex,
- r: item.opacity
- };
- }),
- c: $options.childWidth,
- d: $options.childWidth,
- e: $props.borderRadius + "rpx",
- f: $data.viewWidth + "px",
- g: $data.viewWidth + "px",
- h: $data.imageList.length < $props.number
- }, $data.imageList.length < $props.number ? {
- i: $options.childWidth,
- j: $options.childWidth,
- k: $props.borderRadius + "rpx",
- l: $data.add.y,
- m: $data.add.x,
- n: $data.viewWidth + "px",
- o: $data.viewWidth + "px",
- p: common_vendor.o((...args) => $options.addImages && $options.addImages(...args))
- } : {}, {
- q: $options.areaHeight,
- r: common_vendor.o((...args) => $options.mouseenter && $options.mouseenter(...args)),
- s: common_vendor.o((...args) => $options.mouseleave && $options.mouseleave(...args))
- }) : {});
-}
-const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-6bf05798"]]);
-wx.createComponent(Component);
-//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.json b/unpackage/dist/dev/mp-weixin/uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.json
deleted file mode 100644
index e8cfaaf..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "component": true,
- "usingComponents": {}
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.wxml b/unpackage/dist/dev/mp-weixin/uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.wxml
deleted file mode 100644
index 27132fc..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.wxml
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.wxss b/unpackage/dist/dev/mp-weixin/uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.wxss
deleted file mode 100644
index 2e49549..0000000
--- a/unpackage/dist/dev/mp-weixin/uni_modules/shmily-drag-image/components/shmily-drag-image/shmily-drag-image.wxss
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-.con.data-v-6bf05798 {
- background: #FFFFFF;
-}
-.con .area.data-v-6bf05798 {
- width: 100%;
-}
-.con .area .view.data-v-6bf05798 {
- display: flex;
- justify-content: center;
- align-items: center;
-}
-.con .area .view .area-con.data-v-6bf05798 {
- position: relative;
- overflow: hidden;
-}
-.con .area .view .area-con .pre-image.data-v-6bf05798 {
- width: 100%;
- height: 100%;
-}
-.con .area .view .area-con .del-con.data-v-6bf05798 {
- position: absolute;
- top: 0rpx;
- right: 0rpx;
- padding: 0 0 20rpx 20rpx;
-}
-.con .area .view .area-con .del-con .del-wrap.data-v-6bf05798 {
- width: 36rpx;
- height: 36rpx;
- background-color: rgba(0, 0, 0, 0.4);
- border-radius: 0 0 0 10rpx;
- display: flex;
- justify-content: center;
- align-items: center;
-}
-.con .area .view .area-con .del-con .del-wrap .del-image.data-v-6bf05798 {
- width: 20rpx;
- height: 20rpx;
-}
-.con .area .add.data-v-6bf05798 {
- position: absolute;
- display: flex;
- justify-content: center;
- align-items: center;
-}
-.con .area .add .add-wrap.data-v-6bf05798 {
- display: flex;
- justify-content: center;
- align-items: center;
- background-color: #eeeeee;
-}
\ No newline at end of file