diff --git a/coupon b/coupon
deleted file mode 160000
index 930430d..0000000
--- a/coupon
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 930430d7509c7b6a34d4feb10b672c01748294a9
diff --git a/coupon/.idea/.gitignore b/coupon/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/coupon/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/coupon/.idea/coupon.iml b/coupon/.idea/coupon.iml
new file mode 100644
index 0000000..d6ebd48
--- /dev/null
+++ b/coupon/.idea/coupon.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coupon/.idea/misc.xml b/coupon/.idea/misc.xml
new file mode 100644
index 0000000..e208459
--- /dev/null
+++ b/coupon/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coupon/.idea/modules.xml b/coupon/.idea/modules.xml
new file mode 100644
index 0000000..6334bd1
--- /dev/null
+++ b/coupon/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coupon/.idea/vcs.xml b/coupon/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/coupon/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coupon/README.en.md b/coupon/README.en.md
new file mode 100644
index 0000000..3703509
--- /dev/null
+++ b/coupon/README.en.md
@@ -0,0 +1,36 @@
+# coupon
+
+#### Description
+瑞来康健小程序
+
+#### Software Architecture
+Software architecture description
+
+#### Installation
+
+1. xxxx
+2. xxxx
+3. xxxx
+
+#### Instructions
+
+1. xxxx
+2. xxxx
+3. xxxx
+
+#### Contribution
+
+1. Fork the repository
+2. Create Feat_xxx branch
+3. Commit your code
+4. Create Pull Request
+
+
+#### Gitee Feature
+
+1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
+2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
+3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
+4. The most valuable open source project [GVP](https://gitee.com/gvp)
+5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
+6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
diff --git a/coupon/README.md b/coupon/README.md
new file mode 100644
index 0000000..f19131b
--- /dev/null
+++ b/coupon/README.md
@@ -0,0 +1,37 @@
+# coupon
+
+#### 介绍
+瑞来康健小程序
+
+#### 软件架构
+软件架构说明
+
+
+#### 安装教程
+
+1. xxxx
+2. xxxx
+3. xxxx
+
+#### 使用说明
+
+1. xxxx
+2. xxxx
+3. xxxx
+
+#### 参与贡献
+
+1. Fork 本仓库
+2. 新建 Feat_xxx 分支
+3. 提交代码
+4. 新建 Pull Request
+
+
+#### 特技
+
+1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
+2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
+3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
+4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
+5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
+6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
diff --git a/coupon/app.js b/coupon/app.js
new file mode 100644
index 0000000..44fb99c
--- /dev/null
+++ b/coupon/app.js
@@ -0,0 +1,94 @@
+// app.js
+App({
+ onLaunch() {
+ const uid = wx.getStorageSync('uid')
+ const token = wx.getStorageSync('token')
+ if (uid) {
+ this.globalData.uid = uid
+ }
+ if (token) {
+ this.globalData.token = token
+ }
+ },
+ globalData: {
+ userInfo: null,
+ encryptedData: '',
+ iv: '',
+ code: '',
+
+
+ // url: 'https://ruilaizipj.com',
+ url: 'http://chengjie.free.idcfengye.com',
+
+
+
+ phone: '',
+ uid: '',
+ sessionKey: '',
+ version_number: '1.0.0',
+ },
+ console: function (msg) {
+ console.log(msg);
+ },
+ tip: function (params) {
+ var that = this;
+ var title = params.hasOwnProperty('title') ? params['title'] : '提示您';
+ var content = params.hasOwnProperty('content') ? params['content'] : '';
+ wx.showModal({
+ title: title,
+ content: content,
+ success: function (res) {
+ if (res.confirm) { //点击确定
+ if (params.hasOwnProperty('cb_confirm') && typeof (params.cb_confirm) == "function") {
+ params.cb_confirm();
+ }
+ } else { //点击否
+ if (params.hasOwnProperty('cb_cancel') && typeof (params.cb_cancel) == "function") {
+ params.cb_cancel();
+ }
+ }
+ }
+ })
+ },
+ getRequestHeader: function () {
+ return {
+ 'content-type': 'application/x-www-form-urlencoded',
+ 'Authorization': 'Bearer ' + this.getCache("token")
+ }
+ },
+ buildUrl: function (path, params) {
+ var url = this.globalData.domain + path;
+ var _paramUrl = "";
+ if (params) {
+ _paramUrl = Object.keys(params).map(function (k) {
+ return [encodeURIComponent(k), encodeURIComponent(params[k])].join("=");
+ }).join("&");
+ _paramUrl = "?" + _paramUrl;
+ }
+ return url + _paramUrl;
+ },
+ buildUrltwo: function (path, params) {
+ var url = this.globalData.domaintwo + path;
+ var _paramUrl = "";
+ if (params) {
+ _paramUrl = Object.keys(params).map(function (k) {
+ return [encodeURIComponent(k), encodeURIComponent(params[k])].join("=");
+ }).join("&");
+ _paramUrl = "?" + _paramUrl;
+ }
+ return url + _paramUrl;
+ },
+ getCache: function (key) {
+ var value = undefined;
+ try {
+ value = wx.getStorageSync(key);
+ } catch (e) {}
+ return value;
+ },
+ setCache: function (key, value) {
+ wx.setStorage({
+ key: key,
+ data: value
+ });
+ }
+})
\ No newline at end of file
diff --git a/coupon/app.json b/coupon/app.json
new file mode 100644
index 0000000..eb8d817
--- /dev/null
+++ b/coupon/app.json
@@ -0,0 +1,65 @@
+{
+ "pages": [
+ "pages/index/index",
+ "pages/peihu/peihu",
+ "pages/tuiguang/extensionInfor",
+ "pages/my/my",
+ "pages/order/order",
+ "pages/order/re_orderdetail",
+ "pages/orderdetail/orderdetail",
+ "pages/reforderdetail/reforderdetail",
+ "pages/mechanism/mechanism",
+ "pages/wodeqianbao/qianbao",
+ "pages/peizhen/peizhen",
+ "pages/peizhen/peizhendetail",
+ "pages/guanyu/guanyu",
+ "pages/webpage/webpage"
+ ],
+ "window": {
+ "backgroundTextStyle": "light",
+ "navigationBarBackgroundColor": "#fff",
+ "navigationBarTitleText": "Weixin",
+ "navigationBarTextStyle": "black",
+ "navigationStyle": "custom"
+ },
+ "subPackages": [
+ {
+ "root": "shopping",
+ "name": "shopping",
+ "pages": [
+ "pages/goddess/goddess",
+ "pages/paysuccess/paysuccess",
+ "pages/withdrawal/withdrawal",
+ "pages/payment/payment"
+ ],
+ "independent": false
+ }
+ ],
+ "style": "v2",
+ "sitemapLocation": "sitemap.json",
+ "tabBar": {
+ "color": "#C1C1C1",
+ "selectedColor": "#606060",
+ "backgroundColor": "#fff",
+ "list": [
+ {
+ "pagePath": "pages/index/index",
+ "text": "首页",
+ "iconPath": "pages/image/income.png",
+ "selectedIconPath": "pages/image/income_a.png"
+ },
+ {
+ "pagePath": "pages/order/order",
+ "text": "订单",
+ "iconPath": "pages/image/dingdan.png",
+ "selectedIconPath": "pages/image/dingdanl.png"
+ },
+ {
+ "pagePath": "pages/my/my",
+ "text": "我的",
+ "iconPath": "pages/image/my.png",
+ "selectedIconPath": "pages/image/my_a.png"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/coupon/app.wxss b/coupon/app.wxss
new file mode 100644
index 0000000..06c6fc9
--- /dev/null
+++ b/coupon/app.wxss
@@ -0,0 +1,10 @@
+/**app.wxss**/
+.container {
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: space-between;
+ padding: 200rpx 0;
+ box-sizing: border-box;
+}
diff --git a/coupon/component/picker/GetDate.js b/coupon/component/picker/GetDate.js
new file mode 100644
index 0000000..31c0582
--- /dev/null
+++ b/coupon/component/picker/GetDate.js
@@ -0,0 +1,113 @@
+const GetDate = {
+ withData: (param) => {
+ return param < 10 ? '0' + param : '' + param;
+ },
+ getTimes(str){
+ return new Date(str.replace(/-/g,'/')).getTime();
+ },
+ format(arr){
+ let curarr = [];
+ let curarr0 = [];
+ let str = '';
+ arr.forEach((o,index) => {
+ if(index > 2){
+ curarr.push(o);
+ }else{
+ curarr0.push(o)
+ }
+ })
+ if(arr.length < 4){
+ str = arr.join('-')
+ }else{
+ str = curarr0.join('-') + ' ' + curarr.join(':')
+ }
+ return str;
+ },
+ getLoopArray: (start, end) => {
+ var start = start || 0;
+ var end = end || 1;
+ var array = [];
+ for (var i = start; i <= end; i++) {
+ array.push(GetDate.withData(i));
+ }
+ return array;
+ },
+ getMonthDay: (year, month) => {
+ var flag = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0), array = null;
+
+ switch (month) {
+ case '01':
+ case '03':
+ case '05':
+ case '07':
+ case '08':
+ case '10':
+ case '12':
+ array = GetDate.getLoopArray(1, 31)
+ break;
+ case '04':
+ case '06':
+ case '09':
+ case '11':
+ array = GetDate.getLoopArray(1, 30)
+ break;
+ case '02':
+ array = flag ? GetDate.getLoopArray(1, 29) : GetDate.getLoopArray(1, 28)
+ break;
+ default:
+ array = '月份格式不正确,请重新输入!'
+ }
+ return array;
+ },
+ getDateTimes: (opts) => {
+ var years = GetDate.getLoopArray(opts.start, opts.end);
+ var months = GetDate.getLoopArray(1, 12);
+ var days = GetDate.getLoopArray(1, 31);
+ var hours = GetDate.getLoopArray(0, 23);
+ var minutes = GetDate.getLoopArray(0, 59);
+ var seconds = GetDate.getLoopArray(0, 59);
+ var times = null;
+
+ switch (opts.fields) {
+ case 'year':
+ times = [years]
+ break;
+ case 'month':
+ times = [years, months]
+ break;
+ case 'day':
+ times = [years, months, days]
+ break;
+ case 'hour':
+ times = [years, months, days, hours]
+ break;
+ case 'minute':
+ times = [years, months, days, hours, minutes]
+ break;
+ case 'second':
+ times = [years, months, days, hours, minutes, seconds]
+ break;
+ default:
+ times = [years, months, days, hours, minutes, seconds]
+ }
+ return times;
+ },
+ getIndex(arr,target){
+ let len = arr.length;
+ for(let i = 0; i < len; i++){
+ if(arr[i] == target){
+ return i;
+ }
+ }
+ },
+ getTimeIndex(arrs, targets){
+ let len = arrs.length;
+ let arr = [];
+ for(let i = 0; i < len; i++){
+ arr.push(GetDate.getIndex(arrs[i], targets[i]))
+ }
+ return arr;
+ }
+}
+
+module.exports = GetDate;
\ No newline at end of file
diff --git a/coupon/component/picker/picker.js b/coupon/component/picker/picker.js
new file mode 100644
index 0000000..b81baf2
--- /dev/null
+++ b/coupon/component/picker/picker.js
@@ -0,0 +1,172 @@
+const GetDate = require('./GetDate.js');
+
+const error = (msg) => {
+ console.error(msg);
+};
+
+Component({
+ externalClasses: ['rui-class'],
+
+ options: {
+ multipleSlots: true
+ },
+ lifetimes: {
+ attached() {
+ switch (this.data.fields){
+ case 'year':
+ if (this.data.value.length !== 4) {error('时间粒度和时间格式不一致');this.setData({ disabled: true });return false;}
+ if (this.data.start.length !== 4) { error('时间粒度和开始时间格式不一致'); this.setData({ disabled: true }); return false;}
+ if (this.data.end.length !== 4) { error('时间粒度和结束时间格式不一致'); this.setData({ disabled: true }); return false;}
+ break;
+ case 'month':
+ if (this.data.value.length !== 7) { error('时间粒度和时间格式不一致'); this.setData({ disabled: true }); return false;}
+ if (this.data.start.length !== 7) { error('时间粒度和开始时间格式不一致'); this.setData({ disabled: true }); return false;}
+ if (this.data.end.length !== 7) { error('时间粒度和结束时间格式不一致'); this.setData({ disabled: true }); return false;}
+ break;
+ case 'day':
+ if (this.data.value.length !== 10) { error('时间粒度和时间格式不一致'); this.setData({ disabled: true }); return false;}
+ if (this.data.start.length !== 10) { error('时间粒度和开始时间格式不一致'); this.setData({ disabled: true }); return false;}
+ if (this.data.end.length !== 10) { error('时间粒度和结束时间格式不一致'); this.setData({ disabled: true }); return false;}
+ break;
+ case 'hour':
+ if (this.data.value.length !== 13) { error('时间粒度和时间格式不一致'); this.setData({ disabled: true }); return false;}
+ if (this.data.start.length !== 13) { error('时间粒度和开始时间格式不一致'); this.setData({ disabled: true }); return false;}
+ if (this.data.end.length !== 13) { error('时间粒度和结束时间格式不一致'); this.setData({ disabled: true }); return false;}
+ break;
+ case 'minute':
+ if (this.data.value.length !== 16) { error('时间粒度和时间格式不一致'); this.setData({ disabled: true }); return false;}
+ if (this.data.start.length !== 16) { error('时间粒度和开始时间格式不一致'); this.setData({ disabled: true }); return false;}
+ if (this.data.end.length !== 16) { error('时间粒度和结束时间格式不一致'); this.setData({ disabled: true }); return false;}
+ break;
+ case 'second':
+ if (this.data.value.length !== 19) { error('时间粒度和时间格式不一致'); this.setData({ disabled: true }); return false;}
+ if (this.data.start.length !== 19) { error('时间粒度和开始时间格式不一致'); this.setData({ disabled: true }); return false;}
+ if (this.data.end.length !== 19) { error('时间粒度和结束时间格式不一致'); this.setData({ disabled: true }); return false;}
+ break;
+ default:
+ error('时间粒度不存在')
+ break;
+ }
+ let values = this.data.value.split(' ');
+ let targets = this.data.fields === 'year' || this.data.fields === 'month' || this.data.fields === 'day' ? [...(values[0].split('-'))] : [...(values[0].split('-')), ...(values[1].split(':'))];
+
+ if (GetDate.getTimes(this.data.value) < GetDate.getTimes(this.data.start)){
+ error('默认时间不能小于开始时间')
+ this.setData({ disabled: true })
+ return false;
+ }
+ if (GetDate.getTimes(this.data.value) > GetDate.getTimes(this.data.end)) {
+ error('默认时间不能大于开始时间')
+ this.setData({ disabled: true })
+ return false;
+ }
+ let times = GetDate.getDateTimes({
+ start: this.data.start.substring(0, 4),
+ end: this.data.end.substring(0, 4),
+ curyear: this.data.value.substring(0, 4),
+ curmonth: this.data.value.substring(5, 7),
+ fields: this.data.fields,
+ })
+ let timesIndex = GetDate.getTimeIndex(times, targets);
+ let timesString = [];
+ timesIndex.forEach(o => timesString.push(o));
+
+ this.setData({
+ times: times,
+ timesIndex: timesIndex,
+ timesString: timesString
+ })
+ }
+ },
+ properties: {
+ start: {
+ type: String,
+ value: '1900-00-00 00:00:00'
+ },
+ end: {
+ type: String,
+ value: '2500-12-30 23:59:59'
+ },
+ value: {
+ type: String,
+ value: '2019-03-15 10:45:00'
+ },
+ fields: {
+ type: String,
+ value: 'second'
+ },
+ disabled: {
+ type: Boolean,
+ value: false
+ }
+ },
+
+ data: {
+ times:[['2019','2020'],['01','02']],
+ timesIndex: [1,1],
+ timesString: null
+ },
+
+ methods: {
+ changeDate(e){
+ let values = e.detail.value;
+ let times = this.data.times;
+ let curarr = [];
+ for (let i = 0, len = values.length; i < len; i++) {
+ curarr.push(times[i][values[i]])
+ }
+ let str = GetDate.format(curarr);
+ this.setData({ value: str});
+ this.triggerEvent('changedatepicker', { value: str }, {});
+ },
+ columnchangeDate(e){
+ if ((this.data.fields === 'year' || this.data.fields === 'month')){
+ let timesIndex = this.data.timesIndex;
+ timesIndex[e.detail.column] = e.detail.value;
+ this.setData({ timesIndex: timesIndex });
+ return false;
+ }
+ // 先对timesIndex做出改变
+ if ((e.detail.column === 0 || e.detail.column === 1 || e.detail.column === 2) && (this.data.fields !== 'year' || this.data.fields !== 'month')) {
+ let times = this.data.times;
+ let timesIndex = this.data.timesIndex;
+ timesIndex[e.detail.column] = e.detail.value;
+ let days = GetDate.getMonthDay(times[0][timesIndex[0]], times[1][timesIndex[1]]);
+ if (timesIndex[2] >= days.length) {
+ timesIndex[2] = days.length - 1;
+ } else {
+ timesIndex[e.detail.column] = e.detail.value;
+ }
+ this.setData({ timesIndex: timesIndex });
+ } else {
+ let timesIndex = this.data.timesIndex;
+ timesIndex[e.detail.column] = e.detail.value;
+ this.setData({ timesIndex: timesIndex });
+ }
+ // 判断当前选择是否小于开始时间或者大于结束时间
+ let values = this.data.timesIndex;
+ let times = this.data.times;
+ let curarr = [];
+ for (let i = 0, len = values.length; i < len; i++) {
+ curarr.push(times[i][values[i]])
+ }
+ let str = GetDate.format(curarr);
+
+ if (GetDate.getTimes(str) < GetDate.getTimes(this.data.start)) {
+ let timesString = this.data.timesString;
+ let timesIndex = [];
+ timesString.forEach(o => timesIndex.push(o));
+ this.setData({ timesIndex: timesIndex})
+ }
+ if (GetDate.getTimes(str) > GetDate.getTimes(this.data.end)) {
+ let timesString = this.data.timesString;
+ let timesIndex = [];
+ timesString.forEach(o => timesIndex.push(o));
+ this.setData({ timesIndex: timesIndex })
+ }
+ },
+ cancelDate(e){
+ this.triggerEvent('canceldatepicker', { value: e }, {});
+ }
+ }
+})
diff --git a/coupon/component/picker/picker.json b/coupon/component/picker/picker.json
new file mode 100644
index 0000000..78013bd
--- /dev/null
+++ b/coupon/component/picker/picker.json
@@ -0,0 +1,5 @@
+{
+ "component": true,
+ "usingComponents": {
+ }
+}
\ No newline at end of file
diff --git a/coupon/component/picker/picker.wxml b/coupon/component/picker/picker.wxml
new file mode 100644
index 0000000..88a488c
--- /dev/null
+++ b/coupon/component/picker/picker.wxml
@@ -0,0 +1,5 @@
+
+
+ {{value}}
+
+
diff --git a/coupon/component/picker/picker.wxss b/coupon/component/picker/picker.wxss
new file mode 100644
index 0000000..82e38d9
--- /dev/null
+++ b/coupon/component/picker/picker.wxss
@@ -0,0 +1,14 @@
+/* component/picker/picker.wxss */
+.rui-picker{
+ height: 10vw;
+ font-size: 4vw;
+ color: #000;
+ display: -webkit-flex;
+ display: flex;
+ align-items: center;
+ padding: 0 10px;
+ box-sizing: border-box;
+ border: 1px solid #aaa;
+ flex-grow: 1;
+ border-radius: 8px;
+}
\ No newline at end of file
diff --git a/coupon/component/picker/readme.md b/coupon/component/picker/readme.md
new file mode 100644
index 0000000..36279b1
--- /dev/null
+++ b/coupon/component/picker/readme.md
@@ -0,0 +1,98 @@
+### 使用
+
+> 到 [GitHub](https://github.com/Rattenking/WXTUI-DEMO) 下载 WX-RUI 的代码,将 component 目录拷贝到自己的项目中。然后按照如下的方式使用组件,以 dtpicker 为例,其它组件在对应的文档页查看:
+
+#### 1. 添加需要的组件。在页面的 json 中配置(路径根据自己项目位置配置):
+
+```
+"usingComponents": {
+ "rui-dtpicker": "../../component/picker/picker"
+}
+```
+
+#### 2. 在 wxml 中使用组件:
+
+2.1 时间粒度为second的实例
+
+```
+
+```
+2.2 时间粒度为year的实例
+
+```
+
+```
+### 效果图
+
+
+
+
+
+### 参数说明
+**rui-dtpicker 属性说明:**
+
+|属性名 |类型 |默认值 |说明 |
+|--- |---- |--- |--- |
+|start |String |'1900-00-00 00:00:00' |限制选择器选择的最小时间 |
+|end |String |'2500-12-30 23:59:59' |限制选择器选择的最大时间 |
+|value |String |'2019-03-15 10:45:00' |当前时间选择器显示的时间 |
+|fields |String |'second' |时间选择器的粒度 |
+|disabled |Boolean|false |是否为禁用状态 |
+
+**fields 值说明:**
+
+|值 |类型 |说明 |
+|--- |---- |--- |
+|year |String |选择器粒度为年 |
+|month |String |选择器粒度为月份 |
+|day |String |选择器粒度为天 |
+|hour |String |选择器粒度为小时 |
+|minute |String |选择器粒度为分钟 |
+|second |String |选择器粒度为秒 |
+
+**事件说明:**
+
+|事件名称 |说明 |
+|---|---|
+|change |时间选择器点击【确定】按钮时时触发的事件,参数为picker的当前的 value|
+|cancel |时间选择器点击【取消】按钮时时触发的事件|
+
+### WXRUI体验二维码
+
+##### 如果文章对你有帮助的话,请打开微信扫一下二维码,点击一下广告,支持一下作者!谢谢!
+
+### 其他
+
+[我的博客,欢迎交流!](http://rattenking.gitee.io/stone/index.html)
+
+[我的CSDN博客,欢迎交流!](https://blog.csdn.net/m0_38082783)
+
+[微信小程序专栏](https://blog.csdn.net/column/details/18335.html)
+
+[前端笔记专栏](https://blog.csdn.net/column/details/18321.html)
+
+[微信小程序实现部分高德地图功能的DEMO下载](http://download.csdn.net/download/m0_38082783/10244082)
+
+[微信小程序实现MUI的部分效果的DEMO下载](http://download.csdn.net/download/m0_38082783/10196944)
+
+[微信小程序实现MUI的GIT项目地址](https://github.com/Rattenking/WXTUI-DEMO)
+
+[微信小程序实例列表](http://blog.csdn.net/m0_38082783/article/details/78853722)
+
+[前端笔记列表](http://blog.csdn.net/m0_38082783/article/details/79208205)
+
+[游戏列表](http://blog.csdn.net/m0_38082783/article/details/79035621)
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/LICENSE b/coupon/miniprogram/@vant/weapp/LICENSE
new file mode 100644
index 0000000..8777860
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/LICENSE
@@ -0,0 +1,7 @@
+Copyright 2016-present Youzan
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/README.md b/coupon/miniprogram/@vant/weapp/README.md
new file mode 100644
index 0000000..cfdcc8e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/README.md
@@ -0,0 +1,125 @@
+
+
+
+轻量、可靠的小程序 UI 组件库
+
+
+
+
+
+
+
+
+
+ 🔥 文档网站(国内)
+
+ 🌈 文档网站(GitHub)
+
+ 🚀 Vue 版
+
+
+---
+
+### 介绍
+
+Vant 是**有赞前端团队**开源的移动端组件库,于 2017 年开源,已持续维护 4 年时间。Vant 对内承载了有赞所有核心业务,对外服务十多万开发者,是业界主流的移动端组件库之一。
+
+目前 Vant 官方提供了 [Vue 2 版本](https://vant-contrib.gitee.io/vant)、[Vue 3 版本](https://vant-contrib.gitee.io/vant/v3)和[微信小程序版本](http://vant-contrib.gitee.io/vant-weapp),并由社区团队维护 [React 版本](https://github.com/mxdi9i7/vant-react)和[支付宝小程序版本](https://github.com/ant-move/Vant-Aliapp)。
+
+## 预览
+
+扫描下方小程序二维码,体验组件库示例:
+
+
+
+## 使用之前
+
+使用 Vant Weapp 前,请确保你已经学习过微信官方的 [小程序简易教程](https://developers.weixin.qq.com/miniprogram/dev/framework/) 和 [自定义组件介绍](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/)。
+
+## 安装
+
+### 方式一. 通过 npm 安装 (推荐)
+
+小程序已经支持使用 npm 安装第三方包,详见 [npm 支持](https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html?search-key=npm)
+
+```bash
+# 通过 npm 安装
+npm i @vant/weapp -S --production
+
+# 通过 yarn 安装
+yarn add @vant/weapp --production
+
+# 安装 0.x 版本
+npm i vant-weapp -S --production
+```
+
+### 方式二. 下载代码
+
+直接通过 git 下载 Vant Weapp 源代码,并将 `dist` 目录拷贝到自己的项目中。
+
+```bash
+git clone https://github.com/youzan/vant-weapp.git
+```
+
+## 使用组件
+
+以按钮组件为例,只需要在 json 文件中引入按钮对应的自定义组件即可
+
+```json
+{
+ "usingComponents": {
+ "van-button": "/path/to/vant-weapp/dist/button/index"
+ }
+}
+```
+
+接着就可以在 wxml 中直接使用组件
+
+```html
+按钮
+```
+
+## 在开发者工具中预览
+
+```bash
+# 安装项目依赖
+npm install
+
+# 执行组件编译
+npm run dev
+```
+
+打开[微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html),把`vant-weapp/example`目录添加进去就可以预览示例了。
+
+PS:关于 `van-area` Area 省市区选择组件,地区数据初始化可以直接在云开发环境中导入`vant-weapp/example/database_area.JSON` 文件使用。
+
+## 基础库版本
+
+Vant Weapp 最低支持到小程序基础库 2.6.5 版本。
+
+## 链接
+
+- [更新日志](https://github.com/youzan/vant-weapp/blob/dev/docs/markdown/changelog.md)
+- [意见反馈](https://github.com/youzan/vant-weapp/issues)
+- [加入我们](https://job.youzan.com)
+- [Vant Vue 版](https://github.com/youzan/vant)
+
+## 核心团队
+
+以下是 Vant 和 Vant Weapp 的核心贡献者们:
+
+| [](https://github.com/chenjiahan/) | [](https://github.com/cookfront/) | [](https://github.com/w91/) | [](https://github.com/pangxie1991/) | [](https://github.com/rex-zsd/) | [](https://github.com/nemo-shen/) | [](https://github.com/Lindysen/) | [](https://github.com/JakeLaoyu/) |
+| :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |
+| [chenjiahan](https://github.com/chenjiahan/) | [cookfront](https://github.com/cookfront/) | [wangnaiyi](https://github.com/w91/) | [pangxie](https://github.com/pangxie1991/) | [rex-zsd](https://github.com/rex-zsd/) | [nemo-shen](https://github.com/nemo-shen/) | [Lindysen](https://github.com/Lindysen/) | [JakeLaoyu](https://github.com/JakeLaoyu/) |
+
+## 贡献者们
+
+感谢以下小伙伴们为 Vant Weapp 发展做出的贡献:
+
+
+
+
+
+## 开源协议
+
+本项目基于 [MIT](https://zh.wikipedia.org/wiki/MIT%E8%A8%B1%E5%8F%AF%E8%AD%89)协议,请自由地享受和参与开源。
diff --git a/coupon/miniprogram/@vant/weapp/changelog.generated.md b/coupon/miniprogram/@vant/weapp/changelog.generated.md
new file mode 100644
index 0000000..fe20a40
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/changelog.generated.md
@@ -0,0 +1,29 @@
+### [v1.9.2](https://github.com/youzan/vant-weapp/compare/v1.9.1...v1.9.2)
+
+`2021-10-28`
+
+**Bug Fixes**
+
+- Calendar: select min effective range [#4569](https://github.com/youzan/vant-weapp/issues/4569)
+- Collapse: animate invalid on multi clicks [#4567](https://github.com/youzan/vant-weapp/issues/4567)
+- Tab: fix style error with card of type [#4582](https://github.com/youzan/vant-weapp/issues/4582)
+- Tab: swipe multi index with double refers [#4539](https://github.com/youzan/vant-weapp/issues/4539)
+
+**build**
+
+- compile 1.9.2 [9c94a7](https://github.com/youzan/vant-weapp/commit/9c94a71c32139d4d12ff7e821c63ed67cb4110a3)
+
+**Document**
+
+- changelog: 1.9.1 [04ddd8](https://github.com/youzan/vant-weapp/commit/04ddd811b270440be5cbf5a26004988ce5d75175)
+
+**Feature**
+
+- DropdownMenu: add --dropdown-menu-box-shadow css var [#4565](https://github.com/youzan/vant-weapp/issues/4565)
+- DropdownMenu: add custom-class [#4583](https://github.com/youzan/vant-weapp/issues/4583)
+- Field: add always-embed prop [#4571](https://github.com/youzan/vant-weapp/issues/4571)
+- Toast: support html of type [#4581](https://github.com/youzan/vant-weapp/issues/4581)
+
+**release**
+
+- 1.9.2 [7e8d18](https://github.com/youzan/vant-weapp/commit/7e8d18d939154f8fc3ccb3c3f7d9669b1c022ca1)
diff --git a/coupon/miniprogram/@vant/weapp/dist/action-sheet/index.js b/coupon/miniprogram/@vant/weapp/dist/action-sheet/index.js
new file mode 100644
index 0000000..58e866d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/action-sheet/index.js
@@ -0,0 +1,70 @@
+import { VantComponent } from '../common/component';
+import { button } from '../mixins/button';
+VantComponent({
+ mixins: [button],
+ props: {
+ show: Boolean,
+ title: String,
+ cancelText: String,
+ description: String,
+ round: {
+ type: Boolean,
+ value: true,
+ },
+ zIndex: {
+ type: Number,
+ value: 100,
+ },
+ actions: {
+ type: Array,
+ value: [],
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ },
+ closeOnClickAction: {
+ type: Boolean,
+ value: true,
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ onSelect(event) {
+ const { index } = event.currentTarget.dataset;
+ const { actions, closeOnClickAction, canIUseGetUserProfile } = this.data;
+ const item = actions[index];
+ if (item) {
+ this.$emit('select', item);
+ if (closeOnClickAction) {
+ this.onClose();
+ }
+ if (item.openType === 'getUserInfo' && canIUseGetUserProfile) {
+ wx.getUserProfile({
+ desc: item.getUserProfileDesc || ' ',
+ complete: (userProfile) => {
+ this.$emit('getuserinfo', userProfile);
+ },
+ });
+ }
+ }
+ },
+ onCancel() {
+ this.$emit('cancel');
+ },
+ onClose() {
+ this.$emit('close');
+ },
+ onClickOverlay() {
+ this.$emit('click-overlay');
+ this.onClose();
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/action-sheet/index.json b/coupon/miniprogram/@vant/weapp/dist/action-sheet/index.json
new file mode 100644
index 0000000..19bf989
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/action-sheet/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-popup": "../popup/index",
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/action-sheet/index.wxml b/coupon/miniprogram/@vant/weapp/dist/action-sheet/index.wxml
new file mode 100644
index 0000000..b04cc3a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/action-sheet/index.wxml
@@ -0,0 +1,69 @@
+
+
+
+
+
+ {{ description }}
+
+
+
+
+
+
+
+
+
+ {{ cancelText }}
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/action-sheet/index.wxss b/coupon/miniprogram/@vant/weapp/dist/action-sheet/index.wxss
new file mode 100644
index 0000000..eedd361
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/action-sheet/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-action-sheet{color:var(--action-sheet-item-text-color,#323233);max-height:var(--action-sheet-max-height,90%)!important}.van-action-sheet__cancel,.van-action-sheet__item{background-color:var(--action-sheet-item-background,#fff);font-size:var(--action-sheet-item-font-size,16px);line-height:var(--action-sheet-item-line-height,22px);padding:14px 16px;text-align:center}.van-action-sheet__cancel--hover,.van-action-sheet__item--hover{background-color:#f2f3f5}.van-action-sheet__cancel:after,.van-action-sheet__item:after{border-width:0}.van-action-sheet__cancel{color:var(--action-sheet-cancel-text-color,#646566)}.van-action-sheet__gap{background-color:var(--action-sheet-cancel-padding-color,#f7f8fa);display:block;height:var(--action-sheet-cancel-padding-top,8px)}.van-action-sheet__item--disabled{color:var(--action-sheet-item-disabled-text-color,#c8c9cc)}.van-action-sheet__item--disabled.van-action-sheet__item--hover{background-color:var(--action-sheet-item-background,#fff)}.van-action-sheet__subname{color:var(--action-sheet-subname-color,#969799);font-size:var(--action-sheet-subname-font-size,12px);line-height:var(--action-sheet-subname-line-height,20px);margin-top:var(--padding-xs,8px)}.van-action-sheet__header{font-size:var(--action-sheet-header-font-size,16px);font-weight:var(--font-weight-bold,500);line-height:var(--action-sheet-header-height,48px);text-align:center}.van-action-sheet__description{color:var(--action-sheet-description-color,#969799);font-size:var(--action-sheet-description-font-size,14px);line-height:var(--action-sheet-description-line-height,20px);padding:20px var(--padding-md,16px);text-align:center}.van-action-sheet__close{color:var(--action-sheet-close-icon-color,#c8c9cc);font-size:var(--action-sheet-close-icon-size,22px)!important;line-height:inherit!important;padding:var(--action-sheet-close-icon-padding,0 16px);position:absolute!important;right:0;top:0}.van-action-sheet__loading{display:flex!important}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/area/index.js b/coupon/miniprogram/@vant/weapp/dist/area/index.js
new file mode 100644
index 0000000..2a7c79b
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/area/index.js
@@ -0,0 +1,217 @@
+import { VantComponent } from '../common/component';
+import { pickerProps } from '../picker/shared';
+import { requestAnimationFrame } from '../common/utils';
+const EMPTY_CODE = '000000';
+VantComponent({
+ classes: ['active-class', 'toolbar-class', 'column-class'],
+ props: Object.assign(Object.assign({}, pickerProps), { value: {
+ type: String,
+ observer(value) {
+ this.code = value;
+ this.setValues();
+ },
+ }, areaList: {
+ type: Object,
+ value: {},
+ observer: 'setValues',
+ }, columnsNum: {
+ type: null,
+ value: 3,
+ }, columnsPlaceholder: {
+ type: Array,
+ observer(val) {
+ this.setData({
+ typeToColumnsPlaceholder: {
+ province: val[0] || '',
+ city: val[1] || '',
+ county: val[2] || '',
+ },
+ });
+ },
+ } }),
+ data: {
+ columns: [{ values: [] }, { values: [] }, { values: [] }],
+ typeToColumnsPlaceholder: {},
+ },
+ mounted() {
+ requestAnimationFrame(() => {
+ this.setValues();
+ });
+ },
+ methods: {
+ getPicker() {
+ if (this.picker == null) {
+ this.picker = this.selectComponent('.van-area__picker');
+ }
+ return this.picker;
+ },
+ onCancel(event) {
+ this.emit('cancel', event.detail);
+ },
+ onConfirm(event) {
+ const { index } = event.detail;
+ let { value } = event.detail;
+ value = this.parseValues(value);
+ this.emit('confirm', { value, index });
+ },
+ emit(type, detail) {
+ detail.values = detail.value;
+ delete detail.value;
+ this.$emit(type, detail);
+ },
+ parseValues(values) {
+ const { columnsPlaceholder } = this.data;
+ return values.map((value, index) => {
+ if (value &&
+ (!value.code || value.name === columnsPlaceholder[index])) {
+ return Object.assign(Object.assign({}, value), { code: '', name: '' });
+ }
+ return value;
+ });
+ },
+ onChange(event) {
+ var _a;
+ const { index, picker, value } = event.detail;
+ this.code = value[index].code;
+ (_a = this.setValues()) === null || _a === void 0 ? void 0 : _a.then(() => {
+ this.$emit('change', {
+ picker,
+ values: this.parseValues(picker.getValues()),
+ index,
+ });
+ });
+ },
+ getConfig(type) {
+ const { areaList } = this.data;
+ return (areaList && areaList[`${type}_list`]) || {};
+ },
+ getList(type, code) {
+ if (type !== 'province' && !code) {
+ return [];
+ }
+ const { typeToColumnsPlaceholder } = this.data;
+ const list = this.getConfig(type);
+ let result = Object.keys(list).map((code) => ({
+ code,
+ name: list[code],
+ }));
+ if (code != null) {
+ // oversea code
+ if (code[0] === '9' && type === 'city') {
+ code = '9';
+ }
+ result = result.filter((item) => item.code.indexOf(code) === 0);
+ }
+ if (typeToColumnsPlaceholder[type] && result.length) {
+ // set columns placeholder
+ const codeFill = type === 'province'
+ ? ''
+ : type === 'city'
+ ? EMPTY_CODE.slice(2, 4)
+ : EMPTY_CODE.slice(4, 6);
+ result.unshift({
+ code: `${code}${codeFill}`,
+ name: typeToColumnsPlaceholder[type],
+ });
+ }
+ return result;
+ },
+ getIndex(type, code) {
+ let compareNum = type === 'province' ? 2 : type === 'city' ? 4 : 6;
+ const list = this.getList(type, code.slice(0, compareNum - 2));
+ // oversea code
+ if (code[0] === '9' && type === 'province') {
+ compareNum = 1;
+ }
+ code = code.slice(0, compareNum);
+ for (let i = 0; i < list.length; i++) {
+ if (list[i].code.slice(0, compareNum) === code) {
+ return i;
+ }
+ }
+ return 0;
+ },
+ setValues() {
+ const picker = this.getPicker();
+ if (!picker) {
+ return;
+ }
+ let code = this.code || this.getDefaultCode();
+ const provinceList = this.getList('province');
+ const cityList = this.getList('city', code.slice(0, 2));
+ const stack = [];
+ const indexes = [];
+ const { columnsNum } = this.data;
+ if (columnsNum >= 1) {
+ stack.push(picker.setColumnValues(0, provinceList, false));
+ indexes.push(this.getIndex('province', code));
+ }
+ if (columnsNum >= 2) {
+ stack.push(picker.setColumnValues(1, cityList, false));
+ indexes.push(this.getIndex('city', code));
+ if (cityList.length && code.slice(2, 4) === '00') {
+ [{ code }] = cityList;
+ }
+ }
+ if (columnsNum === 3) {
+ stack.push(picker.setColumnValues(2, this.getList('county', code.slice(0, 4)), false));
+ indexes.push(this.getIndex('county', code));
+ }
+ return Promise.all(stack)
+ .catch(() => { })
+ .then(() => picker.setIndexes(indexes))
+ .catch(() => { });
+ },
+ getDefaultCode() {
+ const { columnsPlaceholder } = this.data;
+ if (columnsPlaceholder.length) {
+ return EMPTY_CODE;
+ }
+ const countyCodes = Object.keys(this.getConfig('county'));
+ if (countyCodes[0]) {
+ return countyCodes[0];
+ }
+ const cityCodes = Object.keys(this.getConfig('city'));
+ if (cityCodes[0]) {
+ return cityCodes[0];
+ }
+ return '';
+ },
+ getValues() {
+ const picker = this.getPicker();
+ if (!picker) {
+ return [];
+ }
+ return this.parseValues(picker.getValues().filter((value) => !!value));
+ },
+ getDetail() {
+ const values = this.getValues();
+ const area = {
+ code: '',
+ country: '',
+ province: '',
+ city: '',
+ county: '',
+ };
+ if (!values.length) {
+ return area;
+ }
+ const names = values.map((item) => item.name);
+ area.code = values[values.length - 1].code;
+ if (area.code[0] === '9') {
+ area.country = names[1] || '';
+ area.province = names[2] || '';
+ }
+ else {
+ area.province = names[0] || '';
+ area.city = names[1] || '';
+ area.county = names[2] || '';
+ }
+ return area;
+ },
+ reset(code) {
+ this.code = code || '';
+ return this.setValues();
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/area/index.json b/coupon/miniprogram/@vant/weapp/dist/area/index.json
new file mode 100644
index 0000000..a778e91
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/area/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-picker": "../picker/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/area/index.wxml b/coupon/miniprogram/@vant/weapp/dist/area/index.wxml
new file mode 100644
index 0000000..f7dc51f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/area/index.wxml
@@ -0,0 +1,20 @@
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/area/index.wxs b/coupon/miniprogram/@vant/weapp/dist/area/index.wxs
new file mode 100644
index 0000000..07723c1
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/area/index.wxs
@@ -0,0 +1,8 @@
+/* eslint-disable */
+function displayColumns(columns, columnsNum) {
+ return columns.slice(0, +columnsNum);
+}
+
+module.exports = {
+ displayColumns: displayColumns,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/area/index.wxss b/coupon/miniprogram/@vant/weapp/dist/area/index.wxss
new file mode 100644
index 0000000..99694d6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/area/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/button/index.js b/coupon/miniprogram/@vant/weapp/dist/button/index.js
new file mode 100644
index 0000000..0e3c134
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/button/index.js
@@ -0,0 +1,64 @@
+import { VantComponent } from '../common/component';
+import { button } from '../mixins/button';
+import { canIUseFormFieldButton } from '../common/version';
+const mixins = [button];
+if (canIUseFormFieldButton()) {
+ mixins.push('wx://form-field-button');
+}
+VantComponent({
+ mixins,
+ classes: ['hover-class', 'loading-class'],
+ data: {
+ baseStyle: '',
+ },
+ props: {
+ formType: String,
+ icon: String,
+ classPrefix: {
+ type: String,
+ value: 'van-icon',
+ },
+ plain: Boolean,
+ block: Boolean,
+ round: Boolean,
+ square: Boolean,
+ loading: Boolean,
+ hairline: Boolean,
+ disabled: Boolean,
+ loadingText: String,
+ customStyle: String,
+ loadingType: {
+ type: String,
+ value: 'circular',
+ },
+ type: {
+ type: String,
+ value: 'default',
+ },
+ dataset: null,
+ size: {
+ type: String,
+ value: 'normal',
+ },
+ loadingSize: {
+ type: String,
+ value: '20px',
+ },
+ color: String,
+ },
+ methods: {
+ onClick(event) {
+ this.$emit('click', event);
+ const { canIUseGetUserProfile, openType, getUserProfileDesc, lang, } = this.data;
+ if (openType === 'getUserInfo' && canIUseGetUserProfile) {
+ wx.getUserProfile({
+ desc: getUserProfileDesc || ' ',
+ lang: lang || 'en',
+ complete: (userProfile) => {
+ this.$emit('getuserinfo', userProfile);
+ },
+ });
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/button/index.json b/coupon/miniprogram/@vant/weapp/dist/button/index.json
new file mode 100644
index 0000000..e00a588
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/button/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/button/index.wxml b/coupon/miniprogram/@vant/weapp/dist/button/index.wxml
new file mode 100644
index 0000000..8034845
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/button/index.wxml
@@ -0,0 +1,53 @@
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/button/index.wxs b/coupon/miniprogram/@vant/weapp/dist/button/index.wxs
new file mode 100644
index 0000000..8b649fe
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/button/index.wxs
@@ -0,0 +1,39 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+
+function rootStyle(data) {
+ if (!data.color) {
+ return data.customStyle;
+ }
+
+ var properties = {
+ color: data.plain ? data.color : '#fff',
+ background: data.plain ? null : data.color,
+ };
+
+ // hide border when color is linear-gradient
+ if (data.color.indexOf('gradient') !== -1) {
+ properties.border = 0;
+ } else {
+ properties['border-color'] = data.color;
+ }
+
+ return style([properties, data.customStyle]);
+}
+
+function loadingColor(data) {
+ if (data.plain) {
+ return data.color ? data.color : '#c9c9c9';
+ }
+
+ if (data.type === 'default') {
+ return '#c9c9c9';
+ }
+
+ return '#fff';
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+ loadingColor: loadingColor,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/button/index.wxss b/coupon/miniprogram/@vant/weapp/dist/button/index.wxss
new file mode 100644
index 0000000..bd8bb5a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/button/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-button{-webkit-text-size-adjust:100%;align-items:center;-webkit-appearance:none;border-radius:var(--button-border-radius,2px);box-sizing:border-box;display:inline-flex;font-size:var(--button-default-font-size,16px);height:var(--button-default-height,44px);justify-content:center;line-height:var(--button-line-height,20px);padding:0;position:relative;text-align:center;transition:opacity .2s;vertical-align:middle}.van-button:before{background-color:#000;border:inherit;border-color:#000;border-radius:inherit;content:" ";height:100%;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.van-button:after{border-width:0}.van-button--active:before{opacity:.15}.van-button--unclickable:after{display:none}.van-button--default{background:var(--button-default-background-color,#fff);border:var(--button-border-width,1px) solid var(--button-default-border-color,#ebedf0);color:var(--button-default-color,#323233)}.van-button--primary{background:var(--button-primary-background-color,#07c160);border:var(--button-border-width,1px) solid var(--button-primary-border-color,#07c160);color:var(--button-primary-color,#fff)}.van-button--info{background:var(--button-info-background-color,#1989fa);border:var(--button-border-width,1px) solid var(--button-info-border-color,#1989fa);color:var(--button-info-color,#fff)}.van-button--danger{background:var(--button-danger-background-color,#ee0a24);border:var(--button-border-width,1px) solid var(--button-danger-border-color,#ee0a24);color:var(--button-danger-color,#fff)}.van-button--warning{background:var(--button-warning-background-color,#ff976a);border:var(--button-border-width,1px) solid var(--button-warning-border-color,#ff976a);color:var(--button-warning-color,#fff)}.van-button--plain{background:var(--button-plain-background-color,#fff)}.van-button--plain.van-button--primary{color:var(--button-primary-background-color,#07c160)}.van-button--plain.van-button--info{color:var(--button-info-background-color,#1989fa)}.van-button--plain.van-button--danger{color:var(--button-danger-background-color,#ee0a24)}.van-button--plain.van-button--warning{color:var(--button-warning-background-color,#ff976a)}.van-button--large{height:var(--button-large-height,50px);width:100%}.van-button--normal{font-size:var(--button-normal-font-size,14px);padding:0 15px}.van-button--small{font-size:var(--button-small-font-size,12px);height:var(--button-small-height,30px);min-width:var(--button-small-min-width,60px);padding:0 var(--padding-xs,8px)}.van-button--mini{display:inline-block;font-size:var(--button-mini-font-size,10px);height:var(--button-mini-height,22px);min-width:var(--button-mini-min-width,50px)}.van-button--mini+.van-button--mini{margin-left:5px}.van-button--block{display:flex;width:100%}.van-button--round{border-radius:var(--button-round-border-radius,999px)}.van-button--square{border-radius:0}.van-button--disabled{opacity:var(--button-disabled-opacity,.5)}.van-button__text{display:inline}.van-button__icon+.van-button__text:not(:empty),.van-button__loading-text{margin-left:4px}.van-button__icon{line-height:inherit!important;min-width:1em;vertical-align:top}.van-button--hairline{border-width:0;padding-top:1px}.van-button--hairline:after{border-color:inherit;border-radius:calc(var(--button-border-radius, 2px)*2);border-width:1px}.van-button--hairline.van-button--round:after{border-radius:var(--button-round-border-radius,999px)}.van-button--hairline.van-button--square:after{border-radius:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/calendar/calendar.wxml b/coupon/miniprogram/@vant/weapp/dist/calendar/calendar.wxml
new file mode 100644
index 0000000..808f739
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/calendar/calendar.wxml
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/calendar/components/header/index.js b/coupon/miniprogram/@vant/weapp/dist/calendar/components/header/index.js
new file mode 100644
index 0000000..8fb3682
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/calendar/components/header/index.js
@@ -0,0 +1,37 @@
+import { VantComponent } from '../../../common/component';
+VantComponent({
+ props: {
+ title: {
+ type: String,
+ value: '日期选择',
+ },
+ subtitle: String,
+ showTitle: Boolean,
+ showSubtitle: Boolean,
+ firstDayOfWeek: {
+ type: Number,
+ observer: 'initWeekDay',
+ },
+ },
+ data: {
+ weekdays: [],
+ },
+ created() {
+ this.initWeekDay();
+ },
+ methods: {
+ initWeekDay() {
+ const defaultWeeks = ['日', '一', '二', '三', '四', '五', '六'];
+ const firstDayOfWeek = this.data.firstDayOfWeek || 0;
+ this.setData({
+ weekdays: [
+ ...defaultWeeks.slice(firstDayOfWeek, 7),
+ ...defaultWeeks.slice(0, firstDayOfWeek),
+ ],
+ });
+ },
+ onClickSubtitle(event) {
+ this.$emit('click-subtitle', event);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/calendar/components/header/index.json b/coupon/miniprogram/@vant/weapp/dist/calendar/components/header/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/calendar/components/header/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/calendar/components/header/index.wxml b/coupon/miniprogram/@vant/weapp/dist/calendar/components/header/index.wxml
new file mode 100644
index 0000000..7e56c83
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/calendar/components/header/index.wxml
@@ -0,0 +1,16 @@
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/calendar/components/header/index.wxss b/coupon/miniprogram/@vant/weapp/dist/calendar/components/header/index.wxss
new file mode 100644
index 0000000..272537e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/calendar/components/header/index.wxss
@@ -0,0 +1 @@
+@import '../../../common/index.wxss';.van-calendar__header{box-shadow:var(--calendar-header-box-shadow,0 2px 10px hsla(220,1%,50%,.16));flex-shrink:0}.van-calendar__header-subtitle,.van-calendar__header-title{font-weight:var(--font-weight-bold,500);height:var(--calendar-header-title-height,44px);line-height:var(--calendar-header-title-height,44px);text-align:center}.van-calendar__header-title+.van-calendar__header-title,.van-calendar__header-title:empty{display:none}.van-calendar__header-title:empty+.van-calendar__header-title{display:block!important}.van-calendar__weekdays{display:flex}.van-calendar__weekday{flex:1;font-size:var(--calendar-weekdays-font-size,12px);line-height:var(--calendar-weekdays-height,30px);text-align:center}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/calendar/components/month/index.js b/coupon/miniprogram/@vant/weapp/dist/calendar/components/month/index.js
new file mode 100644
index 0000000..d04c0fe
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/calendar/components/month/index.js
@@ -0,0 +1,154 @@
+import { VantComponent } from '../../../common/component';
+import { getMonthEndDay, compareDay, getPrevDay, getNextDay, } from '../../utils';
+VantComponent({
+ props: {
+ date: {
+ type: null,
+ observer: 'setDays',
+ },
+ type: {
+ type: String,
+ observer: 'setDays',
+ },
+ color: String,
+ minDate: {
+ type: null,
+ observer: 'setDays',
+ },
+ maxDate: {
+ type: null,
+ observer: 'setDays',
+ },
+ showMark: Boolean,
+ rowHeight: null,
+ formatter: {
+ type: null,
+ observer: 'setDays',
+ },
+ currentDate: {
+ type: null,
+ observer: 'setDays',
+ },
+ firstDayOfWeek: {
+ type: Number,
+ observer: 'setDays',
+ },
+ allowSameDay: Boolean,
+ showSubtitle: Boolean,
+ showMonthTitle: Boolean,
+ },
+ data: {
+ visible: true,
+ days: [],
+ },
+ methods: {
+ onClick(event) {
+ const { index } = event.currentTarget.dataset;
+ const item = this.data.days[index];
+ if (item.type !== 'disabled') {
+ this.$emit('click', item);
+ }
+ },
+ setDays() {
+ const days = [];
+ const startDate = new Date(this.data.date);
+ const year = startDate.getFullYear();
+ const month = startDate.getMonth();
+ const totalDay = getMonthEndDay(startDate.getFullYear(), startDate.getMonth() + 1);
+ for (let day = 1; day <= totalDay; day++) {
+ const date = new Date(year, month, day);
+ const type = this.getDayType(date);
+ let config = {
+ date,
+ type,
+ text: day,
+ bottomInfo: this.getBottomInfo(type),
+ };
+ if (this.data.formatter) {
+ config = this.data.formatter(config);
+ }
+ days.push(config);
+ }
+ this.setData({ days });
+ },
+ getMultipleDayType(day) {
+ const { currentDate } = this.data;
+ if (!Array.isArray(currentDate)) {
+ return '';
+ }
+ const isSelected = (date) => currentDate.some((item) => compareDay(item, date) === 0);
+ if (isSelected(day)) {
+ const prevDay = getPrevDay(day);
+ const nextDay = getNextDay(day);
+ const prevSelected = isSelected(prevDay);
+ const nextSelected = isSelected(nextDay);
+ if (prevSelected && nextSelected) {
+ return 'multiple-middle';
+ }
+ if (prevSelected) {
+ return 'end';
+ }
+ return nextSelected ? 'start' : 'multiple-selected';
+ }
+ return '';
+ },
+ getRangeDayType(day) {
+ const { currentDate, allowSameDay } = this.data;
+ if (!Array.isArray(currentDate)) {
+ return '';
+ }
+ const [startDay, endDay] = currentDate;
+ if (!startDay) {
+ return '';
+ }
+ const compareToStart = compareDay(day, startDay);
+ if (!endDay) {
+ return compareToStart === 0 ? 'start' : '';
+ }
+ const compareToEnd = compareDay(day, endDay);
+ if (compareToStart === 0 && compareToEnd === 0 && allowSameDay) {
+ return 'start-end';
+ }
+ if (compareToStart === 0) {
+ return 'start';
+ }
+ if (compareToEnd === 0) {
+ return 'end';
+ }
+ if (compareToStart > 0 && compareToEnd < 0) {
+ return 'middle';
+ }
+ return '';
+ },
+ getDayType(day) {
+ const { type, minDate, maxDate, currentDate } = this.data;
+ if (compareDay(day, minDate) < 0 || compareDay(day, maxDate) > 0) {
+ return 'disabled';
+ }
+ if (type === 'single') {
+ return compareDay(day, currentDate) === 0 ? 'selected' : '';
+ }
+ if (type === 'multiple') {
+ return this.getMultipleDayType(day);
+ }
+ /* istanbul ignore else */
+ if (type === 'range') {
+ return this.getRangeDayType(day);
+ }
+ return '';
+ },
+ getBottomInfo(type) {
+ if (this.data.type === 'range') {
+ if (type === 'start') {
+ return '开始';
+ }
+ if (type === 'end') {
+ return '结束';
+ }
+ if (type === 'start-end') {
+ return '开始/结束';
+ }
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/calendar/components/month/index.json b/coupon/miniprogram/@vant/weapp/dist/calendar/components/month/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/calendar/components/month/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/calendar/components/month/index.wxml b/coupon/miniprogram/@vant/weapp/dist/calendar/components/month/index.wxml
new file mode 100644
index 0000000..4a2c47c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/calendar/components/month/index.wxml
@@ -0,0 +1,39 @@
+
+
+
+
+
+ {{ computed.formatMonthTitle(date) }}
+
+
+
+
+ {{ computed.getMark(date) }}
+
+
+
+
+ {{ item.topInfo }}
+ {{ item.text }}
+
+ {{ item.bottomInfo }}
+
+
+
+
+ {{ item.topInfo }}
+ {{ item.text }}
+
+ {{ item.bottomInfo }}
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/calendar/components/month/index.wxs b/coupon/miniprogram/@vant/weapp/dist/calendar/components/month/index.wxs
new file mode 100644
index 0000000..55e45a5
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/calendar/components/month/index.wxs
@@ -0,0 +1,71 @@
+/* eslint-disable */
+var utils = require('../../utils.wxs');
+
+function getMark(date) {
+ return getDate(date).getMonth() + 1;
+}
+
+var ROW_HEIGHT = 64;
+
+function getDayStyle(type, index, date, rowHeight, color, firstDayOfWeek) {
+ var style = [];
+ var current = getDate(date).getDay() || 7;
+ var offset = current < firstDayOfWeek ? (7 - firstDayOfWeek + current) :
+ current === 7 && firstDayOfWeek === 0 ? 0 :
+ (current - firstDayOfWeek);
+
+ if (index === 0) {
+ style.push(['margin-left', (100 * offset) / 7 + '%']);
+ }
+
+ if (rowHeight !== ROW_HEIGHT) {
+ style.push(['height', rowHeight + 'px']);
+ }
+
+ if (color) {
+ if (
+ type === 'start' ||
+ type === 'end' ||
+ type === 'start-end' ||
+ type === 'multiple-selected' ||
+ type === 'multiple-middle'
+ ) {
+ style.push(['background', color]);
+ } else if (type === 'middle') {
+ style.push(['color', color]);
+ }
+ }
+
+ return style
+ .map(function(item) {
+ return item.join(':');
+ })
+ .join(';');
+}
+
+function formatMonthTitle(date) {
+ date = getDate(date);
+ return date.getFullYear() + '年' + (date.getMonth() + 1) + '月';
+}
+
+function getMonthStyle(visible, date, rowHeight) {
+ if (!visible) {
+ date = getDate(date);
+
+ var totalDay = utils.getMonthEndDay(
+ date.getFullYear(),
+ date.getMonth() + 1
+ );
+ var offset = getDate(date).getDay();
+ var padding = Math.ceil((totalDay + offset) / 7) * rowHeight;
+
+ return 'padding-bottom:' + padding + 'px';
+ }
+}
+
+module.exports = {
+ getMark: getMark,
+ getDayStyle: getDayStyle,
+ formatMonthTitle: formatMonthTitle,
+ getMonthStyle: getMonthStyle
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/calendar/components/month/index.wxss b/coupon/miniprogram/@vant/weapp/dist/calendar/components/month/index.wxss
new file mode 100644
index 0000000..9aee73d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/calendar/components/month/index.wxss
@@ -0,0 +1 @@
+@import '../../../common/index.wxss';.van-calendar{background-color:var(--calendar-background-color,#fff);display:flex;flex-direction:column;height:100%}.van-calendar__month-title{font-size:var(--calendar-month-title-font-size,14px);font-weight:var(--font-weight-bold,500);height:var(--calendar-header-title-height,44px);line-height:var(--calendar-header-title-height,44px);text-align:center}.van-calendar__days{display:flex;flex-wrap:wrap;position:relative;-webkit-user-select:none;user-select:none}.van-calendar__month-mark{color:var(--calendar-month-mark-color,rgba(242,243,245,.8));font-size:var(--calendar-month-mark-font-size,160px);left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:0}.van-calendar__day,.van-calendar__selected-day{align-items:center;display:flex;justify-content:center;text-align:center}.van-calendar__day{font-size:var(--calendar-day-font-size,16px);height:var(--calendar-day-height,64px);position:relative;width:14.285%}.van-calendar__day--end,.van-calendar__day--multiple-middle,.van-calendar__day--multiple-selected,.van-calendar__day--start,.van-calendar__day--start-end{background-color:var(--calendar-range-edge-background-color,#ee0a24);color:var(--calendar-range-edge-color,#fff)}.van-calendar__day--start{border-radius:4px 0 0 4px}.van-calendar__day--end{border-radius:0 4px 4px 0}.van-calendar__day--multiple-selected,.van-calendar__day--start-end{border-radius:4px}.van-calendar__day--middle{color:var(--calendar-range-middle-color,#ee0a24)}.van-calendar__day--middle:after{background-color:currentColor;bottom:0;content:"";left:0;opacity:var(--calendar-range-middle-background-opacity,.1);position:absolute;right:0;top:0}.van-calendar__day--disabled{color:var(--calendar-day-disabled-color,#c8c9cc);cursor:default}.van-calendar__bottom-info,.van-calendar__top-info{font-size:var(--calendar-info-font-size,10px);left:0;line-height:var(--calendar-info-line-height,14px);position:absolute;right:0}@media (max-width:350px){.van-calendar__bottom-info,.van-calendar__top-info{font-size:9px}}.van-calendar__top-info{top:6px}.van-calendar__bottom-info{bottom:6px}.van-calendar__selected-day{background-color:var(--calendar-selected-day-background-color,#ee0a24);border-radius:4px;color:var(--calendar-selected-day-color,#fff);height:var(--calendar-selected-day-size,54px);width:var(--calendar-selected-day-size,54px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/calendar/index.js b/coupon/miniprogram/@vant/weapp/dist/calendar/index.js
new file mode 100644
index 0000000..3b7b454
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/calendar/index.js
@@ -0,0 +1,337 @@
+import { VantComponent } from '../common/component';
+import { ROW_HEIGHT, getPrevDay, getNextDay, getToday, compareDay, copyDates, calcDateNum, formatMonthTitle, compareMonth, getMonths, getDayByOffset, } from './utils';
+import Toast from '../toast/toast';
+import { requestAnimationFrame } from '../common/utils';
+const initialMinDate = getToday().getTime();
+const initialMaxDate = (() => {
+ const now = getToday();
+ return new Date(now.getFullYear(), now.getMonth() + 6, now.getDate()).getTime();
+})();
+const getTime = (date) => date instanceof Date ? date.getTime() : date;
+VantComponent({
+ props: {
+ title: {
+ type: String,
+ value: '日期选择',
+ },
+ color: String,
+ show: {
+ type: Boolean,
+ observer(val) {
+ if (val) {
+ this.initRect();
+ this.scrollIntoView();
+ }
+ },
+ },
+ formatter: null,
+ confirmText: {
+ type: String,
+ value: '确定',
+ },
+ confirmDisabledText: {
+ type: String,
+ value: '确定',
+ },
+ rangePrompt: String,
+ showRangePrompt: {
+ type: Boolean,
+ value: true,
+ },
+ defaultDate: {
+ type: null,
+ observer(val) {
+ this.setData({ currentDate: val });
+ this.scrollIntoView();
+ },
+ },
+ allowSameDay: Boolean,
+ type: {
+ type: String,
+ value: 'single',
+ observer: 'reset',
+ },
+ minDate: {
+ type: Number,
+ value: initialMinDate,
+ },
+ maxDate: {
+ type: Number,
+ value: initialMaxDate,
+ },
+ position: {
+ type: String,
+ value: 'bottom',
+ },
+ rowHeight: {
+ type: null,
+ value: ROW_HEIGHT,
+ },
+ round: {
+ type: Boolean,
+ value: true,
+ },
+ poppable: {
+ type: Boolean,
+ value: true,
+ },
+ showMark: {
+ type: Boolean,
+ value: true,
+ },
+ showTitle: {
+ type: Boolean,
+ value: true,
+ },
+ showConfirm: {
+ type: Boolean,
+ value: true,
+ },
+ showSubtitle: {
+ type: Boolean,
+ value: true,
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ },
+ maxRange: {
+ type: null,
+ value: null,
+ },
+ firstDayOfWeek: {
+ type: Number,
+ value: 0,
+ },
+ readonly: Boolean,
+ },
+ data: {
+ subtitle: '',
+ currentDate: null,
+ scrollIntoView: '',
+ },
+ created() {
+ this.setData({
+ currentDate: this.getInitialDate(this.data.defaultDate),
+ });
+ },
+ mounted() {
+ if (this.data.show || !this.data.poppable) {
+ this.initRect();
+ this.scrollIntoView();
+ }
+ },
+ methods: {
+ reset() {
+ this.setData({ currentDate: this.getInitialDate() });
+ this.scrollIntoView();
+ },
+ initRect() {
+ if (this.contentObserver != null) {
+ this.contentObserver.disconnect();
+ }
+ const contentObserver = this.createIntersectionObserver({
+ thresholds: [0, 0.1, 0.9, 1],
+ observeAll: true,
+ });
+ this.contentObserver = contentObserver;
+ contentObserver.relativeTo('.van-calendar__body');
+ contentObserver.observe('.month', (res) => {
+ if (res.boundingClientRect.top <= res.relativeRect.top) {
+ // @ts-ignore
+ this.setData({ subtitle: formatMonthTitle(res.dataset.date) });
+ }
+ });
+ },
+ limitDateRange(date, minDate = null, maxDate = null) {
+ minDate = minDate || this.data.minDate;
+ maxDate = maxDate || this.data.maxDate;
+ if (compareDay(date, minDate) === -1) {
+ return minDate;
+ }
+ if (compareDay(date, maxDate) === 1) {
+ return maxDate;
+ }
+ return date;
+ },
+ getInitialDate(defaultDate = null) {
+ const { type, minDate, maxDate } = this.data;
+ const now = getToday().getTime();
+ if (type === 'range') {
+ if (!Array.isArray(defaultDate)) {
+ defaultDate = [];
+ }
+ const [startDay, endDay] = defaultDate || [];
+ const start = this.limitDateRange(startDay || now, minDate, getPrevDay(new Date(maxDate)).getTime());
+ const end = this.limitDateRange(endDay || now, getNextDay(new Date(minDate)).getTime());
+ return [start, end];
+ }
+ if (type === 'multiple') {
+ if (Array.isArray(defaultDate)) {
+ return defaultDate.map((date) => this.limitDateRange(date));
+ }
+ return [this.limitDateRange(now)];
+ }
+ if (!defaultDate || Array.isArray(defaultDate)) {
+ defaultDate = now;
+ }
+ return this.limitDateRange(defaultDate);
+ },
+ scrollIntoView() {
+ requestAnimationFrame(() => {
+ const { currentDate, type, show, poppable, minDate, maxDate } = this.data;
+ // @ts-ignore
+ const targetDate = type === 'single' ? currentDate : currentDate[0];
+ const displayed = show || !poppable;
+ if (!targetDate || !displayed) {
+ return;
+ }
+ const months = getMonths(minDate, maxDate);
+ months.some((month, index) => {
+ if (compareMonth(month, targetDate) === 0) {
+ this.setData({ scrollIntoView: `month${index}` });
+ return true;
+ }
+ return false;
+ });
+ });
+ },
+ onOpen() {
+ this.$emit('open');
+ },
+ onOpened() {
+ this.$emit('opened');
+ },
+ onClose() {
+ this.$emit('close');
+ },
+ onClosed() {
+ this.$emit('closed');
+ },
+ onClickDay(event) {
+ if (this.data.readonly) {
+ return;
+ }
+ let { date } = event.detail;
+ const { type, currentDate, allowSameDay } = this.data;
+ if (type === 'range') {
+ // @ts-ignore
+ const [startDay, endDay] = currentDate;
+ if (startDay && !endDay) {
+ const compareToStart = compareDay(date, startDay);
+ if (compareToStart === 1) {
+ const { days } = this.selectComponent('.month').data;
+ days.some((day, index) => {
+ const isDisabled = day.type === 'disabled' &&
+ getTime(startDay) < getTime(day.date) &&
+ getTime(day.date) < getTime(date);
+ if (isDisabled) {
+ ({ date } = days[index - 1]);
+ }
+ return isDisabled;
+ });
+ this.select([startDay, date], true);
+ }
+ else if (compareToStart === -1) {
+ this.select([date, null]);
+ }
+ else if (allowSameDay) {
+ this.select([date, date]);
+ }
+ }
+ else {
+ this.select([date, null]);
+ }
+ }
+ else if (type === 'multiple') {
+ let selectedIndex;
+ // @ts-ignore
+ const selected = currentDate.some((dateItem, index) => {
+ const equal = compareDay(dateItem, date) === 0;
+ if (equal) {
+ selectedIndex = index;
+ }
+ return equal;
+ });
+ if (selected) {
+ // @ts-ignore
+ const cancelDate = currentDate.splice(selectedIndex, 1);
+ this.setData({ currentDate });
+ this.unselect(cancelDate);
+ }
+ else {
+ // @ts-ignore
+ this.select([...currentDate, date]);
+ }
+ }
+ else {
+ this.select(date, true);
+ }
+ },
+ unselect(dateArray) {
+ const date = dateArray[0];
+ if (date) {
+ this.$emit('unselect', copyDates(date));
+ }
+ },
+ select(date, complete) {
+ if (complete && this.data.type === 'range') {
+ const valid = this.checkRange(date);
+ if (!valid) {
+ // auto selected to max range if showConfirm
+ if (this.data.showConfirm) {
+ this.emit([
+ date[0],
+ getDayByOffset(date[0], this.data.maxRange - 1),
+ ]);
+ }
+ else {
+ this.emit(date);
+ }
+ return;
+ }
+ }
+ this.emit(date);
+ if (complete && !this.data.showConfirm) {
+ this.onConfirm();
+ }
+ },
+ emit(date) {
+ this.setData({
+ currentDate: Array.isArray(date) ? date.map(getTime) : getTime(date),
+ });
+ this.$emit('select', copyDates(date));
+ },
+ checkRange(date) {
+ const { maxRange, rangePrompt, showRangePrompt } = this.data;
+ if (maxRange && calcDateNum(date) > maxRange) {
+ if (showRangePrompt) {
+ Toast({
+ context: this,
+ message: rangePrompt || `选择天数不能超过 ${maxRange} 天`,
+ });
+ }
+ this.$emit('over-range');
+ return false;
+ }
+ return true;
+ },
+ onConfirm() {
+ if (this.data.type === 'range' &&
+ !this.checkRange(this.data.currentDate)) {
+ return;
+ }
+ wx.nextTick(() => {
+ // @ts-ignore
+ this.$emit('confirm', copyDates(this.data.currentDate));
+ });
+ },
+ onClickSubtitle(event) {
+ this.$emit('click-subtitle', event);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/calendar/index.json b/coupon/miniprogram/@vant/weapp/dist/calendar/index.json
new file mode 100644
index 0000000..397d5ae
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/calendar/index.json
@@ -0,0 +1,10 @@
+{
+ "component": true,
+ "usingComponents": {
+ "header": "./components/header/index",
+ "month": "./components/month/index",
+ "van-button": "../button/index",
+ "van-popup": "../popup/index",
+ "van-toast": "../toast/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/calendar/index.wxml b/coupon/miniprogram/@vant/weapp/dist/calendar/index.wxml
new file mode 100644
index 0000000..bc8bcfd
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/calendar/index.wxml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/calendar/index.wxs b/coupon/miniprogram/@vant/weapp/dist/calendar/index.wxs
new file mode 100644
index 0000000..0c570fc
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/calendar/index.wxs
@@ -0,0 +1,38 @@
+/* eslint-disable */
+var utils = require('./utils.wxs');
+
+function getMonths(minDate, maxDate) {
+ var months = [];
+ var cursor = getDate(minDate);
+
+ cursor.setDate(1);
+ cursor.setMinutes(cursor.getMinutes() - cursor.getTimezoneOffset());
+
+ do {
+ months.push(cursor.getTime());
+ cursor.setMonth(cursor.getMonth() + 1);
+ } while (utils.compareMonth(cursor, getDate(maxDate)) !== 1);
+
+ return months;
+}
+
+function getButtonDisabled(type, currentDate) {
+ if (currentDate == null) {
+ return true;
+ }
+
+ if (type === 'range') {
+ return !currentDate[0] || !currentDate[1];
+ }
+
+ if (type === 'multiple') {
+ return !currentDate.length;
+ }
+
+ return !currentDate;
+}
+
+module.exports = {
+ getMonths: getMonths,
+ getButtonDisabled: getButtonDisabled
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/calendar/index.wxss b/coupon/miniprogram/@vant/weapp/dist/calendar/index.wxss
new file mode 100644
index 0000000..05df518
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/calendar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-calendar{background-color:var(--calendar-background-color,#fff);display:flex;flex-direction:column;height:var(--calendar-height,100%)}.van-calendar__close-icon{top:11px}.van-calendar__popup--bottom,.van-calendar__popup--top{height:var(--calendar-popup-height,80%)}.van-calendar__popup--left,.van-calendar__popup--right{height:100%}.van-calendar__body{-webkit-overflow-scrolling:touch;flex:1;overflow:auto}.van-calendar__footer{flex-shrink:0;padding:0 var(--padding-md,16px)}.van-calendar__footer--safe-area-inset-bottom{padding-bottom:env(safe-area-inset-bottom)}.van-calendar__footer+.van-calendar__footer,.van-calendar__footer:empty{display:none}.van-calendar__footer:empty+.van-calendar__footer{display:block!important}.van-calendar__confirm{height:var(--calendar-confirm-button-height,36px)!important;line-height:var(--calendar-confirm-button-line-height,34px)!important;margin:var(--calendar-confirm-button-margin,7px 0)!important}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/calendar/utils.js b/coupon/miniprogram/@vant/weapp/dist/calendar/utils.js
new file mode 100644
index 0000000..83d6971
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/calendar/utils.js
@@ -0,0 +1,83 @@
+export const ROW_HEIGHT = 64;
+export function formatMonthTitle(date) {
+ if (!(date instanceof Date)) {
+ date = new Date(date);
+ }
+ return `${date.getFullYear()}年${date.getMonth() + 1}月`;
+}
+export function compareMonth(date1, date2) {
+ if (!(date1 instanceof Date)) {
+ date1 = new Date(date1);
+ }
+ if (!(date2 instanceof Date)) {
+ date2 = new Date(date2);
+ }
+ const year1 = date1.getFullYear();
+ const year2 = date2.getFullYear();
+ const month1 = date1.getMonth();
+ const month2 = date2.getMonth();
+ if (year1 === year2) {
+ return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;
+ }
+ return year1 > year2 ? 1 : -1;
+}
+export function compareDay(day1, day2) {
+ if (!(day1 instanceof Date)) {
+ day1 = new Date(day1);
+ }
+ if (!(day2 instanceof Date)) {
+ day2 = new Date(day2);
+ }
+ const compareMonthResult = compareMonth(day1, day2);
+ if (compareMonthResult === 0) {
+ const date1 = day1.getDate();
+ const date2 = day2.getDate();
+ return date1 === date2 ? 0 : date1 > date2 ? 1 : -1;
+ }
+ return compareMonthResult;
+}
+export function getDayByOffset(date, offset) {
+ date = new Date(date);
+ date.setDate(date.getDate() + offset);
+ return date;
+}
+export function getPrevDay(date) {
+ return getDayByOffset(date, -1);
+}
+export function getNextDay(date) {
+ return getDayByOffset(date, 1);
+}
+export function getToday() {
+ const today = new Date();
+ today.setHours(0, 0, 0, 0);
+ return today;
+}
+export function calcDateNum(date) {
+ const day1 = new Date(date[0]).getTime();
+ const day2 = new Date(date[1]).getTime();
+ return (day2 - day1) / (1000 * 60 * 60 * 24) + 1;
+}
+export function copyDates(dates) {
+ if (Array.isArray(dates)) {
+ return dates.map((date) => {
+ if (date === null) {
+ return date;
+ }
+ return new Date(date);
+ });
+ }
+ return new Date(dates);
+}
+export function getMonthEndDay(year, month) {
+ return 32 - new Date(year, month - 1, 32).getDate();
+}
+export function getMonths(minDate, maxDate) {
+ const months = [];
+ const cursor = new Date(minDate);
+ cursor.setDate(1);
+ do {
+ months.push(cursor.getTime());
+ cursor.setMonth(cursor.getMonth() + 1);
+ } while (compareMonth(cursor, maxDate) !== 1);
+ return months;
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/calendar/utils.wxs b/coupon/miniprogram/@vant/weapp/dist/calendar/utils.wxs
new file mode 100644
index 0000000..e57f6b3
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/calendar/utils.wxs
@@ -0,0 +1,25 @@
+/* eslint-disable */
+function getMonthEndDay(year, month) {
+ return 32 - getDate(year, month - 1, 32).getDate();
+}
+
+function compareMonth(date1, date2) {
+ date1 = getDate(date1);
+ date2 = getDate(date2);
+
+ var year1 = date1.getFullYear();
+ var year2 = date2.getFullYear();
+ var month1 = date1.getMonth();
+ var month2 = date2.getMonth();
+
+ if (year1 === year2) {
+ return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;
+ }
+
+ return year1 > year2 ? 1 : -1;
+}
+
+module.exports = {
+ getMonthEndDay: getMonthEndDay,
+ compareMonth: compareMonth
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/card/index.js b/coupon/miniprogram/@vant/weapp/dist/card/index.js
new file mode 100644
index 0000000..5bbd212
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/card/index.js
@@ -0,0 +1,49 @@
+import { link } from '../mixins/link';
+import { VantComponent } from '../common/component';
+VantComponent({
+ classes: [
+ 'num-class',
+ 'desc-class',
+ 'thumb-class',
+ 'title-class',
+ 'price-class',
+ 'origin-price-class',
+ ],
+ mixins: [link],
+ props: {
+ tag: String,
+ num: String,
+ desc: String,
+ thumb: String,
+ title: String,
+ price: {
+ type: String,
+ observer: 'updatePrice',
+ },
+ centered: Boolean,
+ lazyLoad: Boolean,
+ thumbLink: String,
+ originPrice: String,
+ thumbMode: {
+ type: String,
+ value: 'aspectFit',
+ },
+ currency: {
+ type: String,
+ value: '¥',
+ },
+ },
+ methods: {
+ updatePrice() {
+ const { price } = this.data;
+ const priceArr = price.toString().split('.');
+ this.setData({
+ integerStr: priceArr[0],
+ decimalStr: priceArr[1] ? `.${priceArr[1]}` : '',
+ });
+ },
+ onClickThumb() {
+ this.jumpLink('thumbLink');
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/card/index.json b/coupon/miniprogram/@vant/weapp/dist/card/index.json
new file mode 100644
index 0000000..e917407
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/card/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-tag": "../tag/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/card/index.wxml b/coupon/miniprogram/@vant/weapp/dist/card/index.wxml
new file mode 100644
index 0000000..62173e4
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/card/index.wxml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/card/index.wxss b/coupon/miniprogram/@vant/weapp/dist/card/index.wxss
new file mode 100644
index 0000000..0f4d7c5
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/card/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-card{background-color:var(--card-background-color,#fafafa);box-sizing:border-box;color:var(--card-text-color,#323233);font-size:var(--card-font-size,12px);padding:var(--card-padding,8px 16px);position:relative}.van-card__header{display:flex}.van-card__header--center{align-items:center;justify-content:center}.van-card__thumb{flex:none;height:var(--card-thumb-size,88px);margin-right:var(--padding-xs,8px);position:relative;width:var(--card-thumb-size,88px)}.van-card__thumb:empty{display:none}.van-card__img{border-radius:8px;height:100%;width:100%}.van-card__content{display:flex;flex:1;flex-direction:column;justify-content:space-between;min-height:var(--card-thumb-size,88px);min-width:0;position:relative}.van-card__content--center{justify-content:center}.van-card__desc,.van-card__title{word-wrap:break-word}.van-card__title{font-weight:700;line-height:var(--card-title-line-height,16px)}.van-card__desc{color:var(--card-desc-color,#646566);line-height:var(--card-desc-line-height,20px)}.van-card__bottom{line-height:20px}.van-card__price{color:var(--card-price-color,#ee0a24);display:inline-block;font-size:var(--card-price-font-size,12px);font-weight:700}.van-card__price-integer{font-size:var(--card-price-integer-font-size,16px)}.van-card__price-decimal,.van-card__price-integer{font-family:var(--card-price-font-family,Avenir-Heavy,PingFang SC,Helvetica Neue,Arial,sans-serif)}.van-card__origin-price{color:var(--card-origin-price-color,#646566);display:inline-block;font-size:var(--card-origin-price-font-size,10px);margin-left:5px;text-decoration:line-through}.van-card__num{float:right}.van-card__tag{left:0;position:absolute!important;top:2px}.van-card__footer{flex:none;text-align:right;width:100%}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/cell-group/index.js b/coupon/miniprogram/@vant/weapp/dist/cell-group/index.js
new file mode 100644
index 0000000..170760f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/cell-group/index.js
@@ -0,0 +1,11 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ title: String,
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ inset: Boolean,
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/cell-group/index.json b/coupon/miniprogram/@vant/weapp/dist/cell-group/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/cell-group/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/cell-group/index.wxml b/coupon/miniprogram/@vant/weapp/dist/cell-group/index.wxml
new file mode 100644
index 0000000..311e064
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/cell-group/index.wxml
@@ -0,0 +1,11 @@
+
+
+
+ {{ title }}
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/cell-group/index.wxss b/coupon/miniprogram/@vant/weapp/dist/cell-group/index.wxss
new file mode 100644
index 0000000..08b252f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/cell-group/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-cell-group--inset{border-radius:var(--cell-group-inset-border-radius,8px);margin:var(--cell-group-inset-padding,0 16px);overflow:hidden}.van-cell-group__title{color:var(--cell-group-title-color,#969799);font-size:var(--cell-group-title-font-size,14px);line-height:var(--cell-group-title-line-height,16px);padding:var(--cell-group-title-padding,16px 16px 8px)}.van-cell-group__title--inset{padding:var(--cell-group-inset-title-padding,16px 16px 8px 32px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/cell/index.js b/coupon/miniprogram/@vant/weapp/dist/cell/index.js
new file mode 100644
index 0000000..35548b9
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/cell/index.js
@@ -0,0 +1,38 @@
+import { link } from '../mixins/link';
+import { VantComponent } from '../common/component';
+VantComponent({
+ classes: [
+ 'title-class',
+ 'label-class',
+ 'value-class',
+ 'right-icon-class',
+ 'hover-class',
+ ],
+ mixins: [link],
+ props: {
+ title: null,
+ value: null,
+ icon: String,
+ size: String,
+ label: String,
+ center: Boolean,
+ isLink: Boolean,
+ required: Boolean,
+ clickable: Boolean,
+ titleWidth: String,
+ customStyle: String,
+ arrowDirection: String,
+ useLabelSlot: Boolean,
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ titleStyle: String,
+ },
+ methods: {
+ onClick(event) {
+ this.$emit('click', event.detail);
+ this.jumpLink();
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/cell/index.json b/coupon/miniprogram/@vant/weapp/dist/cell/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/cell/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/cell/index.wxml b/coupon/miniprogram/@vant/weapp/dist/cell/index.wxml
new file mode 100644
index 0000000..8387c3c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/cell/index.wxml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+ {{ title }}
+
+
+
+
+ {{ label }}
+
+
+
+
+ {{ value }}
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/cell/index.wxs b/coupon/miniprogram/@vant/weapp/dist/cell/index.wxs
new file mode 100644
index 0000000..e3500c4
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/cell/index.wxs
@@ -0,0 +1,17 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function titleStyle(data) {
+ return style([
+ {
+ 'max-width': addUnit(data.titleWidth),
+ 'min-width': addUnit(data.titleWidth),
+ },
+ data.titleStyle,
+ ]);
+}
+
+module.exports = {
+ titleStyle: titleStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/cell/index.wxss b/coupon/miniprogram/@vant/weapp/dist/cell/index.wxss
new file mode 100644
index 0000000..1802f8e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/cell/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-cell{background-color:var(--cell-background-color,#fff);box-sizing:border-box;color:var(--cell-text-color,#323233);display:flex;font-size:var(--cell-font-size,14px);line-height:var(--cell-line-height,24px);padding:var(--cell-vertical-padding,10px) var(--cell-horizontal-padding,16px);position:relative;width:100%}.van-cell:after{border-bottom:1px solid #ebedf0;bottom:0;box-sizing:border-box;content:" ";left:16px;pointer-events:none;position:absolute;right:16px;transform:scaleY(.5);transform-origin:center}.van-cell--borderless:after{display:none}.van-cell-group{background-color:var(--cell-background-color,#fff)}.van-cell__label{color:var(--cell-label-color,#969799);font-size:var(--cell-label-font-size,12px);line-height:var(--cell-label-line-height,18px);margin-top:var(--cell-label-margin-top,3px)}.van-cell__value{color:var(--cell-value-color,#969799);overflow:hidden;text-align:right;vertical-align:middle}.van-cell__title,.van-cell__value{flex:1}.van-cell__title:empty,.van-cell__value:empty{display:none}.van-cell__left-icon-wrap,.van-cell__right-icon-wrap{align-items:center;display:flex;font-size:var(--cell-icon-size,16px);height:var(--cell-line-height,24px)}.van-cell__left-icon-wrap{margin-right:var(--padding-base,4px)}.van-cell__right-icon-wrap{color:var(--cell-right-icon-color,#969799);margin-left:var(--padding-base,4px)}.van-cell__left-icon{vertical-align:middle}.van-cell__left-icon,.van-cell__right-icon{line-height:var(--cell-line-height,24px)}.van-cell--clickable.van-cell--hover{background-color:var(--cell-active-color,#f2f3f5)}.van-cell--required{overflow:visible}.van-cell--required:before{color:var(--cell-required-color,#ee0a24);content:"*";font-size:var(--cell-font-size,14px);left:var(--padding-xs,8px);position:absolute}.van-cell--center{align-items:center}.van-cell--large{padding-bottom:var(--cell-large-vertical-padding,12px);padding-top:var(--cell-large-vertical-padding,12px)}.van-cell--large .van-cell__title{font-size:var(--cell-large-title-font-size,16px)}.van-cell--large .van-cell__value{font-size:var(--cell-large-value-font-size,16px)}.van-cell--large .van-cell__label{font-size:var(--cell-large-label-font-size,14px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/checkbox-group/index.js b/coupon/miniprogram/@vant/weapp/dist/checkbox-group/index.js
new file mode 100644
index 0000000..c47d97d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/checkbox-group/index.js
@@ -0,0 +1,36 @@
+import { useChildren } from '../common/relation';
+import { VantComponent } from '../common/component';
+VantComponent({
+ field: true,
+ relation: useChildren('checkbox', function (target) {
+ this.updateChild(target);
+ }),
+ props: {
+ max: Number,
+ value: {
+ type: Array,
+ observer: 'updateChildren',
+ },
+ disabled: {
+ type: Boolean,
+ observer: 'updateChildren',
+ },
+ direction: {
+ type: String,
+ value: 'vertical',
+ },
+ },
+ methods: {
+ updateChildren() {
+ this.children.forEach((child) => this.updateChild(child));
+ },
+ updateChild(child) {
+ const { value, disabled, direction } = this.data;
+ child.setData({
+ value: value.indexOf(child.data.name) !== -1,
+ parentDisabled: disabled,
+ direction,
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/checkbox-group/index.json b/coupon/miniprogram/@vant/weapp/dist/checkbox-group/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/checkbox-group/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/checkbox-group/index.wxml b/coupon/miniprogram/@vant/weapp/dist/checkbox-group/index.wxml
new file mode 100644
index 0000000..638bf9d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/checkbox-group/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/checkbox-group/index.wxss b/coupon/miniprogram/@vant/weapp/dist/checkbox-group/index.wxss
new file mode 100644
index 0000000..c5666d7
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/checkbox-group/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-checkbox-group--horizontal{display:flex;flex-wrap:wrap}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/checkbox/index.js b/coupon/miniprogram/@vant/weapp/dist/checkbox/index.js
new file mode 100644
index 0000000..e3b78ab
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/checkbox/index.js
@@ -0,0 +1,77 @@
+import { useParent } from '../common/relation';
+import { VantComponent } from '../common/component';
+function emit(target, value) {
+ target.$emit('input', value);
+ target.$emit('change', value);
+}
+VantComponent({
+ field: true,
+ relation: useParent('checkbox-group'),
+ classes: ['icon-class', 'label-class'],
+ props: {
+ value: Boolean,
+ disabled: Boolean,
+ useIconSlot: Boolean,
+ checkedColor: String,
+ labelPosition: {
+ type: String,
+ value: 'right',
+ },
+ labelDisabled: Boolean,
+ shape: {
+ type: String,
+ value: 'round',
+ },
+ iconSize: {
+ type: null,
+ value: 20,
+ },
+ },
+ data: {
+ parentDisabled: false,
+ direction: 'vertical',
+ },
+ methods: {
+ emitChange(value) {
+ if (this.parent) {
+ this.setParentValue(this.parent, value);
+ }
+ else {
+ emit(this, value);
+ }
+ },
+ toggle() {
+ const { parentDisabled, disabled, value } = this.data;
+ if (!disabled && !parentDisabled) {
+ this.emitChange(!value);
+ }
+ },
+ onClickLabel() {
+ const { labelDisabled, parentDisabled, disabled, value } = this.data;
+ if (!disabled && !labelDisabled && !parentDisabled) {
+ this.emitChange(!value);
+ }
+ },
+ setParentValue(parent, value) {
+ const parentValue = parent.data.value.slice();
+ const { name } = this.data;
+ const { max } = parent.data;
+ if (value) {
+ if (max && parentValue.length >= max) {
+ return;
+ }
+ if (parentValue.indexOf(name) === -1) {
+ parentValue.push(name);
+ emit(parent, parentValue);
+ }
+ }
+ else {
+ const index = parentValue.indexOf(name);
+ if (index !== -1) {
+ parentValue.splice(index, 1);
+ emit(parent, parentValue);
+ }
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/checkbox/index.json b/coupon/miniprogram/@vant/weapp/dist/checkbox/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/checkbox/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/checkbox/index.wxml b/coupon/miniprogram/@vant/weapp/dist/checkbox/index.wxml
new file mode 100644
index 0000000..39a7bb0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/checkbox/index.wxml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/checkbox/index.wxs b/coupon/miniprogram/@vant/weapp/dist/checkbox/index.wxs
new file mode 100644
index 0000000..eb9c772
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/checkbox/index.wxs
@@ -0,0 +1,20 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function iconStyle(checkedColor, value, disabled, parentDisabled, iconSize) {
+ var styles = {
+ 'font-size': addUnit(iconSize),
+ };
+
+ if (checkedColor && value && !disabled && !parentDisabled) {
+ styles['border-color'] = checkedColor;
+ styles['background-color'] = checkedColor;
+ }
+
+ return style(styles);
+}
+
+module.exports = {
+ iconStyle: iconStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/checkbox/index.wxss b/coupon/miniprogram/@vant/weapp/dist/checkbox/index.wxss
new file mode 100644
index 0000000..da2272a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/checkbox/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-checkbox{align-items:center;display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.van-checkbox--horizontal{margin-right:12px}.van-checkbox__icon-wrap,.van-checkbox__label{line-height:var(--checkbox-size,20px)}.van-checkbox__icon-wrap{flex:none}.van-checkbox__icon{align-items:center;border:1px solid var(--checkbox-border-color,#c8c9cc);box-sizing:border-box;color:transparent;display:flex;font-size:var(--checkbox-size,20px);height:1em;justify-content:center;text-align:center;transition-duration:var(--checkbox-transition-duration,.2s);transition-property:color,border-color,background-color;width:1em}.van-checkbox__icon--round{border-radius:100%}.van-checkbox__icon--checked{background-color:var(--checkbox-checked-icon-color,#1989fa);border-color:var(--checkbox-checked-icon-color,#1989fa);color:#fff}.van-checkbox__icon--disabled{background-color:var(--checkbox-disabled-background-color,#ebedf0);border-color:var(--checkbox-disabled-icon-color,#c8c9cc)}.van-checkbox__icon--disabled.van-checkbox__icon--checked{color:var(--checkbox-disabled-icon-color,#c8c9cc)}.van-checkbox__label{word-wrap:break-word;color:var(--checkbox-label-color,#323233);padding-left:var(--checkbox-label-margin,10px)}.van-checkbox__label--left{float:left;margin:0 var(--checkbox-label-margin,10px) 0 0}.van-checkbox__label--disabled{color:var(--checkbox-disabled-label-color,#c8c9cc)}.van-checkbox__label:empty{margin:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/circle/canvas.js b/coupon/miniprogram/@vant/weapp/dist/circle/canvas.js
new file mode 100644
index 0000000..3ade4cd
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/circle/canvas.js
@@ -0,0 +1,43 @@
+export function adaptor(ctx) {
+ // @ts-ignore
+ return Object.assign(ctx, {
+ setStrokeStyle(val) {
+ ctx.strokeStyle = val;
+ },
+ setLineWidth(val) {
+ ctx.lineWidth = val;
+ },
+ setLineCap(val) {
+ ctx.lineCap = val;
+ },
+ setFillStyle(val) {
+ ctx.fillStyle = val;
+ },
+ setFontSize(val) {
+ ctx.font = String(val);
+ },
+ setGlobalAlpha(val) {
+ ctx.globalAlpha = val;
+ },
+ setLineJoin(val) {
+ ctx.lineJoin = val;
+ },
+ setTextAlign(val) {
+ ctx.textAlign = val;
+ },
+ setMiterLimit(val) {
+ ctx.miterLimit = val;
+ },
+ setShadow(offsetX, offsetY, blur, color) {
+ ctx.shadowOffsetX = offsetX;
+ ctx.shadowOffsetY = offsetY;
+ ctx.shadowBlur = blur;
+ ctx.shadowColor = color;
+ },
+ setTextBaseline(val) {
+ ctx.textBaseline = val;
+ },
+ createCircularGradient() { },
+ draw() { },
+ });
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/circle/index.js b/coupon/miniprogram/@vant/weapp/dist/circle/index.js
new file mode 100644
index 0000000..2a4baf5
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/circle/index.js
@@ -0,0 +1,193 @@
+import { BLUE, WHITE } from '../common/color';
+import { VantComponent } from '../common/component';
+import { getSystemInfoSync } from '../common/utils';
+import { isObj } from '../common/validator';
+import { canIUseCanvas2d } from '../common/version';
+import { adaptor } from './canvas';
+function format(rate) {
+ return Math.min(Math.max(rate, 0), 100);
+}
+const PERIMETER = 2 * Math.PI;
+const BEGIN_ANGLE = -Math.PI / 2;
+const STEP = 1;
+VantComponent({
+ props: {
+ text: String,
+ lineCap: {
+ type: String,
+ value: 'round',
+ },
+ value: {
+ type: Number,
+ value: 0,
+ observer: 'reRender',
+ },
+ speed: {
+ type: Number,
+ value: 50,
+ },
+ size: {
+ type: Number,
+ value: 100,
+ observer() {
+ this.drawCircle(this.currentValue);
+ },
+ },
+ fill: String,
+ layerColor: {
+ type: String,
+ value: WHITE,
+ },
+ color: {
+ type: null,
+ value: BLUE,
+ observer() {
+ this.setHoverColor().then(() => {
+ this.drawCircle(this.currentValue);
+ });
+ },
+ },
+ type: {
+ type: String,
+ value: '',
+ },
+ strokeWidth: {
+ type: Number,
+ value: 4,
+ },
+ clockwise: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ hoverColor: BLUE,
+ },
+ methods: {
+ getContext() {
+ const { type, size } = this.data;
+ if (type === '' || !canIUseCanvas2d()) {
+ const ctx = wx.createCanvasContext('van-circle', this);
+ return Promise.resolve(ctx);
+ }
+ const dpr = getSystemInfoSync().pixelRatio;
+ return new Promise((resolve) => {
+ wx.createSelectorQuery()
+ .in(this)
+ .select('#van-circle')
+ .node()
+ .exec((res) => {
+ const canvas = res[0].node;
+ const ctx = canvas.getContext(type);
+ if (!this.inited) {
+ this.inited = true;
+ canvas.width = size * dpr;
+ canvas.height = size * dpr;
+ ctx.scale(dpr, dpr);
+ }
+ resolve(adaptor(ctx));
+ });
+ });
+ },
+ setHoverColor() {
+ const { color, size } = this.data;
+ if (isObj(color)) {
+ return this.getContext().then((context) => {
+ const LinearColor = context.createLinearGradient(size, 0, 0, 0);
+ Object.keys(color)
+ .sort((a, b) => parseFloat(a) - parseFloat(b))
+ .map((key) => LinearColor.addColorStop(parseFloat(key) / 100, color[key]));
+ this.hoverColor = LinearColor;
+ });
+ }
+ this.hoverColor = color;
+ return Promise.resolve();
+ },
+ presetCanvas(context, strokeStyle, beginAngle, endAngle, fill) {
+ const { strokeWidth, lineCap, clockwise, size } = this.data;
+ const position = size / 2;
+ const radius = position - strokeWidth / 2;
+ context.setStrokeStyle(strokeStyle);
+ context.setLineWidth(strokeWidth);
+ context.setLineCap(lineCap);
+ context.beginPath();
+ context.arc(position, position, radius, beginAngle, endAngle, !clockwise);
+ context.stroke();
+ if (fill) {
+ context.setFillStyle(fill);
+ context.fill();
+ }
+ },
+ renderLayerCircle(context) {
+ const { layerColor, fill } = this.data;
+ this.presetCanvas(context, layerColor, 0, PERIMETER, fill);
+ },
+ renderHoverCircle(context, formatValue) {
+ const { clockwise } = this.data;
+ // 结束角度
+ const progress = PERIMETER * (formatValue / 100);
+ const endAngle = clockwise
+ ? BEGIN_ANGLE + progress
+ : 3 * Math.PI - (BEGIN_ANGLE + progress);
+ this.presetCanvas(context, this.hoverColor, BEGIN_ANGLE, endAngle);
+ },
+ drawCircle(currentValue) {
+ const { size } = this.data;
+ this.getContext().then((context) => {
+ context.clearRect(0, 0, size, size);
+ this.renderLayerCircle(context);
+ const formatValue = format(currentValue);
+ if (formatValue !== 0) {
+ this.renderHoverCircle(context, formatValue);
+ }
+ context.draw();
+ });
+ },
+ reRender() {
+ // tofector 动画暂时没有想到好的解决方案
+ const { value, speed } = this.data;
+ if (speed <= 0 || speed > 1000) {
+ this.drawCircle(value);
+ return;
+ }
+ this.clearMockInterval();
+ this.currentValue = this.currentValue || 0;
+ const run = () => {
+ this.interval = setTimeout(() => {
+ if (this.currentValue !== value) {
+ if (Math.abs(this.currentValue - value) < STEP) {
+ this.currentValue = value;
+ }
+ else if (this.currentValue < value) {
+ this.currentValue += STEP;
+ }
+ else {
+ this.currentValue -= STEP;
+ }
+ this.drawCircle(this.currentValue);
+ run();
+ }
+ else {
+ this.clearMockInterval();
+ }
+ }, 1000 / speed);
+ };
+ run();
+ },
+ clearMockInterval() {
+ if (this.interval) {
+ clearTimeout(this.interval);
+ this.interval = null;
+ }
+ },
+ },
+ mounted() {
+ this.currentValue = this.data.value;
+ this.setHoverColor().then(() => {
+ this.drawCircle(this.currentValue);
+ });
+ },
+ destroyed() {
+ this.clearMockInterval();
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/circle/index.json b/coupon/miniprogram/@vant/weapp/dist/circle/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/circle/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/circle/index.wxml b/coupon/miniprogram/@vant/weapp/dist/circle/index.wxml
new file mode 100644
index 0000000..52bc59f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/circle/index.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+ {{ text }}
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/circle/index.wxss b/coupon/miniprogram/@vant/weapp/dist/circle/index.wxss
new file mode 100644
index 0000000..2200751
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/circle/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-circle{display:inline-block;position:relative;text-align:center}.van-circle__text{color:var(--circle-text-color,#323233);left:0;position:absolute;top:50%;transform:translateY(-50%);width:100%}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/col/index.js b/coupon/miniprogram/@vant/weapp/dist/col/index.js
new file mode 100644
index 0000000..02bb78d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/col/index.js
@@ -0,0 +1,9 @@
+import { useParent } from '../common/relation';
+import { VantComponent } from '../common/component';
+VantComponent({
+ relation: useParent('row'),
+ props: {
+ span: Number,
+ offset: Number,
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/col/index.json b/coupon/miniprogram/@vant/weapp/dist/col/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/col/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/col/index.wxml b/coupon/miniprogram/@vant/weapp/dist/col/index.wxml
new file mode 100644
index 0000000..975348b
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/col/index.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/col/index.wxs b/coupon/miniprogram/@vant/weapp/dist/col/index.wxs
new file mode 100644
index 0000000..507c1cb
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/col/index.wxs
@@ -0,0 +1,18 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ if (!data.gutter) {
+ return '';
+ }
+
+ return style({
+ 'padding-right': addUnit(data.gutter / 2),
+ 'padding-left': addUnit(data.gutter / 2),
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/col/index.wxss b/coupon/miniprogram/@vant/weapp/dist/col/index.wxss
new file mode 100644
index 0000000..2fa265e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/col/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-col{box-sizing:border-box;float:left}.van-col--1{width:4.16666667%}.van-col--offset-1{margin-left:4.16666667%}.van-col--2{width:8.33333333%}.van-col--offset-2{margin-left:8.33333333%}.van-col--3{width:12.5%}.van-col--offset-3{margin-left:12.5%}.van-col--4{width:16.66666667%}.van-col--offset-4{margin-left:16.66666667%}.van-col--5{width:20.83333333%}.van-col--offset-5{margin-left:20.83333333%}.van-col--6{width:25%}.van-col--offset-6{margin-left:25%}.van-col--7{width:29.16666667%}.van-col--offset-7{margin-left:29.16666667%}.van-col--8{width:33.33333333%}.van-col--offset-8{margin-left:33.33333333%}.van-col--9{width:37.5%}.van-col--offset-9{margin-left:37.5%}.van-col--10{width:41.66666667%}.van-col--offset-10{margin-left:41.66666667%}.van-col--11{width:45.83333333%}.van-col--offset-11{margin-left:45.83333333%}.van-col--12{width:50%}.van-col--offset-12{margin-left:50%}.van-col--13{width:54.16666667%}.van-col--offset-13{margin-left:54.16666667%}.van-col--14{width:58.33333333%}.van-col--offset-14{margin-left:58.33333333%}.van-col--15{width:62.5%}.van-col--offset-15{margin-left:62.5%}.van-col--16{width:66.66666667%}.van-col--offset-16{margin-left:66.66666667%}.van-col--17{width:70.83333333%}.van-col--offset-17{margin-left:70.83333333%}.van-col--18{width:75%}.van-col--offset-18{margin-left:75%}.van-col--19{width:79.16666667%}.van-col--offset-19{margin-left:79.16666667%}.van-col--20{width:83.33333333%}.van-col--offset-20{margin-left:83.33333333%}.van-col--21{width:87.5%}.van-col--offset-21{margin-left:87.5%}.van-col--22{width:91.66666667%}.van-col--offset-22{margin-left:91.66666667%}.van-col--23{width:95.83333333%}.van-col--offset-23{margin-left:95.83333333%}.van-col--24{width:100%}.van-col--offset-24{margin-left:100%}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/collapse-item/animate.js b/coupon/miniprogram/@vant/weapp/dist/collapse-item/animate.js
new file mode 100644
index 0000000..f966ac5
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/collapse-item/animate.js
@@ -0,0 +1,39 @@
+import { getRect } from '../common/utils';
+function useAnimation(context, expanded, mounted, height) {
+ const animation = wx.createAnimation({
+ duration: 0,
+ timingFunction: 'ease-in-out',
+ });
+ if (expanded) {
+ if (height === 0) {
+ animation.height('auto').top(1).step();
+ }
+ else {
+ animation
+ .height(height)
+ .top(1)
+ .step({
+ duration: mounted ? 300 : 1,
+ })
+ .height('auto')
+ .step();
+ }
+ context.setData({
+ animation: animation.export(),
+ });
+ return;
+ }
+ animation.height(height).top(0).step({ duration: 1 }).height(0).step({
+ duration: 300,
+ });
+ context.setData({
+ animation: animation.export(),
+ });
+}
+export function setContentAnimate(context, expanded, mounted) {
+ getRect(context, '.van-collapse-item__content')
+ .then((rect) => rect.height)
+ .then((height) => {
+ useAnimation(context, expanded, mounted, height);
+ });
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/collapse-item/index.js b/coupon/miniprogram/@vant/weapp/dist/collapse-item/index.js
new file mode 100644
index 0000000..991d7df
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/collapse-item/index.js
@@ -0,0 +1,59 @@
+import { VantComponent } from '../common/component';
+import { useParent } from '../common/relation';
+import { setContentAnimate } from './animate';
+VantComponent({
+ classes: ['title-class', 'content-class'],
+ relation: useParent('collapse'),
+ props: {
+ name: null,
+ title: null,
+ value: null,
+ icon: String,
+ label: String,
+ disabled: Boolean,
+ clickable: Boolean,
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ isLink: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ expanded: false,
+ },
+ mounted() {
+ this.updateExpanded();
+ this.mounted = true;
+ },
+ methods: {
+ updateExpanded() {
+ if (!this.parent) {
+ return;
+ }
+ const { value, accordion } = this.parent.data;
+ const { children = [] } = this.parent;
+ const { name } = this.data;
+ const index = children.indexOf(this);
+ const currentName = name == null ? index : name;
+ const expanded = accordion
+ ? value === currentName
+ : (value || []).some((name) => name === currentName);
+ if (expanded !== this.data.expanded) {
+ setContentAnimate(this, expanded, this.mounted);
+ }
+ this.setData({ index, expanded });
+ },
+ onClick() {
+ if (this.data.disabled) {
+ return;
+ }
+ const { name, expanded } = this.data;
+ const index = this.parent.children.indexOf(this);
+ const currentName = name == null ? index : name;
+ this.parent.switch(currentName, !expanded);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/collapse-item/index.json b/coupon/miniprogram/@vant/weapp/dist/collapse-item/index.json
new file mode 100644
index 0000000..0e5425c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/collapse-item/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-cell": "../cell/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/collapse-item/index.wxml b/coupon/miniprogram/@vant/weapp/dist/collapse-item/index.wxml
new file mode 100644
index 0000000..ae4cc83
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/collapse-item/index.wxml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/collapse-item/index.wxss b/coupon/miniprogram/@vant/weapp/dist/collapse-item/index.wxss
new file mode 100644
index 0000000..4a65b5a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/collapse-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-collapse-item__title .van-cell__right-icon{transform:rotate(90deg);transition:transform var(--collapse-item-transition-duration,.3s)}.van-collapse-item__title--expanded .van-cell__right-icon{transform:rotate(-90deg)}.van-collapse-item__title--disabled .van-cell,.van-collapse-item__title--disabled .van-cell__right-icon{color:var(--collapse-item-title-disabled-color,#c8c9cc)!important}.van-collapse-item__title--disabled .van-cell--hover{background-color:#fff!important}.van-collapse-item__wrapper{overflow:hidden}.van-collapse-item__content{background-color:var(--collapse-item-content-background-color,#fff);color:var(--collapse-item-content-text-color,#969799);font-size:var(--collapse-item-content-font-size,13px);line-height:var(--collapse-item-content-line-height,1.5);padding:var(--collapse-item-content-padding,15px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/collapse/index.js b/coupon/miniprogram/@vant/weapp/dist/collapse/index.js
new file mode 100644
index 0000000..3616087
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/collapse/index.js
@@ -0,0 +1,46 @@
+import { VantComponent } from '../common/component';
+import { useChildren } from '../common/relation';
+VantComponent({
+ relation: useChildren('collapse-item'),
+ props: {
+ value: {
+ type: null,
+ observer: 'updateExpanded',
+ },
+ accordion: {
+ type: Boolean,
+ observer: 'updateExpanded',
+ },
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ updateExpanded() {
+ this.children.forEach((child) => {
+ child.updateExpanded();
+ });
+ },
+ switch(name, expanded) {
+ const { accordion, value } = this.data;
+ const changeItem = name;
+ if (!accordion) {
+ name = expanded
+ ? (value || []).concat(name)
+ : (value || []).filter((activeName) => activeName !== name);
+ }
+ else {
+ name = expanded ? name : '';
+ }
+ if (expanded) {
+ this.$emit('open', changeItem);
+ }
+ else {
+ this.$emit('close', changeItem);
+ }
+ this.$emit('change', name);
+ this.$emit('input', name);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/collapse/index.json b/coupon/miniprogram/@vant/weapp/dist/collapse/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/collapse/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/collapse/index.wxml b/coupon/miniprogram/@vant/weapp/dist/collapse/index.wxml
new file mode 100644
index 0000000..fd4e171
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/collapse/index.wxml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/collapse/index.wxss b/coupon/miniprogram/@vant/weapp/dist/collapse/index.wxss
new file mode 100644
index 0000000..99694d6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/collapse/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/common/color.js b/coupon/miniprogram/@vant/weapp/dist/common/color.js
new file mode 100644
index 0000000..6b285bd
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/common/color.js
@@ -0,0 +1,7 @@
+export const RED = '#ee0a24';
+export const BLUE = '#1989fa';
+export const WHITE = '#fff';
+export const GREEN = '#07c160';
+export const ORANGE = '#ff976a';
+export const GRAY = '#323233';
+export const GRAY_DARK = '#969799';
diff --git a/coupon/miniprogram/@vant/weapp/dist/common/component.js b/coupon/miniprogram/@vant/weapp/dist/common/component.js
new file mode 100644
index 0000000..8528dc0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/common/component.js
@@ -0,0 +1,45 @@
+import { basic } from '../mixins/basic';
+function mapKeys(source, target, map) {
+ Object.keys(map).forEach((key) => {
+ if (source[key]) {
+ target[map[key]] = source[key];
+ }
+ });
+}
+function VantComponent(vantOptions) {
+ const options = {};
+ mapKeys(vantOptions, options, {
+ data: 'data',
+ props: 'properties',
+ mixins: 'behaviors',
+ methods: 'methods',
+ beforeCreate: 'created',
+ created: 'attached',
+ mounted: 'ready',
+ destroyed: 'detached',
+ classes: 'externalClasses',
+ });
+ // add default externalClasses
+ options.externalClasses = options.externalClasses || [];
+ options.externalClasses.push('custom-class');
+ // add default behaviors
+ options.behaviors = options.behaviors || [];
+ options.behaviors.push(basic);
+ // add relations
+ const { relation } = vantOptions;
+ if (relation) {
+ options.relations = relation.relations;
+ options.behaviors.push(relation.mixin);
+ }
+ // map field to form-field behavior
+ if (vantOptions.field) {
+ options.behaviors.push('wx://form-field');
+ }
+ // add default options
+ options.options = {
+ multipleSlots: true,
+ addGlobalClass: true,
+ };
+ Component(options);
+}
+export { VantComponent };
diff --git a/coupon/miniprogram/@vant/weapp/dist/common/index.wxss b/coupon/miniprogram/@vant/weapp/dist/common/index.wxss
new file mode 100644
index 0000000..a73bb7a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/common/index.wxss
@@ -0,0 +1 @@
+.van-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.van-multi-ellipsis--l3{-webkit-line-clamp:3}.van-clearfix:after{clear:both;content:"";display:table}.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom:after,.van-hairline--left:after,.van-hairline--right:after,.van-hairline--surround:after,.van-hairline--top-bottom:after,.van-hairline--top:after,.van-hairline:after{border:0 solid #ebedf0;bottom:-50%;box-sizing:border-box;content:" ";left:-50%;pointer-events:none;position:absolute;right:-50%;top:-50%;transform:scale(.5);transform-origin:center}.van-hairline--top:after{border-top-width:1px}.van-hairline--left:after{border-left-width:1px}.van-hairline--right:after{border-right-width:1px}.van-hairline--bottom:after{border-bottom-width:1px}.van-hairline--top-bottom:after{border-width:1px 0}.van-hairline--surround:after{border-width:1px}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/common/relation.js b/coupon/miniprogram/@vant/weapp/dist/common/relation.js
new file mode 100644
index 0000000..04e2934
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/common/relation.js
@@ -0,0 +1,56 @@
+export function useParent(name, onEffect) {
+ const path = `../${name}/index`;
+ return {
+ relations: {
+ [path]: {
+ type: 'ancestor',
+ linked() {
+ onEffect && onEffect.call(this);
+ },
+ linkChanged() {
+ onEffect && onEffect.call(this);
+ },
+ unlinked() {
+ onEffect && onEffect.call(this);
+ },
+ },
+ },
+ mixin: Behavior({
+ created() {
+ Object.defineProperty(this, 'parent', {
+ get: () => this.getRelationNodes(path)[0],
+ });
+ Object.defineProperty(this, 'index', {
+ // @ts-ignore
+ get: () => { var _a, _b; return (_b = (_a = this.parent) === null || _a === void 0 ? void 0 : _a.children) === null || _b === void 0 ? void 0 : _b.indexOf(this); },
+ });
+ },
+ }),
+ };
+}
+export function useChildren(name, onEffect) {
+ const path = `../${name}/index`;
+ return {
+ relations: {
+ [path]: {
+ type: 'descendant',
+ linked(target) {
+ onEffect && onEffect.call(this, target);
+ },
+ linkChanged(target) {
+ onEffect && onEffect.call(this, target);
+ },
+ unlinked(target) {
+ onEffect && onEffect.call(this, target);
+ },
+ },
+ },
+ mixin: Behavior({
+ created() {
+ Object.defineProperty(this, 'children', {
+ get: () => this.getRelationNodes(path) || [],
+ });
+ },
+ }),
+ };
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/common/style/clearfix.wxss b/coupon/miniprogram/@vant/weapp/dist/common/style/clearfix.wxss
new file mode 100644
index 0000000..442246f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/common/style/clearfix.wxss
@@ -0,0 +1 @@
+.van-clearfix:after{clear:both;content:"";display:table}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/common/style/ellipsis.wxss b/coupon/miniprogram/@vant/weapp/dist/common/style/ellipsis.wxss
new file mode 100644
index 0000000..ee701df
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/common/style/ellipsis.wxss
@@ -0,0 +1 @@
+.van-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.van-multi-ellipsis--l3{-webkit-line-clamp:3}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/common/style/hairline.wxss b/coupon/miniprogram/@vant/weapp/dist/common/style/hairline.wxss
new file mode 100644
index 0000000..f7c6260
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/common/style/hairline.wxss
@@ -0,0 +1 @@
+.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom:after,.van-hairline--left:after,.van-hairline--right:after,.van-hairline--surround:after,.van-hairline--top-bottom:after,.van-hairline--top:after,.van-hairline:after{border:0 solid #ebedf0;bottom:-50%;box-sizing:border-box;content:" ";left:-50%;pointer-events:none;position:absolute;right:-50%;top:-50%;transform:scale(.5);transform-origin:center}.van-hairline--top:after{border-top-width:1px}.van-hairline--left:after{border-left-width:1px}.van-hairline--right:after{border-right-width:1px}.van-hairline--bottom:after{border-bottom-width:1px}.van-hairline--top-bottom:after{border-width:1px 0}.van-hairline--surround:after{border-width:1px}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/common/style/mixins/clearfix.wxss b/coupon/miniprogram/@vant/weapp/dist/common/style/mixins/clearfix.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/coupon/miniprogram/@vant/weapp/dist/common/style/mixins/ellipsis.wxss b/coupon/miniprogram/@vant/weapp/dist/common/style/mixins/ellipsis.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/coupon/miniprogram/@vant/weapp/dist/common/style/mixins/hairline.wxss b/coupon/miniprogram/@vant/weapp/dist/common/style/mixins/hairline.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/coupon/miniprogram/@vant/weapp/dist/common/style/var.wxss b/coupon/miniprogram/@vant/weapp/dist/common/style/var.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/coupon/miniprogram/@vant/weapp/dist/common/utils.js b/coupon/miniprogram/@vant/weapp/dist/common/utils.js
new file mode 100644
index 0000000..d06acb1
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/common/utils.js
@@ -0,0 +1,92 @@
+import { isDef, isNumber, isPlainObject, isPromise } from './validator';
+import { canIUseGroupSetData, canIUseNextTick } from './version';
+export { isDef } from './validator';
+export function range(num, min, max) {
+ return Math.min(Math.max(num, min), max);
+}
+export function nextTick(cb) {
+ if (canIUseNextTick()) {
+ wx.nextTick(cb);
+ }
+ else {
+ setTimeout(() => {
+ cb();
+ }, 1000 / 30);
+ }
+}
+let systemInfo;
+export function getSystemInfoSync() {
+ if (systemInfo == null) {
+ systemInfo = wx.getSystemInfoSync();
+ }
+ return systemInfo;
+}
+export function addUnit(value) {
+ if (!isDef(value)) {
+ return undefined;
+ }
+ value = String(value);
+ return isNumber(value) ? `${value}px` : value;
+}
+export function requestAnimationFrame(cb) {
+ const systemInfo = getSystemInfoSync();
+ if (systemInfo.platform === 'devtools') {
+ return setTimeout(() => {
+ cb();
+ }, 1000 / 30);
+ }
+ return wx
+ .createSelectorQuery()
+ .selectViewport()
+ .boundingClientRect()
+ .exec(() => {
+ cb();
+ });
+}
+export function pickExclude(obj, keys) {
+ if (!isPlainObject(obj)) {
+ return {};
+ }
+ return Object.keys(obj).reduce((prev, key) => {
+ if (!keys.includes(key)) {
+ prev[key] = obj[key];
+ }
+ return prev;
+ }, {});
+}
+export function getRect(context, selector) {
+ return new Promise((resolve) => {
+ wx.createSelectorQuery()
+ .in(context)
+ .select(selector)
+ .boundingClientRect()
+ .exec((rect = []) => resolve(rect[0]));
+ });
+}
+export function getAllRect(context, selector) {
+ return new Promise((resolve) => {
+ wx.createSelectorQuery()
+ .in(context)
+ .selectAll(selector)
+ .boundingClientRect()
+ .exec((rect = []) => resolve(rect[0]));
+ });
+}
+export function groupSetData(context, cb) {
+ if (canIUseGroupSetData()) {
+ context.groupSetData(cb);
+ }
+ else {
+ cb();
+ }
+}
+export function toPromise(promiseLike) {
+ if (isPromise(promiseLike)) {
+ return promiseLike;
+ }
+ return Promise.resolve(promiseLike);
+}
+export function getCurrentPage() {
+ const pages = getCurrentPages();
+ return pages[pages.length - 1];
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/common/validator.js b/coupon/miniprogram/@vant/weapp/dist/common/validator.js
new file mode 100644
index 0000000..f11f844
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/common/validator.js
@@ -0,0 +1,31 @@
+// eslint-disable-next-line @typescript-eslint/ban-types
+export function isFunction(val) {
+ return typeof val === 'function';
+}
+export function isPlainObject(val) {
+ return val !== null && typeof val === 'object' && !Array.isArray(val);
+}
+export function isPromise(val) {
+ return isPlainObject(val) && isFunction(val.then) && isFunction(val.catch);
+}
+export function isDef(value) {
+ return value !== undefined && value !== null;
+}
+export function isObj(x) {
+ const type = typeof x;
+ return x !== null && (type === 'object' || type === 'function');
+}
+export function isNumber(value) {
+ return /^\d+(\.\d+)?$/.test(value);
+}
+export function isBoolean(value) {
+ return typeof value === 'boolean';
+}
+const IMAGE_REGEXP = /\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i;
+const VIDEO_REGEXP = /\.(mp4|mpg|mpeg|dat|asf|avi|rm|rmvb|mov|wmv|flv|mkv)/i;
+export function isImageUrl(url) {
+ return IMAGE_REGEXP.test(url);
+}
+export function isVideoUrl(url) {
+ return VIDEO_REGEXP.test(url);
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/common/version.js b/coupon/miniprogram/@vant/weapp/dist/common/version.js
new file mode 100644
index 0000000..eb85185
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/common/version.js
@@ -0,0 +1,48 @@
+import { getSystemInfoSync } from './utils';
+function compareVersion(v1, v2) {
+ v1 = v1.split('.');
+ v2 = v2.split('.');
+ const len = Math.max(v1.length, v2.length);
+ while (v1.length < len) {
+ v1.push('0');
+ }
+ while (v2.length < len) {
+ v2.push('0');
+ }
+ for (let i = 0; i < len; i++) {
+ const num1 = parseInt(v1[i], 10);
+ const num2 = parseInt(v2[i], 10);
+ if (num1 > num2) {
+ return 1;
+ }
+ if (num1 < num2) {
+ return -1;
+ }
+ }
+ return 0;
+}
+function gte(version) {
+ const system = getSystemInfoSync();
+ return compareVersion(system.SDKVersion, version) >= 0;
+}
+export function canIUseModel() {
+ return gte('2.9.3');
+}
+export function canIUseFormFieldButton() {
+ return gte('2.10.3');
+}
+export function canIUseAnimate() {
+ return gte('2.9.0');
+}
+export function canIUseGroupSetData() {
+ return gte('2.4.0');
+}
+export function canIUseNextTick() {
+ return wx.canIUse('nextTick');
+}
+export function canIUseCanvas2d() {
+ return gte('2.9.0');
+}
+export function canIUseGetUserProfile() {
+ return !!wx.getUserProfile;
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/config-provider/index.js b/coupon/miniprogram/@vant/weapp/dist/config-provider/index.js
new file mode 100644
index 0000000..0cb23f4
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/config-provider/index.js
@@ -0,0 +1,9 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ themeVars: {
+ type: Object,
+ value: {},
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/config-provider/index.json b/coupon/miniprogram/@vant/weapp/dist/config-provider/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/config-provider/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/config-provider/index.wxml b/coupon/miniprogram/@vant/weapp/dist/config-provider/index.wxml
new file mode 100644
index 0000000..3cfb461
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/config-provider/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/config-provider/index.wxs b/coupon/miniprogram/@vant/weapp/dist/config-provider/index.wxs
new file mode 100644
index 0000000..7ca0203
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/config-provider/index.wxs
@@ -0,0 +1,29 @@
+/* eslint-disable */
+var object = require('../wxs/object.wxs');
+var style = require('../wxs/style.wxs');
+
+function kebabCase(word) {
+ var newWord = word
+ .replace(getRegExp("[A-Z]", 'g'), function (i) {
+ return '-' + i;
+ })
+ .toLowerCase()
+ .replace(getRegExp("^-"), '');
+
+ return newWord;
+}
+
+function mapThemeVarsToCSSVars(themeVars) {
+ var cssVars = {};
+ object.keys(themeVars).forEach(function (key) {
+ var cssVarsKey = '--' + kebabCase(key);
+ cssVars[cssVarsKey] = themeVars[key];
+ });
+
+ return style(cssVars);
+}
+
+module.exports = {
+ kebabCase: kebabCase,
+ mapThemeVarsToCSSVars: mapThemeVarsToCSSVars,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/count-down/index.js b/coupon/miniprogram/@vant/weapp/dist/count-down/index.js
new file mode 100644
index 0000000..da24145
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/count-down/index.js
@@ -0,0 +1,100 @@
+import { VantComponent } from '../common/component';
+import { isSameSecond, parseFormat, parseTimeData } from './utils';
+function simpleTick(fn) {
+ return setTimeout(fn, 30);
+}
+VantComponent({
+ props: {
+ useSlot: Boolean,
+ millisecond: Boolean,
+ time: {
+ type: Number,
+ observer: 'reset',
+ },
+ format: {
+ type: String,
+ value: 'HH:mm:ss',
+ },
+ autoStart: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ timeData: parseTimeData(0),
+ formattedTime: '0',
+ },
+ destroyed() {
+ clearTimeout(this.tid);
+ this.tid = null;
+ },
+ methods: {
+ // 开始
+ start() {
+ if (this.counting) {
+ return;
+ }
+ this.counting = true;
+ this.endTime = Date.now() + this.remain;
+ this.tick();
+ },
+ // 暂停
+ pause() {
+ this.counting = false;
+ clearTimeout(this.tid);
+ },
+ // 重置
+ reset() {
+ this.pause();
+ this.remain = this.data.time;
+ this.setRemain(this.remain);
+ if (this.data.autoStart) {
+ this.start();
+ }
+ },
+ tick() {
+ if (this.data.millisecond) {
+ this.microTick();
+ }
+ else {
+ this.macroTick();
+ }
+ },
+ microTick() {
+ this.tid = simpleTick(() => {
+ this.setRemain(this.getRemain());
+ if (this.remain !== 0) {
+ this.microTick();
+ }
+ });
+ },
+ macroTick() {
+ this.tid = simpleTick(() => {
+ const remain = this.getRemain();
+ if (!isSameSecond(remain, this.remain) || remain === 0) {
+ this.setRemain(remain);
+ }
+ if (this.remain !== 0) {
+ this.macroTick();
+ }
+ });
+ },
+ getRemain() {
+ return Math.max(this.endTime - Date.now(), 0);
+ },
+ setRemain(remain) {
+ this.remain = remain;
+ const timeData = parseTimeData(remain);
+ if (this.data.useSlot) {
+ this.$emit('change', timeData);
+ }
+ this.setData({
+ formattedTime: parseFormat(this.data.format, timeData),
+ });
+ if (remain === 0) {
+ this.pause();
+ this.$emit('finish');
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/count-down/index.json b/coupon/miniprogram/@vant/weapp/dist/count-down/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/count-down/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/count-down/index.wxml b/coupon/miniprogram/@vant/weapp/dist/count-down/index.wxml
new file mode 100644
index 0000000..e206e16
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/count-down/index.wxml
@@ -0,0 +1,4 @@
+
+
+ {{ formattedTime }}
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/count-down/index.wxss b/coupon/miniprogram/@vant/weapp/dist/count-down/index.wxss
new file mode 100644
index 0000000..8b957f7
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/count-down/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-count-down{color:var(--count-down-text-color,#323233);font-size:var(--count-down-font-size,14px);line-height:var(--count-down-line-height,20px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/count-down/utils.js b/coupon/miniprogram/@vant/weapp/dist/count-down/utils.js
new file mode 100644
index 0000000..cbdbd79
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/count-down/utils.js
@@ -0,0 +1,57 @@
+function padZero(num, targetLength = 2) {
+ let str = num + '';
+ while (str.length < targetLength) {
+ str = '0' + str;
+ }
+ return str;
+}
+const SECOND = 1000;
+const MINUTE = 60 * SECOND;
+const HOUR = 60 * MINUTE;
+const DAY = 24 * HOUR;
+export function parseTimeData(time) {
+ const days = Math.floor(time / DAY);
+ const hours = Math.floor((time % DAY) / HOUR);
+ const minutes = Math.floor((time % HOUR) / MINUTE);
+ const seconds = Math.floor((time % MINUTE) / SECOND);
+ const milliseconds = Math.floor(time % SECOND);
+ return {
+ days,
+ hours,
+ minutes,
+ seconds,
+ milliseconds,
+ };
+}
+export function parseFormat(format, timeData) {
+ const { days } = timeData;
+ let { hours, minutes, seconds, milliseconds } = timeData;
+ if (format.indexOf('DD') === -1) {
+ hours += days * 24;
+ }
+ else {
+ format = format.replace('DD', padZero(days));
+ }
+ if (format.indexOf('HH') === -1) {
+ minutes += hours * 60;
+ }
+ else {
+ format = format.replace('HH', padZero(hours));
+ }
+ if (format.indexOf('mm') === -1) {
+ seconds += minutes * 60;
+ }
+ else {
+ format = format.replace('mm', padZero(minutes));
+ }
+ if (format.indexOf('ss') === -1) {
+ milliseconds += seconds * 1000;
+ }
+ else {
+ format = format.replace('ss', padZero(seconds));
+ }
+ return format.replace('SSS', padZero(milliseconds, 3));
+}
+export function isSameSecond(time1, time2) {
+ return Math.floor(time1 / 1000) === Math.floor(time2 / 1000);
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/datetime-picker/index.js b/coupon/miniprogram/@vant/weapp/dist/datetime-picker/index.js
new file mode 100644
index 0000000..3334170
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/datetime-picker/index.js
@@ -0,0 +1,295 @@
+import { VantComponent } from '../common/component';
+import { isDef } from '../common/validator';
+import { pickerProps } from '../picker/shared';
+const currentYear = new Date().getFullYear();
+function isValidDate(date) {
+ return isDef(date) && !isNaN(new Date(date).getTime());
+}
+function range(num, min, max) {
+ return Math.min(Math.max(num, min), max);
+}
+function padZero(val) {
+ return `00${val}`.slice(-2);
+}
+function times(n, iteratee) {
+ let index = -1;
+ const result = Array(n < 0 ? 0 : n);
+ while (++index < n) {
+ result[index] = iteratee(index);
+ }
+ return result;
+}
+function getTrueValue(formattedValue) {
+ if (formattedValue === undefined) {
+ formattedValue = '1';
+ }
+ while (isNaN(parseInt(formattedValue, 10))) {
+ formattedValue = formattedValue.slice(1);
+ }
+ return parseInt(formattedValue, 10);
+}
+function getMonthEndDay(year, month) {
+ return 32 - new Date(year, month - 1, 32).getDate();
+}
+const defaultFormatter = (type, value) => value;
+VantComponent({
+ classes: ['active-class', 'toolbar-class', 'column-class'],
+ props: Object.assign(Object.assign({}, pickerProps), { value: {
+ type: null,
+ observer: 'updateValue',
+ }, filter: null, type: {
+ type: String,
+ value: 'datetime',
+ observer: 'updateValue',
+ }, showToolbar: {
+ type: Boolean,
+ value: true,
+ }, formatter: {
+ type: null,
+ value: defaultFormatter,
+ }, minDate: {
+ type: Number,
+ value: new Date(currentYear - 10, 0, 1).getTime(),
+ observer: 'updateValue',
+ }, maxDate: {
+ type: Number,
+ value: new Date(currentYear + 10, 11, 31).getTime(),
+ observer: 'updateValue',
+ }, minHour: {
+ type: Number,
+ value: 0,
+ observer: 'updateValue',
+ }, maxHour: {
+ type: Number,
+ value: 23,
+ observer: 'updateValue',
+ }, minMinute: {
+ type: Number,
+ value: 0,
+ observer: 'updateValue',
+ }, maxMinute: {
+ type: Number,
+ value: 59,
+ observer: 'updateValue',
+ } }),
+ data: {
+ innerValue: Date.now(),
+ columns: [],
+ },
+ methods: {
+ updateValue() {
+ const { data } = this;
+ const val = this.correctValue(data.value);
+ const isEqual = val === data.innerValue;
+ this.updateColumnValue(val).then(() => {
+ if (!isEqual) {
+ this.$emit('input', val);
+ }
+ });
+ },
+ getPicker() {
+ if (this.picker == null) {
+ this.picker = this.selectComponent('.van-datetime-picker');
+ const { picker } = this;
+ const { setColumnValues } = picker;
+ picker.setColumnValues = (...args) => setColumnValues.apply(picker, [...args, false]);
+ }
+ return this.picker;
+ },
+ updateColumns() {
+ const { formatter = defaultFormatter } = this.data;
+ const results = this.getOriginColumns().map((column) => ({
+ values: column.values.map((value) => formatter(column.type, value)),
+ }));
+ return this.set({ columns: results });
+ },
+ getOriginColumns() {
+ const { filter } = this.data;
+ const results = this.getRanges().map(({ type, range }) => {
+ let values = times(range[1] - range[0] + 1, (index) => {
+ const value = range[0] + index;
+ return type === 'year' ? `${value}` : padZero(value);
+ });
+ if (filter) {
+ values = filter(type, values);
+ }
+ return { type, values };
+ });
+ return results;
+ },
+ getRanges() {
+ const { data } = this;
+ if (data.type === 'time') {
+ return [
+ {
+ type: 'hour',
+ range: [data.minHour, data.maxHour],
+ },
+ {
+ type: 'minute',
+ range: [data.minMinute, data.maxMinute],
+ },
+ ];
+ }
+ const { maxYear, maxDate, maxMonth, maxHour, maxMinute, } = this.getBoundary('max', data.innerValue);
+ const { minYear, minDate, minMonth, minHour, minMinute, } = this.getBoundary('min', data.innerValue);
+ const result = [
+ {
+ type: 'year',
+ range: [minYear, maxYear],
+ },
+ {
+ type: 'month',
+ range: [minMonth, maxMonth],
+ },
+ {
+ type: 'day',
+ range: [minDate, maxDate],
+ },
+ {
+ type: 'hour',
+ range: [minHour, maxHour],
+ },
+ {
+ type: 'minute',
+ range: [minMinute, maxMinute],
+ },
+ ];
+ if (data.type === 'date')
+ result.splice(3, 2);
+ if (data.type === 'year-month')
+ result.splice(2, 3);
+ return result;
+ },
+ correctValue(value) {
+ const { data } = this;
+ // validate value
+ const isDateType = data.type !== 'time';
+ if (isDateType && !isValidDate(value)) {
+ value = data.minDate;
+ }
+ else if (!isDateType && !value) {
+ const { minHour } = data;
+ value = `${padZero(minHour)}:00`;
+ }
+ // time type
+ if (!isDateType) {
+ let [hour, minute] = value.split(':');
+ hour = padZero(range(hour, data.minHour, data.maxHour));
+ minute = padZero(range(minute, data.minMinute, data.maxMinute));
+ return `${hour}:${minute}`;
+ }
+ // date type
+ value = Math.max(value, data.minDate);
+ value = Math.min(value, data.maxDate);
+ return value;
+ },
+ getBoundary(type, innerValue) {
+ const value = new Date(innerValue);
+ const boundary = new Date(this.data[`${type}Date`]);
+ const year = boundary.getFullYear();
+ let month = 1;
+ let date = 1;
+ let hour = 0;
+ let minute = 0;
+ if (type === 'max') {
+ month = 12;
+ date = getMonthEndDay(value.getFullYear(), value.getMonth() + 1);
+ hour = 23;
+ minute = 59;
+ }
+ if (value.getFullYear() === year) {
+ month = boundary.getMonth() + 1;
+ if (value.getMonth() + 1 === month) {
+ date = boundary.getDate();
+ if (value.getDate() === date) {
+ hour = boundary.getHours();
+ if (value.getHours() === hour) {
+ minute = boundary.getMinutes();
+ }
+ }
+ }
+ }
+ return {
+ [`${type}Year`]: year,
+ [`${type}Month`]: month,
+ [`${type}Date`]: date,
+ [`${type}Hour`]: hour,
+ [`${type}Minute`]: minute,
+ };
+ },
+ onCancel() {
+ this.$emit('cancel');
+ },
+ onConfirm() {
+ this.$emit('confirm', this.data.innerValue);
+ },
+ onChange() {
+ const { data } = this;
+ let value;
+ const picker = this.getPicker();
+ const originColumns = this.getOriginColumns();
+ if (data.type === 'time') {
+ const indexes = picker.getIndexes();
+ value = `${+originColumns[0].values[indexes[0]]}:${+originColumns[1]
+ .values[indexes[1]]}`;
+ }
+ else {
+ const indexes = picker.getIndexes();
+ const values = indexes.map((value, index) => originColumns[index].values[value]);
+ const year = getTrueValue(values[0]);
+ const month = getTrueValue(values[1]);
+ const maxDate = getMonthEndDay(year, month);
+ let date = getTrueValue(values[2]);
+ if (data.type === 'year-month') {
+ date = 1;
+ }
+ date = date > maxDate ? maxDate : date;
+ let hour = 0;
+ let minute = 0;
+ if (data.type === 'datetime') {
+ hour = getTrueValue(values[3]);
+ minute = getTrueValue(values[4]);
+ }
+ value = new Date(year, month - 1, date, hour, minute);
+ }
+ value = this.correctValue(value);
+ this.updateColumnValue(value).then(() => {
+ this.$emit('input', value);
+ this.$emit('change', picker);
+ });
+ },
+ updateColumnValue(value) {
+ let values = [];
+ const { type } = this.data;
+ const formatter = this.data.formatter || defaultFormatter;
+ const picker = this.getPicker();
+ if (type === 'time') {
+ const pair = value.split(':');
+ values = [formatter('hour', pair[0]), formatter('minute', pair[1])];
+ }
+ else {
+ const date = new Date(value);
+ values = [
+ formatter('year', `${date.getFullYear()}`),
+ formatter('month', padZero(date.getMonth() + 1)),
+ ];
+ if (type === 'date') {
+ values.push(formatter('day', padZero(date.getDate())));
+ }
+ if (type === 'datetime') {
+ values.push(formatter('day', padZero(date.getDate())), formatter('hour', padZero(date.getHours())), formatter('minute', padZero(date.getMinutes())));
+ }
+ }
+ return this.set({ innerValue: value })
+ .then(() => this.updateColumns())
+ .then(() => picker.setValues(values));
+ },
+ },
+ created() {
+ const innerValue = this.correctValue(this.data.value);
+ this.updateColumnValue(innerValue).then(() => {
+ this.$emit('input', innerValue);
+ });
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/datetime-picker/index.json b/coupon/miniprogram/@vant/weapp/dist/datetime-picker/index.json
new file mode 100644
index 0000000..a778e91
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/datetime-picker/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-picker": "../picker/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/datetime-picker/index.wxml b/coupon/miniprogram/@vant/weapp/dist/datetime-picker/index.wxml
new file mode 100644
index 0000000..ade2202
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/datetime-picker/index.wxml
@@ -0,0 +1,16 @@
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/datetime-picker/index.wxss b/coupon/miniprogram/@vant/weapp/dist/datetime-picker/index.wxss
new file mode 100644
index 0000000..99694d6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/datetime-picker/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/definitions/index.js b/coupon/miniprogram/@vant/weapp/dist/definitions/index.js
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/definitions/index.js
@@ -0,0 +1 @@
+export {};
diff --git a/coupon/miniprogram/@vant/weapp/dist/dialog/dialog.js b/coupon/miniprogram/@vant/weapp/dist/dialog/dialog.js
new file mode 100644
index 0000000..0b72fec
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/dialog/dialog.js
@@ -0,0 +1,75 @@
+let queue = [];
+const defaultOptions = {
+ show: false,
+ title: '',
+ width: null,
+ theme: 'default',
+ message: '',
+ zIndex: 100,
+ overlay: true,
+ selector: '#van-dialog',
+ className: '',
+ asyncClose: false,
+ beforeClose: null,
+ transition: 'scale',
+ customStyle: '',
+ messageAlign: '',
+ overlayStyle: '',
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ showConfirmButton: true,
+ showCancelButton: false,
+ closeOnClickOverlay: false,
+ confirmButtonOpenType: '',
+};
+let currentOptions = Object.assign({}, defaultOptions);
+function getContext() {
+ const pages = getCurrentPages();
+ return pages[pages.length - 1];
+}
+const Dialog = (options) => {
+ options = Object.assign(Object.assign({}, currentOptions), options);
+ return new Promise((resolve, reject) => {
+ const context = options.context || getContext();
+ const dialog = context.selectComponent(options.selector);
+ delete options.context;
+ delete options.selector;
+ if (dialog) {
+ dialog.setData(Object.assign({ callback: (action, instance) => {
+ action === 'confirm' ? resolve(instance) : reject(instance);
+ } }, options));
+ wx.nextTick(() => {
+ dialog.setData({ show: true });
+ });
+ queue.push(dialog);
+ }
+ else {
+ console.warn('未找到 van-dialog 节点,请确认 selector 及 context 是否正确');
+ }
+ });
+};
+Dialog.alert = (options) => Dialog(options);
+Dialog.confirm = (options) => Dialog(Object.assign({ showCancelButton: true }, options));
+Dialog.close = () => {
+ queue.forEach((dialog) => {
+ dialog.close();
+ });
+ queue = [];
+};
+Dialog.stopLoading = () => {
+ queue.forEach((dialog) => {
+ dialog.stopLoading();
+ });
+};
+Dialog.currentOptions = currentOptions;
+Dialog.defaultOptions = defaultOptions;
+Dialog.setDefaultOptions = (options) => {
+ currentOptions = Object.assign(Object.assign({}, currentOptions), options);
+ Dialog.currentOptions = currentOptions;
+};
+Dialog.resetDefaultOptions = () => {
+ currentOptions = Object.assign({}, defaultOptions);
+ Dialog.currentOptions = currentOptions;
+};
+Dialog.resetDefaultOptions();
+export default Dialog;
diff --git a/coupon/miniprogram/@vant/weapp/dist/dialog/index.js b/coupon/miniprogram/@vant/weapp/dist/dialog/index.js
new file mode 100644
index 0000000..6f24cf4
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/dialog/index.js
@@ -0,0 +1,122 @@
+import { VantComponent } from '../common/component';
+import { button } from '../mixins/button';
+import { GRAY, RED } from '../common/color';
+import { toPromise } from '../common/utils';
+VantComponent({
+ mixins: [button],
+ props: {
+ show: {
+ type: Boolean,
+ observer(show) {
+ !show && this.stopLoading();
+ },
+ },
+ title: String,
+ message: String,
+ theme: {
+ type: String,
+ value: 'default',
+ },
+ useSlot: Boolean,
+ className: String,
+ customStyle: String,
+ asyncClose: Boolean,
+ messageAlign: String,
+ beforeClose: null,
+ overlayStyle: String,
+ useTitleSlot: Boolean,
+ showCancelButton: Boolean,
+ closeOnClickOverlay: Boolean,
+ confirmButtonOpenType: String,
+ width: null,
+ zIndex: {
+ type: Number,
+ value: 2000,
+ },
+ confirmButtonText: {
+ type: String,
+ value: '确认',
+ },
+ cancelButtonText: {
+ type: String,
+ value: '取消',
+ },
+ confirmButtonColor: {
+ type: String,
+ value: RED,
+ },
+ cancelButtonColor: {
+ type: String,
+ value: GRAY,
+ },
+ showConfirmButton: {
+ type: Boolean,
+ value: true,
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ },
+ transition: {
+ type: String,
+ value: 'scale',
+ },
+ },
+ data: {
+ loading: {
+ confirm: false,
+ cancel: false,
+ },
+ callback: (() => { }),
+ },
+ methods: {
+ onConfirm() {
+ this.handleAction('confirm');
+ },
+ onCancel() {
+ this.handleAction('cancel');
+ },
+ onClickOverlay() {
+ this.close('overlay');
+ },
+ close(action) {
+ this.setData({ show: false });
+ wx.nextTick(() => {
+ this.$emit('close', action);
+ const { callback } = this.data;
+ if (callback) {
+ callback(action, this);
+ }
+ });
+ },
+ stopLoading() {
+ this.setData({
+ loading: {
+ confirm: false,
+ cancel: false,
+ },
+ });
+ },
+ handleAction(action) {
+ this.$emit(action, { dialog: this });
+ const { asyncClose, beforeClose } = this.data;
+ if (!asyncClose && !beforeClose) {
+ this.close(action);
+ return;
+ }
+ this.setData({
+ [`loading.${action}`]: true,
+ });
+ if (beforeClose) {
+ toPromise(beforeClose(action)).then((value) => {
+ if (value) {
+ this.close(action);
+ }
+ else {
+ this.stopLoading();
+ }
+ });
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/dialog/index.json b/coupon/miniprogram/@vant/weapp/dist/dialog/index.json
new file mode 100644
index 0000000..43417fc
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/dialog/index.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../popup/index",
+ "van-button": "../button/index",
+ "van-goods-action": "../goods-action/index",
+ "van-goods-action-button": "../goods-action-button/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/dialog/index.wxml b/coupon/miniprogram/@vant/weapp/dist/dialog/index.wxml
new file mode 100644
index 0000000..f49dee4
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/dialog/index.wxml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+ {{ message }}
+
+
+
+
+ {{ cancelButtonText }}
+
+
+ {{ confirmButtonText }}
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/dialog/index.wxss b/coupon/miniprogram/@vant/weapp/dist/dialog/index.wxss
new file mode 100644
index 0000000..571861a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/dialog/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-dialog{background-color:var(--dialog-background-color,#fff);border-radius:var(--dialog-border-radius,16px);font-size:var(--dialog-font-size,16px);overflow:hidden;top:45%!important;width:var(--dialog-width,320px)}@media (max-width:321px){.van-dialog{width:var(--dialog-small-screen-width,90%)}}.van-dialog__header{font-weight:var(--dialog-header-font-weight,500);line-height:var(--dialog-header-line-height,24px);padding-top:var(--dialog-header-padding-top,24px);text-align:center}.van-dialog__header--isolated{padding:var(--dialog-header-isolated-padding,24px 0)}.van-dialog__message{-webkit-overflow-scrolling:touch;font-size:var(--dialog-message-font-size,14px);line-height:var(--dialog-message-line-height,20px);max-height:var(--dialog-message-max-height,60vh);overflow-y:auto;padding:var(--dialog-message-padding,24px);text-align:center}.van-dialog__message-text{word-wrap:break-word}.van-dialog__message--hasTitle{color:var(--dialog-has-title-message-text-color,#646566);padding-top:var(--dialog-has-title-message-padding-top,8px)}.van-dialog__message--round-button{color:#323233;padding-bottom:16px}.van-dialog__message--left{text-align:left}.van-dialog__message--right{text-align:right}.van-dialog__footer{display:flex}.van-dialog__footer--round-button{padding:8px 24px 16px!important;position:relative!important}.van-dialog__button{flex:1}.van-dialog__cancel,.van-dialog__confirm{border:0!important}.van-dialog-bounce-enter{opacity:0;transform:translate3d(-50%,-50%,0) scale(.7)}.van-dialog-bounce-leave-active{opacity:0;transform:translate3d(-50%,-50%,0) scale(.9)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/divider/index.js b/coupon/miniprogram/@vant/weapp/dist/divider/index.js
new file mode 100644
index 0000000..9596edd
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/divider/index.js
@@ -0,0 +1,12 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ dashed: Boolean,
+ hairline: Boolean,
+ contentPosition: String,
+ fontSize: String,
+ borderColor: String,
+ textColor: String,
+ customStyle: String,
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/divider/index.json b/coupon/miniprogram/@vant/weapp/dist/divider/index.json
new file mode 100644
index 0000000..a89ef4d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/divider/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/divider/index.wxml b/coupon/miniprogram/@vant/weapp/dist/divider/index.wxml
new file mode 100644
index 0000000..f6a5a45
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/divider/index.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/divider/index.wxs b/coupon/miniprogram/@vant/weapp/dist/divider/index.wxs
new file mode 100644
index 0000000..215b14f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/divider/index.wxs
@@ -0,0 +1,18 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ return style([
+ {
+ 'border-color': data.borderColor,
+ color: data.textColor,
+ 'font-size': addUnit(data.fontSize),
+ },
+ data.customStyle,
+ ]);
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/divider/index.wxss b/coupon/miniprogram/@vant/weapp/dist/divider/index.wxss
new file mode 100644
index 0000000..e91dc44
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/divider/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-divider{align-items:center;border:0 solid var(--divider-border-color,#ebedf0);color:var(--divider-text-color,#969799);display:flex;font-size:var(--divider-font-size,14px);line-height:var(--divider-line-height,24px);margin:var(--divider-margin,16px 0)}.van-divider:after,.van-divider:before{border-color:inherit;border-style:inherit;border-width:1px 0 0;box-sizing:border-box;display:block;flex:1;height:1px}.van-divider:before{content:""}.van-divider--hairline:after,.van-divider--hairline:before{transform:scaleY(.5)}.van-divider--dashed{border-style:dashed}.van-divider--center:before,.van-divider--left:before,.van-divider--right:before{margin-right:var(--divider-content-padding,16px)}.van-divider--center:after,.van-divider--left:after,.van-divider--right:after{content:"";margin-left:var(--divider-content-padding,16px)}.van-divider--left:before{max-width:var(--divider-content-left-width,10%)}.van-divider--right:after{max-width:var(--divider-content-right-width,10%)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/dropdown-item/index.js b/coupon/miniprogram/@vant/weapp/dist/dropdown-item/index.js
new file mode 100644
index 0000000..0b0d00f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/dropdown-item/index.js
@@ -0,0 +1,102 @@
+import { useParent } from '../common/relation';
+import { VantComponent } from '../common/component';
+VantComponent({
+ field: true,
+ relation: useParent('dropdown-menu', function () {
+ this.updateDataFromParent();
+ }),
+ props: {
+ value: {
+ type: null,
+ observer: 'rerender',
+ },
+ title: {
+ type: String,
+ observer: 'rerender',
+ },
+ disabled: Boolean,
+ titleClass: {
+ type: String,
+ observer: 'rerender',
+ },
+ options: {
+ type: Array,
+ value: [],
+ observer: 'rerender',
+ },
+ popupStyle: String,
+ },
+ data: {
+ transition: true,
+ showPopup: false,
+ showWrapper: false,
+ displayTitle: '',
+ },
+ methods: {
+ rerender() {
+ wx.nextTick(() => {
+ var _a;
+ (_a = this.parent) === null || _a === void 0 ? void 0 : _a.updateItemListData();
+ });
+ },
+ updateDataFromParent() {
+ if (this.parent) {
+ const { overlay, duration, activeColor, closeOnClickOverlay, direction, } = this.parent.data;
+ this.setData({
+ overlay,
+ duration,
+ activeColor,
+ closeOnClickOverlay,
+ direction,
+ });
+ }
+ },
+ onOpen() {
+ this.$emit('open');
+ },
+ onOpened() {
+ this.$emit('opened');
+ },
+ onClose() {
+ this.$emit('close');
+ },
+ onClosed() {
+ this.$emit('closed');
+ this.setData({ showWrapper: false });
+ },
+ onOptionTap(event) {
+ const { option } = event.currentTarget.dataset;
+ const { value } = option;
+ const shouldEmitChange = this.data.value !== value;
+ this.setData({ showPopup: false, value });
+ this.$emit('close');
+ this.rerender();
+ if (shouldEmitChange) {
+ this.$emit('change', value);
+ }
+ },
+ toggle(show, options = {}) {
+ var _a;
+ const { showPopup } = this.data;
+ if (typeof show !== 'boolean') {
+ show = !showPopup;
+ }
+ if (show === showPopup) {
+ return;
+ }
+ this.setData({
+ transition: !options.immediate,
+ showPopup: show,
+ });
+ if (show) {
+ (_a = this.parent) === null || _a === void 0 ? void 0 : _a.getChildWrapperStyle().then((wrapperStyle) => {
+ this.setData({ wrapperStyle, showWrapper: true });
+ this.rerender();
+ });
+ }
+ else {
+ this.rerender();
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/dropdown-item/index.json b/coupon/miniprogram/@vant/weapp/dist/dropdown-item/index.json
new file mode 100644
index 0000000..88d5409
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/dropdown-item/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../popup/index",
+ "van-cell": "../cell/index",
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/dropdown-item/index.wxml b/coupon/miniprogram/@vant/weapp/dist/dropdown-item/index.wxml
new file mode 100644
index 0000000..dd75292
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/dropdown-item/index.wxml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+ {{ item.text }}
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/dropdown-item/index.wxss b/coupon/miniprogram/@vant/weapp/dist/dropdown-item/index.wxss
new file mode 100644
index 0000000..80505e9
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/dropdown-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-dropdown-item{left:0;overflow:hidden;position:fixed;right:0}.van-dropdown-item__option{text-align:left}.van-dropdown-item__option--active .van-dropdown-item__icon,.van-dropdown-item__option--active .van-dropdown-item__title{color:var(--dropdown-menu-option-active-color,#ee0a24)}.van-dropdown-item--up{top:0}.van-dropdown-item--down{bottom:0}.van-dropdown-item__icon{display:block;line-height:inherit}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/dropdown-item/shared.js b/coupon/miniprogram/@vant/weapp/dist/dropdown-item/shared.js
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/dropdown-item/shared.js
@@ -0,0 +1 @@
+export {};
diff --git a/coupon/miniprogram/@vant/weapp/dist/dropdown-menu/index.js b/coupon/miniprogram/@vant/weapp/dist/dropdown-menu/index.js
new file mode 100644
index 0000000..1ed1a87
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/dropdown-menu/index.js
@@ -0,0 +1,112 @@
+import { VantComponent } from '../common/component';
+import { useChildren } from '../common/relation';
+import { addUnit, getRect, getSystemInfoSync } from '../common/utils';
+let ARRAY = [];
+VantComponent({
+ field: true,
+ relation: useChildren('dropdown-item', function () {
+ this.updateItemListData();
+ }),
+ props: {
+ activeColor: {
+ type: String,
+ observer: 'updateChildrenData',
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ observer: 'updateChildrenData',
+ },
+ zIndex: {
+ type: Number,
+ value: 10,
+ },
+ duration: {
+ type: Number,
+ value: 200,
+ observer: 'updateChildrenData',
+ },
+ direction: {
+ type: String,
+ value: 'down',
+ observer: 'updateChildrenData',
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ observer: 'updateChildrenData',
+ },
+ closeOnClickOutside: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ itemListData: [],
+ },
+ beforeCreate() {
+ const { windowHeight } = getSystemInfoSync();
+ this.windowHeight = windowHeight;
+ ARRAY.push(this);
+ },
+ destroyed() {
+ ARRAY = ARRAY.filter((item) => item !== this);
+ },
+ methods: {
+ updateItemListData() {
+ this.setData({
+ itemListData: this.children.map((child) => child.data),
+ });
+ },
+ updateChildrenData() {
+ this.children.forEach((child) => {
+ child.updateDataFromParent();
+ });
+ },
+ toggleItem(active) {
+ this.children.forEach((item, index) => {
+ const { showPopup } = item.data;
+ if (index === active) {
+ item.toggle();
+ }
+ else if (showPopup) {
+ item.toggle(false, { immediate: true });
+ }
+ });
+ },
+ close() {
+ this.children.forEach((child) => {
+ child.toggle(false, { immediate: true });
+ });
+ },
+ getChildWrapperStyle() {
+ const { zIndex, direction } = this.data;
+ return getRect(this, '.van-dropdown-menu').then((rect) => {
+ const { top = 0, bottom = 0 } = rect;
+ const offset = direction === 'down' ? bottom : this.windowHeight - top;
+ let wrapperStyle = `z-index: ${zIndex};`;
+ if (direction === 'down') {
+ wrapperStyle += `top: ${addUnit(offset)};`;
+ }
+ else {
+ wrapperStyle += `bottom: ${addUnit(offset)};`;
+ }
+ return wrapperStyle;
+ });
+ },
+ onTitleTap(event) {
+ const { index } = event.currentTarget.dataset;
+ const child = this.children[index];
+ if (!child.data.disabled) {
+ ARRAY.forEach((menuItem) => {
+ if (menuItem &&
+ menuItem.data.closeOnClickOutside &&
+ menuItem !== this) {
+ menuItem.close();
+ }
+ });
+ this.toggleItem(index);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/dropdown-menu/index.json b/coupon/miniprogram/@vant/weapp/dist/dropdown-menu/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/dropdown-menu/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/dropdown-menu/index.wxml b/coupon/miniprogram/@vant/weapp/dist/dropdown-menu/index.wxml
new file mode 100644
index 0000000..cfd661d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/dropdown-menu/index.wxml
@@ -0,0 +1,23 @@
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/dropdown-menu/index.wxs b/coupon/miniprogram/@vant/weapp/dist/dropdown-menu/index.wxs
new file mode 100644
index 0000000..6538854
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/dropdown-menu/index.wxs
@@ -0,0 +1,16 @@
+/* eslint-disable */
+function displayTitle(item) {
+ if (item.title) {
+ return item.title;
+ }
+
+ var match = item.options.filter(function(option) {
+ return option.value === item.value;
+ });
+ var displayTitle = match.length ? match[0].text : '';
+ return displayTitle;
+}
+
+module.exports = {
+ displayTitle: displayTitle
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/dropdown-menu/index.wxss b/coupon/miniprogram/@vant/weapp/dist/dropdown-menu/index.wxss
new file mode 100644
index 0000000..daa5748
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/dropdown-menu/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-dropdown-menu{background-color:var(--dropdown-menu-background-color,#fff);box-shadow:var(--dropdown-menu-box-shadow,0 2px 12px hsla(210,1%,40%,.12));display:flex;height:var(--dropdown-menu-height,50px);-webkit-user-select:none;user-select:none}.van-dropdown-menu__item{align-items:center;display:flex;flex:1;justify-content:center;min-width:0}.van-dropdown-menu__item:active{opacity:.7}.van-dropdown-menu__item--disabled:active{opacity:1}.van-dropdown-menu__item--disabled .van-dropdown-menu__title{color:var(--dropdown-menu-title-disabled-text-color,#969799)}.van-dropdown-menu__title{box-sizing:border-box;color:var(--dropdown-menu-title-text-color,#323233);font-size:var(--dropdown-menu-title-font-size,15px);line-height:var(--dropdown-menu-title-line-height,18px);max-width:100%;padding:var(--dropdown-menu-title-padding,0 8px);position:relative}.van-dropdown-menu__title:after{border-color:transparent transparent currentcolor currentcolor;border-style:solid;border-width:3px;content:"";margin-top:-5px;opacity:.8;position:absolute;right:-4px;top:50%;transform:rotate(-45deg)}.van-dropdown-menu__title--active{color:var(--dropdown-menu-title-active-text-color,#ee0a24)}.van-dropdown-menu__title--down:after{margin-top:-1px;transform:rotate(135deg)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/empty/index.js b/coupon/miniprogram/@vant/weapp/dist/empty/index.js
new file mode 100644
index 0000000..842e1bb
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/empty/index.js
@@ -0,0 +1,10 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ description: String,
+ image: {
+ type: String,
+ value: 'default',
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/empty/index.json b/coupon/miniprogram/@vant/weapp/dist/empty/index.json
new file mode 100644
index 0000000..a89ef4d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/empty/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/empty/index.wxml b/coupon/miniprogram/@vant/weapp/dist/empty/index.wxml
new file mode 100644
index 0000000..9c7b719
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/empty/index.wxml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ description }}
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/empty/index.wxs b/coupon/miniprogram/@vant/weapp/dist/empty/index.wxs
new file mode 100644
index 0000000..cf92ece
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/empty/index.wxs
@@ -0,0 +1,15 @@
+/* eslint-disable */
+var PRESETS = ['error', 'search', 'default', 'network'];
+
+function imageUrl(image) {
+ if (PRESETS.indexOf(image) !== -1) {
+ return 'https://img.yzcdn.cn/vant/empty-image-' + image + '.png';
+ }
+
+ return image;
+}
+
+module.exports = {
+ imageUrl: imageUrl,
+};
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/empty/index.wxss b/coupon/miniprogram/@vant/weapp/dist/empty/index.wxss
new file mode 100644
index 0000000..0fb74fe
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/empty/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-empty{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:32px 0}.van-empty__image{height:160px;width:160px}.van-empty__image:empty{display:none}.van-empty__image__img{height:100%;width:100%}.van-empty__image:not(:empty)+.van-empty__image{display:none}.van-empty__description{color:#969799;font-size:14px;line-height:20px;margin-top:16px;padding:0 60px}.van-empty__description:empty,.van-empty__description:not(:empty)+.van-empty__description{display:none}.van-empty__bottom{margin-top:24px}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/field/index.js b/coupon/miniprogram/@vant/weapp/dist/field/index.js
new file mode 100644
index 0000000..35627a2
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/field/index.js
@@ -0,0 +1,107 @@
+import { nextTick } from '../common/utils';
+import { VantComponent } from '../common/component';
+import { commonProps, inputProps, textareaProps } from './props';
+VantComponent({
+ field: true,
+ classes: ['input-class', 'right-icon-class', 'label-class'],
+ props: Object.assign(Object.assign(Object.assign(Object.assign({}, commonProps), inputProps), textareaProps), { size: String, icon: String, label: String, error: Boolean, center: Boolean, isLink: Boolean, leftIcon: String, rightIcon: String, autosize: null, required: Boolean, iconClass: String, clickable: Boolean, inputAlign: String, customStyle: String, errorMessage: String, arrowDirection: String, showWordLimit: Boolean, errorMessageAlign: String, readonly: {
+ type: Boolean,
+ observer: 'setShowClear',
+ }, clearable: {
+ type: Boolean,
+ observer: 'setShowClear',
+ }, clearTrigger: {
+ type: String,
+ value: 'focus',
+ }, border: {
+ type: Boolean,
+ value: true,
+ }, titleWidth: {
+ type: String,
+ value: '6.2em',
+ }, clearIcon: {
+ type: String,
+ value: 'clear',
+ } }),
+ data: {
+ focused: false,
+ innerValue: '',
+ showClear: false,
+ },
+ created() {
+ this.value = this.data.value;
+ this.setData({ innerValue: this.value });
+ },
+ methods: {
+ onInput(event) {
+ const { value = '' } = event.detail || {};
+ this.value = value;
+ this.setShowClear();
+ this.emitChange();
+ },
+ onFocus(event) {
+ this.focused = true;
+ this.setShowClear();
+ this.$emit('focus', event.detail);
+ },
+ onBlur(event) {
+ this.focused = false;
+ this.setShowClear();
+ this.$emit('blur', event.detail);
+ },
+ onClickIcon() {
+ this.$emit('click-icon');
+ },
+ onClickInput(event) {
+ this.$emit('click-input', event.detail);
+ },
+ onClear() {
+ this.setData({ innerValue: '' });
+ this.value = '';
+ this.setShowClear();
+ nextTick(() => {
+ this.emitChange();
+ this.$emit('clear', '');
+ });
+ },
+ onConfirm(event) {
+ const { value = '' } = event.detail || {};
+ this.value = value;
+ this.setShowClear();
+ this.$emit('confirm', value);
+ },
+ setValue(value) {
+ this.value = value;
+ this.setShowClear();
+ if (value === '') {
+ this.setData({ innerValue: '' });
+ }
+ this.emitChange();
+ },
+ onLineChange(event) {
+ this.$emit('linechange', event.detail);
+ },
+ onKeyboardHeightChange(event) {
+ this.$emit('keyboardheightchange', event.detail);
+ },
+ emitChange() {
+ this.setData({ value: this.value });
+ nextTick(() => {
+ this.$emit('input', this.value);
+ this.$emit('change', this.value);
+ });
+ },
+ setShowClear() {
+ const { clearable, readonly, clearTrigger } = this.data;
+ const { focused, value } = this;
+ let showClear = false;
+ if (clearable && !readonly) {
+ const hasValue = !!value;
+ const trigger = clearTrigger === 'always' || (clearTrigger === 'focus' && focused);
+ showClear = hasValue && trigger;
+ }
+ this.setData({ showClear });
+ },
+ noop() { },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/field/index.json b/coupon/miniprogram/@vant/weapp/dist/field/index.json
new file mode 100644
index 0000000..5906c50
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/field/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-cell": "../cell/index",
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/field/index.wxml b/coupon/miniprogram/@vant/weapp/dist/field/index.wxml
new file mode 100644
index 0000000..ec2e0ea
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/field/index.wxml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+ {{ label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ value.length >= maxlength ? maxlength : value.length }}/{{ maxlength }}
+
+
+ {{ errorMessage }}
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/field/index.wxs b/coupon/miniprogram/@vant/weapp/dist/field/index.wxs
new file mode 100644
index 0000000..78575b9
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/field/index.wxs
@@ -0,0 +1,18 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function inputStyle(autosize) {
+ if (autosize && autosize.constructor === 'Object') {
+ return style({
+ 'min-height': addUnit(autosize.minHeight),
+ 'max-height': addUnit(autosize.maxHeight),
+ });
+ }
+
+ return '';
+}
+
+module.exports = {
+ inputStyle: inputStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/field/index.wxss b/coupon/miniprogram/@vant/weapp/dist/field/index.wxss
new file mode 100644
index 0000000..7571fe6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/field/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-field{--cell-icon-size:var(--field-icon-size,16px)}.van-field__label{color:var(--field-label-color,#646566)}.van-field__label--disabled{color:var(--field-disabled-text-color,#c8c9cc)}.van-field__body{align-items:center;display:flex}.van-field__body--textarea{box-sizing:border-box;line-height:1.2em;min-height:var(--cell-line-height,24px);padding:3.6px 0}.van-field__control:empty+.van-field__control{display:block}.van-field__control{background-color:initial;border:0;box-sizing:border-box;color:var(--field-input-text-color,#323233);display:none;height:var(--cell-line-height,24px);line-height:inherit;margin:0;min-height:var(--cell-line-height,24px);padding:0;position:relative;resize:none;text-align:left;width:100%}.van-field__control:empty{display:none}.van-field__control--textarea{height:var(--field-text-area-min-height,18px);min-height:var(--field-text-area-min-height,18px)}.van-field__control--error{color:var(--field-input-error-text-color,#ee0a24)}.van-field__control--disabled{background-color:initial;color:var(--field-input-disabled-text-color,#c8c9cc);opacity:1}.van-field__control--center{text-align:center}.van-field__control--right{text-align:right}.van-field__control--custom{align-items:center;display:flex;min-height:var(--cell-line-height,24px)}.van-field__placeholder{color:var(--field-placeholder-text-color,#c8c9cc);left:0;pointer-events:none;position:absolute;right:0;top:0}.van-field__placeholder--error{color:var(--field-error-message-color,#ee0a24)}.van-field__icon-root{align-items:center;display:flex;min-height:var(--cell-line-height,24px)}.van-field__clear-root,.van-field__icon-container{line-height:inherit;margin-right:calc(var(--padding-xs, 8px)*-1);padding:0 var(--padding-xs,8px);vertical-align:middle}.van-field__button,.van-field__clear-root,.van-field__icon-container{flex-shrink:0}.van-field__clear-root{color:var(--field-clear-icon-color,#c8c9cc);font-size:var(--field-clear-icon-size,16px)}.van-field__icon-container{color:var(--field-icon-container-color,#969799);font-size:var(--field-icon-size,16px)}.van-field__icon-container:empty{display:none}.van-field__button{padding-left:var(--padding-xs,8px)}.van-field__button:empty{display:none}.van-field__error-message{color:var(--field-error-message-color,#ee0a24);font-size:var(--field-error-message-text-font-size,12px);text-align:left}.van-field__error-message--center{text-align:center}.van-field__error-message--right{text-align:right}.van-field__word-limit{color:var(--field-word-limit-color,#646566);font-size:var(--field-word-limit-font-size,12px);line-height:var(--field-word-limit-line-height,16px);margin-top:var(--padding-base,4px);text-align:right}.van-field__word-num{display:inline}.van-field__word-num--full{color:var(--field-word-num-full-color,#ee0a24)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/field/input.wxml b/coupon/miniprogram/@vant/weapp/dist/field/input.wxml
new file mode 100644
index 0000000..efe9a08
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/field/input.wxml
@@ -0,0 +1,28 @@
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/field/props.js b/coupon/miniprogram/@vant/weapp/dist/field/props.js
new file mode 100644
index 0000000..ae405b3
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/field/props.js
@@ -0,0 +1,64 @@
+export const commonProps = {
+ value: {
+ type: String,
+ observer(value) {
+ if (value !== this.value) {
+ this.setData({ innerValue: value });
+ this.value = value;
+ }
+ },
+ },
+ placeholder: String,
+ placeholderStyle: String,
+ placeholderClass: String,
+ disabled: Boolean,
+ maxlength: {
+ type: Number,
+ value: -1,
+ },
+ cursorSpacing: {
+ type: Number,
+ value: 50,
+ },
+ autoFocus: Boolean,
+ focus: Boolean,
+ cursor: {
+ type: Number,
+ value: -1,
+ },
+ selectionStart: {
+ type: Number,
+ value: -1,
+ },
+ selectionEnd: {
+ type: Number,
+ value: -1,
+ },
+ adjustPosition: {
+ type: Boolean,
+ value: true,
+ },
+ holdKeyboard: Boolean,
+};
+export const inputProps = {
+ type: {
+ type: String,
+ value: 'text',
+ },
+ password: Boolean,
+ confirmType: String,
+ confirmHold: Boolean,
+ alwaysEmbed: Boolean,
+};
+export const textareaProps = {
+ autoHeight: Boolean,
+ fixed: Boolean,
+ showConfirmBar: {
+ type: Boolean,
+ value: true,
+ },
+ disableDefaultPadding: {
+ type: Boolean,
+ value: true,
+ },
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/field/textarea.wxml b/coupon/miniprogram/@vant/weapp/dist/field/textarea.wxml
new file mode 100644
index 0000000..5015a51
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/field/textarea.wxml
@@ -0,0 +1,29 @@
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/goods-action-button/index.js b/coupon/miniprogram/@vant/weapp/dist/goods-action-button/index.js
new file mode 100644
index 0000000..06fa62c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/goods-action-button/index.js
@@ -0,0 +1,36 @@
+import { VantComponent } from '../common/component';
+import { useParent } from '../common/relation';
+import { button } from '../mixins/button';
+import { link } from '../mixins/link';
+VantComponent({
+ mixins: [link, button],
+ relation: useParent('goods-action'),
+ props: {
+ text: String,
+ color: String,
+ loading: Boolean,
+ disabled: Boolean,
+ plain: Boolean,
+ type: {
+ type: String,
+ value: 'danger',
+ },
+ },
+ methods: {
+ onClick(event) {
+ this.$emit('click', event.detail);
+ this.jumpLink();
+ },
+ updateStyle() {
+ if (this.parent == null) {
+ return;
+ }
+ const { index } = this;
+ const { children = [] } = this.parent;
+ this.setData({
+ isFirst: index === 0,
+ isLast: index === children.length - 1,
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/goods-action-button/index.json b/coupon/miniprogram/@vant/weapp/dist/goods-action-button/index.json
new file mode 100644
index 0000000..b567686
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/goods-action-button/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-button": "../button/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/goods-action-button/index.wxml b/coupon/miniprogram/@vant/weapp/dist/goods-action-button/index.wxml
new file mode 100644
index 0000000..4505f21
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/goods-action-button/index.wxml
@@ -0,0 +1,30 @@
+
+
+ {{ text }}
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/goods-action-button/index.wxss b/coupon/miniprogram/@vant/weapp/dist/goods-action-button/index.wxss
new file mode 100644
index 0000000..759a1d9
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/goods-action-button/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';:host{flex:1}.van-goods-action-button{--button-warning-background-color:var(--goods-action-button-warning-color,linear-gradient(to right,#ffd01e,#ff8917));--button-danger-background-color:var(--goods-action-button-danger-color,linear-gradient(to right,#ff6034,#ee0a24));--button-default-height:var(--goods-action-button-height,40px);--button-line-height:var(--goods-action-button-line-height,20px);--button-plain-background-color:var(--goods-action-button-plain-color,#fff);--button-border-width:0;display:block}.van-goods-action-button--first{--button-border-radius:999px 0 0 var(--goods-action-button-border-radius,999px);margin-left:5px}.van-goods-action-button--last{--button-border-radius:0 999px var(--goods-action-button-border-radius,999px) 0;margin-right:5px}.van-goods-action-button--first.van-goods-action-button--last{--button-border-radius:var(--goods-action-button-border-radius,999px)}.van-goods-action-button--plain{--button-border-width:1px}.van-goods-action-button__inner{font-weight:var(--font-weight-bold,500)!important;width:100%}@media (max-width:321px){.van-goods-action-button{font-size:13px}}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/goods-action-icon/index.js b/coupon/miniprogram/@vant/weapp/dist/goods-action-icon/index.js
new file mode 100644
index 0000000..91bd34c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/goods-action-icon/index.js
@@ -0,0 +1,21 @@
+import { VantComponent } from '../common/component';
+import { button } from '../mixins/button';
+import { link } from '../mixins/link';
+VantComponent({
+ classes: ['icon-class', 'text-class'],
+ mixins: [link, button],
+ props: {
+ text: String,
+ dot: Boolean,
+ info: String,
+ icon: String,
+ disabled: Boolean,
+ loading: Boolean,
+ },
+ methods: {
+ onClick(event) {
+ this.$emit('click', event.detail);
+ this.jumpLink();
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/goods-action-icon/index.json b/coupon/miniprogram/@vant/weapp/dist/goods-action-icon/index.json
new file mode 100644
index 0000000..93bfe8a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/goods-action-icon/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-button": "../button/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/goods-action-icon/index.wxml b/coupon/miniprogram/@vant/weapp/dist/goods-action-icon/index.wxml
new file mode 100644
index 0000000..65b7ced
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/goods-action-icon/index.wxml
@@ -0,0 +1,35 @@
+
+
+
+ {{ text }}
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/goods-action-icon/index.wxss b/coupon/miniprogram/@vant/weapp/dist/goods-action-icon/index.wxss
new file mode 100644
index 0000000..6e4758d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/goods-action-icon/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-goods-action-icon{border:none!important;color:var(--goods-action-icon-text-color,#646566)!important;display:flex!important;flex-direction:column;font-size:var(--goods-action-icon-font-size,10px)!important;height:var(--goods-action-icon-height,50px)!important;justify-content:center!important;line-height:1!important;min-width:var(--goods-action-icon-width,48px)}.van-goods-action-icon__icon{color:var(--goods-action-icon-color,#323233);display:flex;font-size:var(--goods-action-icon-size,18px);margin:0 auto 5px}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/goods-action/index.js b/coupon/miniprogram/@vant/weapp/dist/goods-action/index.js
new file mode 100644
index 0000000..6b2ed74
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/goods-action/index.js
@@ -0,0 +1,15 @@
+import { VantComponent } from '../common/component';
+import { useChildren } from '../common/relation';
+VantComponent({
+ relation: useChildren('goods-action-button', function () {
+ this.children.forEach((item) => {
+ item.updateStyle();
+ });
+ }),
+ props: {
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/goods-action/index.json b/coupon/miniprogram/@vant/weapp/dist/goods-action/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/goods-action/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/goods-action/index.wxml b/coupon/miniprogram/@vant/weapp/dist/goods-action/index.wxml
new file mode 100644
index 0000000..569450c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/goods-action/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/goods-action/index.wxss b/coupon/miniprogram/@vant/weapp/dist/goods-action/index.wxss
new file mode 100644
index 0000000..7793e77
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/goods-action/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-goods-action{align-items:center;background-color:var(--goods-action-background-color,#fff);bottom:0;box-sizing:initial;display:flex;height:var(--goods-action-height,50px);left:0;position:fixed;right:0}.van-goods-action--safe{padding-bottom:env(safe-area-inset-bottom)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/grid-item/index.js b/coupon/miniprogram/@vant/weapp/dist/grid-item/index.js
new file mode 100644
index 0000000..dbeb18a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/grid-item/index.js
@@ -0,0 +1,52 @@
+import { VantComponent } from '../common/component';
+import { useParent } from '../common/relation';
+import { link } from '../mixins/link';
+VantComponent({
+ relation: useParent('grid'),
+ classes: ['content-class', 'icon-class', 'text-class'],
+ mixins: [link],
+ props: {
+ icon: String,
+ iconColor: String,
+ iconPrefix: {
+ type: String,
+ value: 'van-icon',
+ },
+ dot: Boolean,
+ info: null,
+ badge: null,
+ text: String,
+ useSlot: Boolean,
+ },
+ data: {
+ viewStyle: '',
+ },
+ mounted() {
+ this.updateStyle();
+ },
+ methods: {
+ updateStyle() {
+ if (!this.parent) {
+ return;
+ }
+ const { data, children } = this.parent;
+ const { columnNum, border, square, gutter, clickable, center, direction, reverse, iconSize, } = data;
+ this.setData({
+ center,
+ border,
+ square,
+ gutter,
+ clickable,
+ direction,
+ reverse,
+ iconSize,
+ index: children.indexOf(this),
+ columnNum,
+ });
+ },
+ onClick() {
+ this.$emit('click');
+ this.jumpLink();
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/grid-item/index.json b/coupon/miniprogram/@vant/weapp/dist/grid-item/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/grid-item/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/grid-item/index.wxml b/coupon/miniprogram/@vant/weapp/dist/grid-item/index.wxml
new file mode 100644
index 0000000..e95087d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/grid-item/index.wxml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ text }}
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/grid-item/index.wxs b/coupon/miniprogram/@vant/weapp/dist/grid-item/index.wxs
new file mode 100644
index 0000000..2cfe37d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/grid-item/index.wxs
@@ -0,0 +1,32 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function wrapperStyle(data) {
+ var width = 100 / data.columnNum + '%';
+
+ return style({
+ width: width,
+ 'padding-top': data.square ? width : null,
+ 'padding-right': addUnit(data.gutter),
+ 'margin-top':
+ data.index >= data.columnNum && !data.square
+ ? addUnit(data.gutter)
+ : null,
+ });
+}
+
+function contentStyle(data) {
+ return data.square
+ ? style({
+ right: addUnit(data.gutter),
+ bottom: addUnit(data.gutter),
+ height: 'auto',
+ })
+ : '';
+}
+
+module.exports = {
+ wrapperStyle: wrapperStyle,
+ contentStyle: contentStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/grid-item/index.wxss b/coupon/miniprogram/@vant/weapp/dist/grid-item/index.wxss
new file mode 100644
index 0000000..acaea84
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/grid-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-grid-item{box-sizing:border-box;float:left;position:relative}.van-grid-item--square{height:0}.van-grid-item__content{background-color:var(--grid-item-content-background-color,#fff);box-sizing:border-box;display:flex;flex-direction:column;height:100%;padding:var(--grid-item-content-padding,16px 8px)}.van-grid-item__content:after{border-width:0 1px 1px 0;z-index:1}.van-grid-item__content--surround:after{border-width:1px}.van-grid-item__content--center{align-items:center;justify-content:center}.van-grid-item__content--square{left:0;position:absolute;right:0;top:0}.van-grid-item__content--horizontal{flex-direction:row}.van-grid-item__content--horizontal .van-grid-item__text{margin:0 0 0 8px}.van-grid-item__content--reverse{flex-direction:column-reverse}.van-grid-item__content--reverse .van-grid-item__text{margin:0 0 8px}.van-grid-item__content--horizontal.van-grid-item__content--reverse{flex-direction:row-reverse}.van-grid-item__content--horizontal.van-grid-item__content--reverse .van-grid-item__text{margin:0 8px 0 0}.van-grid-item__content--clickable:active{background-color:var(--grid-item-content-active-color,#f2f3f5)}.van-grid-item__icon{align-items:center;display:flex;font-size:var(--grid-item-icon-size,26px);height:var(--grid-item-icon-size,26px)}.van-grid-item__text{word-wrap:break-word;color:var(--grid-item-text-color,#646566);font-size:var(--grid-item-text-font-size,12px)}.van-grid-item__icon+.van-grid-item__text{margin-top:8px}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/grid/index.js b/coupon/miniprogram/@vant/weapp/dist/grid/index.js
new file mode 100644
index 0000000..41dfa4c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/grid/index.js
@@ -0,0 +1,55 @@
+import { VantComponent } from '../common/component';
+import { useChildren } from '../common/relation';
+VantComponent({
+ relation: useChildren('grid-item'),
+ props: {
+ square: {
+ type: Boolean,
+ observer: 'updateChildren',
+ },
+ gutter: {
+ type: null,
+ value: 0,
+ observer: 'updateChildren',
+ },
+ clickable: {
+ type: Boolean,
+ observer: 'updateChildren',
+ },
+ columnNum: {
+ type: Number,
+ value: 4,
+ observer: 'updateChildren',
+ },
+ center: {
+ type: Boolean,
+ value: true,
+ observer: 'updateChildren',
+ },
+ border: {
+ type: Boolean,
+ value: true,
+ observer: 'updateChildren',
+ },
+ direction: {
+ type: String,
+ observer: 'updateChildren',
+ },
+ iconSize: {
+ type: String,
+ observer: 'updateChildren',
+ },
+ reverse: {
+ type: Boolean,
+ value: false,
+ observer: 'updateChildren',
+ },
+ },
+ methods: {
+ updateChildren() {
+ this.children.forEach((child) => {
+ child.updateStyle();
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/grid/index.json b/coupon/miniprogram/@vant/weapp/dist/grid/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/grid/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/grid/index.wxml b/coupon/miniprogram/@vant/weapp/dist/grid/index.wxml
new file mode 100644
index 0000000..2e4118f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/grid/index.wxml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/grid/index.wxs b/coupon/miniprogram/@vant/weapp/dist/grid/index.wxs
new file mode 100644
index 0000000..cd3b1bd
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/grid/index.wxs
@@ -0,0 +1,13 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ return style({
+ 'padding-left': addUnit(data.gutter),
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/grid/index.wxss b/coupon/miniprogram/@vant/weapp/dist/grid/index.wxss
new file mode 100644
index 0000000..e347440
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/grid/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-grid{box-sizing:border-box;overflow:hidden;position:relative}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/icon/index.js b/coupon/miniprogram/@vant/weapp/dist/icon/index.js
new file mode 100644
index 0000000..34fee33
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/icon/index.js
@@ -0,0 +1,20 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ dot: Boolean,
+ info: null,
+ size: null,
+ color: String,
+ customStyle: String,
+ classPrefix: {
+ type: String,
+ value: 'van-icon',
+ },
+ name: String,
+ },
+ methods: {
+ onClick() {
+ this.$emit('click');
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/icon/index.json b/coupon/miniprogram/@vant/weapp/dist/icon/index.json
new file mode 100644
index 0000000..bf0ebe0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/icon/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-info": "../info/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/icon/index.wxml b/coupon/miniprogram/@vant/weapp/dist/icon/index.wxml
new file mode 100644
index 0000000..3c70174
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/icon/index.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/icon/index.wxs b/coupon/miniprogram/@vant/weapp/dist/icon/index.wxs
new file mode 100644
index 0000000..45e3aa0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/icon/index.wxs
@@ -0,0 +1,39 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function isImage(name) {
+ return name.indexOf('/') !== -1;
+}
+
+function rootClass(data) {
+ var classes = ['custom-class'];
+
+ if (data.classPrefix != null) {
+ classes.push(data.classPrefix);
+ }
+
+ if (isImage(data.name)) {
+ classes.push('van-icon--image');
+ } else if (data.classPrefix != null) {
+ classes.push(data.classPrefix + '-' + data.name);
+ }
+
+ return classes.join(' ');
+}
+
+function rootStyle(data) {
+ return style([
+ {
+ color: data.color,
+ 'font-size': addUnit(data.size),
+ },
+ data.customStyle,
+ ]);
+}
+
+module.exports = {
+ isImage: isImage,
+ rootClass: rootClass,
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/icon/index.wxss b/coupon/miniprogram/@vant/weapp/dist/icon/index.wxss
new file mode 100644
index 0000000..12cb2d0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/icon/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-icon{text-rendering:auto;-webkit-font-smoothing:antialiased;font:normal normal normal 14px/1 vant-icon;font-size:inherit;position:relative}.van-icon,.van-icon:before{display:inline-block}.van-icon-exchange:before{content:"\e6af"}.van-icon-eye:before{content:"\e6b0"}.van-icon-enlarge:before{content:"\e6b1"}.van-icon-expand-o:before{content:"\e6b2"}.van-icon-eye-o:before{content:"\e6b3"}.van-icon-expand:before{content:"\e6b4"}.van-icon-filter-o:before{content:"\e6b5"}.van-icon-fire:before{content:"\e6b6"}.van-icon-fail:before{content:"\e6b7"}.van-icon-failure:before{content:"\e6b8"}.van-icon-fire-o:before{content:"\e6b9"}.van-icon-flag-o:before{content:"\e6ba"}.van-icon-font:before{content:"\e6bb"}.van-icon-font-o:before{content:"\e6bc"}.van-icon-gem-o:before{content:"\e6bd"}.van-icon-flower-o:before{content:"\e6be"}.van-icon-gem:before{content:"\e6bf"}.van-icon-gift-card:before{content:"\e6c0"}.van-icon-friends:before{content:"\e6c1"}.van-icon-friends-o:before{content:"\e6c2"}.van-icon-gold-coin:before{content:"\e6c3"}.van-icon-gold-coin-o:before{content:"\e6c4"}.van-icon-good-job-o:before{content:"\e6c5"}.van-icon-gift:before{content:"\e6c6"}.van-icon-gift-o:before{content:"\e6c7"}.van-icon-gift-card-o:before{content:"\e6c8"}.van-icon-good-job:before{content:"\e6c9"}.van-icon-home-o:before{content:"\e6ca"}.van-icon-goods-collect:before{content:"\e6cb"}.van-icon-graphic:before{content:"\e6cc"}.van-icon-goods-collect-o:before{content:"\e6cd"}.van-icon-hot-o:before{content:"\e6ce"}.van-icon-info:before{content:"\e6cf"}.van-icon-hotel-o:before{content:"\e6d0"}.van-icon-info-o:before{content:"\e6d1"}.van-icon-hot-sale-o:before{content:"\e6d2"}.van-icon-hot:before{content:"\e6d3"}.van-icon-like:before{content:"\e6d4"}.van-icon-idcard:before{content:"\e6d5"}.van-icon-invitation:before{content:"\e6d6"}.van-icon-like-o:before{content:"\e6d7"}.van-icon-hot-sale:before{content:"\e6d8"}.van-icon-location-o:before{content:"\e6d9"}.van-icon-location:before{content:"\e6da"}.van-icon-label:before{content:"\e6db"}.van-icon-lock:before{content:"\e6dc"}.van-icon-label-o:before{content:"\e6dd"}.van-icon-map-marked:before{content:"\e6de"}.van-icon-logistics:before{content:"\e6df"}.van-icon-manager:before{content:"\e6e0"}.van-icon-more:before{content:"\e6e1"}.van-icon-live:before{content:"\e6e2"}.van-icon-manager-o:before{content:"\e6e3"}.van-icon-medal:before{content:"\e6e4"}.van-icon-more-o:before{content:"\e6e5"}.van-icon-music-o:before{content:"\e6e6"}.van-icon-music:before{content:"\e6e7"}.van-icon-new-arrival-o:before{content:"\e6e8"}.van-icon-medal-o:before{content:"\e6e9"}.van-icon-new-o:before{content:"\e6ea"}.van-icon-free-postage:before{content:"\e6eb"}.van-icon-newspaper-o:before{content:"\e6ec"}.van-icon-new-arrival:before{content:"\e6ed"}.van-icon-minus:before{content:"\e6ee"}.van-icon-orders-o:before{content:"\e6ef"}.van-icon-new:before{content:"\e6f0"}.van-icon-paid:before{content:"\e6f1"}.van-icon-notes-o:before{content:"\e6f2"}.van-icon-other-pay:before{content:"\e6f3"}.van-icon-pause-circle:before{content:"\e6f4"}.van-icon-pause:before{content:"\e6f5"}.van-icon-pause-circle-o:before{content:"\e6f6"}.van-icon-peer-pay:before{content:"\e6f7"}.van-icon-pending-payment:before{content:"\e6f8"}.van-icon-passed:before{content:"\e6f9"}.van-icon-plus:before{content:"\e6fa"}.van-icon-phone-circle-o:before{content:"\e6fb"}.van-icon-phone-o:before{content:"\e6fc"}.van-icon-printer:before{content:"\e6fd"}.van-icon-photo-fail:before{content:"\e6fe"}.van-icon-phone:before{content:"\e6ff"}.van-icon-photo-o:before{content:"\e700"}.van-icon-play-circle:before{content:"\e701"}.van-icon-play:before{content:"\e702"}.van-icon-phone-circle:before{content:"\e703"}.van-icon-point-gift-o:before{content:"\e704"}.van-icon-point-gift:before{content:"\e705"}.van-icon-play-circle-o:before{content:"\e706"}.van-icon-shrink:before{content:"\e707"}.van-icon-photo:before{content:"\e708"}.van-icon-qr:before{content:"\e709"}.van-icon-qr-invalid:before{content:"\e70a"}.van-icon-question-o:before{content:"\e70b"}.van-icon-revoke:before{content:"\e70c"}.van-icon-replay:before{content:"\e70d"}.van-icon-service:before{content:"\e70e"}.van-icon-question:before{content:"\e70f"}.van-icon-search:before{content:"\e710"}.van-icon-refund-o:before{content:"\e711"}.van-icon-service-o:before{content:"\e712"}.van-icon-scan:before{content:"\e713"}.van-icon-share:before{content:"\e714"}.van-icon-send-gift-o:before{content:"\e715"}.van-icon-share-o:before{content:"\e716"}.van-icon-setting:before{content:"\e717"}.van-icon-points:before{content:"\e718"}.van-icon-photograph:before{content:"\e719"}.van-icon-shop:before{content:"\e71a"}.van-icon-shop-o:before{content:"\e71b"}.van-icon-shop-collect-o:before{content:"\e71c"}.van-icon-shop-collect:before{content:"\e71d"}.van-icon-smile:before{content:"\e71e"}.van-icon-shopping-cart-o:before{content:"\e71f"}.van-icon-sign:before{content:"\e720"}.van-icon-sort:before{content:"\e721"}.van-icon-star-o:before{content:"\e722"}.van-icon-smile-comment-o:before{content:"\e723"}.van-icon-stop:before{content:"\e724"}.van-icon-stop-circle-o:before{content:"\e725"}.van-icon-smile-o:before{content:"\e726"}.van-icon-star:before{content:"\e727"}.van-icon-success:before{content:"\e728"}.van-icon-stop-circle:before{content:"\e729"}.van-icon-records:before{content:"\e72a"}.van-icon-shopping-cart:before{content:"\e72b"}.van-icon-tosend:before{content:"\e72c"}.van-icon-todo-list:before{content:"\e72d"}.van-icon-thumb-circle-o:before{content:"\e72e"}.van-icon-thumb-circle:before{content:"\e72f"}.van-icon-umbrella-circle:before{content:"\e730"}.van-icon-underway:before{content:"\e731"}.van-icon-upgrade:before{content:"\e732"}.van-icon-todo-list-o:before{content:"\e733"}.van-icon-tv-o:before{content:"\e734"}.van-icon-underway-o:before{content:"\e735"}.van-icon-user-o:before{content:"\e736"}.van-icon-vip-card-o:before{content:"\e737"}.van-icon-vip-card:before{content:"\e738"}.van-icon-send-gift:before{content:"\e739"}.van-icon-wap-home:before{content:"\e73a"}.van-icon-wap-nav:before{content:"\e73b"}.van-icon-volume-o:before{content:"\e73c"}.van-icon-video:before{content:"\e73d"}.van-icon-wap-home-o:before{content:"\e73e"}.van-icon-volume:before{content:"\e73f"}.van-icon-warning:before{content:"\e740"}.van-icon-weapp-nav:before{content:"\e741"}.van-icon-wechat-pay:before{content:"\e742"}.van-icon-warning-o:before{content:"\e743"}.van-icon-wechat:before{content:"\e744"}.van-icon-setting-o:before{content:"\e745"}.van-icon-youzan-shield:before{content:"\e746"}.van-icon-warn-o:before{content:"\e747"}.van-icon-smile-comment:before{content:"\e748"}.van-icon-user-circle-o:before{content:"\e749"}.van-icon-video-o:before{content:"\e74a"}.van-icon-add-square:before{content:"\e65c"}.van-icon-add:before{content:"\e65d"}.van-icon-arrow-down:before{content:"\e65e"}.van-icon-arrow-up:before{content:"\e65f"}.van-icon-arrow:before{content:"\e660"}.van-icon-after-sale:before{content:"\e661"}.van-icon-add-o:before{content:"\e662"}.van-icon-alipay:before{content:"\e663"}.van-icon-ascending:before{content:"\e664"}.van-icon-apps-o:before{content:"\e665"}.van-icon-aim:before{content:"\e666"}.van-icon-award:before{content:"\e667"}.van-icon-arrow-left:before{content:"\e668"}.van-icon-award-o:before{content:"\e669"}.van-icon-audio:before{content:"\e66a"}.van-icon-bag-o:before{content:"\e66b"}.van-icon-balance-list:before{content:"\e66c"}.van-icon-back-top:before{content:"\e66d"}.van-icon-bag:before{content:"\e66e"}.van-icon-balance-pay:before{content:"\e66f"}.van-icon-balance-o:before{content:"\e670"}.van-icon-bar-chart-o:before{content:"\e671"}.van-icon-bars:before{content:"\e672"}.van-icon-balance-list-o:before{content:"\e673"}.van-icon-birthday-cake-o:before{content:"\e674"}.van-icon-bookmark:before{content:"\e675"}.van-icon-bill:before{content:"\e676"}.van-icon-bell:before{content:"\e677"}.van-icon-browsing-history-o:before{content:"\e678"}.van-icon-browsing-history:before{content:"\e679"}.van-icon-bookmark-o:before{content:"\e67a"}.van-icon-bulb-o:before{content:"\e67b"}.van-icon-bullhorn-o:before{content:"\e67c"}.van-icon-bill-o:before{content:"\e67d"}.van-icon-calendar-o:before{content:"\e67e"}.van-icon-brush-o:before{content:"\e67f"}.van-icon-card:before{content:"\e680"}.van-icon-cart-o:before{content:"\e681"}.van-icon-cart-circle:before{content:"\e682"}.van-icon-cart-circle-o:before{content:"\e683"}.van-icon-cart:before{content:"\e684"}.van-icon-cash-on-deliver:before{content:"\e685"}.van-icon-cash-back-record:before{content:"\e686"}.van-icon-cashier-o:before{content:"\e687"}.van-icon-chart-trending-o:before{content:"\e688"}.van-icon-certificate:before{content:"\e689"}.van-icon-chat:before{content:"\e68a"}.van-icon-clear:before{content:"\e68b"}.van-icon-chat-o:before{content:"\e68c"}.van-icon-checked:before{content:"\e68d"}.van-icon-clock:before{content:"\e68e"}.van-icon-clock-o:before{content:"\e68f"}.van-icon-close:before{content:"\e690"}.van-icon-closed-eye:before{content:"\e691"}.van-icon-circle:before{content:"\e692"}.van-icon-cluster-o:before{content:"\e693"}.van-icon-column:before{content:"\e694"}.van-icon-comment-circle-o:before{content:"\e695"}.van-icon-cluster:before{content:"\e696"}.van-icon-comment:before{content:"\e697"}.van-icon-comment-o:before{content:"\e698"}.van-icon-comment-circle:before{content:"\e699"}.van-icon-completed:before{content:"\e69a"}.van-icon-credit-pay:before{content:"\e69b"}.van-icon-coupon:before{content:"\e69c"}.van-icon-debit-pay:before{content:"\e69d"}.van-icon-coupon-o:before{content:"\e69e"}.van-icon-contact:before{content:"\e69f"}.van-icon-descending:before{content:"\e6a0"}.van-icon-desktop-o:before{content:"\e6a1"}.van-icon-diamond-o:before{content:"\e6a2"}.van-icon-description:before{content:"\e6a3"}.van-icon-delete:before{content:"\e6a4"}.van-icon-diamond:before{content:"\e6a5"}.van-icon-delete-o:before{content:"\e6a6"}.van-icon-cross:before{content:"\e6a7"}.van-icon-edit:before{content:"\e6a8"}.van-icon-ellipsis:before{content:"\e6a9"}.van-icon-down:before{content:"\e6aa"}.van-icon-discount:before{content:"\e6ab"}.van-icon-ecard-pay:before{content:"\e6ac"}.van-icon-envelop-o:before{content:"\e6ae"}.van-icon-shield-o:before{content:"\e74b"}.van-icon-guide-o:before{content:"\e74c"}@font-face{font-display:auto;font-family:vant-icon;font-style:normal;font-weight:400;src:url(//at.alicdn.com/t/font_2553510_61agzg96wm8.woff2?t=1631948257467) format("woff2"),url(//at.alicdn.com/t/font_2553510_61agzg96wm8.woff?t=1631948257467) format("woff"),url(//at.alicdn.com/t/font_2553510_61agzg96wm8.ttf?t=1631948257467) format("truetype")}:host{align-items:center;display:inline-flex;justify-content:center}.van-icon--image{height:1em;width:1em}.van-icon__image{height:100%;width:100%}.van-icon__info{z-index:1}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/image/index.js b/coupon/miniprogram/@vant/weapp/dist/image/index.js
new file mode 100644
index 0000000..06c9dd1
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/image/index.js
@@ -0,0 +1,60 @@
+import { VantComponent } from '../common/component';
+import { button } from '../mixins/button';
+VantComponent({
+ mixins: [button],
+ classes: ['custom-class', 'loading-class', 'error-class', 'image-class'],
+ props: {
+ src: {
+ type: String,
+ observer() {
+ this.setData({
+ error: false,
+ loading: true,
+ });
+ },
+ },
+ round: Boolean,
+ width: null,
+ height: null,
+ radius: null,
+ lazyLoad: Boolean,
+ useErrorSlot: Boolean,
+ useLoadingSlot: Boolean,
+ showMenuByLongpress: Boolean,
+ fit: {
+ type: String,
+ value: 'fill',
+ },
+ showError: {
+ type: Boolean,
+ value: true,
+ },
+ showLoading: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ error: false,
+ loading: true,
+ viewStyle: '',
+ },
+ methods: {
+ onLoad(event) {
+ this.setData({
+ loading: false,
+ });
+ this.$emit('load', event.detail);
+ },
+ onError(event) {
+ this.setData({
+ loading: false,
+ error: true,
+ });
+ this.$emit('error', event.detail);
+ },
+ onClick(event) {
+ this.$emit('click', event.detail);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/image/index.json b/coupon/miniprogram/@vant/weapp/dist/image/index.json
new file mode 100644
index 0000000..e00a588
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/image/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/image/index.wxml b/coupon/miniprogram/@vant/weapp/dist/image/index.wxml
new file mode 100644
index 0000000..d3092bd
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/image/index.wxml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/image/index.wxs b/coupon/miniprogram/@vant/weapp/dist/image/index.wxs
new file mode 100644
index 0000000..cec14b8
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/image/index.wxs
@@ -0,0 +1,32 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ return style([
+ {
+ width: addUnit(data.width),
+ height: addUnit(data.height),
+ 'border-radius': addUnit(data.radius),
+ },
+ data.radius ? 'overflow: hidden' : null,
+ ]);
+}
+
+var FIT_MODE_MAP = {
+ none: 'center',
+ fill: 'scaleToFill',
+ cover: 'aspectFill',
+ contain: 'aspectFit',
+ widthFix: 'widthFix',
+ heightFix: 'heightFix',
+};
+
+function mode(fit) {
+ return FIT_MODE_MAP[fit];
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+ mode: mode,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/image/index.wxss b/coupon/miniprogram/@vant/weapp/dist/image/index.wxss
new file mode 100644
index 0000000..a9c6ebb
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/image/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-image{display:inline-block;position:relative}.van-image--round{border-radius:50%;overflow:hidden}.van-image--round .van-image__img{border-radius:inherit}.van-image__error,.van-image__img,.van-image__loading{display:block;height:100%;width:100%}.van-image__error,.van-image__loading{align-items:center;background-color:var(--image-placeholder-background-color,#f7f8fa);color:var(--image-placeholder-text-color,#969799);display:flex;flex-direction:column;font-size:var(--image-placeholder-font-size,14px);justify-content:center;left:0;position:absolute;top:0}.van-image__loading-icon{color:var(--image-loading-icon-color,#dcdee0);font-size:var(--image-loading-icon-size,32px)!important}.van-image__error-icon{color:var(--image-error-icon-color,#dcdee0);font-size:var(--image-error-icon-size,32px)!important}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/index-anchor/index.js b/coupon/miniprogram/@vant/weapp/dist/index-anchor/index.js
new file mode 100644
index 0000000..85265e9
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/index-anchor/index.js
@@ -0,0 +1,25 @@
+import { getRect } from '../common/utils';
+import { VantComponent } from '../common/component';
+import { useParent } from '../common/relation';
+VantComponent({
+ relation: useParent('index-bar'),
+ props: {
+ useSlot: Boolean,
+ index: null,
+ },
+ data: {
+ active: false,
+ wrapperStyle: '',
+ anchorStyle: '',
+ },
+ methods: {
+ scrollIntoView(scrollTop) {
+ getRect(this, '.van-index-anchor-wrapper').then((rect) => {
+ wx.pageScrollTo({
+ duration: 0,
+ scrollTop: scrollTop + rect.top - this.parent.data.stickyOffsetTop,
+ });
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/index-anchor/index.json b/coupon/miniprogram/@vant/weapp/dist/index-anchor/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/index-anchor/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/index-anchor/index.wxml b/coupon/miniprogram/@vant/weapp/dist/index-anchor/index.wxml
new file mode 100644
index 0000000..49affa7
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/index-anchor/index.wxml
@@ -0,0 +1,14 @@
+
+
+
+
+ {{ index }}
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/index-anchor/index.wxss b/coupon/miniprogram/@vant/weapp/dist/index-anchor/index.wxss
new file mode 100644
index 0000000..4b91560
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/index-anchor/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-index-anchor{background-color:var(--index-anchor-background-color,transparent);color:var(--index-anchor-text-color,#323233);font-size:var(--index-anchor-font-size,14px);font-weight:var(--index-anchor-font-weight,500);line-height:var(--index-anchor-line-height,32px);padding:var(--index-anchor-padding,0 16px)}.van-index-anchor--active{background-color:var(--index-anchor-active-background-color,#fff);color:var(--index-anchor-active-text-color,#07c160);left:0;right:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/index-bar/index.js b/coupon/miniprogram/@vant/weapp/dist/index-bar/index.js
new file mode 100644
index 0000000..201b2e3
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/index-bar/index.js
@@ -0,0 +1,243 @@
+import { GREEN } from '../common/color';
+import { VantComponent } from '../common/component';
+import { useChildren } from '../common/relation';
+import { getRect, isDef } from '../common/utils';
+import { pageScrollMixin } from '../mixins/page-scroll';
+const indexList = () => {
+ const indexList = [];
+ const charCodeOfA = 'A'.charCodeAt(0);
+ for (let i = 0; i < 26; i++) {
+ indexList.push(String.fromCharCode(charCodeOfA + i));
+ }
+ return indexList;
+};
+VantComponent({
+ relation: useChildren('index-anchor', function () {
+ this.updateData();
+ }),
+ props: {
+ sticky: {
+ type: Boolean,
+ value: true,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ highlightColor: {
+ type: String,
+ value: GREEN,
+ },
+ stickyOffsetTop: {
+ type: Number,
+ value: 0,
+ },
+ indexList: {
+ type: Array,
+ value: indexList(),
+ },
+ },
+ mixins: [
+ pageScrollMixin(function (event) {
+ this.scrollTop = (event === null || event === void 0 ? void 0 : event.scrollTop) || 0;
+ this.onScroll();
+ }),
+ ],
+ data: {
+ activeAnchorIndex: null,
+ showSidebar: false,
+ },
+ created() {
+ this.scrollTop = 0;
+ },
+ methods: {
+ updateData() {
+ wx.nextTick(() => {
+ if (this.timer != null) {
+ clearTimeout(this.timer);
+ }
+ this.timer = setTimeout(() => {
+ this.setData({
+ showSidebar: !!this.children.length,
+ });
+ this.setRect().then(() => {
+ this.onScroll();
+ });
+ }, 0);
+ });
+ },
+ setRect() {
+ return Promise.all([
+ this.setAnchorsRect(),
+ this.setListRect(),
+ this.setSiderbarRect(),
+ ]);
+ },
+ setAnchorsRect() {
+ return Promise.all(this.children.map((anchor) => getRect(anchor, '.van-index-anchor-wrapper').then((rect) => {
+ Object.assign(anchor, {
+ height: rect.height,
+ top: rect.top + this.scrollTop,
+ });
+ })));
+ },
+ setListRect() {
+ return getRect(this, '.van-index-bar').then((rect) => {
+ Object.assign(this, {
+ height: rect.height,
+ top: rect.top + this.scrollTop,
+ });
+ });
+ },
+ setSiderbarRect() {
+ return getRect(this, '.van-index-bar__sidebar').then((res) => {
+ if (!isDef(res)) {
+ return;
+ }
+ this.sidebar = {
+ height: res.height,
+ top: res.top,
+ };
+ });
+ },
+ setDiffData({ target, data }) {
+ const diffData = {};
+ Object.keys(data).forEach((key) => {
+ if (target.data[key] !== data[key]) {
+ diffData[key] = data[key];
+ }
+ });
+ if (Object.keys(diffData).length) {
+ target.setData(diffData);
+ }
+ },
+ getAnchorRect(anchor) {
+ return getRect(anchor, '.van-index-anchor-wrapper').then((rect) => ({
+ height: rect.height,
+ top: rect.top,
+ }));
+ },
+ getActiveAnchorIndex() {
+ const { children, scrollTop } = this;
+ const { sticky, stickyOffsetTop } = this.data;
+ for (let i = this.children.length - 1; i >= 0; i--) {
+ const preAnchorHeight = i > 0 ? children[i - 1].height : 0;
+ const reachTop = sticky ? preAnchorHeight + stickyOffsetTop : 0;
+ if (reachTop + scrollTop >= children[i].top) {
+ return i;
+ }
+ }
+ return -1;
+ },
+ onScroll() {
+ const { children = [], scrollTop } = this;
+ if (!children.length) {
+ return;
+ }
+ const { sticky, stickyOffsetTop, zIndex, highlightColor } = this.data;
+ const active = this.getActiveAnchorIndex();
+ this.setDiffData({
+ target: this,
+ data: {
+ activeAnchorIndex: active,
+ },
+ });
+ if (sticky) {
+ let isActiveAnchorSticky = false;
+ if (active !== -1) {
+ isActiveAnchorSticky =
+ children[active].top <= stickyOffsetTop + scrollTop;
+ }
+ children.forEach((item, index) => {
+ if (index === active) {
+ let wrapperStyle = '';
+ let anchorStyle = `
+ color: ${highlightColor};
+ `;
+ if (isActiveAnchorSticky) {
+ wrapperStyle = `
+ height: ${children[index].height}px;
+ `;
+ anchorStyle = `
+ position: fixed;
+ top: ${stickyOffsetTop}px;
+ z-index: ${zIndex};
+ color: ${highlightColor};
+ `;
+ }
+ this.setDiffData({
+ target: item,
+ data: {
+ active: true,
+ anchorStyle,
+ wrapperStyle,
+ },
+ });
+ }
+ else if (index === active - 1) {
+ const currentAnchor = children[index];
+ const currentOffsetTop = currentAnchor.top;
+ const targetOffsetTop = index === children.length - 1
+ ? this.top
+ : children[index + 1].top;
+ const parentOffsetHeight = targetOffsetTop - currentOffsetTop;
+ const translateY = parentOffsetHeight - currentAnchor.height;
+ const anchorStyle = `
+ position: relative;
+ transform: translate3d(0, ${translateY}px, 0);
+ z-index: ${zIndex};
+ color: ${highlightColor};
+ `;
+ this.setDiffData({
+ target: item,
+ data: {
+ active: true,
+ anchorStyle,
+ },
+ });
+ }
+ else {
+ this.setDiffData({
+ target: item,
+ data: {
+ active: false,
+ anchorStyle: '',
+ wrapperStyle: '',
+ },
+ });
+ }
+ });
+ }
+ },
+ onClick(event) {
+ this.scrollToAnchor(event.target.dataset.index);
+ },
+ onTouchMove(event) {
+ const sidebarLength = this.children.length;
+ const touch = event.touches[0];
+ const itemHeight = this.sidebar.height / sidebarLength;
+ let index = Math.floor((touch.clientY - this.sidebar.top) / itemHeight);
+ if (index < 0) {
+ index = 0;
+ }
+ else if (index > sidebarLength - 1) {
+ index = sidebarLength - 1;
+ }
+ this.scrollToAnchor(index);
+ },
+ onTouchStop() {
+ this.scrollToAnchorIndex = null;
+ },
+ scrollToAnchor(index) {
+ if (typeof index !== 'number' || this.scrollToAnchorIndex === index) {
+ return;
+ }
+ this.scrollToAnchorIndex = index;
+ const anchor = this.children.find((item) => item.data.index === this.data.indexList[index]);
+ if (anchor) {
+ anchor.scrollIntoView(this.scrollTop);
+ this.$emit('select', anchor.data.index);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/index-bar/index.json b/coupon/miniprogram/@vant/weapp/dist/index-bar/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/index-bar/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/index-bar/index.wxml b/coupon/miniprogram/@vant/weapp/dist/index-bar/index.wxml
new file mode 100644
index 0000000..19a59cf
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/index-bar/index.wxml
@@ -0,0 +1,22 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/index-bar/index.wxss b/coupon/miniprogram/@vant/weapp/dist/index-bar/index.wxss
new file mode 100644
index 0000000..8568801
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/index-bar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-index-bar{position:relative}.van-index-bar__sidebar{display:flex;flex-direction:column;position:fixed;right:0;text-align:center;top:50%;transform:translateY(-50%);-webkit-user-select:none;user-select:none}.van-index-bar__index{font-size:var(--index-bar-index-font-size,10px);font-weight:500;line-height:var(--index-bar-index-line-height,14px);padding:0 var(--padding-base,4px) 0 var(--padding-md,16px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/info/index.js b/coupon/miniprogram/@vant/weapp/dist/info/index.js
new file mode 100644
index 0000000..6eac8f8
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/info/index.js
@@ -0,0 +1,8 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ dot: Boolean,
+ info: null,
+ customStyle: String,
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/info/index.json b/coupon/miniprogram/@vant/weapp/dist/info/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/info/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/info/index.wxml b/coupon/miniprogram/@vant/weapp/dist/info/index.wxml
new file mode 100644
index 0000000..b39b524
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/info/index.wxml
@@ -0,0 +1,7 @@
+
+
+{{ dot ? '' : info }}
diff --git a/coupon/miniprogram/@vant/weapp/dist/info/index.wxss b/coupon/miniprogram/@vant/weapp/dist/info/index.wxss
new file mode 100644
index 0000000..375ed5a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/info/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-info{align-items:center;background-color:var(--info-background-color,#ee0a24);border:var(--info-border-width,1px) solid #fff;border-radius:var(--info-size,16px);box-sizing:border-box;color:var(--info-color,#fff);display:inline-flex;font-family:var(--info-font-family,-apple-system-font,Helvetica Neue,Arial,sans-serif);font-size:var(--info-font-size,12px);font-weight:var(--info-font-weight,500);height:var(--info-size,16px);justify-content:center;min-width:var(--info-size,16px);padding:var(--info-padding,0 3px);position:absolute;right:0;top:0;transform:translate(50%,-50%);transform-origin:100%;white-space:nowrap}.van-info--dot{background-color:var(--info-dot-color,#ee0a24);border-radius:100%;height:var(--info-dot-size,8px);min-width:0;width:var(--info-dot-size,8px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/loading/index.js b/coupon/miniprogram/@vant/weapp/dist/loading/index.js
new file mode 100644
index 0000000..f5f96ba
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/loading/index.js
@@ -0,0 +1,16 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ color: String,
+ vertical: Boolean,
+ type: {
+ type: String,
+ value: 'circular',
+ },
+ size: String,
+ textSize: String,
+ },
+ data: {
+ array12: Array.from({ length: 12 }),
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/loading/index.json b/coupon/miniprogram/@vant/weapp/dist/loading/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/loading/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/loading/index.wxml b/coupon/miniprogram/@vant/weapp/dist/loading/index.wxml
new file mode 100644
index 0000000..7d4a539
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/loading/index.wxml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/loading/index.wxs b/coupon/miniprogram/@vant/weapp/dist/loading/index.wxs
new file mode 100644
index 0000000..02a0b80
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/loading/index.wxs
@@ -0,0 +1,22 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function spinnerStyle(data) {
+ return style({
+ color: data.color,
+ width: addUnit(data.size),
+ height: addUnit(data.size),
+ });
+}
+
+function textStyle(data) {
+ return style({
+ 'font-size': addUnit(data.textSize),
+ });
+}
+
+module.exports = {
+ spinnerStyle: spinnerStyle,
+ textStyle: textStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/loading/index.wxss b/coupon/miniprogram/@vant/weapp/dist/loading/index.wxss
new file mode 100644
index 0000000..fc84e84
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/loading/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';:host{font-size:0;line-height:1}.van-loading{align-items:center;color:var(--loading-spinner-color,#c8c9cc);display:inline-flex;justify-content:center}.van-loading__spinner{animation:van-rotate var(--loading-spinner-animation-duration,.8s) linear infinite;box-sizing:border-box;height:var(--loading-spinner-size,30px);max-height:100%;max-width:100%;position:relative;width:var(--loading-spinner-size,30px)}.van-loading__spinner--spinner{animation-timing-function:steps(12)}.van-loading__spinner--circular{border:1px solid transparent;border-radius:100%;border-top-color:initial}.van-loading__text{color:var(--loading-text-color,#969799);font-size:var(--loading-text-font-size,14px);line-height:var(--loading-text-line-height,20px);margin-left:var(--padding-xs,8px)}.van-loading__text:empty{display:none}.van-loading--vertical{flex-direction:column}.van-loading--vertical .van-loading__text{margin:var(--padding-xs,8px) 0 0}.van-loading__dot{height:100%;left:0;position:absolute;top:0;width:100%}.van-loading__dot:before{background-color:currentColor;border-radius:40%;content:" ";display:block;height:25%;margin:0 auto;width:2px}.van-loading__dot:first-of-type{opacity:1;transform:rotate(30deg)}.van-loading__dot:nth-of-type(2){opacity:.9375;transform:rotate(60deg)}.van-loading__dot:nth-of-type(3){opacity:.875;transform:rotate(90deg)}.van-loading__dot:nth-of-type(4){opacity:.8125;transform:rotate(120deg)}.van-loading__dot:nth-of-type(5){opacity:.75;transform:rotate(150deg)}.van-loading__dot:nth-of-type(6){opacity:.6875;transform:rotate(180deg)}.van-loading__dot:nth-of-type(7){opacity:.625;transform:rotate(210deg)}.van-loading__dot:nth-of-type(8){opacity:.5625;transform:rotate(240deg)}.van-loading__dot:nth-of-type(9){opacity:.5;transform:rotate(270deg)}.van-loading__dot:nth-of-type(10){opacity:.4375;transform:rotate(300deg)}.van-loading__dot:nth-of-type(11){opacity:.375;transform:rotate(330deg)}.van-loading__dot:nth-of-type(12){opacity:.3125;transform:rotate(1turn)}@keyframes van-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/mixins/basic.js b/coupon/miniprogram/@vant/weapp/dist/mixins/basic.js
new file mode 100644
index 0000000..617cc07
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/mixins/basic.js
@@ -0,0 +1,11 @@
+export const basic = Behavior({
+ methods: {
+ $emit(name, detail, options) {
+ this.triggerEvent(name, detail, options);
+ },
+ set(data) {
+ this.setData(data);
+ return new Promise((resolve) => wx.nextTick(resolve));
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/mixins/button.js b/coupon/miniprogram/@vant/weapp/dist/mixins/button.js
new file mode 100644
index 0000000..ac1e569
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/mixins/button.js
@@ -0,0 +1,41 @@
+import { canIUseGetUserProfile } from '../common/version';
+export const button = Behavior({
+ externalClasses: ['hover-class'],
+ properties: {
+ id: String,
+ lang: String,
+ businessId: Number,
+ sessionFrom: String,
+ sendMessageTitle: String,
+ sendMessagePath: String,
+ sendMessageImg: String,
+ showMessageCard: Boolean,
+ appParameter: String,
+ ariaLabel: String,
+ openType: String,
+ getUserProfileDesc: String,
+ },
+ data: {
+ canIUseGetUserProfile: canIUseGetUserProfile(),
+ },
+ methods: {
+ onGetUserInfo(event) {
+ this.triggerEvent('getuserinfo', event.detail);
+ },
+ onContact(event) {
+ this.triggerEvent('contact', event.detail);
+ },
+ onGetPhoneNumber(event) {
+ this.triggerEvent('getphonenumber', event.detail);
+ },
+ onError(event) {
+ this.triggerEvent('error', event.detail);
+ },
+ onLaunchApp(event) {
+ this.triggerEvent('launchapp', event.detail);
+ },
+ onOpenSetting(event) {
+ this.triggerEvent('opensetting', event.detail);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/mixins/link.js b/coupon/miniprogram/@vant/weapp/dist/mixins/link.js
new file mode 100644
index 0000000..8c274e1
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/mixins/link.js
@@ -0,0 +1,23 @@
+export const link = Behavior({
+ properties: {
+ url: String,
+ linkType: {
+ type: String,
+ value: 'navigateTo',
+ },
+ },
+ methods: {
+ jumpLink(urlKey = 'url') {
+ const url = this.data[urlKey];
+ if (url) {
+ if (this.data.linkType === 'navigateTo' &&
+ getCurrentPages().length > 9) {
+ wx.redirectTo({ url });
+ }
+ else {
+ wx[this.data.linkType]({ url });
+ }
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/mixins/page-scroll.js b/coupon/miniprogram/@vant/weapp/dist/mixins/page-scroll.js
new file mode 100644
index 0000000..0a0a561
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/mixins/page-scroll.js
@@ -0,0 +1,36 @@
+import { getCurrentPage, isDef } from '../common/utils';
+function onPageScroll(event) {
+ const { vanPageScroller = [] } = getCurrentPage();
+ vanPageScroller.forEach((scroller) => {
+ if (typeof scroller === 'function') {
+ // @ts-ignore
+ scroller(event);
+ }
+ });
+}
+export const pageScrollMixin = (scroller) => Behavior({
+ attached() {
+ const page = getCurrentPage();
+ if (!isDef(page)) {
+ return;
+ }
+ if (Array.isArray(page.vanPageScroller)) {
+ page.vanPageScroller.push(scroller.bind(this));
+ }
+ else {
+ page.vanPageScroller =
+ typeof page.onPageScroll === 'function'
+ ? [page.onPageScroll.bind(page), scroller.bind(this)]
+ : [scroller.bind(this)];
+ }
+ page.onPageScroll = onPageScroll;
+ },
+ detached() {
+ var _a;
+ const page = getCurrentPage();
+ if (isDef(page)) {
+ page.vanPageScroller =
+ ((_a = page.vanPageScroller) === null || _a === void 0 ? void 0 : _a.filter((item) => item !== scroller)) || [];
+ }
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/mixins/touch.js b/coupon/miniprogram/@vant/weapp/dist/mixins/touch.js
new file mode 100644
index 0000000..ecefae8
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/mixins/touch.js
@@ -0,0 +1,37 @@
+// @ts-nocheck
+const MIN_DISTANCE = 10;
+function getDirection(x, y) {
+ if (x > y && x > MIN_DISTANCE) {
+ return 'horizontal';
+ }
+ if (y > x && y > MIN_DISTANCE) {
+ return 'vertical';
+ }
+ return '';
+}
+export const touch = Behavior({
+ methods: {
+ resetTouchStatus() {
+ this.direction = '';
+ this.deltaX = 0;
+ this.deltaY = 0;
+ this.offsetX = 0;
+ this.offsetY = 0;
+ },
+ touchStart(event) {
+ this.resetTouchStatus();
+ const touch = event.touches[0];
+ this.startX = touch.clientX;
+ this.startY = touch.clientY;
+ },
+ touchMove(event) {
+ const touch = event.touches[0];
+ this.deltaX = touch.clientX - this.startX;
+ this.deltaY = touch.clientY - this.startY;
+ this.offsetX = Math.abs(this.deltaX);
+ this.offsetY = Math.abs(this.deltaY);
+ this.direction =
+ this.direction || getDirection(this.offsetX, this.offsetY);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/mixins/transition.js b/coupon/miniprogram/@vant/weapp/dist/mixins/transition.js
new file mode 100644
index 0000000..bc7fc8e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/mixins/transition.js
@@ -0,0 +1,115 @@
+// @ts-nocheck
+import { requestAnimationFrame } from '../common/utils';
+import { isObj } from '../common/validator';
+const getClassNames = (name) => ({
+ enter: `van-${name}-enter van-${name}-enter-active enter-class enter-active-class`,
+ 'enter-to': `van-${name}-enter-to van-${name}-enter-active enter-to-class enter-active-class`,
+ leave: `van-${name}-leave van-${name}-leave-active leave-class leave-active-class`,
+ 'leave-to': `van-${name}-leave-to van-${name}-leave-active leave-to-class leave-active-class`,
+});
+export function transition(showDefaultValue) {
+ return Behavior({
+ properties: {
+ customStyle: String,
+ // @ts-ignore
+ show: {
+ type: Boolean,
+ value: showDefaultValue,
+ observer: 'observeShow',
+ },
+ // @ts-ignore
+ duration: {
+ type: null,
+ value: 300,
+ observer: 'observeDuration',
+ },
+ name: {
+ type: String,
+ value: 'fade',
+ },
+ },
+ data: {
+ type: '',
+ inited: false,
+ display: false,
+ },
+ ready() {
+ if (this.data.show === true) {
+ this.observeShow(true, false);
+ }
+ },
+ methods: {
+ observeShow(value, old) {
+ if (value === old) {
+ return;
+ }
+ value ? this.enter() : this.leave();
+ },
+ enter() {
+ const { duration, name } = this.data;
+ const classNames = getClassNames(name);
+ const currentDuration = isObj(duration) ? duration.enter : duration;
+ this.status = 'enter';
+ this.$emit('before-enter');
+ requestAnimationFrame(() => {
+ if (this.status !== 'enter') {
+ return;
+ }
+ this.$emit('enter');
+ this.setData({
+ inited: true,
+ display: true,
+ classes: classNames.enter,
+ currentDuration,
+ });
+ requestAnimationFrame(() => {
+ if (this.status !== 'enter') {
+ return;
+ }
+ this.transitionEnded = false;
+ this.setData({ classes: classNames['enter-to'] });
+ });
+ });
+ },
+ leave() {
+ if (!this.data.display) {
+ return;
+ }
+ const { duration, name } = this.data;
+ const classNames = getClassNames(name);
+ const currentDuration = isObj(duration) ? duration.leave : duration;
+ this.status = 'leave';
+ this.$emit('before-leave');
+ requestAnimationFrame(() => {
+ if (this.status !== 'leave') {
+ return;
+ }
+ this.$emit('leave');
+ this.setData({
+ classes: classNames.leave,
+ currentDuration,
+ });
+ requestAnimationFrame(() => {
+ if (this.status !== 'leave') {
+ return;
+ }
+ this.transitionEnded = false;
+ setTimeout(() => this.onTransitionEnd(), currentDuration);
+ this.setData({ classes: classNames['leave-to'] });
+ });
+ });
+ },
+ onTransitionEnd() {
+ if (this.transitionEnded) {
+ return;
+ }
+ this.transitionEnded = true;
+ this.$emit(`after-${this.status}`);
+ const { show, display } = this.data;
+ if (!show && display) {
+ this.setData({ display: false });
+ }
+ },
+ },
+ });
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/nav-bar/index.js b/coupon/miniprogram/@vant/weapp/dist/nav-bar/index.js
new file mode 100644
index 0000000..30fc5aa
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/nav-bar/index.js
@@ -0,0 +1,65 @@
+import { VantComponent } from '../common/component';
+import { getRect, getSystemInfoSync } from '../common/utils';
+VantComponent({
+ classes: ['title-class'],
+ props: {
+ title: String,
+ fixed: {
+ type: Boolean,
+ observer: 'setHeight',
+ },
+ placeholder: {
+ type: Boolean,
+ observer: 'setHeight',
+ },
+ leftText: String,
+ rightText: String,
+ customStyle: String,
+ leftArrow: Boolean,
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ safeAreaInsetTop: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ height: 46,
+ },
+ created() {
+ const { statusBarHeight } = getSystemInfoSync();
+ this.setData({
+ statusBarHeight,
+ height: 46 + statusBarHeight,
+ });
+ },
+ mounted() {
+ this.setHeight();
+ },
+ methods: {
+ onClickLeft() {
+ this.$emit('click-left');
+ },
+ onClickRight() {
+ this.$emit('click-right');
+ },
+ setHeight() {
+ if (!this.data.fixed || !this.data.placeholder) {
+ return;
+ }
+ wx.nextTick(() => {
+ getRect(this, '.van-nav-bar').then((res) => {
+ if (res && 'height' in res) {
+ this.setData({ height: res.height });
+ }
+ });
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/nav-bar/index.json b/coupon/miniprogram/@vant/weapp/dist/nav-bar/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/nav-bar/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/nav-bar/index.wxml b/coupon/miniprogram/@vant/weapp/dist/nav-bar/index.wxml
new file mode 100644
index 0000000..b6405fd
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/nav-bar/index.wxml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+ {{ leftText }}
+
+
+
+
+ {{ title }}
+
+
+
+ {{ rightText }}
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/nav-bar/index.wxs b/coupon/miniprogram/@vant/weapp/dist/nav-bar/index.wxs
new file mode 100644
index 0000000..55b4158
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/nav-bar/index.wxs
@@ -0,0 +1,13 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+
+function barStyle(data) {
+ return style({
+ 'z-index': data.zIndex,
+ 'padding-top': data.safeAreaInsetTop ? data.statusBarHeight + 'px' : 0,
+ });
+}
+
+module.exports = {
+ barStyle: barStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/nav-bar/index.wxss b/coupon/miniprogram/@vant/weapp/dist/nav-bar/index.wxss
new file mode 100644
index 0000000..94c5b44
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/nav-bar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-nav-bar{background-color:var(--nav-bar-background-color,#fff);height:var(--nav-bar-height,46px);line-height:var(--nav-bar-height,46px);position:relative;text-align:center;-webkit-user-select:none;user-select:none}.van-nav-bar__content{height:100%;position:relative}.van-nav-bar__text{color:var(--nav-bar-text-color,#1989fa);display:inline-block;margin:0 calc(var(--padding-md, 16px)*-1);padding:0 var(--padding-md,16px);vertical-align:middle}.van-nav-bar__text--hover{background-color:#f2f3f5}.van-nav-bar__arrow{color:var(--nav-bar-icon-color,#1989fa)!important;font-size:var(--nav-bar-arrow-size,16px)!important;vertical-align:middle}.van-nav-bar__arrow+.van-nav-bar__text{margin-left:-20px;padding-left:25px}.van-nav-bar--fixed{left:0;position:fixed;top:0;width:100%}.van-nav-bar__title{color:var(--nav-bar-title-text-color,#323233);font-size:var(--nav-bar-title-font-size,16px);font-weight:var(--font-weight-bold,500);margin:0 auto;max-width:60%}.van-nav-bar__left,.van-nav-bar__right{align-items:center;bottom:0;display:flex;font-size:var(--font-size-md,14px);position:absolute;top:0}.van-nav-bar__left{left:var(--padding-md,16px)}.van-nav-bar__right{right:var(--padding-md,16px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/notice-bar/index.js b/coupon/miniprogram/@vant/weapp/dist/notice-bar/index.js
new file mode 100644
index 0000000..ef36999
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/notice-bar/index.js
@@ -0,0 +1,120 @@
+import { VantComponent } from '../common/component';
+import { getRect, requestAnimationFrame } from '../common/utils';
+VantComponent({
+ props: {
+ text: {
+ type: String,
+ value: '',
+ observer: 'init',
+ },
+ mode: {
+ type: String,
+ value: '',
+ },
+ url: {
+ type: String,
+ value: '',
+ },
+ openType: {
+ type: String,
+ value: 'navigate',
+ },
+ delay: {
+ type: Number,
+ value: 1,
+ },
+ speed: {
+ type: Number,
+ value: 60,
+ observer: 'init',
+ },
+ scrollable: null,
+ leftIcon: {
+ type: String,
+ value: '',
+ },
+ color: String,
+ backgroundColor: String,
+ background: String,
+ wrapable: Boolean,
+ },
+ data: {
+ show: true,
+ },
+ created() {
+ this.resetAnimation = wx.createAnimation({
+ duration: 0,
+ timingFunction: 'linear',
+ });
+ },
+ destroyed() {
+ this.timer && clearTimeout(this.timer);
+ },
+ mounted() {
+ this.init();
+ },
+ methods: {
+ init() {
+ requestAnimationFrame(() => {
+ Promise.all([
+ getRect(this, '.van-notice-bar__content'),
+ getRect(this, '.van-notice-bar__wrap'),
+ ]).then((rects) => {
+ const [contentRect, wrapRect] = rects;
+ const { speed, scrollable, delay } = this.data;
+ if (contentRect == null ||
+ wrapRect == null ||
+ !contentRect.width ||
+ !wrapRect.width ||
+ scrollable === false) {
+ return;
+ }
+ if (scrollable || wrapRect.width < contentRect.width) {
+ const duration = ((wrapRect.width + contentRect.width) / speed) * 1000;
+ this.wrapWidth = wrapRect.width;
+ this.contentWidth = contentRect.width;
+ this.duration = duration;
+ this.animation = wx.createAnimation({
+ duration,
+ timingFunction: 'linear',
+ delay,
+ });
+ this.scroll();
+ }
+ });
+ });
+ },
+ scroll() {
+ this.timer && clearTimeout(this.timer);
+ this.timer = null;
+ this.setData({
+ animationData: this.resetAnimation
+ .translateX(this.wrapWidth)
+ .step()
+ .export(),
+ });
+ requestAnimationFrame(() => {
+ this.setData({
+ animationData: this.animation
+ .translateX(-this.contentWidth)
+ .step()
+ .export(),
+ });
+ });
+ this.timer = setTimeout(() => {
+ this.scroll();
+ }, this.duration);
+ },
+ onClickIcon(event) {
+ if (this.data.mode === 'closeable') {
+ this.timer && clearTimeout(this.timer);
+ this.timer = null;
+ this.setData({ show: false });
+ this.$emit('close', event.detail);
+ }
+ },
+ onClick(event) {
+ this.$emit('click', event);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/notice-bar/index.json b/coupon/miniprogram/@vant/weapp/dist/notice-bar/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/notice-bar/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/notice-bar/index.wxml b/coupon/miniprogram/@vant/weapp/dist/notice-bar/index.wxml
new file mode 100644
index 0000000..9f6ee24
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/notice-bar/index.wxml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+ {{ text }}
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/notice-bar/index.wxs b/coupon/miniprogram/@vant/weapp/dist/notice-bar/index.wxs
new file mode 100644
index 0000000..11e6456
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/notice-bar/index.wxs
@@ -0,0 +1,15 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ return style({
+ color: data.color,
+ 'background-color': data.backgroundColor,
+ background: data.background,
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/notice-bar/index.wxss b/coupon/miniprogram/@vant/weapp/dist/notice-bar/index.wxss
new file mode 100644
index 0000000..497636c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/notice-bar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-notice-bar{align-items:center;background-color:var(--notice-bar-background-color,#fffbe8);color:var(--notice-bar-text-color,#ed6a0c);display:flex;font-size:var(--notice-bar-font-size,14px);height:var(--notice-bar-height,40px);line-height:var(--notice-bar-line-height,24px);padding:var(--notice-bar-padding,0 16px)}.van-notice-bar--withicon{padding-right:40px;position:relative}.van-notice-bar--wrapable{height:auto;padding:var(--notice-bar-wrapable-padding,8px 16px)}.van-notice-bar--wrapable .van-notice-bar__wrap{height:auto}.van-notice-bar--wrapable .van-notice-bar__content{position:relative;white-space:normal}.van-notice-bar__left-icon{align-items:center;display:flex;margin-right:4px;vertical-align:middle}.van-notice-bar__left-icon,.van-notice-bar__right-icon{font-size:var(--notice-bar-icon-size,16px);min-width:var(--notice-bar-icon-min-width,22px)}.van-notice-bar__right-icon{position:absolute;right:15px;top:10px}.van-notice-bar__wrap{flex:1;height:var(--notice-bar-line-height,24px);overflow:hidden;position:relative}.van-notice-bar__content{position:absolute;white-space:nowrap}.van-notice-bar__content.van-ellipsis{max-width:100%}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/notify/index.js b/coupon/miniprogram/@vant/weapp/dist/notify/index.js
new file mode 100644
index 0000000..d4aba2d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/notify/index.js
@@ -0,0 +1,65 @@
+import { VantComponent } from '../common/component';
+import { WHITE } from '../common/color';
+import { getSystemInfoSync } from '../common/utils';
+VantComponent({
+ props: {
+ message: String,
+ background: String,
+ type: {
+ type: String,
+ value: 'danger',
+ },
+ color: {
+ type: String,
+ value: WHITE,
+ },
+ duration: {
+ type: Number,
+ value: 3000,
+ },
+ zIndex: {
+ type: Number,
+ value: 110,
+ },
+ safeAreaInsetTop: {
+ type: Boolean,
+ value: false,
+ },
+ top: null,
+ },
+ data: {
+ show: false,
+ onOpened: null,
+ onClose: null,
+ onClick: null,
+ },
+ created() {
+ const { statusBarHeight } = getSystemInfoSync();
+ this.setData({ statusBarHeight });
+ },
+ methods: {
+ show() {
+ const { duration, onOpened } = this.data;
+ clearTimeout(this.timer);
+ this.setData({ show: true });
+ wx.nextTick(onOpened);
+ if (duration > 0 && duration !== Infinity) {
+ this.timer = setTimeout(() => {
+ this.hide();
+ }, duration);
+ }
+ },
+ hide() {
+ const { onClose } = this.data;
+ clearTimeout(this.timer);
+ this.setData({ show: false });
+ wx.nextTick(onClose);
+ },
+ onTap(event) {
+ const { onClick } = this.data;
+ if (onClick) {
+ onClick(event.detail);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/notify/index.json b/coupon/miniprogram/@vant/weapp/dist/notify/index.json
new file mode 100644
index 0000000..c14a65f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/notify/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-transition": "../transition/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/notify/index.wxml b/coupon/miniprogram/@vant/weapp/dist/notify/index.wxml
new file mode 100644
index 0000000..42d913e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/notify/index.wxml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ {{ message }}
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/notify/index.wxs b/coupon/miniprogram/@vant/weapp/dist/notify/index.wxs
new file mode 100644
index 0000000..bbb94c2
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/notify/index.wxs
@@ -0,0 +1,22 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ return style({
+ 'z-index': data.zIndex,
+ top: addUnit(data.top),
+ });
+}
+
+function notifyStyle(data) {
+ return style({
+ background: data.background,
+ color: data.color,
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+ notifyStyle: notifyStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/notify/index.wxss b/coupon/miniprogram/@vant/weapp/dist/notify/index.wxss
new file mode 100644
index 0000000..c030e9b
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/notify/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-notify{word-wrap:break-word;font-size:var(--notify-font-size,14px);line-height:var(--notify-line-height,20px);padding:var(--notify-padding,6px 15px);text-align:center}.van-notify__container{box-sizing:border-box;left:0;position:fixed;top:0;width:100%}.van-notify--primary{background-color:var(--notify-primary-background-color,#1989fa)}.van-notify--success{background-color:var(--notify-success-background-color,#07c160)}.van-notify--danger{background-color:var(--notify-danger-background-color,#ee0a24)}.van-notify--warning{background-color:var(--notify-warning-background-color,#ff976a)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/notify/notify.js b/coupon/miniprogram/@vant/weapp/dist/notify/notify.js
new file mode 100644
index 0000000..59dc73e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/notify/notify.js
@@ -0,0 +1,46 @@
+import { WHITE } from '../common/color';
+const defaultOptions = {
+ selector: '#van-notify',
+ type: 'danger',
+ message: '',
+ background: '',
+ duration: 3000,
+ zIndex: 110,
+ top: 0,
+ color: WHITE,
+ safeAreaInsetTop: false,
+ onClick: () => { },
+ onOpened: () => { },
+ onClose: () => { },
+};
+function parseOptions(message) {
+ if (message == null) {
+ return {};
+ }
+ return typeof message === 'string' ? { message } : message;
+}
+function getContext() {
+ const pages = getCurrentPages();
+ return pages[pages.length - 1];
+}
+export default function Notify(options) {
+ options = Object.assign(Object.assign({}, defaultOptions), parseOptions(options));
+ const context = options.context || getContext();
+ const notify = context.selectComponent(options.selector);
+ delete options.context;
+ delete options.selector;
+ if (notify) {
+ notify.setData(options);
+ notify.show();
+ return notify;
+ }
+ console.warn('未找到 van-notify 节点,请确认 selector 及 context 是否正确');
+}
+Notify.clear = function (options) {
+ options = Object.assign(Object.assign({}, defaultOptions), parseOptions(options));
+ const context = options.context || getContext();
+ const notify = context.selectComponent(options.selector);
+ if (notify) {
+ notify.hide();
+ }
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/overlay/index.js b/coupon/miniprogram/@vant/weapp/dist/overlay/index.js
new file mode 100644
index 0000000..48117a0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/overlay/index.js
@@ -0,0 +1,26 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ show: Boolean,
+ customStyle: String,
+ duration: {
+ type: null,
+ value: 300,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ lockScroll: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ onClick() {
+ this.$emit('click');
+ },
+ // for prevent touchmove
+ noop() { },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/overlay/index.json b/coupon/miniprogram/@vant/weapp/dist/overlay/index.json
new file mode 100644
index 0000000..c14a65f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/overlay/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-transition": "../transition/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/overlay/index.wxml b/coupon/miniprogram/@vant/weapp/dist/overlay/index.wxml
new file mode 100644
index 0000000..92734a0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/overlay/index.wxml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/overlay/index.wxss b/coupon/miniprogram/@vant/weapp/dist/overlay/index.wxss
new file mode 100644
index 0000000..d1ad81a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/overlay/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-overlay{background-color:var(--overlay-background-color,rgba(0,0,0,.7));height:100%;left:0;position:fixed;top:0;width:100%}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/panel/index.js b/coupon/miniprogram/@vant/weapp/dist/panel/index.js
new file mode 100644
index 0000000..7b6a99a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/panel/index.js
@@ -0,0 +1,9 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ classes: ['header-class', 'footer-class'],
+ props: {
+ desc: String,
+ title: String,
+ status: String,
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/panel/index.json b/coupon/miniprogram/@vant/weapp/dist/panel/index.json
new file mode 100644
index 0000000..0e5425c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/panel/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-cell": "../cell/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/panel/index.wxml b/coupon/miniprogram/@vant/weapp/dist/panel/index.wxml
new file mode 100644
index 0000000..1843703
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/panel/index.wxml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/panel/index.wxss b/coupon/miniprogram/@vant/weapp/dist/panel/index.wxss
new file mode 100644
index 0000000..485edcd
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/panel/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-panel{background:var(--panel-background-color,#fff)}.van-panel__header-value{color:var(--panel-header-value-color,#ee0a24)}.van-panel__footer{padding:var(--panel-footer-padding,8px 16px)}.van-panel__footer:empty{display:none}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/picker-column/index.js b/coupon/miniprogram/@vant/weapp/dist/picker-column/index.js
new file mode 100644
index 0000000..abcc520
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/picker-column/index.js
@@ -0,0 +1,118 @@
+import { VantComponent } from '../common/component';
+import { range } from '../common/utils';
+import { isObj } from '../common/validator';
+const DEFAULT_DURATION = 200;
+VantComponent({
+ classes: ['active-class'],
+ props: {
+ valueKey: String,
+ className: String,
+ itemHeight: Number,
+ visibleItemCount: Number,
+ initialOptions: {
+ type: Array,
+ value: [],
+ },
+ defaultIndex: {
+ type: Number,
+ value: 0,
+ observer(value) {
+ this.setIndex(value);
+ },
+ },
+ },
+ data: {
+ startY: 0,
+ offset: 0,
+ duration: 0,
+ startOffset: 0,
+ options: [],
+ currentIndex: 0,
+ },
+ created() {
+ const { defaultIndex, initialOptions } = this.data;
+ this.set({
+ currentIndex: defaultIndex,
+ options: initialOptions,
+ }).then(() => {
+ this.setIndex(defaultIndex);
+ });
+ },
+ methods: {
+ getCount() {
+ return this.data.options.length;
+ },
+ onTouchStart(event) {
+ this.setData({
+ startY: event.touches[0].clientY,
+ startOffset: this.data.offset,
+ duration: 0,
+ });
+ },
+ onTouchMove(event) {
+ const { data } = this;
+ const deltaY = event.touches[0].clientY - data.startY;
+ this.setData({
+ offset: range(data.startOffset + deltaY, -(this.getCount() * data.itemHeight), data.itemHeight),
+ });
+ },
+ onTouchEnd() {
+ const { data } = this;
+ if (data.offset !== data.startOffset) {
+ this.setData({ duration: DEFAULT_DURATION });
+ const index = range(Math.round(-data.offset / data.itemHeight), 0, this.getCount() - 1);
+ this.setIndex(index, true);
+ }
+ },
+ onClickItem(event) {
+ const { index } = event.currentTarget.dataset;
+ this.setIndex(index, true);
+ },
+ adjustIndex(index) {
+ const { data } = this;
+ const count = this.getCount();
+ index = range(index, 0, count);
+ for (let i = index; i < count; i++) {
+ if (!this.isDisabled(data.options[i]))
+ return i;
+ }
+ for (let i = index - 1; i >= 0; i--) {
+ if (!this.isDisabled(data.options[i]))
+ return i;
+ }
+ },
+ isDisabled(option) {
+ return isObj(option) && option.disabled;
+ },
+ getOptionText(option) {
+ const { data } = this;
+ return isObj(option) && data.valueKey in option
+ ? option[data.valueKey]
+ : option;
+ },
+ setIndex(index, userAction) {
+ const { data } = this;
+ index = this.adjustIndex(index) || 0;
+ const offset = -index * data.itemHeight;
+ if (index !== data.currentIndex) {
+ return this.set({ offset, currentIndex: index }).then(() => {
+ userAction && this.$emit('change', index);
+ });
+ }
+ return this.set({ offset });
+ },
+ setValue(value) {
+ const { options } = this.data;
+ for (let i = 0; i < options.length; i++) {
+ if (this.getOptionText(options[i]) === value) {
+ return this.setIndex(i);
+ }
+ }
+ return Promise.resolve();
+ },
+ getValue() {
+ const { data } = this;
+ return data.options[data.currentIndex];
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/picker-column/index.json b/coupon/miniprogram/@vant/weapp/dist/picker-column/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/picker-column/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/picker-column/index.wxml b/coupon/miniprogram/@vant/weapp/dist/picker-column/index.wxml
new file mode 100644
index 0000000..f2c8da2
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/picker-column/index.wxml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ {{ computed.optionText(option, valueKey) }}
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/picker-column/index.wxs b/coupon/miniprogram/@vant/weapp/dist/picker-column/index.wxs
new file mode 100644
index 0000000..2d5a611
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/picker-column/index.wxs
@@ -0,0 +1,36 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function isObj(x) {
+ var type = typeof x;
+ return x !== null && (type === 'object' || type === 'function');
+}
+
+function optionText(option, valueKey) {
+ return isObj(option) && option[valueKey] != null ? option[valueKey] : option;
+}
+
+function rootStyle(data) {
+ return style({
+ height: addUnit(data.itemHeight * data.visibleItemCount),
+ });
+}
+
+function wrapperStyle(data) {
+ var offset = addUnit(
+ data.offset + (data.itemHeight * (data.visibleItemCount - 1)) / 2
+ );
+
+ return style({
+ transition: 'transform ' + data.duration + 'ms',
+ 'line-height': addUnit(data.itemHeight),
+ transform: 'translate3d(0, ' + offset + ', 0)',
+ });
+}
+
+module.exports = {
+ optionText: optionText,
+ rootStyle: rootStyle,
+ wrapperStyle: wrapperStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/picker-column/index.wxss b/coupon/miniprogram/@vant/weapp/dist/picker-column/index.wxss
new file mode 100644
index 0000000..519a438
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/picker-column/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-picker-column{color:var(--picker-option-text-color,#000);font-size:var(--picker-option-font-size,16px);overflow:hidden;text-align:center}.van-picker-column__item{padding:0 5px}.van-picker-column__item--selected{color:var(--picker-option-selected-text-color,#323233);font-weight:var(--font-weight-bold,500)}.van-picker-column__item--disabled{opacity:var(--picker-option-disabled-opacity,.3)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/picker/index.js b/coupon/miniprogram/@vant/weapp/dist/picker/index.js
new file mode 100644
index 0000000..cef057d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/picker/index.js
@@ -0,0 +1,136 @@
+import { VantComponent } from '../common/component';
+import { pickerProps } from './shared';
+VantComponent({
+ classes: ['active-class', 'toolbar-class', 'column-class'],
+ props: Object.assign(Object.assign({}, pickerProps), { valueKey: {
+ type: String,
+ value: 'text',
+ }, toolbarPosition: {
+ type: String,
+ value: 'top',
+ }, defaultIndex: {
+ type: Number,
+ value: 0,
+ }, columns: {
+ type: Array,
+ value: [],
+ observer(columns = []) {
+ this.simple = columns.length && !columns[0].values;
+ if (Array.isArray(this.children) && this.children.length) {
+ this.setColumns().catch(() => { });
+ }
+ },
+ } }),
+ beforeCreate() {
+ Object.defineProperty(this, 'children', {
+ get: () => this.selectAllComponents('.van-picker__column') || [],
+ });
+ },
+ methods: {
+ noop() { },
+ setColumns() {
+ const { data } = this;
+ const columns = this.simple ? [{ values: data.columns }] : data.columns;
+ const stack = columns.map((column, index) => this.setColumnValues(index, column.values));
+ return Promise.all(stack);
+ },
+ emit(event) {
+ const { type } = event.currentTarget.dataset;
+ if (this.simple) {
+ this.$emit(type, {
+ value: this.getColumnValue(0),
+ index: this.getColumnIndex(0),
+ });
+ }
+ else {
+ this.$emit(type, {
+ value: this.getValues(),
+ index: this.getIndexes(),
+ });
+ }
+ },
+ onChange(event) {
+ if (this.simple) {
+ this.$emit('change', {
+ picker: this,
+ value: this.getColumnValue(0),
+ index: this.getColumnIndex(0),
+ });
+ }
+ else {
+ this.$emit('change', {
+ picker: this,
+ value: this.getValues(),
+ index: event.currentTarget.dataset.index,
+ });
+ }
+ },
+ // get column instance by index
+ getColumn(index) {
+ return this.children[index];
+ },
+ // get column value by index
+ getColumnValue(index) {
+ const column = this.getColumn(index);
+ return column && column.getValue();
+ },
+ // set column value by index
+ setColumnValue(index, value) {
+ const column = this.getColumn(index);
+ if (column == null) {
+ return Promise.reject(new Error('setColumnValue: 对应列不存在'));
+ }
+ return column.setValue(value);
+ },
+ // get column option index by column index
+ getColumnIndex(columnIndex) {
+ return (this.getColumn(columnIndex) || {}).data.currentIndex;
+ },
+ // set column option index by column index
+ setColumnIndex(columnIndex, optionIndex) {
+ const column = this.getColumn(columnIndex);
+ if (column == null) {
+ return Promise.reject(new Error('setColumnIndex: 对应列不存在'));
+ }
+ return column.setIndex(optionIndex);
+ },
+ // get options of column by index
+ getColumnValues(index) {
+ return (this.children[index] || {}).data.options;
+ },
+ // set options of column by index
+ setColumnValues(index, options, needReset = true) {
+ const column = this.children[index];
+ if (column == null) {
+ return Promise.reject(new Error('setColumnValues: 对应列不存在'));
+ }
+ const isSame = JSON.stringify(column.data.options) === JSON.stringify(options);
+ if (isSame) {
+ return Promise.resolve();
+ }
+ return column.set({ options }).then(() => {
+ if (needReset) {
+ column.setIndex(0);
+ }
+ });
+ },
+ // get values of all columns
+ getValues() {
+ return this.children.map((child) => child.getValue());
+ },
+ // set values of all columns
+ setValues(values) {
+ const stack = values.map((value, index) => this.setColumnValue(index, value));
+ return Promise.all(stack);
+ },
+ // get indexes of all columns
+ getIndexes() {
+ return this.children.map((child) => child.data.currentIndex);
+ },
+ // set indexes of all columns
+ setIndexes(indexes) {
+ const stack = indexes.map((optionIndex, columnIndex) => this.setColumnIndex(columnIndex, optionIndex));
+ return Promise.all(stack);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/picker/index.json b/coupon/miniprogram/@vant/weapp/dist/picker/index.json
new file mode 100644
index 0000000..2fcec89
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/picker/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "picker-column": "../picker-column/index",
+ "loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/picker/index.wxml b/coupon/miniprogram/@vant/weapp/dist/picker/index.wxml
new file mode 100644
index 0000000..8564ccc
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/picker/index.wxml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/picker/index.wxs b/coupon/miniprogram/@vant/weapp/dist/picker/index.wxs
new file mode 100644
index 0000000..0abbd10
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/picker/index.wxs
@@ -0,0 +1,42 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+var array = require('../wxs/array.wxs');
+
+function columnsStyle(data) {
+ return style({
+ height: addUnit(data.itemHeight * data.visibleItemCount),
+ });
+}
+
+function maskStyle(data) {
+ return style({
+ 'background-size':
+ '100% ' + addUnit((data.itemHeight * (data.visibleItemCount - 1)) / 2),
+ });
+}
+
+function frameStyle(data) {
+ return style({
+ height: addUnit(data.itemHeight),
+ });
+}
+
+function columns(columns) {
+ if (!array.isArray(columns)) {
+ return [];
+ }
+
+ if (columns.length && !columns[0].values) {
+ return [{ values: columns }];
+ }
+
+ return columns;
+}
+
+module.exports = {
+ columnsStyle: columnsStyle,
+ frameStyle: frameStyle,
+ maskStyle: maskStyle,
+ columns: columns,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/picker/index.wxss b/coupon/miniprogram/@vant/weapp/dist/picker/index.wxss
new file mode 100644
index 0000000..d924abb
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/picker/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-picker{-webkit-text-size-adjust:100%;background-color:var(--picker-background-color,#fff);overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.van-picker__toolbar{display:flex;height:var(--picker-toolbar-height,44px);justify-content:space-between;line-height:var(--picker-toolbar-height,44px)}.van-picker__cancel,.van-picker__confirm{font-size:var(--picker-action-font-size,14px);padding:var(--picker-action-padding,0 16px)}.van-picker__cancel--hover,.van-picker__confirm--hover{opacity:.7}.van-picker__confirm{color:var(--picker-confirm-action-color,#576b95)}.van-picker__cancel{color:var(--picker-cancel-action-color,#969799)}.van-picker__title{font-size:var(--picker-option-font-size,16px);font-weight:var(--font-weight-bold,500);max-width:50%;text-align:center}.van-picker__columns{display:flex;position:relative}.van-picker__column{flex:1 1;width:0}.van-picker__loading{align-items:center;background-color:var(--picker-loading-mask-color,hsla(0,0%,100%,.9));bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:4}.van-picker__mask{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-image:linear-gradient(180deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.4)),linear-gradient(0deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.4));background-position:top,bottom;background-repeat:no-repeat;height:100%;left:0;top:0;width:100%;z-index:2}.van-picker__frame,.van-picker__mask{pointer-events:none;position:absolute}.van-picker__frame{left:16px;right:16px;top:50%;transform:translateY(-50%);z-index:1}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/picker/shared.js b/coupon/miniprogram/@vant/weapp/dist/picker/shared.js
new file mode 100644
index 0000000..5f21f32
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/picker/shared.js
@@ -0,0 +1,21 @@
+export const pickerProps = {
+ title: String,
+ loading: Boolean,
+ showToolbar: Boolean,
+ cancelButtonText: {
+ type: String,
+ value: '取消',
+ },
+ confirmButtonText: {
+ type: String,
+ value: '确认',
+ },
+ visibleItemCount: {
+ type: Number,
+ value: 6,
+ },
+ itemHeight: {
+ type: Number,
+ value: 44,
+ },
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/picker/toolbar.wxml b/coupon/miniprogram/@vant/weapp/dist/picker/toolbar.wxml
new file mode 100644
index 0000000..414f612
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/picker/toolbar.wxml
@@ -0,0 +1,23 @@
+
+
+ {{ cancelButtonText }}
+
+ {{
+ title
+ }}
+
+ {{ confirmButtonText }}
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/popup/index.js b/coupon/miniprogram/@vant/weapp/dist/popup/index.js
new file mode 100644
index 0000000..9c5ef86
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/popup/index.js
@@ -0,0 +1,89 @@
+import { VantComponent } from '../common/component';
+import { transition } from '../mixins/transition';
+VantComponent({
+ classes: [
+ 'enter-class',
+ 'enter-active-class',
+ 'enter-to-class',
+ 'leave-class',
+ 'leave-active-class',
+ 'leave-to-class',
+ 'close-icon-class',
+ ],
+ mixins: [transition(false)],
+ props: {
+ round: Boolean,
+ closeable: Boolean,
+ customStyle: String,
+ overlayStyle: String,
+ transition: {
+ type: String,
+ observer: 'observeClass',
+ },
+ zIndex: {
+ type: Number,
+ value: 100,
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ },
+ closeIcon: {
+ type: String,
+ value: 'cross',
+ },
+ closeIconPosition: {
+ type: String,
+ value: 'top-right',
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ },
+ position: {
+ type: String,
+ value: 'center',
+ observer: 'observeClass',
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ safeAreaInsetTop: {
+ type: Boolean,
+ value: false,
+ },
+ lockScroll: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ created() {
+ this.observeClass();
+ },
+ methods: {
+ onClickCloseIcon() {
+ this.$emit('close');
+ },
+ onClickOverlay() {
+ this.$emit('click-overlay');
+ if (this.data.closeOnClickOverlay) {
+ this.$emit('close');
+ }
+ },
+ observeClass() {
+ const { transition, position, duration } = this.data;
+ const updateData = {
+ name: transition || position,
+ };
+ if (transition === 'none') {
+ updateData.duration = 0;
+ this.originDuration = duration;
+ }
+ else if (this.originDuration != null) {
+ updateData.duration = this.originDuration;
+ }
+ this.setData(updateData);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/popup/index.json b/coupon/miniprogram/@vant/weapp/dist/popup/index.json
new file mode 100644
index 0000000..88a6eab
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/popup/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-overlay": "../overlay/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/popup/index.wxml b/coupon/miniprogram/@vant/weapp/dist/popup/index.wxml
new file mode 100644
index 0000000..ea7d696
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/popup/index.wxml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/popup/index.wxs b/coupon/miniprogram/@vant/weapp/dist/popup/index.wxs
new file mode 100644
index 0000000..8d59f24
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/popup/index.wxs
@@ -0,0 +1,18 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+
+function popupStyle(data) {
+ return style([
+ {
+ 'z-index': data.zIndex,
+ '-webkit-transition-duration': data.currentDuration + 'ms',
+ 'transition-duration': data.currentDuration + 'ms',
+ },
+ data.display ? null : 'display: none',
+ data.customStyle,
+ ]);
+}
+
+module.exports = {
+ popupStyle: popupStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/popup/index.wxss b/coupon/miniprogram/@vant/weapp/dist/popup/index.wxss
new file mode 100644
index 0000000..a840541
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/popup/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-popup{-webkit-overflow-scrolling:touch;animation:ease both;background-color:var(--popup-background-color,#fff);box-sizing:border-box;max-height:100%;overflow-y:auto;position:fixed;transition-timing-function:ease}.van-popup--center{left:50%;top:50%;transform:translate3d(-50%,-50%,0)}.van-popup--center.van-popup--round{border-radius:var(--popup-round-border-radius,16px)}.van-popup--top{left:0;top:0;width:100%}.van-popup--top.van-popup--round{border-radius:0 0 var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) var(--popup-round-border-radius,var(--popup-round-border-radius,16px))}.van-popup--right{right:0;top:50%;transform:translate3d(0,-50%,0)}.van-popup--right.van-popup--round{border-radius:var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) 0 0 var(--popup-round-border-radius,var(--popup-round-border-radius,16px))}.van-popup--bottom{bottom:0;left:0;width:100%}.van-popup--bottom.van-popup--round{border-radius:var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) 0 0}.van-popup--left{left:0;top:50%;transform:translate3d(0,-50%,0)}.van-popup--left.van-popup--round{border-radius:0 var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) 0}.van-popup--bottom.van-popup--safe{padding-bottom:env(safe-area-inset-bottom)}.van-popup--safeTop{padding-top:env(safe-area-inset-top)}.van-popup__close-icon{color:var(--popup-close-icon-color,#969799);font-size:var(--popup-close-icon-size,18px);position:absolute;z-index:var(--popup-close-icon-z-index,1)}.van-popup__close-icon--top-left{left:var(--popup-close-icon-margin,16px);top:var(--popup-close-icon-margin,16px)}.van-popup__close-icon--top-right{right:var(--popup-close-icon-margin,16px);top:var(--popup-close-icon-margin,16px)}.van-popup__close-icon--bottom-left{bottom:var(--popup-close-icon-margin,16px);left:var(--popup-close-icon-margin,16px)}.van-popup__close-icon--bottom-right{bottom:var(--popup-close-icon-margin,16px);right:var(--popup-close-icon-margin,16px)}.van-popup__close-icon:active{opacity:.6}.van-scale-enter-active,.van-scale-leave-active{transition-property:opacity,transform}.van-scale-enter,.van-scale-leave-to{opacity:0;transform:translate3d(-50%,-50%,0) scale(.7)}.van-fade-enter-active,.van-fade-leave-active{transition-property:opacity}.van-fade-enter,.van-fade-leave-to{opacity:0}.van-center-enter-active,.van-center-leave-active{transition-property:opacity}.van-center-enter,.van-center-leave-to{opacity:0}.van-bottom-enter-active,.van-bottom-leave-active,.van-left-enter-active,.van-left-leave-active,.van-right-enter-active,.van-right-leave-active,.van-top-enter-active,.van-top-leave-active{transition-property:transform}.van-bottom-enter,.van-bottom-leave-to{transform:translate3d(0,100%,0)}.van-top-enter,.van-top-leave-to{transform:translate3d(0,-100%,0)}.van-left-enter,.van-left-leave-to{transform:translate3d(-100%,-50%,0)}.van-right-enter,.van-right-leave-to{transform:translate3d(100%,-50%,0)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/progress/index.js b/coupon/miniprogram/@vant/weapp/dist/progress/index.js
new file mode 100644
index 0000000..0780c43
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/progress/index.js
@@ -0,0 +1,51 @@
+import { VantComponent } from '../common/component';
+import { BLUE } from '../common/color';
+import { getRect } from '../common/utils';
+VantComponent({
+ props: {
+ inactive: Boolean,
+ percentage: {
+ type: Number,
+ observer: 'setLeft',
+ },
+ pivotText: String,
+ pivotColor: String,
+ trackColor: String,
+ showPivot: {
+ type: Boolean,
+ value: true,
+ },
+ color: {
+ type: String,
+ value: BLUE,
+ },
+ textColor: {
+ type: String,
+ value: '#fff',
+ },
+ strokeWidth: {
+ type: null,
+ value: 4,
+ },
+ },
+ data: {
+ right: 0,
+ },
+ mounted() {
+ this.setLeft();
+ },
+ methods: {
+ setLeft() {
+ Promise.all([
+ getRect(this, '.van-progress'),
+ getRect(this, '.van-progress__pivot'),
+ ]).then(([portion, pivot]) => {
+ if (portion && pivot) {
+ this.setData({
+ right: (pivot.width * (this.data.percentage - 100)) / 100,
+ });
+ }
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/progress/index.json b/coupon/miniprogram/@vant/weapp/dist/progress/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/progress/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/progress/index.wxml b/coupon/miniprogram/@vant/weapp/dist/progress/index.wxml
new file mode 100644
index 0000000..e81514d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/progress/index.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+ {{ computed.pivotText(pivotText, percentage) }}
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/progress/index.wxs b/coupon/miniprogram/@vant/weapp/dist/progress/index.wxs
new file mode 100644
index 0000000..5b1e8e6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/progress/index.wxs
@@ -0,0 +1,36 @@
+/* eslint-disable */
+var utils = require('../wxs/utils.wxs');
+var style = require('../wxs/style.wxs');
+
+function pivotText(pivotText, percentage) {
+ return pivotText || percentage + '%';
+}
+
+function rootStyle(data) {
+ return style({
+ 'height': data.strokeWidth ? utils.addUnit(data.strokeWidth) : '',
+ 'background': data.trackColor,
+ });
+}
+
+function portionStyle(data) {
+ return style({
+ background: data.inactive ? '#cacaca' : data.color,
+ width: data.percentage ? data.percentage + '%' : '',
+ });
+}
+
+function pivotStyle(data) {
+ return style({
+ color: data.textColor,
+ right: data.right + 'px',
+ background: data.pivotColor ? data.pivotColor : data.inactive ? '#cacaca' : data.color,
+ });
+}
+
+module.exports = {
+ pivotText: pivotText,
+ rootStyle: rootStyle,
+ portionStyle: portionStyle,
+ pivotStyle: pivotStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/progress/index.wxss b/coupon/miniprogram/@vant/weapp/dist/progress/index.wxss
new file mode 100644
index 0000000..a08972a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/progress/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-progress{background:var(--progress-background-color,#ebedf0);border-radius:var(--progress-height,4px);height:var(--progress-height,4px);position:relative}.van-progress__portion{background:var(--progress-color,#1989fa);border-radius:inherit;height:100%;left:0;position:absolute}.van-progress__pivot{background-color:var(--progress-pivot-background-color,#1989fa);border-radius:1em;box-sizing:border-box;color:var(--progress-pivot-text-color,#fff);font-size:var(--progress-pivot-font-size,10px);line-height:var(--progress-pivot-line-height,1.6);min-width:3.6em;padding:var(--progress-pivot-padding,0 5px);position:absolute;text-align:center;top:50%;transform:translateY(-50%);word-break:keep-all}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/radio-group/index.js b/coupon/miniprogram/@vant/weapp/dist/radio-group/index.js
new file mode 100644
index 0000000..2846fdd
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/radio-group/index.js
@@ -0,0 +1,22 @@
+import { VantComponent } from '../common/component';
+import { useChildren } from '../common/relation';
+VantComponent({
+ field: true,
+ relation: useChildren('radio'),
+ props: {
+ value: {
+ type: null,
+ observer: 'updateChildren',
+ },
+ direction: String,
+ disabled: {
+ type: Boolean,
+ observer: 'updateChildren',
+ },
+ },
+ methods: {
+ updateChildren() {
+ this.children.forEach((child) => child.updateFromParent());
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/radio-group/index.json b/coupon/miniprogram/@vant/weapp/dist/radio-group/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/radio-group/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/radio-group/index.wxml b/coupon/miniprogram/@vant/weapp/dist/radio-group/index.wxml
new file mode 100644
index 0000000..0ab17af
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/radio-group/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/radio-group/index.wxss b/coupon/miniprogram/@vant/weapp/dist/radio-group/index.wxss
new file mode 100644
index 0000000..4e3b5d4
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/radio-group/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-radio-group--horizontal{display:flex;flex-wrap:wrap}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/radio/index.js b/coupon/miniprogram/@vant/weapp/dist/radio/index.js
new file mode 100644
index 0000000..9eb1258
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/radio/index.js
@@ -0,0 +1,66 @@
+import { canIUseModel } from '../common/version';
+import { VantComponent } from '../common/component';
+import { useParent } from '../common/relation';
+VantComponent({
+ field: true,
+ relation: useParent('radio-group', function () {
+ this.updateFromParent();
+ }),
+ classes: ['icon-class', 'label-class'],
+ props: {
+ name: null,
+ value: null,
+ disabled: Boolean,
+ useIconSlot: Boolean,
+ checkedColor: String,
+ labelPosition: {
+ type: String,
+ value: 'right',
+ },
+ labelDisabled: Boolean,
+ shape: {
+ type: String,
+ value: 'round',
+ },
+ iconSize: {
+ type: null,
+ value: 20,
+ },
+ },
+ data: {
+ direction: '',
+ parentDisabled: false,
+ },
+ methods: {
+ updateFromParent() {
+ if (!this.parent) {
+ return;
+ }
+ const { value, disabled: parentDisabled, direction } = this.parent.data;
+ this.setData({
+ value,
+ direction,
+ parentDisabled,
+ });
+ },
+ emitChange(value) {
+ const instance = this.parent || this;
+ instance.$emit('input', value);
+ instance.$emit('change', value);
+ if (canIUseModel()) {
+ instance.setData({ value });
+ }
+ },
+ onChange() {
+ if (!this.data.disabled && !this.data.parentDisabled) {
+ this.emitChange(this.data.name);
+ }
+ },
+ onClickLabel() {
+ const { disabled, parentDisabled, labelDisabled, name } = this.data;
+ if (!(disabled || parentDisabled) && !labelDisabled) {
+ this.emitChange(name);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/radio/index.json b/coupon/miniprogram/@vant/weapp/dist/radio/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/radio/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/radio/index.wxml b/coupon/miniprogram/@vant/weapp/dist/radio/index.wxml
new file mode 100644
index 0000000..5f898c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/radio/index.wxml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/radio/index.wxs b/coupon/miniprogram/@vant/weapp/dist/radio/index.wxs
new file mode 100644
index 0000000..a428aad
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/radio/index.wxs
@@ -0,0 +1,33 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function iconStyle(data) {
+ var styles = {
+ 'font-size': addUnit(data.iconSize),
+ };
+
+ if (
+ data.checkedColor &&
+ !(data.disabled || data.parentDisabled) &&
+ data.value === data.name
+ ) {
+ styles['border-color'] = data.checkedColor;
+ styles['background-color'] = data.checkedColor;
+ }
+
+ return style(styles);
+}
+
+function iconCustomStyle(data) {
+ return style({
+ 'line-height': addUnit(data.iconSize),
+ 'font-size': '.8em',
+ display: 'block',
+ });
+}
+
+module.exports = {
+ iconStyle: iconStyle,
+ iconCustomStyle: iconCustomStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/radio/index.wxss b/coupon/miniprogram/@vant/weapp/dist/radio/index.wxss
new file mode 100644
index 0000000..257b0c7
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/radio/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-radio{align-items:center;display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.van-radio__icon-wrap{flex:none}.van-radio--horizontal{margin-right:var(--padding-sm,12px)}.van-radio__icon{align-items:center;border:1px solid var(--radio-border-color,#c8c9cc);box-sizing:border-box;color:transparent;display:flex;font-size:var(--radio-size,20px);height:1em;justify-content:center;text-align:center;transition-duration:var(--radio-transition-duration,.2s);transition-property:color,border-color,background-color;width:1em}.van-radio__icon--round{border-radius:100%}.van-radio__icon--checked{background-color:var(--radio-checked-icon-color,#1989fa);border-color:var(--radio-checked-icon-color,#1989fa);color:#fff}.van-radio__icon--disabled{background-color:var(--radio-disabled-background-color,#ebedf0);border-color:var(--radio-disabled-icon-color,#c8c9cc)}.van-radio__icon--disabled.van-radio__icon--checked{color:var(--radio-disabled-icon-color,#c8c9cc)}.van-radio__label{word-wrap:break-word;color:var(--radio-label-color,#323233);line-height:var(--radio-size,20px);padding-left:var(--radio-label-margin,10px)}.van-radio__label--left{float:left;margin:0 var(--radio-label-margin,10px) 0 0}.van-radio__label--disabled{color:var(--radio-disabled-label-color,#c8c9cc)}.van-radio__label:empty{margin:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/rate/index.js b/coupon/miniprogram/@vant/weapp/dist/rate/index.js
new file mode 100644
index 0000000..23b7345
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/rate/index.js
@@ -0,0 +1,78 @@
+import { getAllRect } from '../common/utils';
+import { VantComponent } from '../common/component';
+import { canIUseModel } from '../common/version';
+VantComponent({
+ field: true,
+ classes: ['icon-class'],
+ props: {
+ value: {
+ type: Number,
+ observer(value) {
+ if (value !== this.data.innerValue) {
+ this.setData({ innerValue: value });
+ }
+ },
+ },
+ readonly: Boolean,
+ disabled: Boolean,
+ allowHalf: Boolean,
+ size: null,
+ icon: {
+ type: String,
+ value: 'star',
+ },
+ voidIcon: {
+ type: String,
+ value: 'star-o',
+ },
+ color: String,
+ voidColor: String,
+ disabledColor: String,
+ count: {
+ type: Number,
+ value: 5,
+ observer(value) {
+ this.setData({ innerCountArray: Array.from({ length: value }) });
+ },
+ },
+ gutter: null,
+ touchable: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ innerValue: 0,
+ innerCountArray: Array.from({ length: 5 }),
+ },
+ methods: {
+ onSelect(event) {
+ const { data } = this;
+ const { score } = event.currentTarget.dataset;
+ if (!data.disabled && !data.readonly) {
+ this.setData({ innerValue: score + 1 });
+ if (canIUseModel()) {
+ this.setData({ value: score + 1 });
+ }
+ wx.nextTick(() => {
+ this.$emit('input', score + 1);
+ this.$emit('change', score + 1);
+ });
+ }
+ },
+ onTouchMove(event) {
+ const { touchable } = this.data;
+ if (!touchable)
+ return;
+ const { clientX } = event.touches[0];
+ getAllRect(this, '.van-rate__icon').then((list) => {
+ const target = list
+ .sort((cur, next) => cur.dataset.score - next.dataset.score)
+ .find((item) => clientX >= item.left && clientX <= item.right);
+ if (target != null) {
+ this.onSelect(Object.assign(Object.assign({}, event), { currentTarget: target }));
+ }
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/rate/index.json b/coupon/miniprogram/@vant/weapp/dist/rate/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/rate/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/rate/index.wxml b/coupon/miniprogram/@vant/weapp/dist/rate/index.wxml
new file mode 100644
index 0000000..049714c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/rate/index.wxml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/rate/index.wxss b/coupon/miniprogram/@vant/weapp/dist/rate/index.wxss
new file mode 100644
index 0000000..e2a517e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/rate/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-rate{display:inline-flex;-webkit-user-select:none;user-select:none}.van-rate__item{padding:0 var(--rate-horizontal-padding,2px);position:relative}.van-rate__item:not(:last-child){padding-right:var(--rate-icon-gutter,4px)}.van-rate__icon{color:var(--rate-icon-void-color,#c8c9cc);display:block;font-size:var(--rate-icon-size,20px);height:1em}.van-rate__icon--half{left:var(--rate-horizontal-padding,2px);overflow:hidden;position:absolute;top:0;width:.5em}.van-rate__icon--full,.van-rate__icon--half{color:var(--rate-icon-full-color,#ee0a24)}.van-rate__icon--disabled{color:var(--rate-icon-disabled-color,#c8c9cc)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/row/index.js b/coupon/miniprogram/@vant/weapp/dist/row/index.js
new file mode 100644
index 0000000..cc844f8
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/row/index.js
@@ -0,0 +1,23 @@
+import { VantComponent } from '../common/component';
+import { useChildren } from '../common/relation';
+VantComponent({
+ relation: useChildren('col', function (target) {
+ const { gutter } = this.data;
+ if (gutter) {
+ target.setData({ gutter });
+ }
+ }),
+ props: {
+ gutter: {
+ type: Number,
+ observer: 'setGutter',
+ },
+ },
+ methods: {
+ setGutter() {
+ this.children.forEach((col) => {
+ col.setData(this.data);
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/row/index.json b/coupon/miniprogram/@vant/weapp/dist/row/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/row/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/row/index.wxml b/coupon/miniprogram/@vant/weapp/dist/row/index.wxml
new file mode 100644
index 0000000..69a4359
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/row/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/row/index.wxs b/coupon/miniprogram/@vant/weapp/dist/row/index.wxs
new file mode 100644
index 0000000..f5c5958
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/row/index.wxs
@@ -0,0 +1,18 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ if (!data.gutter) {
+ return '';
+ }
+
+ return style({
+ 'margin-right': addUnit(-data.gutter / 2),
+ 'margin-left': addUnit(-data.gutter / 2),
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/row/index.wxss b/coupon/miniprogram/@vant/weapp/dist/row/index.wxss
new file mode 100644
index 0000000..bb8946b
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/row/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-row:after{clear:both;content:"";display:table}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/search/index.js b/coupon/miniprogram/@vant/weapp/dist/search/index.js
new file mode 100644
index 0000000..d6f4bfa
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/search/index.js
@@ -0,0 +1,89 @@
+import { VantComponent } from '../common/component';
+import { canIUseModel } from '../common/version';
+VantComponent({
+ field: true,
+ classes: ['field-class', 'input-class', 'cancel-class'],
+ props: {
+ label: String,
+ focus: Boolean,
+ error: Boolean,
+ disabled: Boolean,
+ readonly: Boolean,
+ inputAlign: String,
+ showAction: Boolean,
+ useActionSlot: Boolean,
+ useLeftIconSlot: Boolean,
+ useRightIconSlot: Boolean,
+ leftIcon: {
+ type: String,
+ value: 'search',
+ },
+ rightIcon: String,
+ placeholder: String,
+ placeholderStyle: String,
+ actionText: {
+ type: String,
+ value: '取消',
+ },
+ background: {
+ type: String,
+ value: '#ffffff',
+ },
+ maxlength: {
+ type: Number,
+ value: -1,
+ },
+ shape: {
+ type: String,
+ value: 'square',
+ },
+ clearable: {
+ type: Boolean,
+ value: true,
+ },
+ clearTrigger: {
+ type: String,
+ value: 'focus',
+ },
+ clearIcon: {
+ type: String,
+ value: 'clear',
+ },
+ },
+ methods: {
+ onChange(event) {
+ if (canIUseModel()) {
+ this.setData({ value: event.detail });
+ }
+ this.$emit('change', event.detail);
+ },
+ onCancel() {
+ /**
+ * 修复修改输入框值时,输入框失焦和赋值同时触发,赋值失效
+ * https://github.com/youzan/@vant/weapp/issues/1768
+ */
+ setTimeout(() => {
+ if (canIUseModel()) {
+ this.setData({ value: '' });
+ }
+ this.$emit('cancel');
+ this.$emit('change', '');
+ }, 200);
+ },
+ onSearch(event) {
+ this.$emit('search', event.detail);
+ },
+ onFocus(event) {
+ this.$emit('focus', event.detail);
+ },
+ onBlur(event) {
+ this.$emit('blur', event.detail);
+ },
+ onClear(event) {
+ this.$emit('clear', event.detail);
+ },
+ onClickInput(event) {
+ this.$emit('click-input', event.detail);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/search/index.json b/coupon/miniprogram/@vant/weapp/dist/search/index.json
new file mode 100644
index 0000000..b4cfe91
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/search/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-field": "../field/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/search/index.wxml b/coupon/miniprogram/@vant/weapp/dist/search/index.wxml
new file mode 100644
index 0000000..0068cfe
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/search/index.wxml
@@ -0,0 +1,53 @@
+
+
+
+
+ {{ label }}
+
+
+
+
+
+
+
+
+
+
+ {{ actionText }}
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/search/index.wxss b/coupon/miniprogram/@vant/weapp/dist/search/index.wxss
new file mode 100644
index 0000000..212f7aa
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/search/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-search{align-items:center;box-sizing:border-box;display:flex;padding:var(--search-padding,10px 12px)}.van-search__content{background-color:var(--search-background-color,#f7f8fa);border-radius:2px;display:flex;flex:1;padding-left:var(--padding-sm,12px)}.van-search__content--round{border-radius:999px}.van-search__label{color:var(--search-label-color,#323233);font-size:var(--search-label-font-size,14px);line-height:var(--search-input-height,34px);padding:var(--search-label-padding,0 5px)}.van-search__field{flex:1}.van-search__field__left-icon{color:var(--search-left-icon-color,#969799)}.van-search--withaction{padding-right:0}.van-search__action{color:var(--search-action-text-color,#323233);font-size:var(--search-action-font-size,14px);line-height:var(--search-input-height,34px);padding:var(--search-action-padding,0 8px)}.van-search__action--hover{background-color:#f2f3f5}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/share-sheet/index.js b/coupon/miniprogram/@vant/weapp/dist/share-sheet/index.js
new file mode 100644
index 0000000..a6ce016
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/share-sheet/index.js
@@ -0,0 +1,55 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ // whether to show popup
+ show: Boolean,
+ // overlay custom style
+ overlayStyle: String,
+ // z-index
+ zIndex: {
+ type: Number,
+ value: 100,
+ },
+ title: String,
+ cancelText: {
+ type: String,
+ value: '取消',
+ },
+ description: String,
+ options: {
+ type: Array,
+ value: [],
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ },
+ duration: {
+ type: null,
+ value: 300,
+ },
+ },
+ methods: {
+ onClickOverlay() {
+ this.$emit('click-overlay');
+ },
+ onCancel() {
+ this.onClose();
+ this.$emit('cancel');
+ },
+ onSelect(event) {
+ this.$emit('select', event.detail);
+ },
+ onClose() {
+ this.$emit('close');
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/share-sheet/index.json b/coupon/miniprogram/@vant/weapp/dist/share-sheet/index.json
new file mode 100644
index 0000000..15a7c22
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/share-sheet/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../popup/index",
+ "options": "./options"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/share-sheet/index.wxml b/coupon/miniprogram/@vant/weapp/dist/share-sheet/index.wxml
new file mode 100644
index 0000000..cefc3af
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/share-sheet/index.wxml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/share-sheet/index.wxs b/coupon/miniprogram/@vant/weapp/dist/share-sheet/index.wxs
new file mode 100644
index 0000000..2149ee9
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/share-sheet/index.wxs
@@ -0,0 +1,12 @@
+/* eslint-disable */
+function isMulti(options) {
+ if (options == null || options[0] == null) {
+ return false;
+ }
+
+ return "Array" === options.constructor && "Array" === options[0].constructor;
+}
+
+module.exports = {
+ isMulti: isMulti
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/share-sheet/index.wxss b/coupon/miniprogram/@vant/weapp/dist/share-sheet/index.wxss
new file mode 100644
index 0000000..e8d8dae
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/share-sheet/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-share-sheet__header{padding:12px 16px 4px;text-align:center}.van-share-sheet__title{color:#323233;font-size:14px;font-weight:400;line-height:20px;margin-top:8px}.van-share-sheet__title:empty,.van-share-sheet__title:not(:empty)+.van-share-sheet__title{display:none}.van-share-sheet__description{color:#969799;display:block;font-size:12px;line-height:16px;margin-top:8px}.van-share-sheet__description:empty,.van-share-sheet__description:not(:empty)+.van-share-sheet__description{display:none}.van-share-sheet__cancel{background:#fff;border:none;box-sizing:initial;display:block;font-size:16px;height:auto;line-height:48px;padding:0;text-align:center;width:100%}.van-share-sheet__cancel:before{background-color:#f7f8fa;content:" ";display:block;height:8px}.van-share-sheet__cancel:after{display:none}.van-share-sheet__cancel:active{background-color:#f2f3f5}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/share-sheet/options.js b/coupon/miniprogram/@vant/weapp/dist/share-sheet/options.js
new file mode 100644
index 0000000..5a29ad7
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/share-sheet/options.js
@@ -0,0 +1,14 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ options: Array,
+ showBorder: Boolean,
+ },
+ methods: {
+ onSelect(event) {
+ const { index } = event.currentTarget.dataset;
+ const option = this.data.options[index];
+ this.$emit('select', Object.assign(Object.assign({}, option), { index }));
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/share-sheet/options.json b/coupon/miniprogram/@vant/weapp/dist/share-sheet/options.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/share-sheet/options.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/share-sheet/options.wxml b/coupon/miniprogram/@vant/weapp/dist/share-sheet/options.wxml
new file mode 100644
index 0000000..cad6837
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/share-sheet/options.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+ {{ item.name }}
+
+ {{ item.description }}
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/share-sheet/options.wxs b/coupon/miniprogram/@vant/weapp/dist/share-sheet/options.wxs
new file mode 100644
index 0000000..a116d32
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/share-sheet/options.wxs
@@ -0,0 +1,14 @@
+/* eslint-disable */
+var PRESET_ICONS = ['qq', 'link', 'weibo', 'wechat', 'poster', 'qrcode', 'weapp-qrcode', 'wechat-moments'];
+
+function getIconURL(icon) {
+ if (PRESET_ICONS.indexOf(icon) !== -1) {
+ return 'https://img.yzcdn.cn/vant/share-sheet-' + icon + '.png';
+ }
+
+ return icon;
+}
+
+module.exports = {
+ getIconURL: getIconURL,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/share-sheet/options.wxss b/coupon/miniprogram/@vant/weapp/dist/share-sheet/options.wxss
new file mode 100644
index 0000000..b7f5455
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/share-sheet/options.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-share-sheet__options{-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto;overflow-y:visible;padding:16px 0 16px 8px;position:relative}.van-share-sheet__options--border:before{border-top:1px solid #ebedf0;box-sizing:border-box;content:" ";left:16px;pointer-events:none;position:absolute;right:0;top:0;transform:scaleY(.5);transform-origin:center}.van-share-sheet__options::-webkit-scrollbar{height:0}.van-share-sheet__option{align-items:center;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.van-share-sheet__option:active{opacity:.7}.van-share-sheet__button{background-color:initial;border:0;height:auto;line-height:inherit;padding:0}.van-share-sheet__button:after{border:0}.van-share-sheet__icon{height:48px;margin:0 16px;width:48px}.van-share-sheet__name{color:#646566;font-size:12px;margin-top:8px;padding:0 4px}.van-share-sheet__option-description{color:#c8c9cc;font-size:12px;padding:0 4px}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/sidebar-item/index.js b/coupon/miniprogram/@vant/weapp/dist/sidebar-item/index.js
new file mode 100644
index 0000000..63ea57d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/sidebar-item/index.js
@@ -0,0 +1,29 @@
+import { VantComponent } from '../common/component';
+import { useParent } from '../common/relation';
+VantComponent({
+ classes: ['active-class', 'disabled-class'],
+ relation: useParent('sidebar'),
+ props: {
+ dot: Boolean,
+ badge: null,
+ info: null,
+ title: String,
+ disabled: Boolean,
+ },
+ methods: {
+ onClick() {
+ const { parent } = this;
+ if (!parent || this.data.disabled) {
+ return;
+ }
+ const index = parent.children.indexOf(this);
+ parent.setActive(index).then(() => {
+ this.$emit('click', index);
+ parent.$emit('change', index);
+ });
+ },
+ setActive(selected) {
+ return this.setData({ selected });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/sidebar-item/index.json b/coupon/miniprogram/@vant/weapp/dist/sidebar-item/index.json
new file mode 100644
index 0000000..bf0ebe0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/sidebar-item/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-info": "../info/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/sidebar-item/index.wxml b/coupon/miniprogram/@vant/weapp/dist/sidebar-item/index.wxml
new file mode 100644
index 0000000..c5c08a6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/sidebar-item/index.wxml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/sidebar-item/index.wxss b/coupon/miniprogram/@vant/weapp/dist/sidebar-item/index.wxss
new file mode 100644
index 0000000..f1ce421
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/sidebar-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-sidebar-item{background-color:var(--sidebar-background-color,#f7f8fa);border-left:3px solid transparent;box-sizing:border-box;color:var(--sidebar-text-color,#323233);display:block;font-size:var(--sidebar-font-size,14px);line-height:var(--sidebar-line-height,20px);overflow:hidden;padding:var(--sidebar-padding,20px 12px 20px 8px);-webkit-user-select:none;user-select:none}.van-sidebar-item__text{display:inline-block;position:relative;word-break:break-all}.van-sidebar-item--hover:not(.van-sidebar-item--disabled){background-color:var(--sidebar-active-color,#f2f3f5)}.van-sidebar-item:after{border-bottom-width:1px}.van-sidebar-item--selected{border-color:var(--sidebar-selected-border-color,#ee0a24);color:var(--sidebar-selected-text-color,#323233);font-weight:var(--sidebar-selected-font-weight,500)}.van-sidebar-item--selected:after{border-right-width:1px}.van-sidebar-item--selected,.van-sidebar-item--selected.van-sidebar-item--hover{background-color:var(--sidebar-selected-background-color,#fff)}.van-sidebar-item--disabled{color:var(--sidebar-disabled-text-color,#c8c9cc)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/sidebar/index.js b/coupon/miniprogram/@vant/weapp/dist/sidebar/index.js
new file mode 100644
index 0000000..d763e06
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/sidebar/index.js
@@ -0,0 +1,34 @@
+import { VantComponent } from '../common/component';
+import { useChildren } from '../common/relation';
+VantComponent({
+ relation: useChildren('sidebar-item', function () {
+ this.setActive(this.data.activeKey);
+ }),
+ props: {
+ activeKey: {
+ type: Number,
+ value: 0,
+ observer: 'setActive',
+ },
+ },
+ beforeCreate() {
+ this.currentActive = -1;
+ },
+ methods: {
+ setActive(activeKey) {
+ const { children, currentActive } = this;
+ if (!children.length) {
+ return Promise.resolve();
+ }
+ this.currentActive = activeKey;
+ const stack = [];
+ if (currentActive !== activeKey && children[currentActive]) {
+ stack.push(children[currentActive].setActive(false));
+ }
+ if (children[activeKey]) {
+ stack.push(children[activeKey].setActive(true));
+ }
+ return Promise.all(stack);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/sidebar/index.json b/coupon/miniprogram/@vant/weapp/dist/sidebar/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/sidebar/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/sidebar/index.wxml b/coupon/miniprogram/@vant/weapp/dist/sidebar/index.wxml
new file mode 100644
index 0000000..96b11c7
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/sidebar/index.wxml
@@ -0,0 +1,3 @@
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/sidebar/index.wxss b/coupon/miniprogram/@vant/weapp/dist/sidebar/index.wxss
new file mode 100644
index 0000000..5a2d44f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/sidebar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-sidebar{width:var(--sidebar-width,80px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/skeleton/index.js b/coupon/miniprogram/@vant/weapp/dist/skeleton/index.js
new file mode 100644
index 0000000..33b1141
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/skeleton/index.js
@@ -0,0 +1,46 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ classes: ['avatar-class', 'title-class', 'row-class'],
+ props: {
+ row: {
+ type: Number,
+ value: 0,
+ observer(value) {
+ this.setData({ rowArray: Array.from({ length: value }) });
+ },
+ },
+ title: Boolean,
+ avatar: Boolean,
+ loading: {
+ type: Boolean,
+ value: true,
+ },
+ animate: {
+ type: Boolean,
+ value: true,
+ },
+ avatarSize: {
+ type: String,
+ value: '32px',
+ },
+ avatarShape: {
+ type: String,
+ value: 'round',
+ },
+ titleWidth: {
+ type: String,
+ value: '40%',
+ },
+ rowWidth: {
+ type: null,
+ value: '100%',
+ observer(val) {
+ this.setData({ isArray: val instanceof Array });
+ },
+ },
+ },
+ data: {
+ isArray: false,
+ rowArray: [],
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/skeleton/index.json b/coupon/miniprogram/@vant/weapp/dist/skeleton/index.json
new file mode 100644
index 0000000..a89ef4d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/skeleton/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/skeleton/index.wxml b/coupon/miniprogram/@vant/weapp/dist/skeleton/index.wxml
new file mode 100644
index 0000000..058e2ef
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/skeleton/index.wxml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/skeleton/index.wxss b/coupon/miniprogram/@vant/weapp/dist/skeleton/index.wxss
new file mode 100644
index 0000000..d59a5ed
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/skeleton/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-skeleton{box-sizing:border-box;display:flex;padding:var(--skeleton-padding,0 16px);width:100%}.van-skeleton__avatar{background-color:var(--skeleton-avatar-background-color,#f2f3f5);flex-shrink:0;margin-right:var(--padding-md,16px)}.van-skeleton__avatar--round{border-radius:100%}.van-skeleton__content{flex:1}.van-skeleton__avatar+.van-skeleton__content{padding-top:var(--padding-xs,8px)}.van-skeleton__row,.van-skeleton__title{background-color:var(--skeleton-row-background-color,#f2f3f5);height:var(--skeleton-row-height,16px)}.van-skeleton__title{margin:0}.van-skeleton__row:not(:first-child){margin-top:var(--skeleton-row-margin-top,12px)}.van-skeleton__title+.van-skeleton__row{margin-top:20px}.van-skeleton--animate{animation:van-skeleton-blink 1.2s ease-in-out infinite}@keyframes van-skeleton-blink{50%{opacity:.6}}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/slider/index.js b/coupon/miniprogram/@vant/weapp/dist/slider/index.js
new file mode 100644
index 0000000..2c9b123
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/slider/index.js
@@ -0,0 +1,191 @@
+import { VantComponent } from '../common/component';
+import { touch } from '../mixins/touch';
+import { canIUseModel } from '../common/version';
+import { getRect, addUnit } from '../common/utils';
+VantComponent({
+ mixins: [touch],
+ props: {
+ range: Boolean,
+ disabled: Boolean,
+ useButtonSlot: Boolean,
+ activeColor: String,
+ inactiveColor: String,
+ max: {
+ type: Number,
+ value: 100,
+ },
+ min: {
+ type: Number,
+ value: 0,
+ },
+ step: {
+ type: Number,
+ value: 1,
+ },
+ value: {
+ type: null,
+ value: 0,
+ observer(val) {
+ if (val !== this.value) {
+ this.updateValue(val);
+ }
+ },
+ },
+ vertical: Boolean,
+ barHeight: null,
+ },
+ created() {
+ this.updateValue(this.data.value);
+ },
+ methods: {
+ onTouchStart(event) {
+ if (this.data.disabled)
+ return;
+ const { index } = event.currentTarget.dataset;
+ if (typeof index === 'number') {
+ this.buttonIndex = index;
+ }
+ this.touchStart(event);
+ this.startValue = this.format(this.value);
+ this.newValue = this.value;
+ if (this.isRange(this.newValue)) {
+ this.startValue = this.newValue.map((val) => this.format(val));
+ }
+ else {
+ this.startValue = this.format(this.newValue);
+ }
+ this.dragStatus = 'start';
+ },
+ onTouchMove(event) {
+ if (this.data.disabled)
+ return;
+ if (this.dragStatus === 'start') {
+ this.$emit('drag-start');
+ }
+ this.touchMove(event);
+ this.dragStatus = 'draging';
+ getRect(this, '.van-slider').then((rect) => {
+ const { vertical } = this.data;
+ const delta = vertical ? this.deltaY : this.deltaX;
+ const total = vertical ? rect.height : rect.width;
+ const diff = (delta / total) * this.getRange();
+ if (this.isRange(this.startValue)) {
+ this.newValue[this.buttonIndex] =
+ this.startValue[this.buttonIndex] + diff;
+ }
+ else {
+ this.newValue = this.startValue + diff;
+ }
+ this.updateValue(this.newValue, false, true);
+ });
+ },
+ onTouchEnd() {
+ if (this.data.disabled)
+ return;
+ if (this.dragStatus === 'draging') {
+ this.updateValue(this.newValue, true);
+ this.$emit('drag-end');
+ }
+ },
+ onClick(event) {
+ if (this.data.disabled)
+ return;
+ const { min } = this.data;
+ getRect(this, '.van-slider').then((rect) => {
+ const { vertical } = this.data;
+ const touch = event.touches[0];
+ const delta = vertical
+ ? touch.clientY - rect.top
+ : touch.clientX - rect.left;
+ const total = vertical ? rect.height : rect.width;
+ const value = Number(min) + (delta / total) * this.getRange();
+ if (this.isRange(this.value)) {
+ const [left, right] = this.value;
+ const middle = (left + right) / 2;
+ if (value <= middle) {
+ this.updateValue([value, right], true);
+ }
+ else {
+ this.updateValue([left, value], true);
+ }
+ }
+ else {
+ this.updateValue(value, true);
+ }
+ });
+ },
+ isRange(val) {
+ const { range } = this.data;
+ return range && Array.isArray(val);
+ },
+ handleOverlap(value) {
+ if (value[0] > value[1]) {
+ return value.slice(0).reverse();
+ }
+ return value;
+ },
+ updateValue(value, end, drag) {
+ if (this.isRange(value)) {
+ value = this.handleOverlap(value).map((val) => this.format(val));
+ }
+ else {
+ value = this.format(value);
+ }
+ this.value = value;
+ const { vertical } = this.data;
+ const mainAxis = vertical ? 'height' : 'width';
+ this.setData({
+ wrapperStyle: `
+ background: ${this.data.inactiveColor || ''};
+ ${vertical ? 'width' : 'height'}: ${addUnit(this.data.barHeight) || ''};
+ `,
+ barStyle: `
+ ${mainAxis}: ${this.calcMainAxis()};
+ left: ${vertical ? 0 : this.calcOffset()};
+ top: ${vertical ? this.calcOffset() : 0};
+ ${drag ? 'transition: none;' : ''}
+ `,
+ });
+ if (drag) {
+ this.$emit('drag', { value });
+ }
+ if (end) {
+ this.$emit('change', value);
+ }
+ if ((drag || end) && canIUseModel()) {
+ this.setData({ value });
+ }
+ },
+ getScope() {
+ return Number(this.data.max) - Number(this.data.min);
+ },
+ getRange() {
+ const { max, min } = this.data;
+ return max - min;
+ },
+ // 计算选中条的长度百分比
+ calcMainAxis() {
+ const { value } = this;
+ const { min } = this.data;
+ const scope = this.getScope();
+ if (this.isRange(value)) {
+ return `${((value[1] - value[0]) * 100) / scope}%`;
+ }
+ return `${((value - Number(min)) * 100) / scope}%`;
+ },
+ // 计算选中条的开始位置的偏移量
+ calcOffset() {
+ const { value } = this;
+ const { min } = this.data;
+ const scope = this.getScope();
+ if (this.isRange(value)) {
+ return `${((value[0] - Number(min)) * 100) / scope}%`;
+ }
+ return '0%';
+ },
+ format(value) {
+ const { max, min, step } = this.data;
+ return Math.round(Math.max(min, Math.min(value, max)) / step) * step;
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/slider/index.json b/coupon/miniprogram/@vant/weapp/dist/slider/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/slider/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/slider/index.wxml b/coupon/miniprogram/@vant/weapp/dist/slider/index.wxml
new file mode 100644
index 0000000..7c0184f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/slider/index.wxml
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/slider/index.wxs b/coupon/miniprogram/@vant/weapp/dist/slider/index.wxs
new file mode 100644
index 0000000..7c43e6e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/slider/index.wxs
@@ -0,0 +1,14 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function barStyle(barHeight, activeColor) {
+ return style({
+ height: addUnit(barHeight),
+ background: activeColor,
+ });
+}
+
+module.exports = {
+ barStyle: barStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/slider/index.wxss b/coupon/miniprogram/@vant/weapp/dist/slider/index.wxss
new file mode 100644
index 0000000..d1587de
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/slider/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-slider{background-color:var(--slider-inactive-background-color,#ebedf0);border-radius:999px;height:var(--slider-bar-height,2px);position:relative}.van-slider:before{bottom:calc(var(--padding-xs, 8px)*-1);content:"";left:0;position:absolute;right:0;top:calc(var(--padding-xs, 8px)*-1)}.van-slider__bar{background-color:var(--slider-active-background-color,#1989fa);border-radius:inherit;height:100%;position:relative;transition:all .2s;width:100%}.van-slider__button{background-color:var(--slider-button-background-color,#fff);border-radius:var(--slider-button-border-radius,50%);box-shadow:var(--slider-button-box-shadow,0 1px 2px rgba(0,0,0,.5));height:var(--slider-button-height,24px);width:var(--slider-button-width,24px)}.van-slider__button-wrapper,.van-slider__button-wrapper-right{position:absolute;right:0;top:50%;transform:translate3d(50%,-50%,0)}.van-slider__button-wrapper-left{left:0;position:absolute;top:50%;transform:translate3d(-50%,-50%,0)}.van-slider--disabled{opacity:var(--slider-disabled-opacity,.5)}.van-slider--vertical{display:inline-block;height:100%;width:var(--slider-bar-height,2px)}.van-slider--vertical .van-slider__button-wrapper,.van-slider--vertical .van-slider__button-wrapper-right{bottom:0;right:50%;top:auto;transform:translate3d(50%,50%,0)}.van-slider--vertical .van-slider__button-wrapper-left{left:auto;right:50%;top:0;transform:translate3d(50%,-50%,0)}.van-slider--vertical:before{bottom:0;left:-8px;right:-8px;top:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/stepper/index.js b/coupon/miniprogram/@vant/weapp/dist/stepper/index.js
new file mode 100644
index 0000000..8a27a01
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/stepper/index.js
@@ -0,0 +1,185 @@
+import { VantComponent } from '../common/component';
+import { isDef } from '../common/validator';
+const LONG_PRESS_START_TIME = 600;
+const LONG_PRESS_INTERVAL = 200;
+// add num and avoid float number
+function add(num1, num2) {
+ const cardinal = Math.pow(10, 10);
+ return Math.round((num1 + num2) * cardinal) / cardinal;
+}
+function equal(value1, value2) {
+ return String(value1) === String(value2);
+}
+VantComponent({
+ field: true,
+ classes: ['input-class', 'plus-class', 'minus-class'],
+ props: {
+ value: {
+ type: null,
+ observer: 'observeValue',
+ },
+ integer: {
+ type: Boolean,
+ observer: 'check',
+ },
+ disabled: Boolean,
+ inputWidth: String,
+ buttonSize: String,
+ asyncChange: Boolean,
+ disableInput: Boolean,
+ decimalLength: {
+ type: Number,
+ value: null,
+ observer: 'check',
+ },
+ min: {
+ type: null,
+ value: 1,
+ observer: 'check',
+ },
+ max: {
+ type: null,
+ value: Number.MAX_SAFE_INTEGER,
+ observer: 'check',
+ },
+ step: {
+ type: null,
+ value: 1,
+ },
+ showPlus: {
+ type: Boolean,
+ value: true,
+ },
+ showMinus: {
+ type: Boolean,
+ value: true,
+ },
+ disablePlus: Boolean,
+ disableMinus: Boolean,
+ longPress: {
+ type: Boolean,
+ value: true,
+ },
+ theme: String,
+ alwaysEmbed: Boolean,
+ },
+ data: {
+ currentValue: '',
+ },
+ created() {
+ this.setData({
+ currentValue: this.format(this.data.value),
+ });
+ },
+ methods: {
+ observeValue() {
+ const { value, currentValue } = this.data;
+ if (!equal(value, currentValue)) {
+ this.setData({ currentValue: this.format(value) });
+ }
+ },
+ check() {
+ const val = this.format(this.data.currentValue);
+ if (!equal(val, this.data.currentValue)) {
+ this.setData({ currentValue: val });
+ }
+ },
+ isDisabled(type) {
+ const { disabled, disablePlus, disableMinus, currentValue, max, min, } = this.data;
+ if (type === 'plus') {
+ return disabled || disablePlus || currentValue >= max;
+ }
+ return disabled || disableMinus || currentValue <= min;
+ },
+ onFocus(event) {
+ this.$emit('focus', event.detail);
+ },
+ onBlur(event) {
+ const value = this.format(event.detail.value);
+ this.emitChange(value);
+ this.$emit('blur', Object.assign(Object.assign({}, event.detail), { value }));
+ },
+ // filter illegal characters
+ filter(value) {
+ value = String(value).replace(/[^0-9.-]/g, '');
+ if (this.data.integer && value.indexOf('.') !== -1) {
+ value = value.split('.')[0];
+ }
+ return value;
+ },
+ // limit value range
+ format(value) {
+ value = this.filter(value);
+ // format range
+ value = value === '' ? 0 : +value;
+ value = Math.max(Math.min(this.data.max, value), this.data.min);
+ // format decimal
+ if (isDef(this.data.decimalLength)) {
+ value = value.toFixed(this.data.decimalLength);
+ }
+ return value;
+ },
+ onInput(event) {
+ const { value = '' } = event.detail || {};
+ // allow input to be empty
+ if (value === '') {
+ return;
+ }
+ let formatted = this.filter(value);
+ // limit max decimal length
+ if (isDef(this.data.decimalLength) && formatted.indexOf('.') !== -1) {
+ const pair = formatted.split('.');
+ formatted = `${pair[0]}.${pair[1].slice(0, this.data.decimalLength)}`;
+ }
+ this.emitChange(formatted);
+ },
+ emitChange(value) {
+ if (!this.data.asyncChange) {
+ this.setData({ currentValue: value });
+ }
+ this.$emit('change', value);
+ },
+ onChange() {
+ const { type } = this;
+ if (this.isDisabled(type)) {
+ this.$emit('overlimit', type);
+ return;
+ }
+ const diff = type === 'minus' ? -this.data.step : +this.data.step;
+ const value = this.format(add(+this.data.currentValue, diff));
+ this.emitChange(value);
+ this.$emit(type);
+ },
+ longPressStep() {
+ this.longPressTimer = setTimeout(() => {
+ this.onChange();
+ this.longPressStep();
+ }, LONG_PRESS_INTERVAL);
+ },
+ onTap(event) {
+ const { type } = event.currentTarget.dataset;
+ this.type = type;
+ this.onChange();
+ },
+ onTouchStart(event) {
+ if (!this.data.longPress) {
+ return;
+ }
+ clearTimeout(this.longPressTimer);
+ const { type } = event.currentTarget.dataset;
+ this.type = type;
+ this.isLongPress = false;
+ this.longPressTimer = setTimeout(() => {
+ this.isLongPress = true;
+ this.onChange();
+ this.longPressStep();
+ }, LONG_PRESS_START_TIME);
+ },
+ onTouchEnd() {
+ if (!this.data.longPress) {
+ return;
+ }
+ clearTimeout(this.longPressTimer);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/stepper/index.json b/coupon/miniprogram/@vant/weapp/dist/stepper/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/stepper/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/stepper/index.wxml b/coupon/miniprogram/@vant/weapp/dist/stepper/index.wxml
new file mode 100644
index 0000000..6a58fd2
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/stepper/index.wxml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/stepper/index.wxs b/coupon/miniprogram/@vant/weapp/dist/stepper/index.wxs
new file mode 100644
index 0000000..a13e818
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/stepper/index.wxs
@@ -0,0 +1,22 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function buttonStyle(data) {
+ return style({
+ width: addUnit(data.buttonSize),
+ height: addUnit(data.buttonSize),
+ });
+}
+
+function inputStyle(data) {
+ return style({
+ width: addUnit(data.inputWidth),
+ height: addUnit(data.buttonSize),
+ });
+}
+
+module.exports = {
+ buttonStyle: buttonStyle,
+ inputStyle: inputStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/stepper/index.wxss b/coupon/miniprogram/@vant/weapp/dist/stepper/index.wxss
new file mode 100644
index 0000000..2561a7e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/stepper/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-stepper{font-size:0}.van-stepper__minus,.van-stepper__plus{background-color:var(--stepper-background-color,#f2f3f5);border:0;box-sizing:border-box;color:var(--stepper-button-icon-color,#323233);display:inline-block;height:var(--stepper-input-height,28px);margin:1px;padding:var(--padding-base,4px);position:relative;vertical-align:middle;width:var(--stepper-input-height,28px)}.van-stepper__minus:before,.van-stepper__plus:before{height:1px;width:9px}.van-stepper__minus:after,.van-stepper__plus:after{height:9px;width:1px}.van-stepper__minus:empty.van-stepper__minus:after,.van-stepper__minus:empty.van-stepper__minus:before,.van-stepper__minus:empty.van-stepper__plus:after,.van-stepper__minus:empty.van-stepper__plus:before,.van-stepper__plus:empty.van-stepper__minus:after,.van-stepper__plus:empty.van-stepper__minus:before,.van-stepper__plus:empty.van-stepper__plus:after,.van-stepper__plus:empty.van-stepper__plus:before{background-color:currentColor;bottom:0;content:"";left:0;margin:auto;position:absolute;right:0;top:0}.van-stepper__minus--hover,.van-stepper__plus--hover{background-color:var(--stepper-active-color,#e8e8e8)}.van-stepper__minus--disabled,.van-stepper__plus--disabled{color:var(--stepper-button-disabled-icon-color,#c8c9cc)}.van-stepper__minus--disabled,.van-stepper__minus--disabled.van-stepper__minus--hover,.van-stepper__minus--disabled.van-stepper__plus--hover,.van-stepper__plus--disabled,.van-stepper__plus--disabled.van-stepper__minus--hover,.van-stepper__plus--disabled.van-stepper__plus--hover{background-color:var(--stepper-button-disabled-color,#f7f8fa)}.van-stepper__minus{border-radius:var(--stepper-border-radius,var(--stepper-border-radius,4px)) 0 0 var(--stepper-border-radius,var(--stepper-border-radius,4px))}.van-stepper__minus:after{display:none}.van-stepper__plus{border-radius:0 var(--stepper-border-radius,var(--stepper-border-radius,4px)) var(--stepper-border-radius,var(--stepper-border-radius,4px)) 0}.van-stepper--round .van-stepper__input{background-color:initial!important}.van-stepper--round .van-stepper__minus,.van-stepper--round .van-stepper__plus{border-radius:100%}.van-stepper--round .van-stepper__minus:active,.van-stepper--round .van-stepper__plus:active{opacity:.7}.van-stepper--round .van-stepper__minus--disabled,.van-stepper--round .van-stepper__minus--disabled:active,.van-stepper--round .van-stepper__plus--disabled,.van-stepper--round .van-stepper__plus--disabled:active{opacity:.3}.van-stepper--round .van-stepper__plus{background-color:#ee0a24;color:#fff}.van-stepper--round .van-stepper__minus{background-color:#fff;border:1px solid #ee0a24;color:#ee0a24}.van-stepper__input{-webkit-appearance:none;background-color:var(--stepper-background-color,#f2f3f5);border:0;border-radius:0;border-width:1px 0;box-sizing:border-box;color:var(--stepper-input-text-color,#323233);display:inline-block;font-size:var(--stepper-input-font-size,14px);height:var(--stepper-input-height,28px);margin:1px;min-height:0;padding:1px;text-align:center;vertical-align:middle;width:var(--stepper-input-width,32px)}.van-stepper__input--disabled{background-color:var(--stepper-input-disabled-background-color,#f2f3f5);color:var(--stepper-input-disabled-text-color,#c8c9cc)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/steps/index.js b/coupon/miniprogram/@vant/weapp/dist/steps/index.js
new file mode 100644
index 0000000..b47be76
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/steps/index.js
@@ -0,0 +1,33 @@
+import { VantComponent } from '../common/component';
+import { GREEN, GRAY_DARK } from '../common/color';
+VantComponent({
+ classes: ['desc-class'],
+ props: {
+ icon: String,
+ steps: Array,
+ active: Number,
+ direction: {
+ type: String,
+ value: 'horizontal',
+ },
+ activeColor: {
+ type: String,
+ value: GREEN,
+ },
+ inactiveColor: {
+ type: String,
+ value: GRAY_DARK,
+ },
+ activeIcon: {
+ type: String,
+ value: 'checked',
+ },
+ inactiveIcon: String,
+ },
+ methods: {
+ onClick(event) {
+ const { index } = event.currentTarget.dataset;
+ this.$emit('click-step', index);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/steps/index.json b/coupon/miniprogram/@vant/weapp/dist/steps/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/steps/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/steps/index.wxml b/coupon/miniprogram/@vant/weapp/dist/steps/index.wxml
new file mode 100644
index 0000000..6180b41
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/steps/index.wxml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+ {{ item.text }}
+ {{ item.desc }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+function get(index, active) {
+ if (index < active) {
+ return 'finish';
+ } else if (index === active) {
+ return 'process';
+ }
+
+ return 'inactive';
+}
+
+module.exports = get;
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/steps/index.wxss b/coupon/miniprogram/@vant/weapp/dist/steps/index.wxss
new file mode 100644
index 0000000..48b7665
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/steps/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-steps{background-color:var(--steps-background-color,#fff);overflow:hidden}.van-steps--horizontal{padding:10px}.van-steps--horizontal .van-step__wrapper{display:flex;overflow:hidden;position:relative}.van-steps--vertical{padding-left:10px}.van-steps--vertical .van-step__wrapper{padding:0 0 0 20px}.van-step{color:var(--step-text-color,#969799);flex:1;font-size:var(--step-font-size,14px);position:relative}.van-step--finish{color:var(--step-finish-text-color,#323233)}.van-step__circle{background-color:var(--step-circle-color,#969799);border-radius:50%;height:var(--step-circle-size,5px);width:var(--step-circle-size,5px)}.van-step--horizontal{padding-bottom:14px}.van-step--horizontal:first-child .van-step__title{transform:none}.van-step--horizontal:first-child .van-step__circle-container{padding:0 8px 0 0;transform:translate3d(0,50%,0)}.van-step--horizontal:last-child{position:absolute;right:0;width:auto}.van-step--horizontal:last-child .van-step__title{text-align:right;transform:none}.van-step--horizontal:last-child .van-step__circle-container{padding:0 0 0 8px;right:0;transform:translate3d(0,50%,0)}.van-step--horizontal .van-step__circle-container{background-color:#fff;bottom:6px;padding:0 var(--padding-xs,8px);position:absolute;transform:translate3d(-50%,50%,0);z-index:1}.van-step--horizontal .van-step__title{display:inline-block;font-size:var(--step-horizontal-title-font-size,12px);transform:translate3d(-50%,0,0)}.van-step--horizontal .van-step__line{background-color:var(--step-line-color,#ebedf0);bottom:6px;height:1px;left:0;position:absolute;right:0;transform:translate3d(0,50%,0)}.van-step--horizontal.van-step--process{color:var(--step-process-text-color,#323233)}.van-step--horizontal.van-step--process .van-step__icon{display:block;font-size:var(--step-icon-size,12px);line-height:1}.van-step--vertical{line-height:18px;padding:10px 10px 10px 0}.van-step--vertical:after{border-bottom-width:1px}.van-step--vertical:last-child:after{border-bottom-width:none}.van-step--vertical:first-child:before{background-color:#fff;content:"";height:20px;left:-15px;position:absolute;top:0;width:1px;z-index:1}.van-step--vertical .van-step__circle,.van-step--vertical .van-step__icon,.van-step--vertical .van-step__line{left:-14px;position:absolute;top:19px;transform:translate3d(-50%,-50%,0);z-index:2}.van-step--vertical .van-step__icon{font-size:var(--step-icon-size,12px);line-height:1}.van-step--vertical .van-step__line{background-color:var(--step-line-color,#ebedf0);height:100%;transform:translate3d(-50%,0,0);width:1px;z-index:1}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/sticky/index.js b/coupon/miniprogram/@vant/weapp/dist/sticky/index.js
new file mode 100644
index 0000000..e1ae6df
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/sticky/index.js
@@ -0,0 +1,118 @@
+import { getRect } from '../common/utils';
+import { VantComponent } from '../common/component';
+import { isDef } from '../common/validator';
+import { pageScrollMixin } from '../mixins/page-scroll';
+const ROOT_ELEMENT = '.van-sticky';
+VantComponent({
+ props: {
+ zIndex: {
+ type: Number,
+ value: 99,
+ },
+ offsetTop: {
+ type: Number,
+ value: 0,
+ observer: 'onScroll',
+ },
+ disabled: {
+ type: Boolean,
+ observer: 'onScroll',
+ },
+ container: {
+ type: null,
+ observer: 'onScroll',
+ },
+ scrollTop: {
+ type: null,
+ observer(val) {
+ this.onScroll({ scrollTop: val });
+ },
+ },
+ },
+ mixins: [
+ pageScrollMixin(function (event) {
+ if (this.data.scrollTop != null) {
+ return;
+ }
+ this.onScroll(event);
+ }),
+ ],
+ data: {
+ height: 0,
+ fixed: false,
+ transform: 0,
+ },
+ mounted() {
+ this.onScroll();
+ },
+ methods: {
+ onScroll({ scrollTop } = {}) {
+ const { container, offsetTop, disabled } = this.data;
+ if (disabled) {
+ this.setDataAfterDiff({
+ fixed: false,
+ transform: 0,
+ });
+ return;
+ }
+ this.scrollTop = scrollTop || this.scrollTop;
+ if (typeof container === 'function') {
+ Promise.all([
+ getRect(this, ROOT_ELEMENT),
+ this.getContainerRect(),
+ ]).then(([root, container]) => {
+ if (offsetTop + root.height > container.height + container.top) {
+ this.setDataAfterDiff({
+ fixed: false,
+ transform: container.height - root.height,
+ });
+ }
+ else if (offsetTop >= root.top) {
+ this.setDataAfterDiff({
+ fixed: true,
+ height: root.height,
+ transform: 0,
+ });
+ }
+ else {
+ this.setDataAfterDiff({ fixed: false, transform: 0 });
+ }
+ });
+ return;
+ }
+ getRect(this, ROOT_ELEMENT).then((root) => {
+ if (!isDef(root)) {
+ return;
+ }
+ if (offsetTop >= root.top) {
+ this.setDataAfterDiff({ fixed: true, height: root.height });
+ this.transform = 0;
+ }
+ else {
+ this.setDataAfterDiff({ fixed: false });
+ }
+ });
+ },
+ setDataAfterDiff(data) {
+ wx.nextTick(() => {
+ const diff = Object.keys(data).reduce((prev, key) => {
+ if (data[key] !== this.data[key]) {
+ prev[key] = data[key];
+ }
+ return prev;
+ }, {});
+ if (Object.keys(diff).length > 0) {
+ this.setData(diff);
+ }
+ this.$emit('scroll', {
+ scrollTop: this.scrollTop,
+ isFixed: data.fixed || this.data.fixed,
+ });
+ });
+ },
+ getContainerRect() {
+ const nodesRef = this.data.container();
+ return new Promise((resolve) => nodesRef.boundingClientRect(resolve).exec());
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/sticky/index.json b/coupon/miniprogram/@vant/weapp/dist/sticky/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/sticky/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/sticky/index.wxml b/coupon/miniprogram/@vant/weapp/dist/sticky/index.wxml
new file mode 100644
index 0000000..15e9f4a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/sticky/index.wxml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/sticky/index.wxs b/coupon/miniprogram/@vant/weapp/dist/sticky/index.wxs
new file mode 100644
index 0000000..be99d89
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/sticky/index.wxs
@@ -0,0 +1,25 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function wrapStyle(data) {
+ return style({
+ transform: data.transform
+ ? 'translate3d(0, ' + data.transform + 'px, 0)'
+ : '',
+ top: data.fixed ? addUnit(data.offsetTop) : '',
+ 'z-index': data.zIndex,
+ });
+}
+
+function containerStyle(data) {
+ return style({
+ height: data.fixed ? addUnit(data.height) : '',
+ 'z-index': data.zIndex,
+ });
+}
+
+module.exports = {
+ wrapStyle: wrapStyle,
+ containerStyle: containerStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/sticky/index.wxss b/coupon/miniprogram/@vant/weapp/dist/sticky/index.wxss
new file mode 100644
index 0000000..34d76aa
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/sticky/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-sticky{position:relative}.van-sticky-wrap--fixed{left:0;position:fixed;right:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/submit-bar/index.js b/coupon/miniprogram/@vant/weapp/dist/submit-bar/index.js
new file mode 100644
index 0000000..decf459
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/submit-bar/index.js
@@ -0,0 +1,56 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ classes: ['bar-class', 'price-class', 'button-class'],
+ props: {
+ tip: {
+ type: null,
+ observer: 'updateTip',
+ },
+ tipIcon: String,
+ type: Number,
+ price: {
+ type: null,
+ observer: 'updatePrice',
+ },
+ label: String,
+ loading: Boolean,
+ disabled: Boolean,
+ buttonText: String,
+ currency: {
+ type: String,
+ value: '¥',
+ },
+ buttonType: {
+ type: String,
+ value: 'danger',
+ },
+ decimalLength: {
+ type: Number,
+ value: 2,
+ observer: 'updatePrice',
+ },
+ suffixLabel: String,
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ updatePrice() {
+ const { price, decimalLength } = this.data;
+ const priceStrArr = typeof price === 'number' &&
+ (price / 100).toFixed(decimalLength).split('.');
+ this.setData({
+ hasPrice: typeof price === 'number',
+ integerStr: priceStrArr && priceStrArr[0],
+ decimalStr: decimalLength && priceStrArr ? `.${priceStrArr[1]}` : '',
+ });
+ },
+ updateTip() {
+ this.setData({ hasTip: typeof this.data.tip === 'string' });
+ },
+ onSubmit(event) {
+ this.$emit('submit', event.detail);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/submit-bar/index.json b/coupon/miniprogram/@vant/weapp/dist/submit-bar/index.json
new file mode 100644
index 0000000..bda9b8d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/submit-bar/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-button": "../button/index",
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/submit-bar/index.wxml b/coupon/miniprogram/@vant/weapp/dist/submit-bar/index.wxml
new file mode 100644
index 0000000..a56dd46
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/submit-bar/index.wxml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+ {{ tip }}
+
+
+
+
+
+
+
+ {{ label || '合计:' }}
+
+ {{ currency }}
+ {{ integerStr }}{{decimalStr}}
+
+ {{ suffixLabel }}
+
+
+ {{ loading ? '' : buttonText }}
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/submit-bar/index.wxss b/coupon/miniprogram/@vant/weapp/dist/submit-bar/index.wxss
new file mode 100644
index 0000000..8379a30
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/submit-bar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-submit-bar{background-color:var(--submit-bar-background-color,#fff);bottom:0;left:0;position:fixed;-webkit-user-select:none;user-select:none;width:100%;z-index:var(--submit-bar-z-index,100)}.van-submit-bar__tip{background-color:var(--submit-bar-tip-background-color,#fff7cc);color:var(--submit-bar-tip-color,#f56723);font-size:var(--submit-bar-tip-font-size,12px);line-height:var(--submit-bar-tip-line-height,1.5);padding:var(--submit-bar-tip-padding,10px)}.van-submit-bar__tip:empty{display:none}.van-submit-bar__tip-icon{margin-right:4px;vertical-align:middle}.van-submit-bar__tip-text{display:inline;vertical-align:middle}.van-submit-bar__bar{align-items:center;background-color:var(--submit-bar-background-color,#fff);display:flex;font-size:var(--submit-bar-text-font-size,14px);height:var(--submit-bar-height,50px);justify-content:flex-end;padding:var(--submit-bar-padding,0 16px)}.van-submit-bar__safe{height:constant(safe-area-inset-bottom);height:env(safe-area-inset-bottom)}.van-submit-bar__text{color:var(--submit-bar-text-color,#323233);flex:1;font-weight:var(--font-weight-bold,500);padding-right:var(--padding-sm,12px);text-align:right}.van-submit-bar__price{color:var(--submit-bar-price-color,#ee0a24);font-size:var(--submit-bar-price-font-size,12px);font-weight:var(--font-weight-bold,500)}.van-submit-bar__price-integer{font-family:Avenir-Heavy,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:20px}.van-submit-bar__currency{font-size:var(--submit-bar-currency-font-size,12px)}.van-submit-bar__suffix-label{margin-left:5px}.van-submit-bar__button{--button-default-height:var(--submit-bar-button-height,40px)!important;--button-line-height:var(--submit-bar-button-height,40px)!important;font-weight:var(--font-weight-bold,500);width:var(--submit-bar-button-width,110px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/swipe-cell/index.js b/coupon/miniprogram/@vant/weapp/dist/swipe-cell/index.js
new file mode 100644
index 0000000..501088f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/swipe-cell/index.js
@@ -0,0 +1,133 @@
+import { VantComponent } from '../common/component';
+import { touch } from '../mixins/touch';
+import { range } from '../common/utils';
+const THRESHOLD = 0.3;
+let ARRAY = [];
+VantComponent({
+ props: {
+ disabled: Boolean,
+ leftWidth: {
+ type: Number,
+ value: 0,
+ observer(leftWidth = 0) {
+ if (this.offset > 0) {
+ this.swipeMove(leftWidth);
+ }
+ },
+ },
+ rightWidth: {
+ type: Number,
+ value: 0,
+ observer(rightWidth = 0) {
+ if (this.offset < 0) {
+ this.swipeMove(-rightWidth);
+ }
+ },
+ },
+ asyncClose: Boolean,
+ name: {
+ type: null,
+ value: '',
+ },
+ },
+ mixins: [touch],
+ data: {
+ catchMove: false,
+ wrapperStyle: '',
+ },
+ created() {
+ this.offset = 0;
+ ARRAY.push(this);
+ },
+ destroyed() {
+ ARRAY = ARRAY.filter((item) => item !== this);
+ },
+ methods: {
+ open(position) {
+ const { leftWidth, rightWidth } = this.data;
+ const offset = position === 'left' ? leftWidth : -rightWidth;
+ this.swipeMove(offset);
+ this.$emit('open', {
+ position,
+ name: this.data.name,
+ });
+ },
+ close() {
+ this.swipeMove(0);
+ },
+ swipeMove(offset = 0) {
+ this.offset = range(offset, -this.data.rightWidth, this.data.leftWidth);
+ const transform = `translate3d(${this.offset}px, 0, 0)`;
+ const transition = this.dragging
+ ? 'none'
+ : 'transform .6s cubic-bezier(0.18, 0.89, 0.32, 1)';
+ this.setData({
+ wrapperStyle: `
+ -webkit-transform: ${transform};
+ -webkit-transition: ${transition};
+ transform: ${transform};
+ transition: ${transition};
+ `,
+ });
+ },
+ swipeLeaveTransition() {
+ const { leftWidth, rightWidth } = this.data;
+ const { offset } = this;
+ if (rightWidth > 0 && -offset > rightWidth * THRESHOLD) {
+ this.open('right');
+ }
+ else if (leftWidth > 0 && offset > leftWidth * THRESHOLD) {
+ this.open('left');
+ }
+ else {
+ this.swipeMove(0);
+ }
+ this.setData({ catchMove: false });
+ },
+ startDrag(event) {
+ if (this.data.disabled) {
+ return;
+ }
+ this.startOffset = this.offset;
+ this.touchStart(event);
+ },
+ noop() { },
+ onDrag(event) {
+ if (this.data.disabled) {
+ return;
+ }
+ this.touchMove(event);
+ if (this.direction !== 'horizontal') {
+ return;
+ }
+ this.dragging = true;
+ ARRAY.filter((item) => item !== this && item.offset !== 0).forEach((item) => item.close());
+ this.setData({ catchMove: true });
+ this.swipeMove(this.startOffset + this.deltaX);
+ },
+ endDrag() {
+ if (this.data.disabled) {
+ return;
+ }
+ this.dragging = false;
+ this.swipeLeaveTransition();
+ },
+ onClick(event) {
+ const { key: position = 'outside' } = event.currentTarget.dataset;
+ this.$emit('click', position);
+ if (!this.offset) {
+ return;
+ }
+ if (this.data.asyncClose) {
+ this.$emit('close', {
+ position,
+ instance: this,
+ name: this.data.name,
+ });
+ }
+ else {
+ this.swipeMove(0);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/swipe-cell/index.json b/coupon/miniprogram/@vant/weapp/dist/swipe-cell/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/swipe-cell/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/swipe-cell/index.wxml b/coupon/miniprogram/@vant/weapp/dist/swipe-cell/index.wxml
new file mode 100644
index 0000000..3f7f726
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/swipe-cell/index.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/swipe-cell/index.wxss b/coupon/miniprogram/@vant/weapp/dist/swipe-cell/index.wxss
new file mode 100644
index 0000000..3a265bf
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/swipe-cell/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-swipe-cell{overflow:hidden;position:relative}.van-swipe-cell__left,.van-swipe-cell__right{height:100%;position:absolute;top:0}.van-swipe-cell__left{left:0;transform:translate3d(-100%,0,0)}.van-swipe-cell__right{right:0;transform:translate3d(100%,0,0)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/switch/index.js b/coupon/miniprogram/@vant/weapp/dist/switch/index.js
new file mode 100644
index 0000000..4cad09c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/switch/index.js
@@ -0,0 +1,36 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ field: true,
+ classes: ['node-class'],
+ props: {
+ checked: null,
+ loading: Boolean,
+ disabled: Boolean,
+ activeColor: String,
+ inactiveColor: String,
+ size: {
+ type: String,
+ value: '30',
+ },
+ activeValue: {
+ type: null,
+ value: true,
+ },
+ inactiveValue: {
+ type: null,
+ value: false,
+ },
+ },
+ methods: {
+ onClick() {
+ const { activeValue, inactiveValue, disabled, loading } = this.data;
+ if (disabled || loading) {
+ return;
+ }
+ const checked = this.data.checked === activeValue;
+ const value = checked ? inactiveValue : activeValue;
+ this.$emit('input', value);
+ this.$emit('change', value);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/switch/index.json b/coupon/miniprogram/@vant/weapp/dist/switch/index.json
new file mode 100644
index 0000000..01077f5
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/switch/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/switch/index.wxml b/coupon/miniprogram/@vant/weapp/dist/switch/index.wxml
new file mode 100644
index 0000000..4e9789b
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/switch/index.wxml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/switch/index.wxs b/coupon/miniprogram/@vant/weapp/dist/switch/index.wxs
new file mode 100644
index 0000000..3ae387a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/switch/index.wxs
@@ -0,0 +1,26 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ var currentColor = data.checked === data.activeValue ? data.activeColor : data.inactiveColor;
+
+ return style({
+ 'font-size': addUnit(data.size),
+ 'background-color': currentColor,
+ });
+}
+
+var BLUE = '#1989fa';
+var GRAY_DARK = '#969799';
+
+function loadingColor(data) {
+ return data.checked === data.activeValue
+ ? data.activeColor || BLUE
+ : data.inactiveColor || GRAY_DARK;
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+ loadingColor: loadingColor,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/switch/index.wxss b/coupon/miniprogram/@vant/weapp/dist/switch/index.wxss
new file mode 100644
index 0000000..35929de
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/switch/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-switch{background-color:var(--switch-background-color,#fff);border:var(--switch-border,1px solid rgba(0,0,0,.1));border-radius:var(--switch-node-size,1em);box-sizing:initial;display:inline-block;height:var(--switch-height,1em);position:relative;transition:background-color var(--switch-transition-duration,.3s);width:var(--switch-width,2em)}.van-switch__node{background-color:var(--switch-node-background-color,#fff);border-radius:100%;box-shadow:var(--switch-node-box-shadow,0 3px 1px 0 rgba(0,0,0,.05),0 2px 2px 0 rgba(0,0,0,.1),0 3px 3px 0 rgba(0,0,0,.05));height:var(--switch-node-size,1em);left:0;position:absolute;top:0;transition:var(--switch-transition-duration,.3s) cubic-bezier(.3,1.05,.4,1.05);width:var(--switch-node-size,1em);z-index:var(--switch-node-z-index,1)}.van-switch__loading{height:50%;left:25%;position:absolute!important;top:25%;width:50%}.van-switch--on{background-color:var(--switch-on-background-color,#1989fa)}.van-switch--on .van-switch__node{transform:translateX(calc(var(--switch-width, 2em) - var(--switch-node-size, 1em)))}.van-switch--disabled{opacity:var(--switch-disabled-opacity,.4)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/tab/index.js b/coupon/miniprogram/@vant/weapp/dist/tab/index.js
new file mode 100644
index 0000000..9ada62e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tab/index.js
@@ -0,0 +1,56 @@
+import { useParent } from '../common/relation';
+import { VantComponent } from '../common/component';
+VantComponent({
+ relation: useParent('tabs'),
+ props: {
+ dot: {
+ type: Boolean,
+ observer: 'update',
+ },
+ info: {
+ type: null,
+ observer: 'update',
+ },
+ title: {
+ type: String,
+ observer: 'update',
+ },
+ disabled: {
+ type: Boolean,
+ observer: 'update',
+ },
+ titleStyle: {
+ type: String,
+ observer: 'update',
+ },
+ name: {
+ type: null,
+ value: '',
+ },
+ },
+ data: {
+ active: false,
+ },
+ methods: {
+ getComputedName() {
+ if (this.data.name !== '') {
+ return this.data.name;
+ }
+ return this.index;
+ },
+ updateRender(active, parent) {
+ const { data: parentData } = parent;
+ this.inited = this.inited || active;
+ this.setData({
+ active,
+ shouldRender: this.inited || !parentData.lazyRender,
+ shouldShow: active || parentData.animated,
+ });
+ },
+ update() {
+ if (this.parent) {
+ this.parent.updateTabs();
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/tab/index.json b/coupon/miniprogram/@vant/weapp/dist/tab/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tab/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/tab/index.wxml b/coupon/miniprogram/@vant/weapp/dist/tab/index.wxml
new file mode 100644
index 0000000..f5e99f2
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tab/index.wxml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/tab/index.wxss b/coupon/miniprogram/@vant/weapp/dist/tab/index.wxss
new file mode 100644
index 0000000..1c90c88
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tab/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';:host{box-sizing:border-box;flex-shrink:0;width:100%}.van-tab__pane{-webkit-overflow-scrolling:touch;box-sizing:border-box;overflow-y:auto}.van-tab__pane--active{height:auto}.van-tab__pane--inactive{height:0;overflow:visible}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/tabbar-item/index.js b/coupon/miniprogram/@vant/weapp/dist/tabbar-item/index.js
new file mode 100644
index 0000000..4154399
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tabbar-item/index.js
@@ -0,0 +1,56 @@
+import { VantComponent } from '../common/component';
+import { useParent } from '../common/relation';
+VantComponent({
+ props: {
+ info: null,
+ name: null,
+ icon: String,
+ dot: Boolean,
+ iconPrefix: {
+ type: String,
+ value: 'van-icon',
+ },
+ },
+ relation: useParent('tabbar'),
+ data: {
+ active: false,
+ activeColor: '',
+ inactiveColor: '',
+ },
+ methods: {
+ onClick() {
+ const { parent } = this;
+ if (parent) {
+ const index = parent.children.indexOf(this);
+ const active = this.data.name || index;
+ if (active !== this.data.active) {
+ parent.$emit('change', active);
+ }
+ }
+ this.$emit('click');
+ },
+ updateFromParent() {
+ const { parent } = this;
+ if (!parent) {
+ return;
+ }
+ const index = parent.children.indexOf(this);
+ const parentData = parent.data;
+ const { data } = this;
+ const active = (data.name || index) === parentData.active;
+ const patch = {};
+ if (active !== data.active) {
+ patch.active = active;
+ }
+ if (parentData.activeColor !== data.activeColor) {
+ patch.activeColor = parentData.activeColor;
+ }
+ if (parentData.inactiveColor !== data.inactiveColor) {
+ patch.inactiveColor = parentData.inactiveColor;
+ }
+ if (Object.keys(patch).length > 0) {
+ this.setData(patch);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/tabbar-item/index.json b/coupon/miniprogram/@vant/weapp/dist/tabbar-item/index.json
new file mode 100644
index 0000000..16f174c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tabbar-item/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-info": "../info/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/tabbar-item/index.wxml b/coupon/miniprogram/@vant/weapp/dist/tabbar-item/index.wxml
new file mode 100644
index 0000000..524728f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tabbar-item/index.wxml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/tabbar-item/index.wxss b/coupon/miniprogram/@vant/weapp/dist/tabbar-item/index.wxss
new file mode 100644
index 0000000..21ee224
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tabbar-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';:host{flex:1}.van-tabbar-item{align-items:center;color:var(--tabbar-item-text-color,#646566);display:flex;flex-direction:column;font-size:var(--tabbar-item-font-size,12px);height:100%;justify-content:center;line-height:var(--tabbar-item-line-height,1)}.van-tabbar-item__icon{font-size:var(--tabbar-item-icon-size,22px);margin-bottom:var(--tabbar-item-margin-bottom,4px);position:relative}.van-tabbar-item__icon__inner{display:block;min-width:1em}.van-tabbar-item--active{color:var(--tabbar-item-active-color,#1989fa)}.van-tabbar-item__info{margin-top:2px}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/tabbar/index.js b/coupon/miniprogram/@vant/weapp/dist/tabbar/index.js
new file mode 100644
index 0000000..05a39d6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tabbar/index.js
@@ -0,0 +1,65 @@
+import { VantComponent } from '../common/component';
+import { useChildren } from '../common/relation';
+import { getRect } from '../common/utils';
+VantComponent({
+ relation: useChildren('tabbar-item', function () {
+ this.updateChildren();
+ }),
+ props: {
+ active: {
+ type: null,
+ observer: 'updateChildren',
+ },
+ activeColor: {
+ type: String,
+ observer: 'updateChildren',
+ },
+ inactiveColor: {
+ type: String,
+ observer: 'updateChildren',
+ },
+ fixed: {
+ type: Boolean,
+ value: true,
+ observer: 'setHeight',
+ },
+ placeholder: {
+ type: Boolean,
+ observer: 'setHeight',
+ },
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ height: 50,
+ },
+ methods: {
+ updateChildren() {
+ const { children } = this;
+ if (!Array.isArray(children) || !children.length) {
+ return;
+ }
+ children.forEach((child) => child.updateFromParent());
+ },
+ setHeight() {
+ if (!this.data.fixed || !this.data.placeholder) {
+ return;
+ }
+ wx.nextTick(() => {
+ getRect(this, '.van-tabbar').then((res) => {
+ this.setData({ height: res.height });
+ });
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/tabbar/index.json b/coupon/miniprogram/@vant/weapp/dist/tabbar/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tabbar/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/tabbar/index.wxml b/coupon/miniprogram/@vant/weapp/dist/tabbar/index.wxml
new file mode 100644
index 0000000..43bb111
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tabbar/index.wxml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/tabbar/index.wxss b/coupon/miniprogram/@vant/weapp/dist/tabbar/index.wxss
new file mode 100644
index 0000000..42b6c1e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tabbar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-tabbar{background-color:var(--tabbar-background-color,#fff);box-sizing:initial;display:flex;height:var(--tabbar-height,50px);width:100%}.van-tabbar--fixed{bottom:0;left:0;position:fixed}.van-tabbar--safe{padding-bottom:env(safe-area-inset-bottom)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/tabs/index.js b/coupon/miniprogram/@vant/weapp/dist/tabs/index.js
new file mode 100644
index 0000000..c2395be
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tabs/index.js
@@ -0,0 +1,269 @@
+import { VantComponent } from '../common/component';
+import { touch } from '../mixins/touch';
+import { getAllRect, getRect, groupSetData, nextTick, requestAnimationFrame, } from '../common/utils';
+import { isDef } from '../common/validator';
+import { useChildren } from '../common/relation';
+VantComponent({
+ mixins: [touch],
+ classes: ['nav-class', 'tab-class', 'tab-active-class', 'line-class'],
+ relation: useChildren('tab', function () {
+ this.updateTabs();
+ }),
+ props: {
+ sticky: Boolean,
+ border: Boolean,
+ swipeable: Boolean,
+ titleActiveColor: String,
+ titleInactiveColor: String,
+ color: String,
+ animated: {
+ type: Boolean,
+ observer() {
+ this.children.forEach((child, index) => child.updateRender(index === this.data.currentIndex, this));
+ },
+ },
+ lineWidth: {
+ type: null,
+ value: 40,
+ observer: 'resize',
+ },
+ lineHeight: {
+ type: null,
+ value: -1,
+ },
+ active: {
+ type: null,
+ value: 0,
+ observer(name) {
+ if (name !== this.getCurrentName()) {
+ this.setCurrentIndexByName(name);
+ }
+ },
+ },
+ type: {
+ type: String,
+ value: 'line',
+ },
+ ellipsis: {
+ type: Boolean,
+ value: true,
+ },
+ duration: {
+ type: Number,
+ value: 0.3,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ swipeThreshold: {
+ type: Number,
+ value: 5,
+ observer(value) {
+ this.setData({
+ scrollable: this.children.length > value || !this.data.ellipsis,
+ });
+ },
+ },
+ offsetTop: {
+ type: Number,
+ value: 0,
+ },
+ lazyRender: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ tabs: [],
+ scrollLeft: 0,
+ scrollable: false,
+ currentIndex: 0,
+ container: null,
+ skipTransition: true,
+ scrollWithAnimation: false,
+ lineOffsetLeft: 0,
+ },
+ mounted() {
+ requestAnimationFrame(() => {
+ this.swiping = true;
+ this.setData({
+ container: () => this.createSelectorQuery().select('.van-tabs'),
+ });
+ this.resize();
+ this.scrollIntoView();
+ });
+ },
+ methods: {
+ updateTabs() {
+ const { children = [], data } = this;
+ this.setData({
+ tabs: children.map((child) => child.data),
+ scrollable: this.children.length > data.swipeThreshold || !data.ellipsis,
+ });
+ this.setCurrentIndexByName(data.active || this.getCurrentName());
+ },
+ trigger(eventName, child) {
+ const { currentIndex } = this.data;
+ const currentChild = child || this.children[currentIndex];
+ if (!isDef(currentChild)) {
+ return;
+ }
+ this.$emit(eventName, {
+ index: currentChild.index,
+ name: currentChild.getComputedName(),
+ title: currentChild.data.title,
+ });
+ },
+ onTap(event) {
+ const { index } = event.currentTarget.dataset;
+ const child = this.children[index];
+ if (child.data.disabled) {
+ this.trigger('disabled', child);
+ }
+ else {
+ this.setCurrentIndex(index);
+ nextTick(() => {
+ this.trigger('click');
+ });
+ }
+ },
+ // correct the index of active tab
+ setCurrentIndexByName(name) {
+ const { children = [] } = this;
+ const matched = children.filter((child) => child.getComputedName() === name);
+ if (matched.length) {
+ this.setCurrentIndex(matched[0].index);
+ }
+ },
+ setCurrentIndex(currentIndex) {
+ const { data, children = [] } = this;
+ if (!isDef(currentIndex) ||
+ currentIndex >= children.length ||
+ currentIndex < 0) {
+ return;
+ }
+ groupSetData(this, () => {
+ children.forEach((item, index) => {
+ const active = index === currentIndex;
+ if (active !== item.data.active || !item.inited) {
+ item.updateRender(active, this);
+ }
+ });
+ });
+ if (currentIndex === data.currentIndex) {
+ return;
+ }
+ const shouldEmitChange = data.currentIndex !== null;
+ this.setData({ currentIndex });
+ requestAnimationFrame(() => {
+ this.resize();
+ this.scrollIntoView();
+ });
+ nextTick(() => {
+ this.trigger('input');
+ if (shouldEmitChange) {
+ this.trigger('change');
+ }
+ });
+ },
+ getCurrentName() {
+ const activeTab = this.children[this.data.currentIndex];
+ if (activeTab) {
+ return activeTab.getComputedName();
+ }
+ },
+ resize() {
+ if (this.data.type !== 'line') {
+ return;
+ }
+ const { currentIndex, ellipsis, skipTransition } = this.data;
+ Promise.all([
+ getAllRect(this, '.van-tab'),
+ getRect(this, '.van-tabs__line'),
+ ]).then(([rects = [], lineRect]) => {
+ const rect = rects[currentIndex];
+ if (rect == null) {
+ return;
+ }
+ let lineOffsetLeft = rects
+ .slice(0, currentIndex)
+ .reduce((prev, curr) => prev + curr.width, 0);
+ lineOffsetLeft +=
+ (rect.width - lineRect.width) / 2 + (ellipsis ? 0 : 8);
+ this.setData({ lineOffsetLeft });
+ this.swiping = true;
+ if (skipTransition) {
+ nextTick(() => {
+ this.setData({ skipTransition: false });
+ });
+ }
+ });
+ },
+ // scroll active tab into view
+ scrollIntoView() {
+ const { currentIndex, scrollable, scrollWithAnimation } = this.data;
+ if (!scrollable) {
+ return;
+ }
+ Promise.all([
+ getAllRect(this, '.van-tab'),
+ getRect(this, '.van-tabs__nav'),
+ ]).then(([tabRects, navRect]) => {
+ const tabRect = tabRects[currentIndex];
+ const offsetLeft = tabRects
+ .slice(0, currentIndex)
+ .reduce((prev, curr) => prev + curr.width, 0);
+ this.setData({
+ scrollLeft: offsetLeft - (navRect.width - tabRect.width) / 2,
+ });
+ if (!scrollWithAnimation) {
+ nextTick(() => {
+ this.setData({ scrollWithAnimation: true });
+ });
+ }
+ });
+ },
+ onTouchScroll(event) {
+ this.$emit('scroll', event.detail);
+ },
+ onTouchStart(event) {
+ if (!this.data.swipeable)
+ return;
+ this.touchStart(event);
+ },
+ onTouchMove(event) {
+ if (!this.data.swipeable || !this.swiping)
+ return;
+ this.touchMove(event);
+ },
+ // watch swipe touch end
+ onTouchEnd() {
+ if (!this.data.swipeable || !this.swiping)
+ return;
+ const { direction, deltaX, offsetX } = this;
+ const minSwipeDistance = 50;
+ if (direction === 'horizontal' && offsetX >= minSwipeDistance) {
+ const index = this.getAvaiableTab(deltaX);
+ if (index !== -1) {
+ this.setCurrentIndex(index);
+ }
+ }
+ this.swiping = false;
+ },
+ getAvaiableTab(direction) {
+ const { tabs, currentIndex } = this.data;
+ const step = direction > 0 ? -1 : 1;
+ for (let i = step; currentIndex + i < tabs.length && currentIndex + i >= 0; i += step) {
+ const index = currentIndex + i;
+ if (index >= 0 &&
+ index < tabs.length &&
+ tabs[index] &&
+ !tabs[index].disabled) {
+ return index;
+ }
+ }
+ return -1;
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/tabs/index.json b/coupon/miniprogram/@vant/weapp/dist/tabs/index.json
new file mode 100644
index 0000000..19c0bc3
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tabs/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-info": "../info/index",
+ "van-sticky": "../sticky/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/tabs/index.wxml b/coupon/miniprogram/@vant/weapp/dist/tabs/index.wxml
new file mode 100644
index 0000000..f76dd63
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tabs/index.wxml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/tabs/index.wxs b/coupon/miniprogram/@vant/weapp/dist/tabs/index.wxs
new file mode 100644
index 0000000..a027c7b
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tabs/index.wxs
@@ -0,0 +1,82 @@
+/* eslint-disable */
+var utils = require('../wxs/utils.wxs');
+var style = require('../wxs/style.wxs');
+
+function tabClass(active, ellipsis) {
+ var classes = ['tab-class'];
+
+ if (active) {
+ classes.push('tab-active-class');
+ }
+
+ if (ellipsis) {
+ classes.push('van-ellipsis');
+ }
+
+ return classes.join(' ');
+}
+
+function tabStyle(data) {
+ var titleColor = data.active
+ ? data.titleActiveColor
+ : data.titleInactiveColor;
+
+ var ellipsis = data.scrollable && data.ellipsis;
+
+ // card theme color
+ if (data.type === 'card') {
+ return style({
+ 'border-color': data.color,
+ 'background-color': !data.disabled && data.active ? data.color : null,
+ color: titleColor || (!data.disabled && !data.active ? data.color : null),
+ 'flex-basis': ellipsis ? 88 / data.swipeThreshold + '%' : null,
+ });
+ }
+
+ return style({
+ color: titleColor,
+ 'flex-basis': ellipsis ? 88 / data.swipeThreshold + '%' : null,
+ });
+}
+
+function navStyle(color, type) {
+ return style({
+ 'border-color': type === 'card' && color ? color : null,
+ });
+}
+
+function trackStyle(data) {
+ if (!data.animated) {
+ return '';
+ }
+
+ return style({
+ left: -100 * data.currentIndex + '%',
+ 'transition-duration': data.duration + 's',
+ '-webkit-transition-duration': data.duration + 's',
+ });
+}
+
+function lineStyle(data) {
+ return style({
+ width: utils.addUnit(data.lineWidth),
+ transform: 'translateX(' + data.lineOffsetLeft + 'px)',
+ '-webkit-transform': 'translateX(' + data.lineOffsetLeft + 'px)',
+ 'background-color': data.color,
+ height: data.lineHeight !== -1 ? utils.addUnit(data.lineHeight) : null,
+ 'border-radius':
+ data.lineHeight !== -1 ? utils.addUnit(data.lineHeight) : null,
+ 'transition-duration': !data.skipTransition ? data.duration + 's' : null,
+ '-webkit-transition-duration': !data.skipTransition
+ ? data.duration + 's'
+ : null,
+ });
+}
+
+module.exports = {
+ tabClass: tabClass,
+ tabStyle: tabStyle,
+ trackStyle: trackStyle,
+ lineStyle: lineStyle,
+ navStyle: navStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/tabs/index.wxss b/coupon/miniprogram/@vant/weapp/dist/tabs/index.wxss
new file mode 100644
index 0000000..bb592c3
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tabs/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-tabs{-webkit-tap-highlight-color:transparent;position:relative}.van-tabs__wrap{display:flex;overflow:hidden}.van-tabs__wrap--scrollable .van-tab{flex:0 0 22%}.van-tabs__wrap--scrollable .van-tab--complete{flex:1 0 auto!important;padding:0 12px}.van-tabs__wrap--scrollable .van-tabs__nav--complete{padding-left:8px;padding-right:8px}.van-tabs__scroll{background-color:var(--tabs-nav-background-color,#fff)}.van-tabs__scroll--line{box-sizing:initial;height:calc(100% + 15px)}.van-tabs__scroll--card{border:1px solid var(--tabs-default-color,#ee0a24);border-radius:2px;box-sizing:border-box;margin:0 var(--padding-md,16px);width:calc(100% - var(--padding-md, 16px)*2)}.van-tabs__scroll::-webkit-scrollbar{display:none}.van-tabs__nav{display:flex;position:relative;-webkit-user-select:none;user-select:none}.van-tabs__nav--card{box-sizing:border-box;height:var(--tabs-card-height,30px)}.van-tabs__nav--card .van-tab{border-right:1px solid var(--tabs-default-color,#ee0a24);color:var(--tabs-default-color,#ee0a24);line-height:calc(var(--tabs-card-height, 30px) - 2px)}.van-tabs__nav--card .van-tab:last-child{border-right:none}.van-tabs__nav--card .van-tab.van-tab--active{background-color:var(--tabs-default-color,#ee0a24);color:#fff}.van-tabs__nav--card .van-tab--disabled{color:var(--tab-disabled-text-color,#c8c9cc)}.van-tabs__line{background-color:var(--tabs-bottom-bar-color,#ee0a24);border-radius:var(--tabs-bottom-bar-height,3px);bottom:0;height:var(--tabs-bottom-bar-height,3px);left:0;position:absolute;z-index:1}.van-tabs__track{height:100%;position:relative;width:100%}.van-tabs__track--animated{display:flex;transition-property:left}.van-tabs__content{overflow:hidden}.van-tabs--line .van-tabs__wrap{height:var(--tabs-line-height,44px)}.van-tabs--card .van-tabs__wrap{height:var(--tabs-card-height,30px)}.van-tab{box-sizing:border-box;color:var(--tab-text-color,#646566);cursor:pointer;flex:1;font-size:var(--tab-font-size,14px);line-height:var(--tabs-line-height,44px);min-width:0;padding:0 5px;position:relative;text-align:center}.van-tab--active{color:var(--tab-active-text-color,#323233);font-weight:var(--font-weight-bold,500)}.van-tab--disabled{color:var(--tab-disabled-text-color,#c8c9cc)}.van-tab__title__info{display:inline-block;position:relative!important;top:-1px!important;transform:translateX(0)!important}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/tag/index.js b/coupon/miniprogram/@vant/weapp/dist/tag/index.js
new file mode 100644
index 0000000..9704ef0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tag/index.js
@@ -0,0 +1,21 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ size: String,
+ mark: Boolean,
+ color: String,
+ plain: Boolean,
+ round: Boolean,
+ textColor: String,
+ type: {
+ type: String,
+ value: 'default',
+ },
+ closeable: Boolean,
+ },
+ methods: {
+ onClose() {
+ this.$emit('close');
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/tag/index.json b/coupon/miniprogram/@vant/weapp/dist/tag/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tag/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/tag/index.wxml b/coupon/miniprogram/@vant/weapp/dist/tag/index.wxml
new file mode 100644
index 0000000..59352dd
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tag/index.wxml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/tag/index.wxs b/coupon/miniprogram/@vant/weapp/dist/tag/index.wxs
new file mode 100644
index 0000000..12d1668
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tag/index.wxs
@@ -0,0 +1,13 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+
+function rootStyle(data) {
+ return style({
+ 'background-color': data.plain ? '' : data.color,
+ color: data.textColor || data.plain ? data.textColor || data.color : '',
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/tag/index.wxss b/coupon/miniprogram/@vant/weapp/dist/tag/index.wxss
new file mode 100644
index 0000000..0f0cbae
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tag/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-tag{align-items:center;border-radius:var(--tag-border-radius,2px);color:var(--tag-text-color,#fff);display:inline-flex;font-size:var(--tag-font-size,12px);line-height:var(--tag-line-height,16px);padding:var(--tag-padding,0 4px);position:relative}.van-tag--default{background-color:var(--tag-default-color,#969799)}.van-tag--default.van-tag--plain{color:var(--tag-default-color,#969799)}.van-tag--danger{background-color:var(--tag-danger-color,#ee0a24)}.van-tag--danger.van-tag--plain{color:var(--tag-danger-color,#ee0a24)}.van-tag--primary{background-color:var(--tag-primary-color,#1989fa)}.van-tag--primary.van-tag--plain{color:var(--tag-primary-color,#1989fa)}.van-tag--success{background-color:var(--tag-success-color,#07c160)}.van-tag--success.van-tag--plain{color:var(--tag-success-color,#07c160)}.van-tag--warning{background-color:var(--tag-warning-color,#ff976a)}.van-tag--warning.van-tag--plain{color:var(--tag-warning-color,#ff976a)}.van-tag--plain{background-color:var(--tag-plain-background-color,#fff)}.van-tag--plain:before{border:1px solid;border-radius:inherit;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.van-tag--medium{padding:var(--tag-medium-padding,2px 6px)}.van-tag--large{border-radius:var(--tag-large-border-radius,4px);font-size:var(--tag-large-font-size,14px);padding:var(--tag-large-padding,4px 8px)}.van-tag--mark{border-radius:0 var(--tag-round-border-radius,var(--tag-round-border-radius,999px)) var(--tag-round-border-radius,var(--tag-round-border-radius,999px)) 0}.van-tag--mark:after{content:"";display:block;width:2px}.van-tag--round{border-radius:var(--tag-round-border-radius,999px)}.van-tag__close{margin-left:2px;min-width:1em}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/toast/index.js b/coupon/miniprogram/@vant/weapp/dist/toast/index.js
new file mode 100644
index 0000000..414e746
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/toast/index.js
@@ -0,0 +1,29 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ props: {
+ show: Boolean,
+ mask: Boolean,
+ message: String,
+ forbidClick: Boolean,
+ zIndex: {
+ type: Number,
+ value: 1000,
+ },
+ type: {
+ type: String,
+ value: 'text',
+ },
+ loadingType: {
+ type: String,
+ value: 'circular',
+ },
+ position: {
+ type: String,
+ value: 'middle',
+ },
+ },
+ methods: {
+ // for prevent touchmove
+ noop() { },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/toast/index.json b/coupon/miniprogram/@vant/weapp/dist/toast/index.json
new file mode 100644
index 0000000..9b1b78c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/toast/index.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index",
+ "van-overlay": "../overlay/index",
+ "van-transition": "../transition/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/toast/index.wxml b/coupon/miniprogram/@vant/weapp/dist/toast/index.wxml
new file mode 100644
index 0000000..69f143e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/toast/index.wxml
@@ -0,0 +1,36 @@
+
+
+
+
+ {{ message }}
+
+
+
+
+
+
+
+
+ {{ message }}
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/toast/index.wxss b/coupon/miniprogram/@vant/weapp/dist/toast/index.wxss
new file mode 100644
index 0000000..3b7a34e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/toast/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-toast{word-wrap:break-word;align-items:center;background-color:var(--toast-background-color,rgba(0,0,0,.7));border-radius:var(--toast-border-radius,8px);box-sizing:initial;color:var(--toast-text-color,#fff);display:flex;flex-direction:column;font-size:var(--toast-font-size,14px);justify-content:center;line-height:var(--toast-line-height,20px);white-space:pre-wrap}.van-toast__container{left:50%;max-width:var(--toast-max-width,70%);position:fixed;top:50%;transform:translate(-50%,-50%);width:-webkit-fit-content;width:fit-content}.van-toast--text{min-width:var(--toast-text-min-width,96px);padding:var(--toast-text-padding,8px 12px)}.van-toast--icon{min-height:var(--toast-default-min-height,88px);padding:var(--toast-default-padding,16px);width:var(--toast-default-width,88px)}.van-toast--icon .van-toast__icon{font-size:var(--toast-icon-size,36px)}.van-toast--icon .van-toast__text{padding-top:8px}.van-toast__loading{margin:10px 0}.van-toast--top{transform:translateY(-30vh)}.van-toast--bottom{transform:translateY(30vh)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/toast/toast.js b/coupon/miniprogram/@vant/weapp/dist/toast/toast.js
new file mode 100644
index 0000000..10775f3
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/toast/toast.js
@@ -0,0 +1,66 @@
+import { isObj } from '../common/validator';
+const defaultOptions = {
+ type: 'text',
+ mask: false,
+ message: '',
+ show: true,
+ zIndex: 1000,
+ duration: 2000,
+ position: 'middle',
+ forbidClick: false,
+ loadingType: 'circular',
+ selector: '#van-toast',
+};
+let queue = [];
+let currentOptions = Object.assign({}, defaultOptions);
+function parseOptions(message) {
+ return isObj(message) ? message : { message };
+}
+function getContext() {
+ const pages = getCurrentPages();
+ return pages[pages.length - 1];
+}
+function Toast(toastOptions) {
+ const options = Object.assign(Object.assign({}, currentOptions), parseOptions(toastOptions));
+ const context = options.context || getContext();
+ const toast = context.selectComponent(options.selector);
+ if (!toast) {
+ console.warn('未找到 van-toast 节点,请确认 selector 及 context 是否正确');
+ return;
+ }
+ delete options.context;
+ delete options.selector;
+ toast.clear = () => {
+ toast.setData({ show: false });
+ if (options.onClose) {
+ options.onClose();
+ }
+ };
+ queue.push(toast);
+ toast.setData(options);
+ clearTimeout(toast.timer);
+ if (options.duration != null && options.duration > 0) {
+ toast.timer = setTimeout(() => {
+ toast.clear();
+ queue = queue.filter((item) => item !== toast);
+ }, options.duration);
+ }
+ return toast;
+}
+const createMethod = (type) => (options) => Toast(Object.assign({ type }, parseOptions(options)));
+Toast.loading = createMethod('loading');
+Toast.success = createMethod('success');
+Toast.fail = createMethod('fail');
+Toast.clear = () => {
+ queue.forEach((toast) => {
+ toast.clear();
+ });
+ queue = [];
+};
+Toast.setDefaultOptions = (options) => {
+ Object.assign(currentOptions, options);
+};
+Toast.resetDefaultOptions = () => {
+ currentOptions = Object.assign({}, defaultOptions);
+};
+export default Toast;
diff --git a/coupon/miniprogram/@vant/weapp/dist/transition/index.js b/coupon/miniprogram/@vant/weapp/dist/transition/index.js
new file mode 100644
index 0000000..59bb984
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/transition/index.js
@@ -0,0 +1,13 @@
+import { VantComponent } from '../common/component';
+import { transition } from '../mixins/transition';
+VantComponent({
+ classes: [
+ 'enter-class',
+ 'enter-active-class',
+ 'enter-to-class',
+ 'leave-class',
+ 'leave-active-class',
+ 'leave-to-class',
+ ],
+ mixins: [transition(true)],
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/transition/index.json b/coupon/miniprogram/@vant/weapp/dist/transition/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/transition/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/transition/index.wxml b/coupon/miniprogram/@vant/weapp/dist/transition/index.wxml
new file mode 100644
index 0000000..2743785
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/transition/index.wxml
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/transition/index.wxs b/coupon/miniprogram/@vant/weapp/dist/transition/index.wxs
new file mode 100644
index 0000000..e0babf6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/transition/index.wxs
@@ -0,0 +1,17 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+
+function rootStyle(data) {
+ return style([
+ {
+ '-webkit-transition-duration': data.currentDuration + 'ms',
+ 'transition-duration': data.currentDuration + 'ms',
+ },
+ data.display ? null : 'display: none',
+ data.customStyle,
+ ]);
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/transition/index.wxss b/coupon/miniprogram/@vant/weapp/dist/transition/index.wxss
new file mode 100644
index 0000000..3a3d37f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/transition/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-transition{transition-timing-function:ease}.van-fade-enter-active,.van-fade-leave-active{transition-property:opacity}.van-fade-enter,.van-fade-leave-to{opacity:0}.van-fade-down-enter-active,.van-fade-down-leave-active,.van-fade-left-enter-active,.van-fade-left-leave-active,.van-fade-right-enter-active,.van-fade-right-leave-active,.van-fade-up-enter-active,.van-fade-up-leave-active{transition-property:opacity,transform}.van-fade-up-enter,.van-fade-up-leave-to{opacity:0;transform:translate3d(0,100%,0)}.van-fade-down-enter,.van-fade-down-leave-to{opacity:0;transform:translate3d(0,-100%,0)}.van-fade-left-enter,.van-fade-left-leave-to{opacity:0;transform:translate3d(-100%,0,0)}.van-fade-right-enter,.van-fade-right-leave-to{opacity:0;transform:translate3d(100%,0,0)}.van-slide-down-enter-active,.van-slide-down-leave-active,.van-slide-left-enter-active,.van-slide-left-leave-active,.van-slide-right-enter-active,.van-slide-right-leave-active,.van-slide-up-enter-active,.van-slide-up-leave-active{transition-property:transform}.van-slide-up-enter,.van-slide-up-leave-to{transform:translate3d(0,100%,0)}.van-slide-down-enter,.van-slide-down-leave-to{transform:translate3d(0,-100%,0)}.van-slide-left-enter,.van-slide-left-leave-to{transform:translate3d(-100%,0,0)}.van-slide-right-enter,.van-slide-right-leave-to{transform:translate3d(100%,0,0)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/tree-select/index.js b/coupon/miniprogram/@vant/weapp/dist/tree-select/index.js
new file mode 100644
index 0000000..a850ed6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tree-select/index.js
@@ -0,0 +1,68 @@
+import { VantComponent } from '../common/component';
+VantComponent({
+ classes: [
+ 'main-item-class',
+ 'content-item-class',
+ 'main-active-class',
+ 'content-active-class',
+ 'main-disabled-class',
+ 'content-disabled-class',
+ ],
+ props: {
+ items: {
+ type: Array,
+ observer: 'updateSubItems',
+ },
+ activeId: null,
+ mainActiveIndex: {
+ type: Number,
+ value: 0,
+ observer: 'updateSubItems',
+ },
+ height: {
+ type: null,
+ value: 300,
+ },
+ max: {
+ type: Number,
+ value: Infinity,
+ },
+ selectedIcon: {
+ type: String,
+ value: 'success',
+ },
+ },
+ data: {
+ subItems: [],
+ },
+ methods: {
+ // 当一个子项被选择时
+ onSelectItem(event) {
+ const { item } = event.currentTarget.dataset;
+ const isArray = Array.isArray(this.data.activeId);
+ // 判断有没有超出右侧选择的最大数
+ const isOverMax = isArray && this.data.activeId.length >= this.data.max;
+ // 判断该项有没有被选中, 如果有被选中,则忽视是否超出的条件
+ const isSelected = isArray
+ ? this.data.activeId.indexOf(item.id) > -1
+ : this.data.activeId === item.id;
+ if (!item.disabled && (!isOverMax || isSelected)) {
+ this.$emit('click-item', item);
+ }
+ },
+ // 当一个导航被点击时
+ onClickNav(event) {
+ const index = event.detail;
+ const item = this.data.items[index];
+ if (!item.disabled) {
+ this.$emit('click-nav', { index });
+ }
+ },
+ // 更新子项列表
+ updateSubItems() {
+ const { items, mainActiveIndex } = this.data;
+ const { children = [] } = items[mainActiveIndex] || {};
+ this.setData({ subItems: children });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/tree-select/index.json b/coupon/miniprogram/@vant/weapp/dist/tree-select/index.json
new file mode 100644
index 0000000..42991a2
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tree-select/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-sidebar": "../sidebar/index",
+ "van-sidebar-item": "../sidebar-item/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/tree-select/index.wxml b/coupon/miniprogram/@vant/weapp/dist/tree-select/index.wxml
new file mode 100644
index 0000000..2663e52
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tree-select/index.wxml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.text }}
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/tree-select/index.wxs b/coupon/miniprogram/@vant/weapp/dist/tree-select/index.wxs
new file mode 100644
index 0000000..b1cbb39
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tree-select/index.wxs
@@ -0,0 +1,12 @@
+/* eslint-disable */
+var array = require('../wxs/array.wxs');
+
+function isActive (activeList, itemId) {
+ if (array.isArray(activeList)) {
+ return activeList.indexOf(itemId) > -1;
+ }
+
+ return activeList === itemId;
+}
+
+module.exports.isActive = isActive;
diff --git a/coupon/miniprogram/@vant/weapp/dist/tree-select/index.wxss b/coupon/miniprogram/@vant/weapp/dist/tree-select/index.wxss
new file mode 100644
index 0000000..5bef0ac
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/tree-select/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-tree-select{display:flex;font-size:var(--tree-select-font-size,14px);position:relative;-webkit-user-select:none;user-select:none}.van-tree-select__nav{--sidebar-padding:12px 8px 12px 12px;background-color:var(--tree-select-nav-background-color,#f7f8fa);flex:1}.van-tree-select__nav__inner{height:100%;width:100%!important}.van-tree-select__content{background-color:var(--tree-select-content-background-color,#fff);flex:2}.van-tree-select__item{font-weight:700;line-height:var(--tree-select-item-height,44px);padding:0 32px 0 var(--padding-md,16px);position:relative}.van-tree-select__item--active{color:var(--tree-select-item-active-color,#ee0a24)}.van-tree-select__item--disabled{color:var(--tree-select-item-disabled-color,#c8c9cc)}.van-tree-select__selected{position:absolute;right:var(--padding-md,16px);top:50%;transform:translateY(-50%)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/uploader/index.js b/coupon/miniprogram/@vant/weapp/dist/uploader/index.js
new file mode 100644
index 0000000..ba4b1b4
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/uploader/index.js
@@ -0,0 +1,155 @@
+import { VantComponent } from '../common/component';
+import { isImageFile, chooseFile, isVideoFile } from './utils';
+import { chooseImageProps, chooseVideoProps } from './shared';
+import { isBoolean, isPromise } from '../common/validator';
+VantComponent({
+ props: Object.assign(Object.assign({ disabled: Boolean, multiple: Boolean, uploadText: String, useBeforeRead: Boolean, afterRead: null, beforeRead: null, previewSize: {
+ type: null,
+ value: 80,
+ }, name: {
+ type: null,
+ value: '',
+ }, accept: {
+ type: String,
+ value: 'image',
+ }, fileList: {
+ type: Array,
+ value: [],
+ observer: 'formatFileList',
+ }, maxSize: {
+ type: Number,
+ value: Number.MAX_VALUE,
+ }, maxCount: {
+ type: Number,
+ value: 100,
+ }, deletable: {
+ type: Boolean,
+ value: true,
+ }, showUpload: {
+ type: Boolean,
+ value: true,
+ }, previewImage: {
+ type: Boolean,
+ value: true,
+ }, previewFullImage: {
+ type: Boolean,
+ value: true,
+ }, imageFit: {
+ type: String,
+ value: 'scaleToFill',
+ }, uploadIcon: {
+ type: String,
+ value: 'photograph',
+ } }, chooseImageProps), chooseVideoProps),
+ data: {
+ lists: [],
+ isInCount: true,
+ },
+ methods: {
+ formatFileList() {
+ const { fileList = [], maxCount } = this.data;
+ const lists = fileList.map((item) => (Object.assign(Object.assign({}, item), { isImage: isImageFile(item), isVideo: isVideoFile(item), deletable: isBoolean(item.deletable) ? item.deletable : true })));
+ this.setData({ lists, isInCount: lists.length < maxCount });
+ },
+ getDetail(index) {
+ return {
+ name: this.data.name,
+ index: index == null ? this.data.fileList.length : index,
+ };
+ },
+ startUpload() {
+ const { maxCount, multiple, lists, disabled } = this.data;
+ if (disabled)
+ return;
+ chooseFile(Object.assign(Object.assign({}, this.data), { maxCount: maxCount - lists.length }))
+ .then((res) => {
+ this.onBeforeRead(multiple ? res : res[0]);
+ })
+ .catch((error) => {
+ this.$emit('error', error);
+ });
+ },
+ onBeforeRead(file) {
+ const { beforeRead, useBeforeRead } = this.data;
+ let res = true;
+ if (typeof beforeRead === 'function') {
+ res = beforeRead(file, this.getDetail());
+ }
+ if (useBeforeRead) {
+ res = new Promise((resolve, reject) => {
+ this.$emit('before-read', Object.assign(Object.assign({ file }, this.getDetail()), { callback: (ok) => {
+ ok ? resolve() : reject();
+ } }));
+ });
+ }
+ if (!res) {
+ return;
+ }
+ if (isPromise(res)) {
+ res.then((data) => this.onAfterRead(data || file));
+ }
+ else {
+ this.onAfterRead(file);
+ }
+ },
+ onAfterRead(file) {
+ const { maxSize, afterRead } = this.data;
+ const oversize = Array.isArray(file)
+ ? file.some((item) => item.size > maxSize)
+ : file.size > maxSize;
+ if (oversize) {
+ this.$emit('oversize', Object.assign({ file }, this.getDetail()));
+ return;
+ }
+ if (typeof afterRead === 'function') {
+ afterRead(file, this.getDetail());
+ }
+ this.$emit('after-read', Object.assign({ file }, this.getDetail()));
+ },
+ deleteItem(event) {
+ const { index } = event.currentTarget.dataset;
+ this.$emit('delete', Object.assign(Object.assign({}, this.getDetail(index)), { file: this.data.fileList[index] }));
+ },
+ onPreviewImage(event) {
+ if (!this.data.previewFullImage)
+ return;
+ const { index } = event.currentTarget.dataset;
+ const { lists } = this.data;
+ const item = lists[index];
+ wx.previewImage({
+ urls: lists.filter((item) => isImageFile(item)).map((item) => item.url),
+ current: item.url,
+ fail() {
+ wx.showToast({ title: '预览图片失败', icon: 'none' });
+ },
+ });
+ },
+ onPreviewVideo(event) {
+ if (!this.data.previewFullImage)
+ return;
+ const { index } = event.currentTarget.dataset;
+ const { lists } = this.data;
+ wx.previewMedia({
+ sources: lists
+ .filter((item) => isVideoFile(item))
+ .map((item) => (Object.assign(Object.assign({}, item), { type: 'video' }))),
+ current: index,
+ fail() {
+ wx.showToast({ title: '预览视频失败', icon: 'none' });
+ },
+ });
+ },
+ onPreviewFile(event) {
+ const { index } = event.currentTarget.dataset;
+ wx.openDocument({
+ filePath: this.data.lists[index].url,
+ showMenu: true,
+ });
+ },
+ onClickPreview(event) {
+ const { index } = event.currentTarget.dataset;
+ const item = this.data.lists[index];
+ this.$emit('click-preview', Object.assign(Object.assign({}, item), this.getDetail(index)));
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/dist/uploader/index.json b/coupon/miniprogram/@vant/weapp/dist/uploader/index.json
new file mode 100644
index 0000000..e00a588
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/uploader/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/uploader/index.wxml b/coupon/miniprogram/@vant/weapp/dist/uploader/index.wxml
new file mode 100644
index 0000000..50fb0c8
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/uploader/index.wxml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name || item.url }}
+
+
+
+
+ {{ item.message }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ uploadText }}
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/dist/uploader/index.wxs b/coupon/miniprogram/@vant/weapp/dist/uploader/index.wxs
new file mode 100644
index 0000000..257c780
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/uploader/index.wxs
@@ -0,0 +1,14 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function sizeStyle(data) {
+ return style({
+ width: addUnit(data.previewSize),
+ height: addUnit(data.previewSize),
+ });
+}
+
+module.exports = {
+ sizeStyle: sizeStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/uploader/index.wxss b/coupon/miniprogram/@vant/weapp/dist/uploader/index.wxss
new file mode 100644
index 0000000..11f8696
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/uploader/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-uploader{display:inline-block;position:relative}.van-uploader__wrapper{display:flex;flex-wrap:wrap}.van-uploader__slot:empty{display:none}.van-uploader__slot:not(:empty)+.van-uploader__upload{display:none!important}.van-uploader__upload{align-items:center;background-color:var(--uploader-upload-background-color,#f7f8fa);box-sizing:border-box;display:flex;flex-direction:column;height:var(--uploader-size,80px);justify-content:center;margin:0 8px 8px 0;position:relative;width:var(--uploader-size,80px)}.van-uploader__upload:active{background-color:var(--uploader-upload-active-color,#f2f3f5)}.van-uploader__upload-icon{color:var(--uploader-icon-color,#dcdee0);font-size:var(--uploader-icon-size,24px)}.van-uploader__upload-text{color:var(--uploader-text-color,#969799);font-size:var(--uploader-text-font-size,12px);margin-top:var(--padding-xs,8px)}.van-uploader__upload--disabled{opacity:var(--uploader-disabled-opacity,.5)}.van-uploader__preview{cursor:pointer;margin:0 8px 8px 0;position:relative}.van-uploader__preview-image{display:block;height:var(--uploader-size,80px);overflow:hidden;width:var(--uploader-size,80px)}.van-uploader__preview-delete,.van-uploader__preview-delete:after{height:var(--uploader-delete-icon-size,14px);position:absolute;right:0;top:0;width:var(--uploader-delete-icon-size,14px)}.van-uploader__preview-delete:after{background-color:var(--uploader-delete-background-color,rgba(0,0,0,.7));border-radius:0 0 0 12px;content:""}.van-uploader__preview-delete-icon{color:var(--uploader-delete-color,#fff);font-size:var(--uploader-delete-icon-size,14px);position:absolute;right:0;top:0;transform:scale(.7) translate(10%,-10%);z-index:1}.van-uploader__file{align-items:center;background-color:var(--uploader-file-background-color,#f7f8fa);display:flex;flex-direction:column;height:var(--uploader-size,80px);justify-content:center;width:var(--uploader-size,80px)}.van-uploader__file-icon{color:var(--uploader-file-icon-color,#646566);font-size:var(--uploader-file-icon-size,20px)}.van-uploader__file-name{box-sizing:border-box;color:var(--uploader-file-name-text-color,#646566);font-size:var(--uploader-file-name-font-size,12px);margin-top:var(--uploader-file-name-margin-top,8px);padding:var(--uploader-file-name-padding,0 4px);text-align:center;width:100%}.van-uploader__mask{align-items:center;background-color:var(--uploader-mask-background-color,rgba(50,50,51,.88));bottom:0;color:#fff;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0}.van-uploader__mask-icon{font-size:var(--uploader-mask-icon-size,22px)}.van-uploader__mask-message{font-size:var(--uploader-mask-message-font-size,12px);line-height:var(--uploader-mask-message-line-height,14px);margin-top:6px;padding:0 var(--padding-base,4px)}.van-uploader__loading{color:var(--uploader-loading-icon-color,#fff)!important;height:var(--uploader-loading-icon-size,22px);width:var(--uploader-loading-icon-size,22px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/dist/uploader/shared.js b/coupon/miniprogram/@vant/weapp/dist/uploader/shared.js
new file mode 100644
index 0000000..c12861c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/uploader/shared.js
@@ -0,0 +1,30 @@
+// props for choose image
+export const chooseImageProps = {
+ sizeType: {
+ type: Array,
+ value: ['original', 'compressed'],
+ },
+ capture: {
+ type: Array,
+ value: ['album', 'camera'],
+ },
+};
+// props for choose video
+export const chooseVideoProps = {
+ capture: {
+ type: Array,
+ value: ['album', 'camera'],
+ },
+ compressed: {
+ type: Boolean,
+ value: true,
+ },
+ maxDuration: {
+ type: Number,
+ value: 60,
+ },
+ camera: {
+ type: String,
+ value: 'back',
+ },
+};
diff --git a/coupon/miniprogram/@vant/weapp/dist/uploader/utils.js b/coupon/miniprogram/@vant/weapp/dist/uploader/utils.js
new file mode 100644
index 0000000..b77f707
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/uploader/utils.js
@@ -0,0 +1,84 @@
+import { pickExclude } from '../common/utils';
+import { isImageUrl, isVideoUrl } from '../common/validator';
+export function isImageFile(item) {
+ if (item.isImage != null) {
+ return item.isImage;
+ }
+ if (item.type) {
+ return item.type === 'image';
+ }
+ if (item.url) {
+ return isImageUrl(item.url);
+ }
+ return false;
+}
+export function isVideoFile(item) {
+ if (item.isVideo != null) {
+ return item.isVideo;
+ }
+ if (item.type) {
+ return item.type === 'video';
+ }
+ if (item.url) {
+ return isVideoUrl(item.url);
+ }
+ return false;
+}
+function formatImage(res) {
+ return res.tempFiles.map((item) => (Object.assign(Object.assign({}, pickExclude(item, ['path'])), { type: 'image', url: item.path, thumb: item.path })));
+}
+function formatVideo(res) {
+ return [
+ Object.assign(Object.assign({}, pickExclude(res, ['tempFilePath', 'thumbTempFilePath', 'errMsg'])), { type: 'video', url: res.tempFilePath, thumb: res.thumbTempFilePath }),
+ ];
+}
+function formatMedia(res) {
+ return res.tempFiles.map((item) => (Object.assign(Object.assign({}, pickExclude(item, ['fileType', 'thumbTempFilePath', 'tempFilePath'])), { type: res.type, url: item.tempFilePath, thumb: res.type === 'video' ? item.thumbTempFilePath : item.tempFilePath })));
+}
+function formatFile(res) {
+ return res.tempFiles.map((item) => (Object.assign(Object.assign({}, pickExclude(item, ['path'])), { url: item.path })));
+}
+export function chooseFile({ accept, multiple, capture, compressed, maxDuration, sizeType, camera, maxCount, }) {
+ return new Promise((resolve, reject) => {
+ switch (accept) {
+ case 'image':
+ wx.chooseImage({
+ count: multiple ? Math.min(maxCount, 9) : 1,
+ sourceType: capture,
+ sizeType,
+ success: (res) => resolve(formatImage(res)),
+ fail: reject,
+ });
+ break;
+ case 'media':
+ wx.chooseMedia({
+ count: multiple ? Math.min(maxCount, 9) : 1,
+ sourceType: capture,
+ maxDuration,
+ sizeType,
+ camera,
+ success: (res) => resolve(formatMedia(res)),
+ fail: reject,
+ });
+ break;
+ case 'video':
+ wx.chooseVideo({
+ sourceType: capture,
+ compressed,
+ maxDuration,
+ camera,
+ success: (res) => resolve(formatVideo(res)),
+ fail: reject,
+ });
+ break;
+ default:
+ wx.chooseMessageFile({
+ count: multiple ? maxCount : 1,
+ type: accept,
+ success: (res) => resolve(formatFile(res)),
+ fail: reject,
+ });
+ break;
+ }
+ });
+}
diff --git a/coupon/miniprogram/@vant/weapp/dist/wxs/add-unit.wxs b/coupon/miniprogram/@vant/weapp/dist/wxs/add-unit.wxs
new file mode 100644
index 0000000..4f33462
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/wxs/add-unit.wxs
@@ -0,0 +1,12 @@
+/* eslint-disable */
+var REGEXP = getRegExp('^-?\d+(\.\d+)?$');
+
+function addUnit(value) {
+ if (value == null) {
+ return undefined;
+ }
+
+ return REGEXP.test('' + value) ? value + 'px' : value;
+}
+
+module.exports = addUnit;
diff --git a/coupon/miniprogram/@vant/weapp/dist/wxs/array.wxs b/coupon/miniprogram/@vant/weapp/dist/wxs/array.wxs
new file mode 100644
index 0000000..610089c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/wxs/array.wxs
@@ -0,0 +1,5 @@
+function isArray(array) {
+ return array && array.constructor === 'Array';
+}
+
+module.exports.isArray = isArray;
diff --git a/coupon/miniprogram/@vant/weapp/dist/wxs/bem.wxs b/coupon/miniprogram/@vant/weapp/dist/wxs/bem.wxs
new file mode 100644
index 0000000..1efa129
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/wxs/bem.wxs
@@ -0,0 +1,39 @@
+/* eslint-disable */
+var array = require('./array.wxs');
+var object = require('./object.wxs');
+var PREFIX = 'van-';
+
+function join(name, mods) {
+ name = PREFIX + name;
+ mods = mods.map(function(mod) {
+ return name + '--' + mod;
+ });
+ mods.unshift(name);
+ return mods.join(' ');
+}
+
+function traversing(mods, conf) {
+ if (!conf) {
+ return;
+ }
+
+ if (typeof conf === 'string' || typeof conf === 'number') {
+ mods.push(conf);
+ } else if (array.isArray(conf)) {
+ conf.forEach(function(item) {
+ traversing(mods, item);
+ });
+ } else if (typeof conf === 'object') {
+ object.keys(conf).forEach(function(key) {
+ conf[key] && mods.push(key);
+ });
+ }
+}
+
+function bem(name, conf) {
+ var mods = [];
+ traversing(mods, conf);
+ return join(name, mods);
+}
+
+module.exports = bem;
diff --git a/coupon/miniprogram/@vant/weapp/dist/wxs/memoize.wxs b/coupon/miniprogram/@vant/weapp/dist/wxs/memoize.wxs
new file mode 100644
index 0000000..8f7f46d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/wxs/memoize.wxs
@@ -0,0 +1,55 @@
+/**
+ * Simple memoize
+ * wxs doesn't support fn.apply, so this memoize only support up to 2 args
+ */
+/* eslint-disable */
+
+function isPrimitive(value) {
+ var type = typeof value;
+ return (
+ type === 'boolean' ||
+ type === 'number' ||
+ type === 'string' ||
+ type === 'undefined' ||
+ value === null
+ );
+}
+
+// mock simple fn.call in wxs
+function call(fn, args) {
+ if (args.length === 2) {
+ return fn(args[0], args[1]);
+ }
+
+ if (args.length === 1) {
+ return fn(args[0]);
+ }
+
+ return fn();
+}
+
+function serializer(args) {
+ if (args.length === 1 && isPrimitive(args[0])) {
+ return args[0];
+ }
+ var obj = {};
+ for (var i = 0; i < args.length; i++) {
+ obj['key' + i] = args[i];
+ }
+ return JSON.stringify(obj);
+}
+
+function memoize(fn) {
+ var cache = {};
+
+ return function() {
+ var key = serializer(arguments);
+ if (cache[key] === undefined) {
+ cache[key] = call(fn, arguments);
+ }
+
+ return cache[key];
+ };
+}
+
+module.exports = memoize;
diff --git a/coupon/miniprogram/@vant/weapp/dist/wxs/object.wxs b/coupon/miniprogram/@vant/weapp/dist/wxs/object.wxs
new file mode 100644
index 0000000..e077107
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/wxs/object.wxs
@@ -0,0 +1,13 @@
+/* eslint-disable */
+var REGEXP = getRegExp('{|}|"', 'g');
+
+function keys(obj) {
+ return JSON.stringify(obj)
+ .replace(REGEXP, '')
+ .split(',')
+ .map(function(item) {
+ return item.split(':')[0];
+ });
+}
+
+module.exports.keys = keys;
diff --git a/coupon/miniprogram/@vant/weapp/dist/wxs/style.wxs b/coupon/miniprogram/@vant/weapp/dist/wxs/style.wxs
new file mode 100644
index 0000000..d88ca7c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/wxs/style.wxs
@@ -0,0 +1,42 @@
+/* eslint-disable */
+var object = require('./object.wxs');
+var array = require('./array.wxs');
+
+function kebabCase(word) {
+ var newWord = word
+ .replace(getRegExp("[A-Z]", 'g'), function (i) {
+ return '-' + i;
+ })
+ .toLowerCase()
+
+ return newWord;
+}
+
+function style(styles) {
+ if (array.isArray(styles)) {
+ return styles
+ .filter(function (item) {
+ return item != null && item !== '';
+ })
+ .map(function (item) {
+ return style(item);
+ })
+ .join(';');
+ }
+
+ if ('Object' === styles.constructor) {
+ return object
+ .keys(styles)
+ .filter(function (key) {
+ return styles[key] != null && styles[key] !== '';
+ })
+ .map(function (key) {
+ return [kebabCase(key), [styles[key]]].join(':');
+ })
+ .join(';');
+ }
+
+ return styles;
+}
+
+module.exports = style;
diff --git a/coupon/miniprogram/@vant/weapp/dist/wxs/utils.wxs b/coupon/miniprogram/@vant/weapp/dist/wxs/utils.wxs
new file mode 100644
index 0000000..f66d33a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/dist/wxs/utils.wxs
@@ -0,0 +1,10 @@
+/* eslint-disable */
+var bem = require('./bem.wxs');
+var memoize = require('./memoize.wxs');
+var addUnit = require('./add-unit.wxs');
+
+module.exports = {
+ bem: memoize(bem),
+ memoize: memoize,
+ addUnit: addUnit
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/action-sheet/index.js b/coupon/miniprogram/@vant/weapp/lib/action-sheet/index.js
new file mode 100644
index 0000000..b7af646
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/action-sheet/index.js
@@ -0,0 +1,73 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var button_1 = require("../mixins/button");
+(0, component_1.VantComponent)({
+ mixins: [button_1.button],
+ props: {
+ show: Boolean,
+ title: String,
+ cancelText: String,
+ description: String,
+ round: {
+ type: Boolean,
+ value: true,
+ },
+ zIndex: {
+ type: Number,
+ value: 100,
+ },
+ actions: {
+ type: Array,
+ value: [],
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ },
+ closeOnClickAction: {
+ type: Boolean,
+ value: true,
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ onSelect: function (event) {
+ var _this = this;
+ var index = event.currentTarget.dataset.index;
+ var _a = this.data, actions = _a.actions, closeOnClickAction = _a.closeOnClickAction, canIUseGetUserProfile = _a.canIUseGetUserProfile;
+ var item = actions[index];
+ if (item) {
+ this.$emit('select', item);
+ if (closeOnClickAction) {
+ this.onClose();
+ }
+ if (item.openType === 'getUserInfo' && canIUseGetUserProfile) {
+ wx.getUserProfile({
+ desc: item.getUserProfileDesc || ' ',
+ complete: function (userProfile) {
+ _this.$emit('getuserinfo', userProfile);
+ },
+ });
+ }
+ }
+ },
+ onCancel: function () {
+ this.$emit('cancel');
+ },
+ onClose: function () {
+ this.$emit('close');
+ },
+ onClickOverlay: function () {
+ this.$emit('click-overlay');
+ this.onClose();
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/action-sheet/index.json b/coupon/miniprogram/@vant/weapp/lib/action-sheet/index.json
new file mode 100644
index 0000000..19bf989
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/action-sheet/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-popup": "../popup/index",
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/action-sheet/index.wxml b/coupon/miniprogram/@vant/weapp/lib/action-sheet/index.wxml
new file mode 100644
index 0000000..b04cc3a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/action-sheet/index.wxml
@@ -0,0 +1,69 @@
+
+
+
+
+
+ {{ description }}
+
+
+
+
+
+
+
+
+
+ {{ cancelText }}
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/action-sheet/index.wxss b/coupon/miniprogram/@vant/weapp/lib/action-sheet/index.wxss
new file mode 100644
index 0000000..eedd361
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/action-sheet/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-action-sheet{color:var(--action-sheet-item-text-color,#323233);max-height:var(--action-sheet-max-height,90%)!important}.van-action-sheet__cancel,.van-action-sheet__item{background-color:var(--action-sheet-item-background,#fff);font-size:var(--action-sheet-item-font-size,16px);line-height:var(--action-sheet-item-line-height,22px);padding:14px 16px;text-align:center}.van-action-sheet__cancel--hover,.van-action-sheet__item--hover{background-color:#f2f3f5}.van-action-sheet__cancel:after,.van-action-sheet__item:after{border-width:0}.van-action-sheet__cancel{color:var(--action-sheet-cancel-text-color,#646566)}.van-action-sheet__gap{background-color:var(--action-sheet-cancel-padding-color,#f7f8fa);display:block;height:var(--action-sheet-cancel-padding-top,8px)}.van-action-sheet__item--disabled{color:var(--action-sheet-item-disabled-text-color,#c8c9cc)}.van-action-sheet__item--disabled.van-action-sheet__item--hover{background-color:var(--action-sheet-item-background,#fff)}.van-action-sheet__subname{color:var(--action-sheet-subname-color,#969799);font-size:var(--action-sheet-subname-font-size,12px);line-height:var(--action-sheet-subname-line-height,20px);margin-top:var(--padding-xs,8px)}.van-action-sheet__header{font-size:var(--action-sheet-header-font-size,16px);font-weight:var(--font-weight-bold,500);line-height:var(--action-sheet-header-height,48px);text-align:center}.van-action-sheet__description{color:var(--action-sheet-description-color,#969799);font-size:var(--action-sheet-description-font-size,14px);line-height:var(--action-sheet-description-line-height,20px);padding:20px var(--padding-md,16px);text-align:center}.van-action-sheet__close{color:var(--action-sheet-close-icon-color,#c8c9cc);font-size:var(--action-sheet-close-icon-size,22px)!important;line-height:inherit!important;padding:var(--action-sheet-close-icon-padding,0 16px);position:absolute!important;right:0;top:0}.van-action-sheet__loading{display:flex!important}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/area/index.js b/coupon/miniprogram/@vant/weapp/lib/area/index.js
new file mode 100644
index 0000000..2d83346
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/area/index.js
@@ -0,0 +1,232 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var shared_1 = require("../picker/shared");
+var utils_1 = require("../common/utils");
+var EMPTY_CODE = '000000';
+(0, component_1.VantComponent)({
+ classes: ['active-class', 'toolbar-class', 'column-class'],
+ props: __assign(__assign({}, shared_1.pickerProps), { value: {
+ type: String,
+ observer: function (value) {
+ this.code = value;
+ this.setValues();
+ },
+ }, areaList: {
+ type: Object,
+ value: {},
+ observer: 'setValues',
+ }, columnsNum: {
+ type: null,
+ value: 3,
+ }, columnsPlaceholder: {
+ type: Array,
+ observer: function (val) {
+ this.setData({
+ typeToColumnsPlaceholder: {
+ province: val[0] || '',
+ city: val[1] || '',
+ county: val[2] || '',
+ },
+ });
+ },
+ } }),
+ data: {
+ columns: [{ values: [] }, { values: [] }, { values: [] }],
+ typeToColumnsPlaceholder: {},
+ },
+ mounted: function () {
+ var _this = this;
+ (0, utils_1.requestAnimationFrame)(function () {
+ _this.setValues();
+ });
+ },
+ methods: {
+ getPicker: function () {
+ if (this.picker == null) {
+ this.picker = this.selectComponent('.van-area__picker');
+ }
+ return this.picker;
+ },
+ onCancel: function (event) {
+ this.emit('cancel', event.detail);
+ },
+ onConfirm: function (event) {
+ var index = event.detail.index;
+ var value = event.detail.value;
+ value = this.parseValues(value);
+ this.emit('confirm', { value: value, index: index });
+ },
+ emit: function (type, detail) {
+ detail.values = detail.value;
+ delete detail.value;
+ this.$emit(type, detail);
+ },
+ parseValues: function (values) {
+ var columnsPlaceholder = this.data.columnsPlaceholder;
+ return values.map(function (value, index) {
+ if (value &&
+ (!value.code || value.name === columnsPlaceholder[index])) {
+ return __assign(__assign({}, value), { code: '', name: '' });
+ }
+ return value;
+ });
+ },
+ onChange: function (event) {
+ var _this = this;
+ var _a;
+ var _b = event.detail, index = _b.index, picker = _b.picker, value = _b.value;
+ this.code = value[index].code;
+ (_a = this.setValues()) === null || _a === void 0 ? void 0 : _a.then(function () {
+ _this.$emit('change', {
+ picker: picker,
+ values: _this.parseValues(picker.getValues()),
+ index: index,
+ });
+ });
+ },
+ getConfig: function (type) {
+ var areaList = this.data.areaList;
+ return (areaList && areaList[type + "_list"]) || {};
+ },
+ getList: function (type, code) {
+ if (type !== 'province' && !code) {
+ return [];
+ }
+ var typeToColumnsPlaceholder = this.data.typeToColumnsPlaceholder;
+ var list = this.getConfig(type);
+ var result = Object.keys(list).map(function (code) { return ({
+ code: code,
+ name: list[code],
+ }); });
+ if (code != null) {
+ // oversea code
+ if (code[0] === '9' && type === 'city') {
+ code = '9';
+ }
+ result = result.filter(function (item) { return item.code.indexOf(code) === 0; });
+ }
+ if (typeToColumnsPlaceholder[type] && result.length) {
+ // set columns placeholder
+ var codeFill = type === 'province'
+ ? ''
+ : type === 'city'
+ ? EMPTY_CODE.slice(2, 4)
+ : EMPTY_CODE.slice(4, 6);
+ result.unshift({
+ code: "" + code + codeFill,
+ name: typeToColumnsPlaceholder[type],
+ });
+ }
+ return result;
+ },
+ getIndex: function (type, code) {
+ var compareNum = type === 'province' ? 2 : type === 'city' ? 4 : 6;
+ var list = this.getList(type, code.slice(0, compareNum - 2));
+ // oversea code
+ if (code[0] === '9' && type === 'province') {
+ compareNum = 1;
+ }
+ code = code.slice(0, compareNum);
+ for (var i = 0; i < list.length; i++) {
+ if (list[i].code.slice(0, compareNum) === code) {
+ return i;
+ }
+ }
+ return 0;
+ },
+ setValues: function () {
+ var picker = this.getPicker();
+ if (!picker) {
+ return;
+ }
+ var code = this.code || this.getDefaultCode();
+ var provinceList = this.getList('province');
+ var cityList = this.getList('city', code.slice(0, 2));
+ var stack = [];
+ var indexes = [];
+ var columnsNum = this.data.columnsNum;
+ if (columnsNum >= 1) {
+ stack.push(picker.setColumnValues(0, provinceList, false));
+ indexes.push(this.getIndex('province', code));
+ }
+ if (columnsNum >= 2) {
+ stack.push(picker.setColumnValues(1, cityList, false));
+ indexes.push(this.getIndex('city', code));
+ if (cityList.length && code.slice(2, 4) === '00') {
+ code = cityList[0].code;
+ }
+ }
+ if (columnsNum === 3) {
+ stack.push(picker.setColumnValues(2, this.getList('county', code.slice(0, 4)), false));
+ indexes.push(this.getIndex('county', code));
+ }
+ return Promise.all(stack)
+ .catch(function () { })
+ .then(function () { return picker.setIndexes(indexes); })
+ .catch(function () { });
+ },
+ getDefaultCode: function () {
+ var columnsPlaceholder = this.data.columnsPlaceholder;
+ if (columnsPlaceholder.length) {
+ return EMPTY_CODE;
+ }
+ var countyCodes = Object.keys(this.getConfig('county'));
+ if (countyCodes[0]) {
+ return countyCodes[0];
+ }
+ var cityCodes = Object.keys(this.getConfig('city'));
+ if (cityCodes[0]) {
+ return cityCodes[0];
+ }
+ return '';
+ },
+ getValues: function () {
+ var picker = this.getPicker();
+ if (!picker) {
+ return [];
+ }
+ return this.parseValues(picker.getValues().filter(function (value) { return !!value; }));
+ },
+ getDetail: function () {
+ var values = this.getValues();
+ var area = {
+ code: '',
+ country: '',
+ province: '',
+ city: '',
+ county: '',
+ };
+ if (!values.length) {
+ return area;
+ }
+ var names = values.map(function (item) { return item.name; });
+ area.code = values[values.length - 1].code;
+ if (area.code[0] === '9') {
+ area.country = names[1] || '';
+ area.province = names[2] || '';
+ }
+ else {
+ area.province = names[0] || '';
+ area.city = names[1] || '';
+ area.county = names[2] || '';
+ }
+ return area;
+ },
+ reset: function (code) {
+ this.code = code || '';
+ return this.setValues();
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/area/index.json b/coupon/miniprogram/@vant/weapp/lib/area/index.json
new file mode 100644
index 0000000..a778e91
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/area/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-picker": "../picker/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/area/index.wxml b/coupon/miniprogram/@vant/weapp/lib/area/index.wxml
new file mode 100644
index 0000000..f7dc51f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/area/index.wxml
@@ -0,0 +1,20 @@
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/area/index.wxs b/coupon/miniprogram/@vant/weapp/lib/area/index.wxs
new file mode 100644
index 0000000..07723c1
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/area/index.wxs
@@ -0,0 +1,8 @@
+/* eslint-disable */
+function displayColumns(columns, columnsNum) {
+ return columns.slice(0, +columnsNum);
+}
+
+module.exports = {
+ displayColumns: displayColumns,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/area/index.wxss b/coupon/miniprogram/@vant/weapp/lib/area/index.wxss
new file mode 100644
index 0000000..99694d6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/area/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/button/index.js b/coupon/miniprogram/@vant/weapp/lib/button/index.js
new file mode 100644
index 0000000..984135c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/button/index.js
@@ -0,0 +1,67 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var button_1 = require("../mixins/button");
+var version_1 = require("../common/version");
+var mixins = [button_1.button];
+if ((0, version_1.canIUseFormFieldButton)()) {
+ mixins.push('wx://form-field-button');
+}
+(0, component_1.VantComponent)({
+ mixins: mixins,
+ classes: ['hover-class', 'loading-class'],
+ data: {
+ baseStyle: '',
+ },
+ props: {
+ formType: String,
+ icon: String,
+ classPrefix: {
+ type: String,
+ value: 'van-icon',
+ },
+ plain: Boolean,
+ block: Boolean,
+ round: Boolean,
+ square: Boolean,
+ loading: Boolean,
+ hairline: Boolean,
+ disabled: Boolean,
+ loadingText: String,
+ customStyle: String,
+ loadingType: {
+ type: String,
+ value: 'circular',
+ },
+ type: {
+ type: String,
+ value: 'default',
+ },
+ dataset: null,
+ size: {
+ type: String,
+ value: 'normal',
+ },
+ loadingSize: {
+ type: String,
+ value: '20px',
+ },
+ color: String,
+ },
+ methods: {
+ onClick: function (event) {
+ var _this = this;
+ this.$emit('click', event);
+ var _a = this.data, canIUseGetUserProfile = _a.canIUseGetUserProfile, openType = _a.openType, getUserProfileDesc = _a.getUserProfileDesc, lang = _a.lang;
+ if (openType === 'getUserInfo' && canIUseGetUserProfile) {
+ wx.getUserProfile({
+ desc: getUserProfileDesc || ' ',
+ lang: lang || 'en',
+ complete: function (userProfile) {
+ _this.$emit('getuserinfo', userProfile);
+ },
+ });
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/button/index.json b/coupon/miniprogram/@vant/weapp/lib/button/index.json
new file mode 100644
index 0000000..e00a588
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/button/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/button/index.wxml b/coupon/miniprogram/@vant/weapp/lib/button/index.wxml
new file mode 100644
index 0000000..8034845
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/button/index.wxml
@@ -0,0 +1,53 @@
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/button/index.wxs b/coupon/miniprogram/@vant/weapp/lib/button/index.wxs
new file mode 100644
index 0000000..8b649fe
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/button/index.wxs
@@ -0,0 +1,39 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+
+function rootStyle(data) {
+ if (!data.color) {
+ return data.customStyle;
+ }
+
+ var properties = {
+ color: data.plain ? data.color : '#fff',
+ background: data.plain ? null : data.color,
+ };
+
+ // hide border when color is linear-gradient
+ if (data.color.indexOf('gradient') !== -1) {
+ properties.border = 0;
+ } else {
+ properties['border-color'] = data.color;
+ }
+
+ return style([properties, data.customStyle]);
+}
+
+function loadingColor(data) {
+ if (data.plain) {
+ return data.color ? data.color : '#c9c9c9';
+ }
+
+ if (data.type === 'default') {
+ return '#c9c9c9';
+ }
+
+ return '#fff';
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+ loadingColor: loadingColor,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/button/index.wxss b/coupon/miniprogram/@vant/weapp/lib/button/index.wxss
new file mode 100644
index 0000000..bd8bb5a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/button/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-button{-webkit-text-size-adjust:100%;align-items:center;-webkit-appearance:none;border-radius:var(--button-border-radius,2px);box-sizing:border-box;display:inline-flex;font-size:var(--button-default-font-size,16px);height:var(--button-default-height,44px);justify-content:center;line-height:var(--button-line-height,20px);padding:0;position:relative;text-align:center;transition:opacity .2s;vertical-align:middle}.van-button:before{background-color:#000;border:inherit;border-color:#000;border-radius:inherit;content:" ";height:100%;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.van-button:after{border-width:0}.van-button--active:before{opacity:.15}.van-button--unclickable:after{display:none}.van-button--default{background:var(--button-default-background-color,#fff);border:var(--button-border-width,1px) solid var(--button-default-border-color,#ebedf0);color:var(--button-default-color,#323233)}.van-button--primary{background:var(--button-primary-background-color,#07c160);border:var(--button-border-width,1px) solid var(--button-primary-border-color,#07c160);color:var(--button-primary-color,#fff)}.van-button--info{background:var(--button-info-background-color,#1989fa);border:var(--button-border-width,1px) solid var(--button-info-border-color,#1989fa);color:var(--button-info-color,#fff)}.van-button--danger{background:var(--button-danger-background-color,#ee0a24);border:var(--button-border-width,1px) solid var(--button-danger-border-color,#ee0a24);color:var(--button-danger-color,#fff)}.van-button--warning{background:var(--button-warning-background-color,#ff976a);border:var(--button-border-width,1px) solid var(--button-warning-border-color,#ff976a);color:var(--button-warning-color,#fff)}.van-button--plain{background:var(--button-plain-background-color,#fff)}.van-button--plain.van-button--primary{color:var(--button-primary-background-color,#07c160)}.van-button--plain.van-button--info{color:var(--button-info-background-color,#1989fa)}.van-button--plain.van-button--danger{color:var(--button-danger-background-color,#ee0a24)}.van-button--plain.van-button--warning{color:var(--button-warning-background-color,#ff976a)}.van-button--large{height:var(--button-large-height,50px);width:100%}.van-button--normal{font-size:var(--button-normal-font-size,14px);padding:0 15px}.van-button--small{font-size:var(--button-small-font-size,12px);height:var(--button-small-height,30px);min-width:var(--button-small-min-width,60px);padding:0 var(--padding-xs,8px)}.van-button--mini{display:inline-block;font-size:var(--button-mini-font-size,10px);height:var(--button-mini-height,22px);min-width:var(--button-mini-min-width,50px)}.van-button--mini+.van-button--mini{margin-left:5px}.van-button--block{display:flex;width:100%}.van-button--round{border-radius:var(--button-round-border-radius,999px)}.van-button--square{border-radius:0}.van-button--disabled{opacity:var(--button-disabled-opacity,.5)}.van-button__text{display:inline}.van-button__icon+.van-button__text:not(:empty),.van-button__loading-text{margin-left:4px}.van-button__icon{line-height:inherit!important;min-width:1em;vertical-align:top}.van-button--hairline{border-width:0;padding-top:1px}.van-button--hairline:after{border-color:inherit;border-radius:calc(var(--button-border-radius, 2px)*2);border-width:1px}.van-button--hairline.van-button--round:after{border-radius:var(--button-round-border-radius,999px)}.van-button--hairline.van-button--square:after{border-radius:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/calendar/calendar.wxml b/coupon/miniprogram/@vant/weapp/lib/calendar/calendar.wxml
new file mode 100644
index 0000000..808f739
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/calendar/calendar.wxml
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/calendar/components/header/index.js b/coupon/miniprogram/@vant/weapp/lib/calendar/components/header/index.js
new file mode 100644
index 0000000..544b3a4
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/calendar/components/header/index.js
@@ -0,0 +1,45 @@
+"use strict";
+var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+ if (ar || !(i in from)) {
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+ ar[i] = from[i];
+ }
+ }
+ return to.concat(ar || Array.prototype.slice.call(from));
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../../../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ title: {
+ type: String,
+ value: '日期选择',
+ },
+ subtitle: String,
+ showTitle: Boolean,
+ showSubtitle: Boolean,
+ firstDayOfWeek: {
+ type: Number,
+ observer: 'initWeekDay',
+ },
+ },
+ data: {
+ weekdays: [],
+ },
+ created: function () {
+ this.initWeekDay();
+ },
+ methods: {
+ initWeekDay: function () {
+ var defaultWeeks = ['日', '一', '二', '三', '四', '五', '六'];
+ var firstDayOfWeek = this.data.firstDayOfWeek || 0;
+ this.setData({
+ weekdays: __spreadArray(__spreadArray([], defaultWeeks.slice(firstDayOfWeek, 7), true), defaultWeeks.slice(0, firstDayOfWeek), true),
+ });
+ },
+ onClickSubtitle: function (event) {
+ this.$emit('click-subtitle', event);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/calendar/components/header/index.json b/coupon/miniprogram/@vant/weapp/lib/calendar/components/header/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/calendar/components/header/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/calendar/components/header/index.wxml b/coupon/miniprogram/@vant/weapp/lib/calendar/components/header/index.wxml
new file mode 100644
index 0000000..7e56c83
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/calendar/components/header/index.wxml
@@ -0,0 +1,16 @@
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/calendar/components/header/index.wxss b/coupon/miniprogram/@vant/weapp/lib/calendar/components/header/index.wxss
new file mode 100644
index 0000000..272537e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/calendar/components/header/index.wxss
@@ -0,0 +1 @@
+@import '../../../common/index.wxss';.van-calendar__header{box-shadow:var(--calendar-header-box-shadow,0 2px 10px hsla(220,1%,50%,.16));flex-shrink:0}.van-calendar__header-subtitle,.van-calendar__header-title{font-weight:var(--font-weight-bold,500);height:var(--calendar-header-title-height,44px);line-height:var(--calendar-header-title-height,44px);text-align:center}.van-calendar__header-title+.van-calendar__header-title,.van-calendar__header-title:empty{display:none}.van-calendar__header-title:empty+.van-calendar__header-title{display:block!important}.van-calendar__weekdays{display:flex}.van-calendar__weekday{flex:1;font-size:var(--calendar-weekdays-font-size,12px);line-height:var(--calendar-weekdays-height,30px);text-align:center}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/calendar/components/month/index.js b/coupon/miniprogram/@vant/weapp/lib/calendar/components/month/index.js
new file mode 100644
index 0000000..4d137f5
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/calendar/components/month/index.js
@@ -0,0 +1,158 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../../../common/component");
+var utils_1 = require("../../utils");
+(0, component_1.VantComponent)({
+ props: {
+ date: {
+ type: null,
+ observer: 'setDays',
+ },
+ type: {
+ type: String,
+ observer: 'setDays',
+ },
+ color: String,
+ minDate: {
+ type: null,
+ observer: 'setDays',
+ },
+ maxDate: {
+ type: null,
+ observer: 'setDays',
+ },
+ showMark: Boolean,
+ rowHeight: null,
+ formatter: {
+ type: null,
+ observer: 'setDays',
+ },
+ currentDate: {
+ type: null,
+ observer: 'setDays',
+ },
+ firstDayOfWeek: {
+ type: Number,
+ observer: 'setDays',
+ },
+ allowSameDay: Boolean,
+ showSubtitle: Boolean,
+ showMonthTitle: Boolean,
+ },
+ data: {
+ visible: true,
+ days: [],
+ },
+ methods: {
+ onClick: function (event) {
+ var index = event.currentTarget.dataset.index;
+ var item = this.data.days[index];
+ if (item.type !== 'disabled') {
+ this.$emit('click', item);
+ }
+ },
+ setDays: function () {
+ var days = [];
+ var startDate = new Date(this.data.date);
+ var year = startDate.getFullYear();
+ var month = startDate.getMonth();
+ var totalDay = (0, utils_1.getMonthEndDay)(startDate.getFullYear(), startDate.getMonth() + 1);
+ for (var day = 1; day <= totalDay; day++) {
+ var date = new Date(year, month, day);
+ var type = this.getDayType(date);
+ var config = {
+ date: date,
+ type: type,
+ text: day,
+ bottomInfo: this.getBottomInfo(type),
+ };
+ if (this.data.formatter) {
+ config = this.data.formatter(config);
+ }
+ days.push(config);
+ }
+ this.setData({ days: days });
+ },
+ getMultipleDayType: function (day) {
+ var currentDate = this.data.currentDate;
+ if (!Array.isArray(currentDate)) {
+ return '';
+ }
+ var isSelected = function (date) {
+ return currentDate.some(function (item) { return (0, utils_1.compareDay)(item, date) === 0; });
+ };
+ if (isSelected(day)) {
+ var prevDay = (0, utils_1.getPrevDay)(day);
+ var nextDay = (0, utils_1.getNextDay)(day);
+ var prevSelected = isSelected(prevDay);
+ var nextSelected = isSelected(nextDay);
+ if (prevSelected && nextSelected) {
+ return 'multiple-middle';
+ }
+ if (prevSelected) {
+ return 'end';
+ }
+ return nextSelected ? 'start' : 'multiple-selected';
+ }
+ return '';
+ },
+ getRangeDayType: function (day) {
+ var _a = this.data, currentDate = _a.currentDate, allowSameDay = _a.allowSameDay;
+ if (!Array.isArray(currentDate)) {
+ return '';
+ }
+ var startDay = currentDate[0], endDay = currentDate[1];
+ if (!startDay) {
+ return '';
+ }
+ var compareToStart = (0, utils_1.compareDay)(day, startDay);
+ if (!endDay) {
+ return compareToStart === 0 ? 'start' : '';
+ }
+ var compareToEnd = (0, utils_1.compareDay)(day, endDay);
+ if (compareToStart === 0 && compareToEnd === 0 && allowSameDay) {
+ return 'start-end';
+ }
+ if (compareToStart === 0) {
+ return 'start';
+ }
+ if (compareToEnd === 0) {
+ return 'end';
+ }
+ if (compareToStart > 0 && compareToEnd < 0) {
+ return 'middle';
+ }
+ return '';
+ },
+ getDayType: function (day) {
+ var _a = this.data, type = _a.type, minDate = _a.minDate, maxDate = _a.maxDate, currentDate = _a.currentDate;
+ if ((0, utils_1.compareDay)(day, minDate) < 0 || (0, utils_1.compareDay)(day, maxDate) > 0) {
+ return 'disabled';
+ }
+ if (type === 'single') {
+ return (0, utils_1.compareDay)(day, currentDate) === 0 ? 'selected' : '';
+ }
+ if (type === 'multiple') {
+ return this.getMultipleDayType(day);
+ }
+ /* istanbul ignore else */
+ if (type === 'range') {
+ return this.getRangeDayType(day);
+ }
+ return '';
+ },
+ getBottomInfo: function (type) {
+ if (this.data.type === 'range') {
+ if (type === 'start') {
+ return '开始';
+ }
+ if (type === 'end') {
+ return '结束';
+ }
+ if (type === 'start-end') {
+ return '开始/结束';
+ }
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/calendar/components/month/index.json b/coupon/miniprogram/@vant/weapp/lib/calendar/components/month/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/calendar/components/month/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/calendar/components/month/index.wxml b/coupon/miniprogram/@vant/weapp/lib/calendar/components/month/index.wxml
new file mode 100644
index 0000000..4a2c47c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/calendar/components/month/index.wxml
@@ -0,0 +1,39 @@
+
+
+
+
+
+ {{ computed.formatMonthTitle(date) }}
+
+
+
+
+ {{ computed.getMark(date) }}
+
+
+
+
+ {{ item.topInfo }}
+ {{ item.text }}
+
+ {{ item.bottomInfo }}
+
+
+
+
+ {{ item.topInfo }}
+ {{ item.text }}
+
+ {{ item.bottomInfo }}
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/calendar/components/month/index.wxs b/coupon/miniprogram/@vant/weapp/lib/calendar/components/month/index.wxs
new file mode 100644
index 0000000..55e45a5
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/calendar/components/month/index.wxs
@@ -0,0 +1,71 @@
+/* eslint-disable */
+var utils = require('../../utils.wxs');
+
+function getMark(date) {
+ return getDate(date).getMonth() + 1;
+}
+
+var ROW_HEIGHT = 64;
+
+function getDayStyle(type, index, date, rowHeight, color, firstDayOfWeek) {
+ var style = [];
+ var current = getDate(date).getDay() || 7;
+ var offset = current < firstDayOfWeek ? (7 - firstDayOfWeek + current) :
+ current === 7 && firstDayOfWeek === 0 ? 0 :
+ (current - firstDayOfWeek);
+
+ if (index === 0) {
+ style.push(['margin-left', (100 * offset) / 7 + '%']);
+ }
+
+ if (rowHeight !== ROW_HEIGHT) {
+ style.push(['height', rowHeight + 'px']);
+ }
+
+ if (color) {
+ if (
+ type === 'start' ||
+ type === 'end' ||
+ type === 'start-end' ||
+ type === 'multiple-selected' ||
+ type === 'multiple-middle'
+ ) {
+ style.push(['background', color]);
+ } else if (type === 'middle') {
+ style.push(['color', color]);
+ }
+ }
+
+ return style
+ .map(function(item) {
+ return item.join(':');
+ })
+ .join(';');
+}
+
+function formatMonthTitle(date) {
+ date = getDate(date);
+ return date.getFullYear() + '年' + (date.getMonth() + 1) + '月';
+}
+
+function getMonthStyle(visible, date, rowHeight) {
+ if (!visible) {
+ date = getDate(date);
+
+ var totalDay = utils.getMonthEndDay(
+ date.getFullYear(),
+ date.getMonth() + 1
+ );
+ var offset = getDate(date).getDay();
+ var padding = Math.ceil((totalDay + offset) / 7) * rowHeight;
+
+ return 'padding-bottom:' + padding + 'px';
+ }
+}
+
+module.exports = {
+ getMark: getMark,
+ getDayStyle: getDayStyle,
+ formatMonthTitle: formatMonthTitle,
+ getMonthStyle: getMonthStyle
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/calendar/components/month/index.wxss b/coupon/miniprogram/@vant/weapp/lib/calendar/components/month/index.wxss
new file mode 100644
index 0000000..9aee73d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/calendar/components/month/index.wxss
@@ -0,0 +1 @@
+@import '../../../common/index.wxss';.van-calendar{background-color:var(--calendar-background-color,#fff);display:flex;flex-direction:column;height:100%}.van-calendar__month-title{font-size:var(--calendar-month-title-font-size,14px);font-weight:var(--font-weight-bold,500);height:var(--calendar-header-title-height,44px);line-height:var(--calendar-header-title-height,44px);text-align:center}.van-calendar__days{display:flex;flex-wrap:wrap;position:relative;-webkit-user-select:none;user-select:none}.van-calendar__month-mark{color:var(--calendar-month-mark-color,rgba(242,243,245,.8));font-size:var(--calendar-month-mark-font-size,160px);left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:0}.van-calendar__day,.van-calendar__selected-day{align-items:center;display:flex;justify-content:center;text-align:center}.van-calendar__day{font-size:var(--calendar-day-font-size,16px);height:var(--calendar-day-height,64px);position:relative;width:14.285%}.van-calendar__day--end,.van-calendar__day--multiple-middle,.van-calendar__day--multiple-selected,.van-calendar__day--start,.van-calendar__day--start-end{background-color:var(--calendar-range-edge-background-color,#ee0a24);color:var(--calendar-range-edge-color,#fff)}.van-calendar__day--start{border-radius:4px 0 0 4px}.van-calendar__day--end{border-radius:0 4px 4px 0}.van-calendar__day--multiple-selected,.van-calendar__day--start-end{border-radius:4px}.van-calendar__day--middle{color:var(--calendar-range-middle-color,#ee0a24)}.van-calendar__day--middle:after{background-color:currentColor;bottom:0;content:"";left:0;opacity:var(--calendar-range-middle-background-opacity,.1);position:absolute;right:0;top:0}.van-calendar__day--disabled{color:var(--calendar-day-disabled-color,#c8c9cc);cursor:default}.van-calendar__bottom-info,.van-calendar__top-info{font-size:var(--calendar-info-font-size,10px);left:0;line-height:var(--calendar-info-line-height,14px);position:absolute;right:0}@media (max-width:350px){.van-calendar__bottom-info,.van-calendar__top-info{font-size:9px}}.van-calendar__top-info{top:6px}.van-calendar__bottom-info{bottom:6px}.van-calendar__selected-day{background-color:var(--calendar-selected-day-background-color,#ee0a24);border-radius:4px;color:var(--calendar-selected-day-color,#fff);height:var(--calendar-selected-day-size,54px);width:var(--calendar-selected-day-size,54px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/calendar/index.js b/coupon/miniprogram/@vant/weapp/lib/calendar/index.js
new file mode 100644
index 0000000..31b6ed2
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/calendar/index.js
@@ -0,0 +1,360 @@
+"use strict";
+var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+ if (ar || !(i in from)) {
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+ ar[i] = from[i];
+ }
+ }
+ return to.concat(ar || Array.prototype.slice.call(from));
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var utils_1 = require("./utils");
+var toast_1 = __importDefault(require("../toast/toast"));
+var utils_2 = require("../common/utils");
+var initialMinDate = (0, utils_1.getToday)().getTime();
+var initialMaxDate = (function () {
+ var now = (0, utils_1.getToday)();
+ return new Date(now.getFullYear(), now.getMonth() + 6, now.getDate()).getTime();
+})();
+var getTime = function (date) {
+ return date instanceof Date ? date.getTime() : date;
+};
+(0, component_1.VantComponent)({
+ props: {
+ title: {
+ type: String,
+ value: '日期选择',
+ },
+ color: String,
+ show: {
+ type: Boolean,
+ observer: function (val) {
+ if (val) {
+ this.initRect();
+ this.scrollIntoView();
+ }
+ },
+ },
+ formatter: null,
+ confirmText: {
+ type: String,
+ value: '确定',
+ },
+ confirmDisabledText: {
+ type: String,
+ value: '确定',
+ },
+ rangePrompt: String,
+ showRangePrompt: {
+ type: Boolean,
+ value: true,
+ },
+ defaultDate: {
+ type: null,
+ observer: function (val) {
+ this.setData({ currentDate: val });
+ this.scrollIntoView();
+ },
+ },
+ allowSameDay: Boolean,
+ type: {
+ type: String,
+ value: 'single',
+ observer: 'reset',
+ },
+ minDate: {
+ type: Number,
+ value: initialMinDate,
+ },
+ maxDate: {
+ type: Number,
+ value: initialMaxDate,
+ },
+ position: {
+ type: String,
+ value: 'bottom',
+ },
+ rowHeight: {
+ type: null,
+ value: utils_1.ROW_HEIGHT,
+ },
+ round: {
+ type: Boolean,
+ value: true,
+ },
+ poppable: {
+ type: Boolean,
+ value: true,
+ },
+ showMark: {
+ type: Boolean,
+ value: true,
+ },
+ showTitle: {
+ type: Boolean,
+ value: true,
+ },
+ showConfirm: {
+ type: Boolean,
+ value: true,
+ },
+ showSubtitle: {
+ type: Boolean,
+ value: true,
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ },
+ maxRange: {
+ type: null,
+ value: null,
+ },
+ firstDayOfWeek: {
+ type: Number,
+ value: 0,
+ },
+ readonly: Boolean,
+ },
+ data: {
+ subtitle: '',
+ currentDate: null,
+ scrollIntoView: '',
+ },
+ created: function () {
+ this.setData({
+ currentDate: this.getInitialDate(this.data.defaultDate),
+ });
+ },
+ mounted: function () {
+ if (this.data.show || !this.data.poppable) {
+ this.initRect();
+ this.scrollIntoView();
+ }
+ },
+ methods: {
+ reset: function () {
+ this.setData({ currentDate: this.getInitialDate() });
+ this.scrollIntoView();
+ },
+ initRect: function () {
+ var _this = this;
+ if (this.contentObserver != null) {
+ this.contentObserver.disconnect();
+ }
+ var contentObserver = this.createIntersectionObserver({
+ thresholds: [0, 0.1, 0.9, 1],
+ observeAll: true,
+ });
+ this.contentObserver = contentObserver;
+ contentObserver.relativeTo('.van-calendar__body');
+ contentObserver.observe('.month', function (res) {
+ if (res.boundingClientRect.top <= res.relativeRect.top) {
+ // @ts-ignore
+ _this.setData({ subtitle: (0, utils_1.formatMonthTitle)(res.dataset.date) });
+ }
+ });
+ },
+ limitDateRange: function (date, minDate, maxDate) {
+ if (minDate === void 0) { minDate = null; }
+ if (maxDate === void 0) { maxDate = null; }
+ minDate = minDate || this.data.minDate;
+ maxDate = maxDate || this.data.maxDate;
+ if ((0, utils_1.compareDay)(date, minDate) === -1) {
+ return minDate;
+ }
+ if ((0, utils_1.compareDay)(date, maxDate) === 1) {
+ return maxDate;
+ }
+ return date;
+ },
+ getInitialDate: function (defaultDate) {
+ var _this = this;
+ if (defaultDate === void 0) { defaultDate = null; }
+ var _a = this.data, type = _a.type, minDate = _a.minDate, maxDate = _a.maxDate;
+ var now = (0, utils_1.getToday)().getTime();
+ if (type === 'range') {
+ if (!Array.isArray(defaultDate)) {
+ defaultDate = [];
+ }
+ var _b = defaultDate || [], startDay = _b[0], endDay = _b[1];
+ var start = this.limitDateRange(startDay || now, minDate, (0, utils_1.getPrevDay)(new Date(maxDate)).getTime());
+ var end = this.limitDateRange(endDay || now, (0, utils_1.getNextDay)(new Date(minDate)).getTime());
+ return [start, end];
+ }
+ if (type === 'multiple') {
+ if (Array.isArray(defaultDate)) {
+ return defaultDate.map(function (date) { return _this.limitDateRange(date); });
+ }
+ return [this.limitDateRange(now)];
+ }
+ if (!defaultDate || Array.isArray(defaultDate)) {
+ defaultDate = now;
+ }
+ return this.limitDateRange(defaultDate);
+ },
+ scrollIntoView: function () {
+ var _this = this;
+ (0, utils_2.requestAnimationFrame)(function () {
+ var _a = _this.data, currentDate = _a.currentDate, type = _a.type, show = _a.show, poppable = _a.poppable, minDate = _a.minDate, maxDate = _a.maxDate;
+ // @ts-ignore
+ var targetDate = type === 'single' ? currentDate : currentDate[0];
+ var displayed = show || !poppable;
+ if (!targetDate || !displayed) {
+ return;
+ }
+ var months = (0, utils_1.getMonths)(minDate, maxDate);
+ months.some(function (month, index) {
+ if ((0, utils_1.compareMonth)(month, targetDate) === 0) {
+ _this.setData({ scrollIntoView: "month" + index });
+ return true;
+ }
+ return false;
+ });
+ });
+ },
+ onOpen: function () {
+ this.$emit('open');
+ },
+ onOpened: function () {
+ this.$emit('opened');
+ },
+ onClose: function () {
+ this.$emit('close');
+ },
+ onClosed: function () {
+ this.$emit('closed');
+ },
+ onClickDay: function (event) {
+ if (this.data.readonly) {
+ return;
+ }
+ var date = event.detail.date;
+ var _a = this.data, type = _a.type, currentDate = _a.currentDate, allowSameDay = _a.allowSameDay;
+ if (type === 'range') {
+ // @ts-ignore
+ var startDay_1 = currentDate[0], endDay = currentDate[1];
+ if (startDay_1 && !endDay) {
+ var compareToStart = (0, utils_1.compareDay)(date, startDay_1);
+ if (compareToStart === 1) {
+ var days_1 = this.selectComponent('.month').data.days;
+ days_1.some(function (day, index) {
+ var isDisabled = day.type === 'disabled' &&
+ getTime(startDay_1) < getTime(day.date) &&
+ getTime(day.date) < getTime(date);
+ if (isDisabled) {
+ (date = days_1[index - 1].date);
+ }
+ return isDisabled;
+ });
+ this.select([startDay_1, date], true);
+ }
+ else if (compareToStart === -1) {
+ this.select([date, null]);
+ }
+ else if (allowSameDay) {
+ this.select([date, date]);
+ }
+ }
+ else {
+ this.select([date, null]);
+ }
+ }
+ else if (type === 'multiple') {
+ var selectedIndex_1;
+ // @ts-ignore
+ var selected = currentDate.some(function (dateItem, index) {
+ var equal = (0, utils_1.compareDay)(dateItem, date) === 0;
+ if (equal) {
+ selectedIndex_1 = index;
+ }
+ return equal;
+ });
+ if (selected) {
+ // @ts-ignore
+ var cancelDate = currentDate.splice(selectedIndex_1, 1);
+ this.setData({ currentDate: currentDate });
+ this.unselect(cancelDate);
+ }
+ else {
+ // @ts-ignore
+ this.select(__spreadArray(__spreadArray([], currentDate, true), [date], false));
+ }
+ }
+ else {
+ this.select(date, true);
+ }
+ },
+ unselect: function (dateArray) {
+ var date = dateArray[0];
+ if (date) {
+ this.$emit('unselect', (0, utils_1.copyDates)(date));
+ }
+ },
+ select: function (date, complete) {
+ if (complete && this.data.type === 'range') {
+ var valid = this.checkRange(date);
+ if (!valid) {
+ // auto selected to max range if showConfirm
+ if (this.data.showConfirm) {
+ this.emit([
+ date[0],
+ (0, utils_1.getDayByOffset)(date[0], this.data.maxRange - 1),
+ ]);
+ }
+ else {
+ this.emit(date);
+ }
+ return;
+ }
+ }
+ this.emit(date);
+ if (complete && !this.data.showConfirm) {
+ this.onConfirm();
+ }
+ },
+ emit: function (date) {
+ this.setData({
+ currentDate: Array.isArray(date) ? date.map(getTime) : getTime(date),
+ });
+ this.$emit('select', (0, utils_1.copyDates)(date));
+ },
+ checkRange: function (date) {
+ var _a = this.data, maxRange = _a.maxRange, rangePrompt = _a.rangePrompt, showRangePrompt = _a.showRangePrompt;
+ if (maxRange && (0, utils_1.calcDateNum)(date) > maxRange) {
+ if (showRangePrompt) {
+ (0, toast_1.default)({
+ context: this,
+ message: rangePrompt || "\u9009\u62E9\u5929\u6570\u4E0D\u80FD\u8D85\u8FC7 " + maxRange + " \u5929",
+ });
+ }
+ this.$emit('over-range');
+ return false;
+ }
+ return true;
+ },
+ onConfirm: function () {
+ var _this = this;
+ if (this.data.type === 'range' &&
+ !this.checkRange(this.data.currentDate)) {
+ return;
+ }
+ wx.nextTick(function () {
+ // @ts-ignore
+ _this.$emit('confirm', (0, utils_1.copyDates)(_this.data.currentDate));
+ });
+ },
+ onClickSubtitle: function (event) {
+ this.$emit('click-subtitle', event);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/calendar/index.json b/coupon/miniprogram/@vant/weapp/lib/calendar/index.json
new file mode 100644
index 0000000..397d5ae
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/calendar/index.json
@@ -0,0 +1,10 @@
+{
+ "component": true,
+ "usingComponents": {
+ "header": "./components/header/index",
+ "month": "./components/month/index",
+ "van-button": "../button/index",
+ "van-popup": "../popup/index",
+ "van-toast": "../toast/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/calendar/index.wxml b/coupon/miniprogram/@vant/weapp/lib/calendar/index.wxml
new file mode 100644
index 0000000..bc8bcfd
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/calendar/index.wxml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/calendar/index.wxs b/coupon/miniprogram/@vant/weapp/lib/calendar/index.wxs
new file mode 100644
index 0000000..0c570fc
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/calendar/index.wxs
@@ -0,0 +1,38 @@
+/* eslint-disable */
+var utils = require('./utils.wxs');
+
+function getMonths(minDate, maxDate) {
+ var months = [];
+ var cursor = getDate(minDate);
+
+ cursor.setDate(1);
+ cursor.setMinutes(cursor.getMinutes() - cursor.getTimezoneOffset());
+
+ do {
+ months.push(cursor.getTime());
+ cursor.setMonth(cursor.getMonth() + 1);
+ } while (utils.compareMonth(cursor, getDate(maxDate)) !== 1);
+
+ return months;
+}
+
+function getButtonDisabled(type, currentDate) {
+ if (currentDate == null) {
+ return true;
+ }
+
+ if (type === 'range') {
+ return !currentDate[0] || !currentDate[1];
+ }
+
+ if (type === 'multiple') {
+ return !currentDate.length;
+ }
+
+ return !currentDate;
+}
+
+module.exports = {
+ getMonths: getMonths,
+ getButtonDisabled: getButtonDisabled
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/calendar/index.wxss b/coupon/miniprogram/@vant/weapp/lib/calendar/index.wxss
new file mode 100644
index 0000000..05df518
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/calendar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-calendar{background-color:var(--calendar-background-color,#fff);display:flex;flex-direction:column;height:var(--calendar-height,100%)}.van-calendar__close-icon{top:11px}.van-calendar__popup--bottom,.van-calendar__popup--top{height:var(--calendar-popup-height,80%)}.van-calendar__popup--left,.van-calendar__popup--right{height:100%}.van-calendar__body{-webkit-overflow-scrolling:touch;flex:1;overflow:auto}.van-calendar__footer{flex-shrink:0;padding:0 var(--padding-md,16px)}.van-calendar__footer--safe-area-inset-bottom{padding-bottom:env(safe-area-inset-bottom)}.van-calendar__footer+.van-calendar__footer,.van-calendar__footer:empty{display:none}.van-calendar__footer:empty+.van-calendar__footer{display:block!important}.van-calendar__confirm{height:var(--calendar-confirm-button-height,36px)!important;line-height:var(--calendar-confirm-button-line-height,34px)!important;margin:var(--calendar-confirm-button-margin,7px 0)!important}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/calendar/utils.js b/coupon/miniprogram/@vant/weapp/lib/calendar/utils.js
new file mode 100644
index 0000000..337c9ed
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/calendar/utils.js
@@ -0,0 +1,97 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.getMonths = exports.getMonthEndDay = exports.copyDates = exports.calcDateNum = exports.getToday = exports.getNextDay = exports.getPrevDay = exports.getDayByOffset = exports.compareDay = exports.compareMonth = exports.formatMonthTitle = exports.ROW_HEIGHT = void 0;
+exports.ROW_HEIGHT = 64;
+function formatMonthTitle(date) {
+ if (!(date instanceof Date)) {
+ date = new Date(date);
+ }
+ return date.getFullYear() + "\u5E74" + (date.getMonth() + 1) + "\u6708";
+}
+exports.formatMonthTitle = formatMonthTitle;
+function compareMonth(date1, date2) {
+ if (!(date1 instanceof Date)) {
+ date1 = new Date(date1);
+ }
+ if (!(date2 instanceof Date)) {
+ date2 = new Date(date2);
+ }
+ var year1 = date1.getFullYear();
+ var year2 = date2.getFullYear();
+ var month1 = date1.getMonth();
+ var month2 = date2.getMonth();
+ if (year1 === year2) {
+ return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;
+ }
+ return year1 > year2 ? 1 : -1;
+}
+exports.compareMonth = compareMonth;
+function compareDay(day1, day2) {
+ if (!(day1 instanceof Date)) {
+ day1 = new Date(day1);
+ }
+ if (!(day2 instanceof Date)) {
+ day2 = new Date(day2);
+ }
+ var compareMonthResult = compareMonth(day1, day2);
+ if (compareMonthResult === 0) {
+ var date1 = day1.getDate();
+ var date2 = day2.getDate();
+ return date1 === date2 ? 0 : date1 > date2 ? 1 : -1;
+ }
+ return compareMonthResult;
+}
+exports.compareDay = compareDay;
+function getDayByOffset(date, offset) {
+ date = new Date(date);
+ date.setDate(date.getDate() + offset);
+ return date;
+}
+exports.getDayByOffset = getDayByOffset;
+function getPrevDay(date) {
+ return getDayByOffset(date, -1);
+}
+exports.getPrevDay = getPrevDay;
+function getNextDay(date) {
+ return getDayByOffset(date, 1);
+}
+exports.getNextDay = getNextDay;
+function getToday() {
+ var today = new Date();
+ today.setHours(0, 0, 0, 0);
+ return today;
+}
+exports.getToday = getToday;
+function calcDateNum(date) {
+ var day1 = new Date(date[0]).getTime();
+ var day2 = new Date(date[1]).getTime();
+ return (day2 - day1) / (1000 * 60 * 60 * 24) + 1;
+}
+exports.calcDateNum = calcDateNum;
+function copyDates(dates) {
+ if (Array.isArray(dates)) {
+ return dates.map(function (date) {
+ if (date === null) {
+ return date;
+ }
+ return new Date(date);
+ });
+ }
+ return new Date(dates);
+}
+exports.copyDates = copyDates;
+function getMonthEndDay(year, month) {
+ return 32 - new Date(year, month - 1, 32).getDate();
+}
+exports.getMonthEndDay = getMonthEndDay;
+function getMonths(minDate, maxDate) {
+ var months = [];
+ var cursor = new Date(minDate);
+ cursor.setDate(1);
+ do {
+ months.push(cursor.getTime());
+ cursor.setMonth(cursor.getMonth() + 1);
+ } while (compareMonth(cursor, maxDate) !== 1);
+ return months;
+}
+exports.getMonths = getMonths;
diff --git a/coupon/miniprogram/@vant/weapp/lib/calendar/utils.wxs b/coupon/miniprogram/@vant/weapp/lib/calendar/utils.wxs
new file mode 100644
index 0000000..e57f6b3
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/calendar/utils.wxs
@@ -0,0 +1,25 @@
+/* eslint-disable */
+function getMonthEndDay(year, month) {
+ return 32 - getDate(year, month - 1, 32).getDate();
+}
+
+function compareMonth(date1, date2) {
+ date1 = getDate(date1);
+ date2 = getDate(date2);
+
+ var year1 = date1.getFullYear();
+ var year2 = date2.getFullYear();
+ var month1 = date1.getMonth();
+ var month2 = date2.getMonth();
+
+ if (year1 === year2) {
+ return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;
+ }
+
+ return year1 > year2 ? 1 : -1;
+}
+
+module.exports = {
+ getMonthEndDay: getMonthEndDay,
+ compareMonth: compareMonth
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/card/index.js b/coupon/miniprogram/@vant/weapp/lib/card/index.js
new file mode 100644
index 0000000..d745d90
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/card/index.js
@@ -0,0 +1,51 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var link_1 = require("../mixins/link");
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ classes: [
+ 'num-class',
+ 'desc-class',
+ 'thumb-class',
+ 'title-class',
+ 'price-class',
+ 'origin-price-class',
+ ],
+ mixins: [link_1.link],
+ props: {
+ tag: String,
+ num: String,
+ desc: String,
+ thumb: String,
+ title: String,
+ price: {
+ type: String,
+ observer: 'updatePrice',
+ },
+ centered: Boolean,
+ lazyLoad: Boolean,
+ thumbLink: String,
+ originPrice: String,
+ thumbMode: {
+ type: String,
+ value: 'aspectFit',
+ },
+ currency: {
+ type: String,
+ value: '¥',
+ },
+ },
+ methods: {
+ updatePrice: function () {
+ var price = this.data.price;
+ var priceArr = price.toString().split('.');
+ this.setData({
+ integerStr: priceArr[0],
+ decimalStr: priceArr[1] ? "." + priceArr[1] : '',
+ });
+ },
+ onClickThumb: function () {
+ this.jumpLink('thumbLink');
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/card/index.json b/coupon/miniprogram/@vant/weapp/lib/card/index.json
new file mode 100644
index 0000000..e917407
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/card/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-tag": "../tag/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/card/index.wxml b/coupon/miniprogram/@vant/weapp/lib/card/index.wxml
new file mode 100644
index 0000000..62173e4
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/card/index.wxml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/card/index.wxss b/coupon/miniprogram/@vant/weapp/lib/card/index.wxss
new file mode 100644
index 0000000..0f4d7c5
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/card/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-card{background-color:var(--card-background-color,#fafafa);box-sizing:border-box;color:var(--card-text-color,#323233);font-size:var(--card-font-size,12px);padding:var(--card-padding,8px 16px);position:relative}.van-card__header{display:flex}.van-card__header--center{align-items:center;justify-content:center}.van-card__thumb{flex:none;height:var(--card-thumb-size,88px);margin-right:var(--padding-xs,8px);position:relative;width:var(--card-thumb-size,88px)}.van-card__thumb:empty{display:none}.van-card__img{border-radius:8px;height:100%;width:100%}.van-card__content{display:flex;flex:1;flex-direction:column;justify-content:space-between;min-height:var(--card-thumb-size,88px);min-width:0;position:relative}.van-card__content--center{justify-content:center}.van-card__desc,.van-card__title{word-wrap:break-word}.van-card__title{font-weight:700;line-height:var(--card-title-line-height,16px)}.van-card__desc{color:var(--card-desc-color,#646566);line-height:var(--card-desc-line-height,20px)}.van-card__bottom{line-height:20px}.van-card__price{color:var(--card-price-color,#ee0a24);display:inline-block;font-size:var(--card-price-font-size,12px);font-weight:700}.van-card__price-integer{font-size:var(--card-price-integer-font-size,16px)}.van-card__price-decimal,.van-card__price-integer{font-family:var(--card-price-font-family,Avenir-Heavy,PingFang SC,Helvetica Neue,Arial,sans-serif)}.van-card__origin-price{color:var(--card-origin-price-color,#646566);display:inline-block;font-size:var(--card-origin-price-font-size,10px);margin-left:5px;text-decoration:line-through}.van-card__num{float:right}.van-card__tag{left:0;position:absolute!important;top:2px}.van-card__footer{flex:none;text-align:right;width:100%}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/cell-group/index.js b/coupon/miniprogram/@vant/weapp/lib/cell-group/index.js
new file mode 100644
index 0000000..34a93a6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/cell-group/index.js
@@ -0,0 +1,13 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ title: String,
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ inset: Boolean,
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/cell-group/index.json b/coupon/miniprogram/@vant/weapp/lib/cell-group/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/cell-group/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/cell-group/index.wxml b/coupon/miniprogram/@vant/weapp/lib/cell-group/index.wxml
new file mode 100644
index 0000000..311e064
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/cell-group/index.wxml
@@ -0,0 +1,11 @@
+
+
+
+ {{ title }}
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/cell-group/index.wxss b/coupon/miniprogram/@vant/weapp/lib/cell-group/index.wxss
new file mode 100644
index 0000000..08b252f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/cell-group/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-cell-group--inset{border-radius:var(--cell-group-inset-border-radius,8px);margin:var(--cell-group-inset-padding,0 16px);overflow:hidden}.van-cell-group__title{color:var(--cell-group-title-color,#969799);font-size:var(--cell-group-title-font-size,14px);line-height:var(--cell-group-title-line-height,16px);padding:var(--cell-group-title-padding,16px 16px 8px)}.van-cell-group__title--inset{padding:var(--cell-group-inset-title-padding,16px 16px 8px 32px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/cell/index.js b/coupon/miniprogram/@vant/weapp/lib/cell/index.js
new file mode 100644
index 0000000..80f3039
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/cell/index.js
@@ -0,0 +1,40 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var link_1 = require("../mixins/link");
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ classes: [
+ 'title-class',
+ 'label-class',
+ 'value-class',
+ 'right-icon-class',
+ 'hover-class',
+ ],
+ mixins: [link_1.link],
+ props: {
+ title: null,
+ value: null,
+ icon: String,
+ size: String,
+ label: String,
+ center: Boolean,
+ isLink: Boolean,
+ required: Boolean,
+ clickable: Boolean,
+ titleWidth: String,
+ customStyle: String,
+ arrowDirection: String,
+ useLabelSlot: Boolean,
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ titleStyle: String,
+ },
+ methods: {
+ onClick: function (event) {
+ this.$emit('click', event.detail);
+ this.jumpLink();
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/cell/index.json b/coupon/miniprogram/@vant/weapp/lib/cell/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/cell/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/cell/index.wxml b/coupon/miniprogram/@vant/weapp/lib/cell/index.wxml
new file mode 100644
index 0000000..8387c3c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/cell/index.wxml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+ {{ title }}
+
+
+
+
+ {{ label }}
+
+
+
+
+ {{ value }}
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/cell/index.wxs b/coupon/miniprogram/@vant/weapp/lib/cell/index.wxs
new file mode 100644
index 0000000..e3500c4
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/cell/index.wxs
@@ -0,0 +1,17 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function titleStyle(data) {
+ return style([
+ {
+ 'max-width': addUnit(data.titleWidth),
+ 'min-width': addUnit(data.titleWidth),
+ },
+ data.titleStyle,
+ ]);
+}
+
+module.exports = {
+ titleStyle: titleStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/cell/index.wxss b/coupon/miniprogram/@vant/weapp/lib/cell/index.wxss
new file mode 100644
index 0000000..1802f8e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/cell/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-cell{background-color:var(--cell-background-color,#fff);box-sizing:border-box;color:var(--cell-text-color,#323233);display:flex;font-size:var(--cell-font-size,14px);line-height:var(--cell-line-height,24px);padding:var(--cell-vertical-padding,10px) var(--cell-horizontal-padding,16px);position:relative;width:100%}.van-cell:after{border-bottom:1px solid #ebedf0;bottom:0;box-sizing:border-box;content:" ";left:16px;pointer-events:none;position:absolute;right:16px;transform:scaleY(.5);transform-origin:center}.van-cell--borderless:after{display:none}.van-cell-group{background-color:var(--cell-background-color,#fff)}.van-cell__label{color:var(--cell-label-color,#969799);font-size:var(--cell-label-font-size,12px);line-height:var(--cell-label-line-height,18px);margin-top:var(--cell-label-margin-top,3px)}.van-cell__value{color:var(--cell-value-color,#969799);overflow:hidden;text-align:right;vertical-align:middle}.van-cell__title,.van-cell__value{flex:1}.van-cell__title:empty,.van-cell__value:empty{display:none}.van-cell__left-icon-wrap,.van-cell__right-icon-wrap{align-items:center;display:flex;font-size:var(--cell-icon-size,16px);height:var(--cell-line-height,24px)}.van-cell__left-icon-wrap{margin-right:var(--padding-base,4px)}.van-cell__right-icon-wrap{color:var(--cell-right-icon-color,#969799);margin-left:var(--padding-base,4px)}.van-cell__left-icon{vertical-align:middle}.van-cell__left-icon,.van-cell__right-icon{line-height:var(--cell-line-height,24px)}.van-cell--clickable.van-cell--hover{background-color:var(--cell-active-color,#f2f3f5)}.van-cell--required{overflow:visible}.van-cell--required:before{color:var(--cell-required-color,#ee0a24);content:"*";font-size:var(--cell-font-size,14px);left:var(--padding-xs,8px);position:absolute}.van-cell--center{align-items:center}.van-cell--large{padding-bottom:var(--cell-large-vertical-padding,12px);padding-top:var(--cell-large-vertical-padding,12px)}.van-cell--large .van-cell__title{font-size:var(--cell-large-title-font-size,16px)}.van-cell--large .van-cell__value{font-size:var(--cell-large-value-font-size,16px)}.van-cell--large .van-cell__label{font-size:var(--cell-large-label-font-size,14px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/checkbox-group/index.js b/coupon/miniprogram/@vant/weapp/lib/checkbox-group/index.js
new file mode 100644
index 0000000..80c93a1
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/checkbox-group/index.js
@@ -0,0 +1,39 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var relation_1 = require("../common/relation");
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ field: true,
+ relation: (0, relation_1.useChildren)('checkbox', function (target) {
+ this.updateChild(target);
+ }),
+ props: {
+ max: Number,
+ value: {
+ type: Array,
+ observer: 'updateChildren',
+ },
+ disabled: {
+ type: Boolean,
+ observer: 'updateChildren',
+ },
+ direction: {
+ type: String,
+ value: 'vertical',
+ },
+ },
+ methods: {
+ updateChildren: function () {
+ var _this = this;
+ this.children.forEach(function (child) { return _this.updateChild(child); });
+ },
+ updateChild: function (child) {
+ var _a = this.data, value = _a.value, disabled = _a.disabled, direction = _a.direction;
+ child.setData({
+ value: value.indexOf(child.data.name) !== -1,
+ parentDisabled: disabled,
+ direction: direction,
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/checkbox-group/index.json b/coupon/miniprogram/@vant/weapp/lib/checkbox-group/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/checkbox-group/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/checkbox-group/index.wxml b/coupon/miniprogram/@vant/weapp/lib/checkbox-group/index.wxml
new file mode 100644
index 0000000..638bf9d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/checkbox-group/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/checkbox-group/index.wxss b/coupon/miniprogram/@vant/weapp/lib/checkbox-group/index.wxss
new file mode 100644
index 0000000..c5666d7
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/checkbox-group/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-checkbox-group--horizontal{display:flex;flex-wrap:wrap}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/checkbox/index.js b/coupon/miniprogram/@vant/weapp/lib/checkbox/index.js
new file mode 100644
index 0000000..6247365
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/checkbox/index.js
@@ -0,0 +1,79 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var relation_1 = require("../common/relation");
+var component_1 = require("../common/component");
+function emit(target, value) {
+ target.$emit('input', value);
+ target.$emit('change', value);
+}
+(0, component_1.VantComponent)({
+ field: true,
+ relation: (0, relation_1.useParent)('checkbox-group'),
+ classes: ['icon-class', 'label-class'],
+ props: {
+ value: Boolean,
+ disabled: Boolean,
+ useIconSlot: Boolean,
+ checkedColor: String,
+ labelPosition: {
+ type: String,
+ value: 'right',
+ },
+ labelDisabled: Boolean,
+ shape: {
+ type: String,
+ value: 'round',
+ },
+ iconSize: {
+ type: null,
+ value: 20,
+ },
+ },
+ data: {
+ parentDisabled: false,
+ direction: 'vertical',
+ },
+ methods: {
+ emitChange: function (value) {
+ if (this.parent) {
+ this.setParentValue(this.parent, value);
+ }
+ else {
+ emit(this, value);
+ }
+ },
+ toggle: function () {
+ var _a = this.data, parentDisabled = _a.parentDisabled, disabled = _a.disabled, value = _a.value;
+ if (!disabled && !parentDisabled) {
+ this.emitChange(!value);
+ }
+ },
+ onClickLabel: function () {
+ var _a = this.data, labelDisabled = _a.labelDisabled, parentDisabled = _a.parentDisabled, disabled = _a.disabled, value = _a.value;
+ if (!disabled && !labelDisabled && !parentDisabled) {
+ this.emitChange(!value);
+ }
+ },
+ setParentValue: function (parent, value) {
+ var parentValue = parent.data.value.slice();
+ var name = this.data.name;
+ var max = parent.data.max;
+ if (value) {
+ if (max && parentValue.length >= max) {
+ return;
+ }
+ if (parentValue.indexOf(name) === -1) {
+ parentValue.push(name);
+ emit(parent, parentValue);
+ }
+ }
+ else {
+ var index = parentValue.indexOf(name);
+ if (index !== -1) {
+ parentValue.splice(index, 1);
+ emit(parent, parentValue);
+ }
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/checkbox/index.json b/coupon/miniprogram/@vant/weapp/lib/checkbox/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/checkbox/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/checkbox/index.wxml b/coupon/miniprogram/@vant/weapp/lib/checkbox/index.wxml
new file mode 100644
index 0000000..39a7bb0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/checkbox/index.wxml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/checkbox/index.wxs b/coupon/miniprogram/@vant/weapp/lib/checkbox/index.wxs
new file mode 100644
index 0000000..eb9c772
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/checkbox/index.wxs
@@ -0,0 +1,20 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function iconStyle(checkedColor, value, disabled, parentDisabled, iconSize) {
+ var styles = {
+ 'font-size': addUnit(iconSize),
+ };
+
+ if (checkedColor && value && !disabled && !parentDisabled) {
+ styles['border-color'] = checkedColor;
+ styles['background-color'] = checkedColor;
+ }
+
+ return style(styles);
+}
+
+module.exports = {
+ iconStyle: iconStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/checkbox/index.wxss b/coupon/miniprogram/@vant/weapp/lib/checkbox/index.wxss
new file mode 100644
index 0000000..da2272a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/checkbox/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-checkbox{align-items:center;display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.van-checkbox--horizontal{margin-right:12px}.van-checkbox__icon-wrap,.van-checkbox__label{line-height:var(--checkbox-size,20px)}.van-checkbox__icon-wrap{flex:none}.van-checkbox__icon{align-items:center;border:1px solid var(--checkbox-border-color,#c8c9cc);box-sizing:border-box;color:transparent;display:flex;font-size:var(--checkbox-size,20px);height:1em;justify-content:center;text-align:center;transition-duration:var(--checkbox-transition-duration,.2s);transition-property:color,border-color,background-color;width:1em}.van-checkbox__icon--round{border-radius:100%}.van-checkbox__icon--checked{background-color:var(--checkbox-checked-icon-color,#1989fa);border-color:var(--checkbox-checked-icon-color,#1989fa);color:#fff}.van-checkbox__icon--disabled{background-color:var(--checkbox-disabled-background-color,#ebedf0);border-color:var(--checkbox-disabled-icon-color,#c8c9cc)}.van-checkbox__icon--disabled.van-checkbox__icon--checked{color:var(--checkbox-disabled-icon-color,#c8c9cc)}.van-checkbox__label{word-wrap:break-word;color:var(--checkbox-label-color,#323233);padding-left:var(--checkbox-label-margin,10px)}.van-checkbox__label--left{float:left;margin:0 var(--checkbox-label-margin,10px) 0 0}.van-checkbox__label--disabled{color:var(--checkbox-disabled-label-color,#c8c9cc)}.van-checkbox__label:empty{margin:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/circle/canvas.js b/coupon/miniprogram/@vant/weapp/lib/circle/canvas.js
new file mode 100644
index 0000000..d81df74
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/circle/canvas.js
@@ -0,0 +1,47 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.adaptor = void 0;
+function adaptor(ctx) {
+ // @ts-ignore
+ return Object.assign(ctx, {
+ setStrokeStyle: function (val) {
+ ctx.strokeStyle = val;
+ },
+ setLineWidth: function (val) {
+ ctx.lineWidth = val;
+ },
+ setLineCap: function (val) {
+ ctx.lineCap = val;
+ },
+ setFillStyle: function (val) {
+ ctx.fillStyle = val;
+ },
+ setFontSize: function (val) {
+ ctx.font = String(val);
+ },
+ setGlobalAlpha: function (val) {
+ ctx.globalAlpha = val;
+ },
+ setLineJoin: function (val) {
+ ctx.lineJoin = val;
+ },
+ setTextAlign: function (val) {
+ ctx.textAlign = val;
+ },
+ setMiterLimit: function (val) {
+ ctx.miterLimit = val;
+ },
+ setShadow: function (offsetX, offsetY, blur, color) {
+ ctx.shadowOffsetX = offsetX;
+ ctx.shadowOffsetY = offsetY;
+ ctx.shadowBlur = blur;
+ ctx.shadowColor = color;
+ },
+ setTextBaseline: function (val) {
+ ctx.textBaseline = val;
+ },
+ createCircularGradient: function () { },
+ draw: function () { },
+ });
+}
+exports.adaptor = adaptor;
diff --git a/coupon/miniprogram/@vant/weapp/lib/circle/index.js b/coupon/miniprogram/@vant/weapp/lib/circle/index.js
new file mode 100644
index 0000000..9037e1c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/circle/index.js
@@ -0,0 +1,203 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var color_1 = require("../common/color");
+var component_1 = require("../common/component");
+var utils_1 = require("../common/utils");
+var validator_1 = require("../common/validator");
+var version_1 = require("../common/version");
+var canvas_1 = require("./canvas");
+function format(rate) {
+ return Math.min(Math.max(rate, 0), 100);
+}
+var PERIMETER = 2 * Math.PI;
+var BEGIN_ANGLE = -Math.PI / 2;
+var STEP = 1;
+(0, component_1.VantComponent)({
+ props: {
+ text: String,
+ lineCap: {
+ type: String,
+ value: 'round',
+ },
+ value: {
+ type: Number,
+ value: 0,
+ observer: 'reRender',
+ },
+ speed: {
+ type: Number,
+ value: 50,
+ },
+ size: {
+ type: Number,
+ value: 100,
+ observer: function () {
+ this.drawCircle(this.currentValue);
+ },
+ },
+ fill: String,
+ layerColor: {
+ type: String,
+ value: color_1.WHITE,
+ },
+ color: {
+ type: null,
+ value: color_1.BLUE,
+ observer: function () {
+ var _this = this;
+ this.setHoverColor().then(function () {
+ _this.drawCircle(_this.currentValue);
+ });
+ },
+ },
+ type: {
+ type: String,
+ value: '',
+ },
+ strokeWidth: {
+ type: Number,
+ value: 4,
+ },
+ clockwise: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ hoverColor: color_1.BLUE,
+ },
+ methods: {
+ getContext: function () {
+ var _this = this;
+ var _a = this.data, type = _a.type, size = _a.size;
+ if (type === '' || !(0, version_1.canIUseCanvas2d)()) {
+ var ctx = wx.createCanvasContext('van-circle', this);
+ return Promise.resolve(ctx);
+ }
+ var dpr = (0, utils_1.getSystemInfoSync)().pixelRatio;
+ return new Promise(function (resolve) {
+ wx.createSelectorQuery()
+ .in(_this)
+ .select('#van-circle')
+ .node()
+ .exec(function (res) {
+ var canvas = res[0].node;
+ var ctx = canvas.getContext(type);
+ if (!_this.inited) {
+ _this.inited = true;
+ canvas.width = size * dpr;
+ canvas.height = size * dpr;
+ ctx.scale(dpr, dpr);
+ }
+ resolve((0, canvas_1.adaptor)(ctx));
+ });
+ });
+ },
+ setHoverColor: function () {
+ var _this = this;
+ var _a = this.data, color = _a.color, size = _a.size;
+ if ((0, validator_1.isObj)(color)) {
+ return this.getContext().then(function (context) {
+ var LinearColor = context.createLinearGradient(size, 0, 0, 0);
+ Object.keys(color)
+ .sort(function (a, b) { return parseFloat(a) - parseFloat(b); })
+ .map(function (key) {
+ return LinearColor.addColorStop(parseFloat(key) / 100, color[key]);
+ });
+ _this.hoverColor = LinearColor;
+ });
+ }
+ this.hoverColor = color;
+ return Promise.resolve();
+ },
+ presetCanvas: function (context, strokeStyle, beginAngle, endAngle, fill) {
+ var _a = this.data, strokeWidth = _a.strokeWidth, lineCap = _a.lineCap, clockwise = _a.clockwise, size = _a.size;
+ var position = size / 2;
+ var radius = position - strokeWidth / 2;
+ context.setStrokeStyle(strokeStyle);
+ context.setLineWidth(strokeWidth);
+ context.setLineCap(lineCap);
+ context.beginPath();
+ context.arc(position, position, radius, beginAngle, endAngle, !clockwise);
+ context.stroke();
+ if (fill) {
+ context.setFillStyle(fill);
+ context.fill();
+ }
+ },
+ renderLayerCircle: function (context) {
+ var _a = this.data, layerColor = _a.layerColor, fill = _a.fill;
+ this.presetCanvas(context, layerColor, 0, PERIMETER, fill);
+ },
+ renderHoverCircle: function (context, formatValue) {
+ var clockwise = this.data.clockwise;
+ // 结束角度
+ var progress = PERIMETER * (formatValue / 100);
+ var endAngle = clockwise
+ ? BEGIN_ANGLE + progress
+ : 3 * Math.PI - (BEGIN_ANGLE + progress);
+ this.presetCanvas(context, this.hoverColor, BEGIN_ANGLE, endAngle);
+ },
+ drawCircle: function (currentValue) {
+ var _this = this;
+ var size = this.data.size;
+ this.getContext().then(function (context) {
+ context.clearRect(0, 0, size, size);
+ _this.renderLayerCircle(context);
+ var formatValue = format(currentValue);
+ if (formatValue !== 0) {
+ _this.renderHoverCircle(context, formatValue);
+ }
+ context.draw();
+ });
+ },
+ reRender: function () {
+ var _this = this;
+ // tofector 动画暂时没有想到好的解决方案
+ var _a = this.data, value = _a.value, speed = _a.speed;
+ if (speed <= 0 || speed > 1000) {
+ this.drawCircle(value);
+ return;
+ }
+ this.clearMockInterval();
+ this.currentValue = this.currentValue || 0;
+ var run = function () {
+ _this.interval = setTimeout(function () {
+ if (_this.currentValue !== value) {
+ if (Math.abs(_this.currentValue - value) < STEP) {
+ _this.currentValue = value;
+ }
+ else if (_this.currentValue < value) {
+ _this.currentValue += STEP;
+ }
+ else {
+ _this.currentValue -= STEP;
+ }
+ _this.drawCircle(_this.currentValue);
+ run();
+ }
+ else {
+ _this.clearMockInterval();
+ }
+ }, 1000 / speed);
+ };
+ run();
+ },
+ clearMockInterval: function () {
+ if (this.interval) {
+ clearTimeout(this.interval);
+ this.interval = null;
+ }
+ },
+ },
+ mounted: function () {
+ var _this = this;
+ this.currentValue = this.data.value;
+ this.setHoverColor().then(function () {
+ _this.drawCircle(_this.currentValue);
+ });
+ },
+ destroyed: function () {
+ this.clearMockInterval();
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/circle/index.json b/coupon/miniprogram/@vant/weapp/lib/circle/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/circle/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/circle/index.wxml b/coupon/miniprogram/@vant/weapp/lib/circle/index.wxml
new file mode 100644
index 0000000..52bc59f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/circle/index.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+ {{ text }}
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/circle/index.wxss b/coupon/miniprogram/@vant/weapp/lib/circle/index.wxss
new file mode 100644
index 0000000..2200751
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/circle/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-circle{display:inline-block;position:relative;text-align:center}.van-circle__text{color:var(--circle-text-color,#323233);left:0;position:absolute;top:50%;transform:translateY(-50%);width:100%}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/col/index.js b/coupon/miniprogram/@vant/weapp/lib/col/index.js
new file mode 100644
index 0000000..63c56eb
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/col/index.js
@@ -0,0 +1,11 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var relation_1 = require("../common/relation");
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useParent)('row'),
+ props: {
+ span: Number,
+ offset: Number,
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/col/index.json b/coupon/miniprogram/@vant/weapp/lib/col/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/col/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/col/index.wxml b/coupon/miniprogram/@vant/weapp/lib/col/index.wxml
new file mode 100644
index 0000000..975348b
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/col/index.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/col/index.wxs b/coupon/miniprogram/@vant/weapp/lib/col/index.wxs
new file mode 100644
index 0000000..507c1cb
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/col/index.wxs
@@ -0,0 +1,18 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ if (!data.gutter) {
+ return '';
+ }
+
+ return style({
+ 'padding-right': addUnit(data.gutter / 2),
+ 'padding-left': addUnit(data.gutter / 2),
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/col/index.wxss b/coupon/miniprogram/@vant/weapp/lib/col/index.wxss
new file mode 100644
index 0000000..2fa265e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/col/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-col{box-sizing:border-box;float:left}.van-col--1{width:4.16666667%}.van-col--offset-1{margin-left:4.16666667%}.van-col--2{width:8.33333333%}.van-col--offset-2{margin-left:8.33333333%}.van-col--3{width:12.5%}.van-col--offset-3{margin-left:12.5%}.van-col--4{width:16.66666667%}.van-col--offset-4{margin-left:16.66666667%}.van-col--5{width:20.83333333%}.van-col--offset-5{margin-left:20.83333333%}.van-col--6{width:25%}.van-col--offset-6{margin-left:25%}.van-col--7{width:29.16666667%}.van-col--offset-7{margin-left:29.16666667%}.van-col--8{width:33.33333333%}.van-col--offset-8{margin-left:33.33333333%}.van-col--9{width:37.5%}.van-col--offset-9{margin-left:37.5%}.van-col--10{width:41.66666667%}.van-col--offset-10{margin-left:41.66666667%}.van-col--11{width:45.83333333%}.van-col--offset-11{margin-left:45.83333333%}.van-col--12{width:50%}.van-col--offset-12{margin-left:50%}.van-col--13{width:54.16666667%}.van-col--offset-13{margin-left:54.16666667%}.van-col--14{width:58.33333333%}.van-col--offset-14{margin-left:58.33333333%}.van-col--15{width:62.5%}.van-col--offset-15{margin-left:62.5%}.van-col--16{width:66.66666667%}.van-col--offset-16{margin-left:66.66666667%}.van-col--17{width:70.83333333%}.van-col--offset-17{margin-left:70.83333333%}.van-col--18{width:75%}.van-col--offset-18{margin-left:75%}.van-col--19{width:79.16666667%}.van-col--offset-19{margin-left:79.16666667%}.van-col--20{width:83.33333333%}.van-col--offset-20{margin-left:83.33333333%}.van-col--21{width:87.5%}.van-col--offset-21{margin-left:87.5%}.van-col--22{width:91.66666667%}.van-col--offset-22{margin-left:91.66666667%}.van-col--23{width:95.83333333%}.van-col--offset-23{margin-left:95.83333333%}.van-col--24{width:100%}.van-col--offset-24{margin-left:100%}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/collapse-item/animate.js b/coupon/miniprogram/@vant/weapp/lib/collapse-item/animate.js
new file mode 100644
index 0000000..5734087
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/collapse-item/animate.js
@@ -0,0 +1,43 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.setContentAnimate = void 0;
+var utils_1 = require("../common/utils");
+function useAnimation(context, expanded, mounted, height) {
+ var animation = wx.createAnimation({
+ duration: 0,
+ timingFunction: 'ease-in-out',
+ });
+ if (expanded) {
+ if (height === 0) {
+ animation.height('auto').top(1).step();
+ }
+ else {
+ animation
+ .height(height)
+ .top(1)
+ .step({
+ duration: mounted ? 300 : 1,
+ })
+ .height('auto')
+ .step();
+ }
+ context.setData({
+ animation: animation.export(),
+ });
+ return;
+ }
+ animation.height(height).top(0).step({ duration: 1 }).height(0).step({
+ duration: 300,
+ });
+ context.setData({
+ animation: animation.export(),
+ });
+}
+function setContentAnimate(context, expanded, mounted) {
+ (0, utils_1.getRect)(context, '.van-collapse-item__content')
+ .then(function (rect) { return rect.height; })
+ .then(function (height) {
+ useAnimation(context, expanded, mounted, height);
+ });
+}
+exports.setContentAnimate = setContentAnimate;
diff --git a/coupon/miniprogram/@vant/weapp/lib/collapse-item/index.js b/coupon/miniprogram/@vant/weapp/lib/collapse-item/index.js
new file mode 100644
index 0000000..473d8e2
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/collapse-item/index.js
@@ -0,0 +1,61 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+var animate_1 = require("./animate");
+(0, component_1.VantComponent)({
+ classes: ['title-class', 'content-class'],
+ relation: (0, relation_1.useParent)('collapse'),
+ props: {
+ name: null,
+ title: null,
+ value: null,
+ icon: String,
+ label: String,
+ disabled: Boolean,
+ clickable: Boolean,
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ isLink: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ expanded: false,
+ },
+ mounted: function () {
+ this.updateExpanded();
+ this.mounted = true;
+ },
+ methods: {
+ updateExpanded: function () {
+ if (!this.parent) {
+ return;
+ }
+ var _a = this.parent.data, value = _a.value, accordion = _a.accordion;
+ var _b = this.parent.children, children = _b === void 0 ? [] : _b;
+ var name = this.data.name;
+ var index = children.indexOf(this);
+ var currentName = name == null ? index : name;
+ var expanded = accordion
+ ? value === currentName
+ : (value || []).some(function (name) { return name === currentName; });
+ if (expanded !== this.data.expanded) {
+ (0, animate_1.setContentAnimate)(this, expanded, this.mounted);
+ }
+ this.setData({ index: index, expanded: expanded });
+ },
+ onClick: function () {
+ if (this.data.disabled) {
+ return;
+ }
+ var _a = this.data, name = _a.name, expanded = _a.expanded;
+ var index = this.parent.children.indexOf(this);
+ var currentName = name == null ? index : name;
+ this.parent.switch(currentName, !expanded);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/collapse-item/index.json b/coupon/miniprogram/@vant/weapp/lib/collapse-item/index.json
new file mode 100644
index 0000000..0e5425c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/collapse-item/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-cell": "../cell/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/collapse-item/index.wxml b/coupon/miniprogram/@vant/weapp/lib/collapse-item/index.wxml
new file mode 100644
index 0000000..ae4cc83
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/collapse-item/index.wxml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/collapse-item/index.wxss b/coupon/miniprogram/@vant/weapp/lib/collapse-item/index.wxss
new file mode 100644
index 0000000..4a65b5a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/collapse-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-collapse-item__title .van-cell__right-icon{transform:rotate(90deg);transition:transform var(--collapse-item-transition-duration,.3s)}.van-collapse-item__title--expanded .van-cell__right-icon{transform:rotate(-90deg)}.van-collapse-item__title--disabled .van-cell,.van-collapse-item__title--disabled .van-cell__right-icon{color:var(--collapse-item-title-disabled-color,#c8c9cc)!important}.van-collapse-item__title--disabled .van-cell--hover{background-color:#fff!important}.van-collapse-item__wrapper{overflow:hidden}.van-collapse-item__content{background-color:var(--collapse-item-content-background-color,#fff);color:var(--collapse-item-content-text-color,#969799);font-size:var(--collapse-item-content-font-size,13px);line-height:var(--collapse-item-content-line-height,1.5);padding:var(--collapse-item-content-padding,15px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/collapse/index.js b/coupon/miniprogram/@vant/weapp/lib/collapse/index.js
new file mode 100644
index 0000000..943d542
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/collapse/index.js
@@ -0,0 +1,48 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useChildren)('collapse-item'),
+ props: {
+ value: {
+ type: null,
+ observer: 'updateExpanded',
+ },
+ accordion: {
+ type: Boolean,
+ observer: 'updateExpanded',
+ },
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ updateExpanded: function () {
+ this.children.forEach(function (child) {
+ child.updateExpanded();
+ });
+ },
+ switch: function (name, expanded) {
+ var _a = this.data, accordion = _a.accordion, value = _a.value;
+ var changeItem = name;
+ if (!accordion) {
+ name = expanded
+ ? (value || []).concat(name)
+ : (value || []).filter(function (activeName) { return activeName !== name; });
+ }
+ else {
+ name = expanded ? name : '';
+ }
+ if (expanded) {
+ this.$emit('open', changeItem);
+ }
+ else {
+ this.$emit('close', changeItem);
+ }
+ this.$emit('change', name);
+ this.$emit('input', name);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/collapse/index.json b/coupon/miniprogram/@vant/weapp/lib/collapse/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/collapse/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/collapse/index.wxml b/coupon/miniprogram/@vant/weapp/lib/collapse/index.wxml
new file mode 100644
index 0000000..fd4e171
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/collapse/index.wxml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/collapse/index.wxss b/coupon/miniprogram/@vant/weapp/lib/collapse/index.wxss
new file mode 100644
index 0000000..99694d6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/collapse/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/common/color.js b/coupon/miniprogram/@vant/weapp/lib/common/color.js
new file mode 100644
index 0000000..008a45a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/common/color.js
@@ -0,0 +1,10 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.GRAY_DARK = exports.GRAY = exports.ORANGE = exports.GREEN = exports.WHITE = exports.BLUE = exports.RED = void 0;
+exports.RED = '#ee0a24';
+exports.BLUE = '#1989fa';
+exports.WHITE = '#fff';
+exports.GREEN = '#07c160';
+exports.ORANGE = '#ff976a';
+exports.GRAY = '#323233';
+exports.GRAY_DARK = '#969799';
diff --git a/coupon/miniprogram/@vant/weapp/lib/common/component.js b/coupon/miniprogram/@vant/weapp/lib/common/component.js
new file mode 100644
index 0000000..f1ab5c9
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/common/component.js
@@ -0,0 +1,48 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.VantComponent = void 0;
+var basic_1 = require("../mixins/basic");
+function mapKeys(source, target, map) {
+ Object.keys(map).forEach(function (key) {
+ if (source[key]) {
+ target[map[key]] = source[key];
+ }
+ });
+}
+function VantComponent(vantOptions) {
+ var options = {};
+ mapKeys(vantOptions, options, {
+ data: 'data',
+ props: 'properties',
+ mixins: 'behaviors',
+ methods: 'methods',
+ beforeCreate: 'created',
+ created: 'attached',
+ mounted: 'ready',
+ destroyed: 'detached',
+ classes: 'externalClasses',
+ });
+ // add default externalClasses
+ options.externalClasses = options.externalClasses || [];
+ options.externalClasses.push('custom-class');
+ // add default behaviors
+ options.behaviors = options.behaviors || [];
+ options.behaviors.push(basic_1.basic);
+ // add relations
+ var relation = vantOptions.relation;
+ if (relation) {
+ options.relations = relation.relations;
+ options.behaviors.push(relation.mixin);
+ }
+ // map field to form-field behavior
+ if (vantOptions.field) {
+ options.behaviors.push('wx://form-field');
+ }
+ // add default options
+ options.options = {
+ multipleSlots: true,
+ addGlobalClass: true,
+ };
+ Component(options);
+}
+exports.VantComponent = VantComponent;
diff --git a/coupon/miniprogram/@vant/weapp/lib/common/index.wxss b/coupon/miniprogram/@vant/weapp/lib/common/index.wxss
new file mode 100644
index 0000000..a73bb7a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/common/index.wxss
@@ -0,0 +1 @@
+.van-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.van-multi-ellipsis--l3{-webkit-line-clamp:3}.van-clearfix:after{clear:both;content:"";display:table}.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom:after,.van-hairline--left:after,.van-hairline--right:after,.van-hairline--surround:after,.van-hairline--top-bottom:after,.van-hairline--top:after,.van-hairline:after{border:0 solid #ebedf0;bottom:-50%;box-sizing:border-box;content:" ";left:-50%;pointer-events:none;position:absolute;right:-50%;top:-50%;transform:scale(.5);transform-origin:center}.van-hairline--top:after{border-top-width:1px}.van-hairline--left:after{border-left-width:1px}.van-hairline--right:after{border-right-width:1px}.van-hairline--bottom:after{border-bottom-width:1px}.van-hairline--top-bottom:after{border-width:1px 0}.van-hairline--surround:after{border-width:1px}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/common/relation.js b/coupon/miniprogram/@vant/weapp/lib/common/relation.js
new file mode 100644
index 0000000..bcf3f8a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/common/relation.js
@@ -0,0 +1,65 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.useChildren = exports.useParent = void 0;
+function useParent(name, onEffect) {
+ var _a;
+ var path = "../" + name + "/index";
+ return {
+ relations: (_a = {},
+ _a[path] = {
+ type: 'ancestor',
+ linked: function () {
+ onEffect && onEffect.call(this);
+ },
+ linkChanged: function () {
+ onEffect && onEffect.call(this);
+ },
+ unlinked: function () {
+ onEffect && onEffect.call(this);
+ },
+ },
+ _a),
+ mixin: Behavior({
+ created: function () {
+ var _this = this;
+ Object.defineProperty(this, 'parent', {
+ get: function () { return _this.getRelationNodes(path)[0]; },
+ });
+ Object.defineProperty(this, 'index', {
+ // @ts-ignore
+ get: function () { var _a, _b; return (_b = (_a = _this.parent) === null || _a === void 0 ? void 0 : _a.children) === null || _b === void 0 ? void 0 : _b.indexOf(_this); },
+ });
+ },
+ }),
+ };
+}
+exports.useParent = useParent;
+function useChildren(name, onEffect) {
+ var _a;
+ var path = "../" + name + "/index";
+ return {
+ relations: (_a = {},
+ _a[path] = {
+ type: 'descendant',
+ linked: function (target) {
+ onEffect && onEffect.call(this, target);
+ },
+ linkChanged: function (target) {
+ onEffect && onEffect.call(this, target);
+ },
+ unlinked: function (target) {
+ onEffect && onEffect.call(this, target);
+ },
+ },
+ _a),
+ mixin: Behavior({
+ created: function () {
+ var _this = this;
+ Object.defineProperty(this, 'children', {
+ get: function () { return _this.getRelationNodes(path) || []; },
+ });
+ },
+ }),
+ };
+}
+exports.useChildren = useChildren;
diff --git a/coupon/miniprogram/@vant/weapp/lib/common/style/clearfix.wxss b/coupon/miniprogram/@vant/weapp/lib/common/style/clearfix.wxss
new file mode 100644
index 0000000..442246f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/common/style/clearfix.wxss
@@ -0,0 +1 @@
+.van-clearfix:after{clear:both;content:"";display:table}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/common/style/ellipsis.wxss b/coupon/miniprogram/@vant/weapp/lib/common/style/ellipsis.wxss
new file mode 100644
index 0000000..ee701df
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/common/style/ellipsis.wxss
@@ -0,0 +1 @@
+.van-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.van-multi-ellipsis--l3{-webkit-line-clamp:3}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/common/style/hairline.wxss b/coupon/miniprogram/@vant/weapp/lib/common/style/hairline.wxss
new file mode 100644
index 0000000..f7c6260
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/common/style/hairline.wxss
@@ -0,0 +1 @@
+.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom:after,.van-hairline--left:after,.van-hairline--right:after,.van-hairline--surround:after,.van-hairline--top-bottom:after,.van-hairline--top:after,.van-hairline:after{border:0 solid #ebedf0;bottom:-50%;box-sizing:border-box;content:" ";left:-50%;pointer-events:none;position:absolute;right:-50%;top:-50%;transform:scale(.5);transform-origin:center}.van-hairline--top:after{border-top-width:1px}.van-hairline--left:after{border-left-width:1px}.van-hairline--right:after{border-right-width:1px}.van-hairline--bottom:after{border-bottom-width:1px}.van-hairline--top-bottom:after{border-width:1px 0}.van-hairline--surround:after{border-width:1px}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/common/style/mixins/clearfix.wxss b/coupon/miniprogram/@vant/weapp/lib/common/style/mixins/clearfix.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/coupon/miniprogram/@vant/weapp/lib/common/style/mixins/ellipsis.wxss b/coupon/miniprogram/@vant/weapp/lib/common/style/mixins/ellipsis.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/coupon/miniprogram/@vant/weapp/lib/common/style/mixins/hairline.wxss b/coupon/miniprogram/@vant/weapp/lib/common/style/mixins/hairline.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/coupon/miniprogram/@vant/weapp/lib/common/style/var.wxss b/coupon/miniprogram/@vant/weapp/lib/common/style/var.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/coupon/miniprogram/@vant/weapp/lib/common/utils.js b/coupon/miniprogram/@vant/weapp/lib/common/utils.js
new file mode 100644
index 0000000..f4cd3ac
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/common/utils.js
@@ -0,0 +1,113 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.getCurrentPage = exports.toPromise = exports.groupSetData = exports.getAllRect = exports.getRect = exports.pickExclude = exports.requestAnimationFrame = exports.addUnit = exports.getSystemInfoSync = exports.nextTick = exports.range = exports.isDef = void 0;
+var validator_1 = require("./validator");
+var version_1 = require("./version");
+var validator_2 = require("./validator");
+Object.defineProperty(exports, "isDef", { enumerable: true, get: function () { return validator_2.isDef; } });
+function range(num, min, max) {
+ return Math.min(Math.max(num, min), max);
+}
+exports.range = range;
+function nextTick(cb) {
+ if ((0, version_1.canIUseNextTick)()) {
+ wx.nextTick(cb);
+ }
+ else {
+ setTimeout(function () {
+ cb();
+ }, 1000 / 30);
+ }
+}
+exports.nextTick = nextTick;
+var systemInfo;
+function getSystemInfoSync() {
+ if (systemInfo == null) {
+ systemInfo = wx.getSystemInfoSync();
+ }
+ return systemInfo;
+}
+exports.getSystemInfoSync = getSystemInfoSync;
+function addUnit(value) {
+ if (!(0, validator_1.isDef)(value)) {
+ return undefined;
+ }
+ value = String(value);
+ return (0, validator_1.isNumber)(value) ? value + "px" : value;
+}
+exports.addUnit = addUnit;
+function requestAnimationFrame(cb) {
+ var systemInfo = getSystemInfoSync();
+ if (systemInfo.platform === 'devtools') {
+ return setTimeout(function () {
+ cb();
+ }, 1000 / 30);
+ }
+ return wx
+ .createSelectorQuery()
+ .selectViewport()
+ .boundingClientRect()
+ .exec(function () {
+ cb();
+ });
+}
+exports.requestAnimationFrame = requestAnimationFrame;
+function pickExclude(obj, keys) {
+ if (!(0, validator_1.isPlainObject)(obj)) {
+ return {};
+ }
+ return Object.keys(obj).reduce(function (prev, key) {
+ if (!keys.includes(key)) {
+ prev[key] = obj[key];
+ }
+ return prev;
+ }, {});
+}
+exports.pickExclude = pickExclude;
+function getRect(context, selector) {
+ return new Promise(function (resolve) {
+ wx.createSelectorQuery()
+ .in(context)
+ .select(selector)
+ .boundingClientRect()
+ .exec(function (rect) {
+ if (rect === void 0) { rect = []; }
+ return resolve(rect[0]);
+ });
+ });
+}
+exports.getRect = getRect;
+function getAllRect(context, selector) {
+ return new Promise(function (resolve) {
+ wx.createSelectorQuery()
+ .in(context)
+ .selectAll(selector)
+ .boundingClientRect()
+ .exec(function (rect) {
+ if (rect === void 0) { rect = []; }
+ return resolve(rect[0]);
+ });
+ });
+}
+exports.getAllRect = getAllRect;
+function groupSetData(context, cb) {
+ if ((0, version_1.canIUseGroupSetData)()) {
+ context.groupSetData(cb);
+ }
+ else {
+ cb();
+ }
+}
+exports.groupSetData = groupSetData;
+function toPromise(promiseLike) {
+ if ((0, validator_1.isPromise)(promiseLike)) {
+ return promiseLike;
+ }
+ return Promise.resolve(promiseLike);
+}
+exports.toPromise = toPromise;
+function getCurrentPage() {
+ var pages = getCurrentPages();
+ return pages[pages.length - 1];
+}
+exports.getCurrentPage = getCurrentPage;
diff --git a/coupon/miniprogram/@vant/weapp/lib/common/validator.js b/coupon/miniprogram/@vant/weapp/lib/common/validator.js
new file mode 100644
index 0000000..169e796
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/common/validator.js
@@ -0,0 +1,43 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.isVideoUrl = exports.isImageUrl = exports.isBoolean = exports.isNumber = exports.isObj = exports.isDef = exports.isPromise = exports.isPlainObject = exports.isFunction = void 0;
+// eslint-disable-next-line @typescript-eslint/ban-types
+function isFunction(val) {
+ return typeof val === 'function';
+}
+exports.isFunction = isFunction;
+function isPlainObject(val) {
+ return val !== null && typeof val === 'object' && !Array.isArray(val);
+}
+exports.isPlainObject = isPlainObject;
+function isPromise(val) {
+ return isPlainObject(val) && isFunction(val.then) && isFunction(val.catch);
+}
+exports.isPromise = isPromise;
+function isDef(value) {
+ return value !== undefined && value !== null;
+}
+exports.isDef = isDef;
+function isObj(x) {
+ var type = typeof x;
+ return x !== null && (type === 'object' || type === 'function');
+}
+exports.isObj = isObj;
+function isNumber(value) {
+ return /^\d+(\.\d+)?$/.test(value);
+}
+exports.isNumber = isNumber;
+function isBoolean(value) {
+ return typeof value === 'boolean';
+}
+exports.isBoolean = isBoolean;
+var IMAGE_REGEXP = /\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i;
+var VIDEO_REGEXP = /\.(mp4|mpg|mpeg|dat|asf|avi|rm|rmvb|mov|wmv|flv|mkv)/i;
+function isImageUrl(url) {
+ return IMAGE_REGEXP.test(url);
+}
+exports.isImageUrl = isImageUrl;
+function isVideoUrl(url) {
+ return VIDEO_REGEXP.test(url);
+}
+exports.isVideoUrl = isVideoUrl;
diff --git a/coupon/miniprogram/@vant/weapp/lib/common/version.js b/coupon/miniprogram/@vant/weapp/lib/common/version.js
new file mode 100644
index 0000000..1e49e30
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/common/version.js
@@ -0,0 +1,58 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.canIUseGetUserProfile = exports.canIUseCanvas2d = exports.canIUseNextTick = exports.canIUseGroupSetData = exports.canIUseAnimate = exports.canIUseFormFieldButton = exports.canIUseModel = void 0;
+var utils_1 = require("./utils");
+function compareVersion(v1, v2) {
+ v1 = v1.split('.');
+ v2 = v2.split('.');
+ var len = Math.max(v1.length, v2.length);
+ while (v1.length < len) {
+ v1.push('0');
+ }
+ while (v2.length < len) {
+ v2.push('0');
+ }
+ for (var i = 0; i < len; i++) {
+ var num1 = parseInt(v1[i], 10);
+ var num2 = parseInt(v2[i], 10);
+ if (num1 > num2) {
+ return 1;
+ }
+ if (num1 < num2) {
+ return -1;
+ }
+ }
+ return 0;
+}
+function gte(version) {
+ var system = (0, utils_1.getSystemInfoSync)();
+ return compareVersion(system.SDKVersion, version) >= 0;
+}
+function canIUseModel() {
+ return gte('2.9.3');
+}
+exports.canIUseModel = canIUseModel;
+function canIUseFormFieldButton() {
+ return gte('2.10.3');
+}
+exports.canIUseFormFieldButton = canIUseFormFieldButton;
+function canIUseAnimate() {
+ return gte('2.9.0');
+}
+exports.canIUseAnimate = canIUseAnimate;
+function canIUseGroupSetData() {
+ return gte('2.4.0');
+}
+exports.canIUseGroupSetData = canIUseGroupSetData;
+function canIUseNextTick() {
+ return wx.canIUse('nextTick');
+}
+exports.canIUseNextTick = canIUseNextTick;
+function canIUseCanvas2d() {
+ return gte('2.9.0');
+}
+exports.canIUseCanvas2d = canIUseCanvas2d;
+function canIUseGetUserProfile() {
+ return !!wx.getUserProfile;
+}
+exports.canIUseGetUserProfile = canIUseGetUserProfile;
diff --git a/coupon/miniprogram/@vant/weapp/lib/config-provider/index.js b/coupon/miniprogram/@vant/weapp/lib/config-provider/index.js
new file mode 100644
index 0000000..21fb1c4
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/config-provider/index.js
@@ -0,0 +1,11 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ themeVars: {
+ type: Object,
+ value: {},
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/config-provider/index.json b/coupon/miniprogram/@vant/weapp/lib/config-provider/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/config-provider/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/config-provider/index.wxml b/coupon/miniprogram/@vant/weapp/lib/config-provider/index.wxml
new file mode 100644
index 0000000..3cfb461
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/config-provider/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/config-provider/index.wxs b/coupon/miniprogram/@vant/weapp/lib/config-provider/index.wxs
new file mode 100644
index 0000000..7ca0203
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/config-provider/index.wxs
@@ -0,0 +1,29 @@
+/* eslint-disable */
+var object = require('../wxs/object.wxs');
+var style = require('../wxs/style.wxs');
+
+function kebabCase(word) {
+ var newWord = word
+ .replace(getRegExp("[A-Z]", 'g'), function (i) {
+ return '-' + i;
+ })
+ .toLowerCase()
+ .replace(getRegExp("^-"), '');
+
+ return newWord;
+}
+
+function mapThemeVarsToCSSVars(themeVars) {
+ var cssVars = {};
+ object.keys(themeVars).forEach(function (key) {
+ var cssVarsKey = '--' + kebabCase(key);
+ cssVars[cssVarsKey] = themeVars[key];
+ });
+
+ return style(cssVars);
+}
+
+module.exports = {
+ kebabCase: kebabCase,
+ mapThemeVarsToCSSVars: mapThemeVarsToCSSVars,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/count-down/index.js b/coupon/miniprogram/@vant/weapp/lib/count-down/index.js
new file mode 100644
index 0000000..afc780b
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/count-down/index.js
@@ -0,0 +1,104 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var utils_1 = require("./utils");
+function simpleTick(fn) {
+ return setTimeout(fn, 30);
+}
+(0, component_1.VantComponent)({
+ props: {
+ useSlot: Boolean,
+ millisecond: Boolean,
+ time: {
+ type: Number,
+ observer: 'reset',
+ },
+ format: {
+ type: String,
+ value: 'HH:mm:ss',
+ },
+ autoStart: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ timeData: (0, utils_1.parseTimeData)(0),
+ formattedTime: '0',
+ },
+ destroyed: function () {
+ clearTimeout(this.tid);
+ this.tid = null;
+ },
+ methods: {
+ // 开始
+ start: function () {
+ if (this.counting) {
+ return;
+ }
+ this.counting = true;
+ this.endTime = Date.now() + this.remain;
+ this.tick();
+ },
+ // 暂停
+ pause: function () {
+ this.counting = false;
+ clearTimeout(this.tid);
+ },
+ // 重置
+ reset: function () {
+ this.pause();
+ this.remain = this.data.time;
+ this.setRemain(this.remain);
+ if (this.data.autoStart) {
+ this.start();
+ }
+ },
+ tick: function () {
+ if (this.data.millisecond) {
+ this.microTick();
+ }
+ else {
+ this.macroTick();
+ }
+ },
+ microTick: function () {
+ var _this = this;
+ this.tid = simpleTick(function () {
+ _this.setRemain(_this.getRemain());
+ if (_this.remain !== 0) {
+ _this.microTick();
+ }
+ });
+ },
+ macroTick: function () {
+ var _this = this;
+ this.tid = simpleTick(function () {
+ var remain = _this.getRemain();
+ if (!(0, utils_1.isSameSecond)(remain, _this.remain) || remain === 0) {
+ _this.setRemain(remain);
+ }
+ if (_this.remain !== 0) {
+ _this.macroTick();
+ }
+ });
+ },
+ getRemain: function () {
+ return Math.max(this.endTime - Date.now(), 0);
+ },
+ setRemain: function (remain) {
+ this.remain = remain;
+ var timeData = (0, utils_1.parseTimeData)(remain);
+ if (this.data.useSlot) {
+ this.$emit('change', timeData);
+ }
+ this.setData({
+ formattedTime: (0, utils_1.parseFormat)(this.data.format, timeData),
+ });
+ if (remain === 0) {
+ this.pause();
+ this.$emit('finish');
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/count-down/index.json b/coupon/miniprogram/@vant/weapp/lib/count-down/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/count-down/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/count-down/index.wxml b/coupon/miniprogram/@vant/weapp/lib/count-down/index.wxml
new file mode 100644
index 0000000..e206e16
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/count-down/index.wxml
@@ -0,0 +1,4 @@
+
+
+ {{ formattedTime }}
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/count-down/index.wxss b/coupon/miniprogram/@vant/weapp/lib/count-down/index.wxss
new file mode 100644
index 0000000..8b957f7
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/count-down/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-count-down{color:var(--count-down-text-color,#323233);font-size:var(--count-down-font-size,14px);line-height:var(--count-down-line-height,20px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/count-down/utils.js b/coupon/miniprogram/@vant/weapp/lib/count-down/utils.js
new file mode 100644
index 0000000..a7cfa5f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/count-down/utils.js
@@ -0,0 +1,64 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.isSameSecond = exports.parseFormat = exports.parseTimeData = void 0;
+function padZero(num, targetLength) {
+ if (targetLength === void 0) { targetLength = 2; }
+ var str = num + '';
+ while (str.length < targetLength) {
+ str = '0' + str;
+ }
+ return str;
+}
+var SECOND = 1000;
+var MINUTE = 60 * SECOND;
+var HOUR = 60 * MINUTE;
+var DAY = 24 * HOUR;
+function parseTimeData(time) {
+ var days = Math.floor(time / DAY);
+ var hours = Math.floor((time % DAY) / HOUR);
+ var minutes = Math.floor((time % HOUR) / MINUTE);
+ var seconds = Math.floor((time % MINUTE) / SECOND);
+ var milliseconds = Math.floor(time % SECOND);
+ return {
+ days: days,
+ hours: hours,
+ minutes: minutes,
+ seconds: seconds,
+ milliseconds: milliseconds,
+ };
+}
+exports.parseTimeData = parseTimeData;
+function parseFormat(format, timeData) {
+ var days = timeData.days;
+ var hours = timeData.hours, minutes = timeData.minutes, seconds = timeData.seconds, milliseconds = timeData.milliseconds;
+ if (format.indexOf('DD') === -1) {
+ hours += days * 24;
+ }
+ else {
+ format = format.replace('DD', padZero(days));
+ }
+ if (format.indexOf('HH') === -1) {
+ minutes += hours * 60;
+ }
+ else {
+ format = format.replace('HH', padZero(hours));
+ }
+ if (format.indexOf('mm') === -1) {
+ seconds += minutes * 60;
+ }
+ else {
+ format = format.replace('mm', padZero(minutes));
+ }
+ if (format.indexOf('ss') === -1) {
+ milliseconds += seconds * 1000;
+ }
+ else {
+ format = format.replace('ss', padZero(seconds));
+ }
+ return format.replace('SSS', padZero(milliseconds, 3));
+}
+exports.parseFormat = parseFormat;
+function isSameSecond(time1, time2) {
+ return Math.floor(time1 / 1000) === Math.floor(time2 / 1000);
+}
+exports.isSameSecond = isSameSecond;
diff --git a/coupon/miniprogram/@vant/weapp/lib/datetime-picker/index.js b/coupon/miniprogram/@vant/weapp/lib/datetime-picker/index.js
new file mode 100644
index 0000000..9f9679c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/datetime-picker/index.js
@@ -0,0 +1,329 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+ if (ar || !(i in from)) {
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+ ar[i] = from[i];
+ }
+ }
+ return to.concat(ar || Array.prototype.slice.call(from));
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var validator_1 = require("../common/validator");
+var shared_1 = require("../picker/shared");
+var currentYear = new Date().getFullYear();
+function isValidDate(date) {
+ return (0, validator_1.isDef)(date) && !isNaN(new Date(date).getTime());
+}
+function range(num, min, max) {
+ return Math.min(Math.max(num, min), max);
+}
+function padZero(val) {
+ return ("00" + val).slice(-2);
+}
+function times(n, iteratee) {
+ var index = -1;
+ var result = Array(n < 0 ? 0 : n);
+ while (++index < n) {
+ result[index] = iteratee(index);
+ }
+ return result;
+}
+function getTrueValue(formattedValue) {
+ if (formattedValue === undefined) {
+ formattedValue = '1';
+ }
+ while (isNaN(parseInt(formattedValue, 10))) {
+ formattedValue = formattedValue.slice(1);
+ }
+ return parseInt(formattedValue, 10);
+}
+function getMonthEndDay(year, month) {
+ return 32 - new Date(year, month - 1, 32).getDate();
+}
+var defaultFormatter = function (type, value) { return value; };
+(0, component_1.VantComponent)({
+ classes: ['active-class', 'toolbar-class', 'column-class'],
+ props: __assign(__assign({}, shared_1.pickerProps), { value: {
+ type: null,
+ observer: 'updateValue',
+ }, filter: null, type: {
+ type: String,
+ value: 'datetime',
+ observer: 'updateValue',
+ }, showToolbar: {
+ type: Boolean,
+ value: true,
+ }, formatter: {
+ type: null,
+ value: defaultFormatter,
+ }, minDate: {
+ type: Number,
+ value: new Date(currentYear - 10, 0, 1).getTime(),
+ observer: 'updateValue',
+ }, maxDate: {
+ type: Number,
+ value: new Date(currentYear + 10, 11, 31).getTime(),
+ observer: 'updateValue',
+ }, minHour: {
+ type: Number,
+ value: 0,
+ observer: 'updateValue',
+ }, maxHour: {
+ type: Number,
+ value: 23,
+ observer: 'updateValue',
+ }, minMinute: {
+ type: Number,
+ value: 0,
+ observer: 'updateValue',
+ }, maxMinute: {
+ type: Number,
+ value: 59,
+ observer: 'updateValue',
+ } }),
+ data: {
+ innerValue: Date.now(),
+ columns: [],
+ },
+ methods: {
+ updateValue: function () {
+ var _this = this;
+ var data = this.data;
+ var val = this.correctValue(data.value);
+ var isEqual = val === data.innerValue;
+ this.updateColumnValue(val).then(function () {
+ if (!isEqual) {
+ _this.$emit('input', val);
+ }
+ });
+ },
+ getPicker: function () {
+ if (this.picker == null) {
+ this.picker = this.selectComponent('.van-datetime-picker');
+ var picker_1 = this.picker;
+ var setColumnValues_1 = picker_1.setColumnValues;
+ picker_1.setColumnValues = function () {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ return setColumnValues_1.apply(picker_1, __spreadArray(__spreadArray([], args, true), [false], false));
+ };
+ }
+ return this.picker;
+ },
+ updateColumns: function () {
+ var _a = this.data.formatter, formatter = _a === void 0 ? defaultFormatter : _a;
+ var results = this.getOriginColumns().map(function (column) { return ({
+ values: column.values.map(function (value) { return formatter(column.type, value); }),
+ }); });
+ return this.set({ columns: results });
+ },
+ getOriginColumns: function () {
+ var filter = this.data.filter;
+ var results = this.getRanges().map(function (_a) {
+ var type = _a.type, range = _a.range;
+ var values = times(range[1] - range[0] + 1, function (index) {
+ var value = range[0] + index;
+ return type === 'year' ? "" + value : padZero(value);
+ });
+ if (filter) {
+ values = filter(type, values);
+ }
+ return { type: type, values: values };
+ });
+ return results;
+ },
+ getRanges: function () {
+ var data = this.data;
+ if (data.type === 'time') {
+ return [
+ {
+ type: 'hour',
+ range: [data.minHour, data.maxHour],
+ },
+ {
+ type: 'minute',
+ range: [data.minMinute, data.maxMinute],
+ },
+ ];
+ }
+ var _a = this.getBoundary('max', data.innerValue), maxYear = _a.maxYear, maxDate = _a.maxDate, maxMonth = _a.maxMonth, maxHour = _a.maxHour, maxMinute = _a.maxMinute;
+ var _b = this.getBoundary('min', data.innerValue), minYear = _b.minYear, minDate = _b.minDate, minMonth = _b.minMonth, minHour = _b.minHour, minMinute = _b.minMinute;
+ var result = [
+ {
+ type: 'year',
+ range: [minYear, maxYear],
+ },
+ {
+ type: 'month',
+ range: [minMonth, maxMonth],
+ },
+ {
+ type: 'day',
+ range: [minDate, maxDate],
+ },
+ {
+ type: 'hour',
+ range: [minHour, maxHour],
+ },
+ {
+ type: 'minute',
+ range: [minMinute, maxMinute],
+ },
+ ];
+ if (data.type === 'date')
+ result.splice(3, 2);
+ if (data.type === 'year-month')
+ result.splice(2, 3);
+ return result;
+ },
+ correctValue: function (value) {
+ var data = this.data;
+ // validate value
+ var isDateType = data.type !== 'time';
+ if (isDateType && !isValidDate(value)) {
+ value = data.minDate;
+ }
+ else if (!isDateType && !value) {
+ var minHour = data.minHour;
+ value = padZero(minHour) + ":00";
+ }
+ // time type
+ if (!isDateType) {
+ var _a = value.split(':'), hour = _a[0], minute = _a[1];
+ hour = padZero(range(hour, data.minHour, data.maxHour));
+ minute = padZero(range(minute, data.minMinute, data.maxMinute));
+ return hour + ":" + minute;
+ }
+ // date type
+ value = Math.max(value, data.minDate);
+ value = Math.min(value, data.maxDate);
+ return value;
+ },
+ getBoundary: function (type, innerValue) {
+ var _a;
+ var value = new Date(innerValue);
+ var boundary = new Date(this.data[type + "Date"]);
+ var year = boundary.getFullYear();
+ var month = 1;
+ var date = 1;
+ var hour = 0;
+ var minute = 0;
+ if (type === 'max') {
+ month = 12;
+ date = getMonthEndDay(value.getFullYear(), value.getMonth() + 1);
+ hour = 23;
+ minute = 59;
+ }
+ if (value.getFullYear() === year) {
+ month = boundary.getMonth() + 1;
+ if (value.getMonth() + 1 === month) {
+ date = boundary.getDate();
+ if (value.getDate() === date) {
+ hour = boundary.getHours();
+ if (value.getHours() === hour) {
+ minute = boundary.getMinutes();
+ }
+ }
+ }
+ }
+ return _a = {},
+ _a[type + "Year"] = year,
+ _a[type + "Month"] = month,
+ _a[type + "Date"] = date,
+ _a[type + "Hour"] = hour,
+ _a[type + "Minute"] = minute,
+ _a;
+ },
+ onCancel: function () {
+ this.$emit('cancel');
+ },
+ onConfirm: function () {
+ this.$emit('confirm', this.data.innerValue);
+ },
+ onChange: function () {
+ var _this = this;
+ var data = this.data;
+ var value;
+ var picker = this.getPicker();
+ var originColumns = this.getOriginColumns();
+ if (data.type === 'time') {
+ var indexes = picker.getIndexes();
+ value = +originColumns[0].values[indexes[0]] + ":" + +originColumns[1]
+ .values[indexes[1]];
+ }
+ else {
+ var indexes = picker.getIndexes();
+ var values = indexes.map(function (value, index) { return originColumns[index].values[value]; });
+ var year = getTrueValue(values[0]);
+ var month = getTrueValue(values[1]);
+ var maxDate = getMonthEndDay(year, month);
+ var date = getTrueValue(values[2]);
+ if (data.type === 'year-month') {
+ date = 1;
+ }
+ date = date > maxDate ? maxDate : date;
+ var hour = 0;
+ var minute = 0;
+ if (data.type === 'datetime') {
+ hour = getTrueValue(values[3]);
+ minute = getTrueValue(values[4]);
+ }
+ value = new Date(year, month - 1, date, hour, minute);
+ }
+ value = this.correctValue(value);
+ this.updateColumnValue(value).then(function () {
+ _this.$emit('input', value);
+ _this.$emit('change', picker);
+ });
+ },
+ updateColumnValue: function (value) {
+ var _this = this;
+ var values = [];
+ var type = this.data.type;
+ var formatter = this.data.formatter || defaultFormatter;
+ var picker = this.getPicker();
+ if (type === 'time') {
+ var pair = value.split(':');
+ values = [formatter('hour', pair[0]), formatter('minute', pair[1])];
+ }
+ else {
+ var date = new Date(value);
+ values = [
+ formatter('year', "" + date.getFullYear()),
+ formatter('month', padZero(date.getMonth() + 1)),
+ ];
+ if (type === 'date') {
+ values.push(formatter('day', padZero(date.getDate())));
+ }
+ if (type === 'datetime') {
+ values.push(formatter('day', padZero(date.getDate())), formatter('hour', padZero(date.getHours())), formatter('minute', padZero(date.getMinutes())));
+ }
+ }
+ return this.set({ innerValue: value })
+ .then(function () { return _this.updateColumns(); })
+ .then(function () { return picker.setValues(values); });
+ },
+ },
+ created: function () {
+ var _this = this;
+ var innerValue = this.correctValue(this.data.value);
+ this.updateColumnValue(innerValue).then(function () {
+ _this.$emit('input', innerValue);
+ });
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/datetime-picker/index.json b/coupon/miniprogram/@vant/weapp/lib/datetime-picker/index.json
new file mode 100644
index 0000000..a778e91
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/datetime-picker/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-picker": "../picker/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/datetime-picker/index.wxml b/coupon/miniprogram/@vant/weapp/lib/datetime-picker/index.wxml
new file mode 100644
index 0000000..ade2202
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/datetime-picker/index.wxml
@@ -0,0 +1,16 @@
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/datetime-picker/index.wxss b/coupon/miniprogram/@vant/weapp/lib/datetime-picker/index.wxss
new file mode 100644
index 0000000..99694d6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/datetime-picker/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/definitions/index.js b/coupon/miniprogram/@vant/weapp/lib/definitions/index.js
new file mode 100644
index 0000000..c8ad2e5
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/definitions/index.js
@@ -0,0 +1,2 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/coupon/miniprogram/@vant/weapp/lib/dialog/dialog.js b/coupon/miniprogram/@vant/weapp/lib/dialog/dialog.js
new file mode 100644
index 0000000..0cba6ab
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/dialog/dialog.js
@@ -0,0 +1,90 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var queue = [];
+var defaultOptions = {
+ show: false,
+ title: '',
+ width: null,
+ theme: 'default',
+ message: '',
+ zIndex: 100,
+ overlay: true,
+ selector: '#van-dialog',
+ className: '',
+ asyncClose: false,
+ beforeClose: null,
+ transition: 'scale',
+ customStyle: '',
+ messageAlign: '',
+ overlayStyle: '',
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ showConfirmButton: true,
+ showCancelButton: false,
+ closeOnClickOverlay: false,
+ confirmButtonOpenType: '',
+};
+var currentOptions = __assign({}, defaultOptions);
+function getContext() {
+ var pages = getCurrentPages();
+ return pages[pages.length - 1];
+}
+var Dialog = function (options) {
+ options = __assign(__assign({}, currentOptions), options);
+ return new Promise(function (resolve, reject) {
+ var context = options.context || getContext();
+ var dialog = context.selectComponent(options.selector);
+ delete options.context;
+ delete options.selector;
+ if (dialog) {
+ dialog.setData(__assign({ callback: function (action, instance) {
+ action === 'confirm' ? resolve(instance) : reject(instance);
+ } }, options));
+ wx.nextTick(function () {
+ dialog.setData({ show: true });
+ });
+ queue.push(dialog);
+ }
+ else {
+ console.warn('未找到 van-dialog 节点,请确认 selector 及 context 是否正确');
+ }
+ });
+};
+Dialog.alert = function (options) { return Dialog(options); };
+Dialog.confirm = function (options) {
+ return Dialog(__assign({ showCancelButton: true }, options));
+};
+Dialog.close = function () {
+ queue.forEach(function (dialog) {
+ dialog.close();
+ });
+ queue = [];
+};
+Dialog.stopLoading = function () {
+ queue.forEach(function (dialog) {
+ dialog.stopLoading();
+ });
+};
+Dialog.currentOptions = currentOptions;
+Dialog.defaultOptions = defaultOptions;
+Dialog.setDefaultOptions = function (options) {
+ currentOptions = __assign(__assign({}, currentOptions), options);
+ Dialog.currentOptions = currentOptions;
+};
+Dialog.resetDefaultOptions = function () {
+ currentOptions = __assign({}, defaultOptions);
+ Dialog.currentOptions = currentOptions;
+};
+Dialog.resetDefaultOptions();
+exports.default = Dialog;
diff --git a/coupon/miniprogram/@vant/weapp/lib/dialog/index.js b/coupon/miniprogram/@vant/weapp/lib/dialog/index.js
new file mode 100644
index 0000000..d86697c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/dialog/index.js
@@ -0,0 +1,127 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var button_1 = require("../mixins/button");
+var color_1 = require("../common/color");
+var utils_1 = require("../common/utils");
+(0, component_1.VantComponent)({
+ mixins: [button_1.button],
+ props: {
+ show: {
+ type: Boolean,
+ observer: function (show) {
+ !show && this.stopLoading();
+ },
+ },
+ title: String,
+ message: String,
+ theme: {
+ type: String,
+ value: 'default',
+ },
+ useSlot: Boolean,
+ className: String,
+ customStyle: String,
+ asyncClose: Boolean,
+ messageAlign: String,
+ beforeClose: null,
+ overlayStyle: String,
+ useTitleSlot: Boolean,
+ showCancelButton: Boolean,
+ closeOnClickOverlay: Boolean,
+ confirmButtonOpenType: String,
+ width: null,
+ zIndex: {
+ type: Number,
+ value: 2000,
+ },
+ confirmButtonText: {
+ type: String,
+ value: '确认',
+ },
+ cancelButtonText: {
+ type: String,
+ value: '取消',
+ },
+ confirmButtonColor: {
+ type: String,
+ value: color_1.RED,
+ },
+ cancelButtonColor: {
+ type: String,
+ value: color_1.GRAY,
+ },
+ showConfirmButton: {
+ type: Boolean,
+ value: true,
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ },
+ transition: {
+ type: String,
+ value: 'scale',
+ },
+ },
+ data: {
+ loading: {
+ confirm: false,
+ cancel: false,
+ },
+ callback: (function () { }),
+ },
+ methods: {
+ onConfirm: function () {
+ this.handleAction('confirm');
+ },
+ onCancel: function () {
+ this.handleAction('cancel');
+ },
+ onClickOverlay: function () {
+ this.close('overlay');
+ },
+ close: function (action) {
+ var _this = this;
+ this.setData({ show: false });
+ wx.nextTick(function () {
+ _this.$emit('close', action);
+ var callback = _this.data.callback;
+ if (callback) {
+ callback(action, _this);
+ }
+ });
+ },
+ stopLoading: function () {
+ this.setData({
+ loading: {
+ confirm: false,
+ cancel: false,
+ },
+ });
+ },
+ handleAction: function (action) {
+ var _a;
+ var _this = this;
+ this.$emit(action, { dialog: this });
+ var _b = this.data, asyncClose = _b.asyncClose, beforeClose = _b.beforeClose;
+ if (!asyncClose && !beforeClose) {
+ this.close(action);
+ return;
+ }
+ this.setData((_a = {},
+ _a["loading." + action] = true,
+ _a));
+ if (beforeClose) {
+ (0, utils_1.toPromise)(beforeClose(action)).then(function (value) {
+ if (value) {
+ _this.close(action);
+ }
+ else {
+ _this.stopLoading();
+ }
+ });
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/dialog/index.json b/coupon/miniprogram/@vant/weapp/lib/dialog/index.json
new file mode 100644
index 0000000..43417fc
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/dialog/index.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../popup/index",
+ "van-button": "../button/index",
+ "van-goods-action": "../goods-action/index",
+ "van-goods-action-button": "../goods-action-button/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/dialog/index.wxml b/coupon/miniprogram/@vant/weapp/lib/dialog/index.wxml
new file mode 100644
index 0000000..f49dee4
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/dialog/index.wxml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+ {{ message }}
+
+
+
+
+ {{ cancelButtonText }}
+
+
+ {{ confirmButtonText }}
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/dialog/index.wxss b/coupon/miniprogram/@vant/weapp/lib/dialog/index.wxss
new file mode 100644
index 0000000..571861a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/dialog/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-dialog{background-color:var(--dialog-background-color,#fff);border-radius:var(--dialog-border-radius,16px);font-size:var(--dialog-font-size,16px);overflow:hidden;top:45%!important;width:var(--dialog-width,320px)}@media (max-width:321px){.van-dialog{width:var(--dialog-small-screen-width,90%)}}.van-dialog__header{font-weight:var(--dialog-header-font-weight,500);line-height:var(--dialog-header-line-height,24px);padding-top:var(--dialog-header-padding-top,24px);text-align:center}.van-dialog__header--isolated{padding:var(--dialog-header-isolated-padding,24px 0)}.van-dialog__message{-webkit-overflow-scrolling:touch;font-size:var(--dialog-message-font-size,14px);line-height:var(--dialog-message-line-height,20px);max-height:var(--dialog-message-max-height,60vh);overflow-y:auto;padding:var(--dialog-message-padding,24px);text-align:center}.van-dialog__message-text{word-wrap:break-word}.van-dialog__message--hasTitle{color:var(--dialog-has-title-message-text-color,#646566);padding-top:var(--dialog-has-title-message-padding-top,8px)}.van-dialog__message--round-button{color:#323233;padding-bottom:16px}.van-dialog__message--left{text-align:left}.van-dialog__message--right{text-align:right}.van-dialog__footer{display:flex}.van-dialog__footer--round-button{padding:8px 24px 16px!important;position:relative!important}.van-dialog__button{flex:1}.van-dialog__cancel,.van-dialog__confirm{border:0!important}.van-dialog-bounce-enter{opacity:0;transform:translate3d(-50%,-50%,0) scale(.7)}.van-dialog-bounce-leave-active{opacity:0;transform:translate3d(-50%,-50%,0) scale(.9)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/divider/index.js b/coupon/miniprogram/@vant/weapp/lib/divider/index.js
new file mode 100644
index 0000000..5c63844
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/divider/index.js
@@ -0,0 +1,14 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ dashed: Boolean,
+ hairline: Boolean,
+ contentPosition: String,
+ fontSize: String,
+ borderColor: String,
+ textColor: String,
+ customStyle: String,
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/divider/index.json b/coupon/miniprogram/@vant/weapp/lib/divider/index.json
new file mode 100644
index 0000000..a89ef4d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/divider/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/divider/index.wxml b/coupon/miniprogram/@vant/weapp/lib/divider/index.wxml
new file mode 100644
index 0000000..f6a5a45
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/divider/index.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/divider/index.wxs b/coupon/miniprogram/@vant/weapp/lib/divider/index.wxs
new file mode 100644
index 0000000..215b14f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/divider/index.wxs
@@ -0,0 +1,18 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ return style([
+ {
+ 'border-color': data.borderColor,
+ color: data.textColor,
+ 'font-size': addUnit(data.fontSize),
+ },
+ data.customStyle,
+ ]);
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/divider/index.wxss b/coupon/miniprogram/@vant/weapp/lib/divider/index.wxss
new file mode 100644
index 0000000..e91dc44
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/divider/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-divider{align-items:center;border:0 solid var(--divider-border-color,#ebedf0);color:var(--divider-text-color,#969799);display:flex;font-size:var(--divider-font-size,14px);line-height:var(--divider-line-height,24px);margin:var(--divider-margin,16px 0)}.van-divider:after,.van-divider:before{border-color:inherit;border-style:inherit;border-width:1px 0 0;box-sizing:border-box;display:block;flex:1;height:1px}.van-divider:before{content:""}.van-divider--hairline:after,.van-divider--hairline:before{transform:scaleY(.5)}.van-divider--dashed{border-style:dashed}.van-divider--center:before,.van-divider--left:before,.van-divider--right:before{margin-right:var(--divider-content-padding,16px)}.van-divider--center:after,.van-divider--left:after,.van-divider--right:after{content:"";margin-left:var(--divider-content-padding,16px)}.van-divider--left:before{max-width:var(--divider-content-left-width,10%)}.van-divider--right:after{max-width:var(--divider-content-right-width,10%)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/dropdown-item/index.js b/coupon/miniprogram/@vant/weapp/lib/dropdown-item/index.js
new file mode 100644
index 0000000..42de11f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/dropdown-item/index.js
@@ -0,0 +1,107 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var relation_1 = require("../common/relation");
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ field: true,
+ relation: (0, relation_1.useParent)('dropdown-menu', function () {
+ this.updateDataFromParent();
+ }),
+ props: {
+ value: {
+ type: null,
+ observer: 'rerender',
+ },
+ title: {
+ type: String,
+ observer: 'rerender',
+ },
+ disabled: Boolean,
+ titleClass: {
+ type: String,
+ observer: 'rerender',
+ },
+ options: {
+ type: Array,
+ value: [],
+ observer: 'rerender',
+ },
+ popupStyle: String,
+ },
+ data: {
+ transition: true,
+ showPopup: false,
+ showWrapper: false,
+ displayTitle: '',
+ },
+ methods: {
+ rerender: function () {
+ var _this = this;
+ wx.nextTick(function () {
+ var _a;
+ (_a = _this.parent) === null || _a === void 0 ? void 0 : _a.updateItemListData();
+ });
+ },
+ updateDataFromParent: function () {
+ if (this.parent) {
+ var _a = this.parent.data, overlay = _a.overlay, duration = _a.duration, activeColor = _a.activeColor, closeOnClickOverlay = _a.closeOnClickOverlay, direction = _a.direction;
+ this.setData({
+ overlay: overlay,
+ duration: duration,
+ activeColor: activeColor,
+ closeOnClickOverlay: closeOnClickOverlay,
+ direction: direction,
+ });
+ }
+ },
+ onOpen: function () {
+ this.$emit('open');
+ },
+ onOpened: function () {
+ this.$emit('opened');
+ },
+ onClose: function () {
+ this.$emit('close');
+ },
+ onClosed: function () {
+ this.$emit('closed');
+ this.setData({ showWrapper: false });
+ },
+ onOptionTap: function (event) {
+ var option = event.currentTarget.dataset.option;
+ var value = option.value;
+ var shouldEmitChange = this.data.value !== value;
+ this.setData({ showPopup: false, value: value });
+ this.$emit('close');
+ this.rerender();
+ if (shouldEmitChange) {
+ this.$emit('change', value);
+ }
+ },
+ toggle: function (show, options) {
+ var _this = this;
+ var _a;
+ if (options === void 0) { options = {}; }
+ var showPopup = this.data.showPopup;
+ if (typeof show !== 'boolean') {
+ show = !showPopup;
+ }
+ if (show === showPopup) {
+ return;
+ }
+ this.setData({
+ transition: !options.immediate,
+ showPopup: show,
+ });
+ if (show) {
+ (_a = this.parent) === null || _a === void 0 ? void 0 : _a.getChildWrapperStyle().then(function (wrapperStyle) {
+ _this.setData({ wrapperStyle: wrapperStyle, showWrapper: true });
+ _this.rerender();
+ });
+ }
+ else {
+ this.rerender();
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/dropdown-item/index.json b/coupon/miniprogram/@vant/weapp/lib/dropdown-item/index.json
new file mode 100644
index 0000000..88d5409
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/dropdown-item/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../popup/index",
+ "van-cell": "../cell/index",
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/dropdown-item/index.wxml b/coupon/miniprogram/@vant/weapp/lib/dropdown-item/index.wxml
new file mode 100644
index 0000000..dd75292
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/dropdown-item/index.wxml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+ {{ item.text }}
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/dropdown-item/index.wxss b/coupon/miniprogram/@vant/weapp/lib/dropdown-item/index.wxss
new file mode 100644
index 0000000..80505e9
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/dropdown-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-dropdown-item{left:0;overflow:hidden;position:fixed;right:0}.van-dropdown-item__option{text-align:left}.van-dropdown-item__option--active .van-dropdown-item__icon,.van-dropdown-item__option--active .van-dropdown-item__title{color:var(--dropdown-menu-option-active-color,#ee0a24)}.van-dropdown-item--up{top:0}.van-dropdown-item--down{bottom:0}.van-dropdown-item__icon{display:block;line-height:inherit}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/dropdown-item/shared.js b/coupon/miniprogram/@vant/weapp/lib/dropdown-item/shared.js
new file mode 100644
index 0000000..c8ad2e5
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/dropdown-item/shared.js
@@ -0,0 +1,2 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/coupon/miniprogram/@vant/weapp/lib/dropdown-menu/index.js b/coupon/miniprogram/@vant/weapp/lib/dropdown-menu/index.js
new file mode 100644
index 0000000..62f517a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/dropdown-menu/index.js
@@ -0,0 +1,117 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+var utils_1 = require("../common/utils");
+var ARRAY = [];
+(0, component_1.VantComponent)({
+ field: true,
+ relation: (0, relation_1.useChildren)('dropdown-item', function () {
+ this.updateItemListData();
+ }),
+ props: {
+ activeColor: {
+ type: String,
+ observer: 'updateChildrenData',
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ observer: 'updateChildrenData',
+ },
+ zIndex: {
+ type: Number,
+ value: 10,
+ },
+ duration: {
+ type: Number,
+ value: 200,
+ observer: 'updateChildrenData',
+ },
+ direction: {
+ type: String,
+ value: 'down',
+ observer: 'updateChildrenData',
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ observer: 'updateChildrenData',
+ },
+ closeOnClickOutside: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ itemListData: [],
+ },
+ beforeCreate: function () {
+ var windowHeight = (0, utils_1.getSystemInfoSync)().windowHeight;
+ this.windowHeight = windowHeight;
+ ARRAY.push(this);
+ },
+ destroyed: function () {
+ var _this = this;
+ ARRAY = ARRAY.filter(function (item) { return item !== _this; });
+ },
+ methods: {
+ updateItemListData: function () {
+ this.setData({
+ itemListData: this.children.map(function (child) { return child.data; }),
+ });
+ },
+ updateChildrenData: function () {
+ this.children.forEach(function (child) {
+ child.updateDataFromParent();
+ });
+ },
+ toggleItem: function (active) {
+ this.children.forEach(function (item, index) {
+ var showPopup = item.data.showPopup;
+ if (index === active) {
+ item.toggle();
+ }
+ else if (showPopup) {
+ item.toggle(false, { immediate: true });
+ }
+ });
+ },
+ close: function () {
+ this.children.forEach(function (child) {
+ child.toggle(false, { immediate: true });
+ });
+ },
+ getChildWrapperStyle: function () {
+ var _this = this;
+ var _a = this.data, zIndex = _a.zIndex, direction = _a.direction;
+ return (0, utils_1.getRect)(this, '.van-dropdown-menu').then(function (rect) {
+ var _a = rect.top, top = _a === void 0 ? 0 : _a, _b = rect.bottom, bottom = _b === void 0 ? 0 : _b;
+ var offset = direction === 'down' ? bottom : _this.windowHeight - top;
+ var wrapperStyle = "z-index: " + zIndex + ";";
+ if (direction === 'down') {
+ wrapperStyle += "top: " + (0, utils_1.addUnit)(offset) + ";";
+ }
+ else {
+ wrapperStyle += "bottom: " + (0, utils_1.addUnit)(offset) + ";";
+ }
+ return wrapperStyle;
+ });
+ },
+ onTitleTap: function (event) {
+ var _this = this;
+ var index = event.currentTarget.dataset.index;
+ var child = this.children[index];
+ if (!child.data.disabled) {
+ ARRAY.forEach(function (menuItem) {
+ if (menuItem &&
+ menuItem.data.closeOnClickOutside &&
+ menuItem !== _this) {
+ menuItem.close();
+ }
+ });
+ this.toggleItem(index);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/dropdown-menu/index.json b/coupon/miniprogram/@vant/weapp/lib/dropdown-menu/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/dropdown-menu/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/dropdown-menu/index.wxml b/coupon/miniprogram/@vant/weapp/lib/dropdown-menu/index.wxml
new file mode 100644
index 0000000..cfd661d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/dropdown-menu/index.wxml
@@ -0,0 +1,23 @@
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/dropdown-menu/index.wxs b/coupon/miniprogram/@vant/weapp/lib/dropdown-menu/index.wxs
new file mode 100644
index 0000000..6538854
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/dropdown-menu/index.wxs
@@ -0,0 +1,16 @@
+/* eslint-disable */
+function displayTitle(item) {
+ if (item.title) {
+ return item.title;
+ }
+
+ var match = item.options.filter(function(option) {
+ return option.value === item.value;
+ });
+ var displayTitle = match.length ? match[0].text : '';
+ return displayTitle;
+}
+
+module.exports = {
+ displayTitle: displayTitle
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/dropdown-menu/index.wxss b/coupon/miniprogram/@vant/weapp/lib/dropdown-menu/index.wxss
new file mode 100644
index 0000000..daa5748
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/dropdown-menu/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-dropdown-menu{background-color:var(--dropdown-menu-background-color,#fff);box-shadow:var(--dropdown-menu-box-shadow,0 2px 12px hsla(210,1%,40%,.12));display:flex;height:var(--dropdown-menu-height,50px);-webkit-user-select:none;user-select:none}.van-dropdown-menu__item{align-items:center;display:flex;flex:1;justify-content:center;min-width:0}.van-dropdown-menu__item:active{opacity:.7}.van-dropdown-menu__item--disabled:active{opacity:1}.van-dropdown-menu__item--disabled .van-dropdown-menu__title{color:var(--dropdown-menu-title-disabled-text-color,#969799)}.van-dropdown-menu__title{box-sizing:border-box;color:var(--dropdown-menu-title-text-color,#323233);font-size:var(--dropdown-menu-title-font-size,15px);line-height:var(--dropdown-menu-title-line-height,18px);max-width:100%;padding:var(--dropdown-menu-title-padding,0 8px);position:relative}.van-dropdown-menu__title:after{border-color:transparent transparent currentcolor currentcolor;border-style:solid;border-width:3px;content:"";margin-top:-5px;opacity:.8;position:absolute;right:-4px;top:50%;transform:rotate(-45deg)}.van-dropdown-menu__title--active{color:var(--dropdown-menu-title-active-text-color,#ee0a24)}.van-dropdown-menu__title--down:after{margin-top:-1px;transform:rotate(135deg)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/empty/index.js b/coupon/miniprogram/@vant/weapp/lib/empty/index.js
new file mode 100644
index 0000000..755e638
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/empty/index.js
@@ -0,0 +1,12 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ description: String,
+ image: {
+ type: String,
+ value: 'default',
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/empty/index.json b/coupon/miniprogram/@vant/weapp/lib/empty/index.json
new file mode 100644
index 0000000..a89ef4d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/empty/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/empty/index.wxml b/coupon/miniprogram/@vant/weapp/lib/empty/index.wxml
new file mode 100644
index 0000000..9c7b719
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/empty/index.wxml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ description }}
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/empty/index.wxs b/coupon/miniprogram/@vant/weapp/lib/empty/index.wxs
new file mode 100644
index 0000000..cf92ece
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/empty/index.wxs
@@ -0,0 +1,15 @@
+/* eslint-disable */
+var PRESETS = ['error', 'search', 'default', 'network'];
+
+function imageUrl(image) {
+ if (PRESETS.indexOf(image) !== -1) {
+ return 'https://img.yzcdn.cn/vant/empty-image-' + image + '.png';
+ }
+
+ return image;
+}
+
+module.exports = {
+ imageUrl: imageUrl,
+};
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/empty/index.wxss b/coupon/miniprogram/@vant/weapp/lib/empty/index.wxss
new file mode 100644
index 0000000..0fb74fe
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/empty/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-empty{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:32px 0}.van-empty__image{height:160px;width:160px}.van-empty__image:empty{display:none}.van-empty__image__img{height:100%;width:100%}.van-empty__image:not(:empty)+.van-empty__image{display:none}.van-empty__description{color:#969799;font-size:14px;line-height:20px;margin-top:16px;padding:0 60px}.van-empty__description:empty,.van-empty__description:not(:empty)+.van-empty__description{display:none}.van-empty__bottom{margin-top:24px}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/field/index.js b/coupon/miniprogram/@vant/weapp/lib/field/index.js
new file mode 100644
index 0000000..5e93c3a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/field/index.js
@@ -0,0 +1,122 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var utils_1 = require("../common/utils");
+var component_1 = require("../common/component");
+var props_1 = require("./props");
+(0, component_1.VantComponent)({
+ field: true,
+ classes: ['input-class', 'right-icon-class', 'label-class'],
+ props: __assign(__assign(__assign(__assign({}, props_1.commonProps), props_1.inputProps), props_1.textareaProps), { size: String, icon: String, label: String, error: Boolean, center: Boolean, isLink: Boolean, leftIcon: String, rightIcon: String, autosize: null, required: Boolean, iconClass: String, clickable: Boolean, inputAlign: String, customStyle: String, errorMessage: String, arrowDirection: String, showWordLimit: Boolean, errorMessageAlign: String, readonly: {
+ type: Boolean,
+ observer: 'setShowClear',
+ }, clearable: {
+ type: Boolean,
+ observer: 'setShowClear',
+ }, clearTrigger: {
+ type: String,
+ value: 'focus',
+ }, border: {
+ type: Boolean,
+ value: true,
+ }, titleWidth: {
+ type: String,
+ value: '6.2em',
+ }, clearIcon: {
+ type: String,
+ value: 'clear',
+ } }),
+ data: {
+ focused: false,
+ innerValue: '',
+ showClear: false,
+ },
+ created: function () {
+ this.value = this.data.value;
+ this.setData({ innerValue: this.value });
+ },
+ methods: {
+ onInput: function (event) {
+ var _a = (event.detail || {}).value, value = _a === void 0 ? '' : _a;
+ this.value = value;
+ this.setShowClear();
+ this.emitChange();
+ },
+ onFocus: function (event) {
+ this.focused = true;
+ this.setShowClear();
+ this.$emit('focus', event.detail);
+ },
+ onBlur: function (event) {
+ this.focused = false;
+ this.setShowClear();
+ this.$emit('blur', event.detail);
+ },
+ onClickIcon: function () {
+ this.$emit('click-icon');
+ },
+ onClickInput: function (event) {
+ this.$emit('click-input', event.detail);
+ },
+ onClear: function () {
+ var _this = this;
+ this.setData({ innerValue: '' });
+ this.value = '';
+ this.setShowClear();
+ (0, utils_1.nextTick)(function () {
+ _this.emitChange();
+ _this.$emit('clear', '');
+ });
+ },
+ onConfirm: function (event) {
+ var _a = (event.detail || {}).value, value = _a === void 0 ? '' : _a;
+ this.value = value;
+ this.setShowClear();
+ this.$emit('confirm', value);
+ },
+ setValue: function (value) {
+ this.value = value;
+ this.setShowClear();
+ if (value === '') {
+ this.setData({ innerValue: '' });
+ }
+ this.emitChange();
+ },
+ onLineChange: function (event) {
+ this.$emit('linechange', event.detail);
+ },
+ onKeyboardHeightChange: function (event) {
+ this.$emit('keyboardheightchange', event.detail);
+ },
+ emitChange: function () {
+ var _this = this;
+ this.setData({ value: this.value });
+ (0, utils_1.nextTick)(function () {
+ _this.$emit('input', _this.value);
+ _this.$emit('change', _this.value);
+ });
+ },
+ setShowClear: function () {
+ var _a = this.data, clearable = _a.clearable, readonly = _a.readonly, clearTrigger = _a.clearTrigger;
+ var _b = this, focused = _b.focused, value = _b.value;
+ var showClear = false;
+ if (clearable && !readonly) {
+ var hasValue = !!value;
+ var trigger = clearTrigger === 'always' || (clearTrigger === 'focus' && focused);
+ showClear = hasValue && trigger;
+ }
+ this.setData({ showClear: showClear });
+ },
+ noop: function () { },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/field/index.json b/coupon/miniprogram/@vant/weapp/lib/field/index.json
new file mode 100644
index 0000000..5906c50
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/field/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-cell": "../cell/index",
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/field/index.wxml b/coupon/miniprogram/@vant/weapp/lib/field/index.wxml
new file mode 100644
index 0000000..ec2e0ea
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/field/index.wxml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+ {{ label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ value.length >= maxlength ? maxlength : value.length }}/{{ maxlength }}
+
+
+ {{ errorMessage }}
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/field/index.wxs b/coupon/miniprogram/@vant/weapp/lib/field/index.wxs
new file mode 100644
index 0000000..78575b9
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/field/index.wxs
@@ -0,0 +1,18 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function inputStyle(autosize) {
+ if (autosize && autosize.constructor === 'Object') {
+ return style({
+ 'min-height': addUnit(autosize.minHeight),
+ 'max-height': addUnit(autosize.maxHeight),
+ });
+ }
+
+ return '';
+}
+
+module.exports = {
+ inputStyle: inputStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/field/index.wxss b/coupon/miniprogram/@vant/weapp/lib/field/index.wxss
new file mode 100644
index 0000000..7571fe6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/field/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-field{--cell-icon-size:var(--field-icon-size,16px)}.van-field__label{color:var(--field-label-color,#646566)}.van-field__label--disabled{color:var(--field-disabled-text-color,#c8c9cc)}.van-field__body{align-items:center;display:flex}.van-field__body--textarea{box-sizing:border-box;line-height:1.2em;min-height:var(--cell-line-height,24px);padding:3.6px 0}.van-field__control:empty+.van-field__control{display:block}.van-field__control{background-color:initial;border:0;box-sizing:border-box;color:var(--field-input-text-color,#323233);display:none;height:var(--cell-line-height,24px);line-height:inherit;margin:0;min-height:var(--cell-line-height,24px);padding:0;position:relative;resize:none;text-align:left;width:100%}.van-field__control:empty{display:none}.van-field__control--textarea{height:var(--field-text-area-min-height,18px);min-height:var(--field-text-area-min-height,18px)}.van-field__control--error{color:var(--field-input-error-text-color,#ee0a24)}.van-field__control--disabled{background-color:initial;color:var(--field-input-disabled-text-color,#c8c9cc);opacity:1}.van-field__control--center{text-align:center}.van-field__control--right{text-align:right}.van-field__control--custom{align-items:center;display:flex;min-height:var(--cell-line-height,24px)}.van-field__placeholder{color:var(--field-placeholder-text-color,#c8c9cc);left:0;pointer-events:none;position:absolute;right:0;top:0}.van-field__placeholder--error{color:var(--field-error-message-color,#ee0a24)}.van-field__icon-root{align-items:center;display:flex;min-height:var(--cell-line-height,24px)}.van-field__clear-root,.van-field__icon-container{line-height:inherit;margin-right:calc(var(--padding-xs, 8px)*-1);padding:0 var(--padding-xs,8px);vertical-align:middle}.van-field__button,.van-field__clear-root,.van-field__icon-container{flex-shrink:0}.van-field__clear-root{color:var(--field-clear-icon-color,#c8c9cc);font-size:var(--field-clear-icon-size,16px)}.van-field__icon-container{color:var(--field-icon-container-color,#969799);font-size:var(--field-icon-size,16px)}.van-field__icon-container:empty{display:none}.van-field__button{padding-left:var(--padding-xs,8px)}.van-field__button:empty{display:none}.van-field__error-message{color:var(--field-error-message-color,#ee0a24);font-size:var(--field-error-message-text-font-size,12px);text-align:left}.van-field__error-message--center{text-align:center}.van-field__error-message--right{text-align:right}.van-field__word-limit{color:var(--field-word-limit-color,#646566);font-size:var(--field-word-limit-font-size,12px);line-height:var(--field-word-limit-line-height,16px);margin-top:var(--padding-base,4px);text-align:right}.van-field__word-num{display:inline}.van-field__word-num--full{color:var(--field-word-num-full-color,#ee0a24)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/field/input.wxml b/coupon/miniprogram/@vant/weapp/lib/field/input.wxml
new file mode 100644
index 0000000..efe9a08
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/field/input.wxml
@@ -0,0 +1,28 @@
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/field/props.js b/coupon/miniprogram/@vant/weapp/lib/field/props.js
new file mode 100644
index 0000000..3cb8dca
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/field/props.js
@@ -0,0 +1,67 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.textareaProps = exports.inputProps = exports.commonProps = void 0;
+exports.commonProps = {
+ value: {
+ type: String,
+ observer: function (value) {
+ if (value !== this.value) {
+ this.setData({ innerValue: value });
+ this.value = value;
+ }
+ },
+ },
+ placeholder: String,
+ placeholderStyle: String,
+ placeholderClass: String,
+ disabled: Boolean,
+ maxlength: {
+ type: Number,
+ value: -1,
+ },
+ cursorSpacing: {
+ type: Number,
+ value: 50,
+ },
+ autoFocus: Boolean,
+ focus: Boolean,
+ cursor: {
+ type: Number,
+ value: -1,
+ },
+ selectionStart: {
+ type: Number,
+ value: -1,
+ },
+ selectionEnd: {
+ type: Number,
+ value: -1,
+ },
+ adjustPosition: {
+ type: Boolean,
+ value: true,
+ },
+ holdKeyboard: Boolean,
+};
+exports.inputProps = {
+ type: {
+ type: String,
+ value: 'text',
+ },
+ password: Boolean,
+ confirmType: String,
+ confirmHold: Boolean,
+ alwaysEmbed: Boolean,
+};
+exports.textareaProps = {
+ autoHeight: Boolean,
+ fixed: Boolean,
+ showConfirmBar: {
+ type: Boolean,
+ value: true,
+ },
+ disableDefaultPadding: {
+ type: Boolean,
+ value: true,
+ },
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/field/textarea.wxml b/coupon/miniprogram/@vant/weapp/lib/field/textarea.wxml
new file mode 100644
index 0000000..5015a51
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/field/textarea.wxml
@@ -0,0 +1,29 @@
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/goods-action-button/index.js b/coupon/miniprogram/@vant/weapp/lib/goods-action-button/index.js
new file mode 100644
index 0000000..9872224
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/goods-action-button/index.js
@@ -0,0 +1,38 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+var button_1 = require("../mixins/button");
+var link_1 = require("../mixins/link");
+(0, component_1.VantComponent)({
+ mixins: [link_1.link, button_1.button],
+ relation: (0, relation_1.useParent)('goods-action'),
+ props: {
+ text: String,
+ color: String,
+ loading: Boolean,
+ disabled: Boolean,
+ plain: Boolean,
+ type: {
+ type: String,
+ value: 'danger',
+ },
+ },
+ methods: {
+ onClick: function (event) {
+ this.$emit('click', event.detail);
+ this.jumpLink();
+ },
+ updateStyle: function () {
+ if (this.parent == null) {
+ return;
+ }
+ var index = this.index;
+ var _a = this.parent.children, children = _a === void 0 ? [] : _a;
+ this.setData({
+ isFirst: index === 0,
+ isLast: index === children.length - 1,
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/goods-action-button/index.json b/coupon/miniprogram/@vant/weapp/lib/goods-action-button/index.json
new file mode 100644
index 0000000..b567686
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/goods-action-button/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-button": "../button/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/goods-action-button/index.wxml b/coupon/miniprogram/@vant/weapp/lib/goods-action-button/index.wxml
new file mode 100644
index 0000000..4505f21
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/goods-action-button/index.wxml
@@ -0,0 +1,30 @@
+
+
+ {{ text }}
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/goods-action-button/index.wxss b/coupon/miniprogram/@vant/weapp/lib/goods-action-button/index.wxss
new file mode 100644
index 0000000..759a1d9
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/goods-action-button/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';:host{flex:1}.van-goods-action-button{--button-warning-background-color:var(--goods-action-button-warning-color,linear-gradient(to right,#ffd01e,#ff8917));--button-danger-background-color:var(--goods-action-button-danger-color,linear-gradient(to right,#ff6034,#ee0a24));--button-default-height:var(--goods-action-button-height,40px);--button-line-height:var(--goods-action-button-line-height,20px);--button-plain-background-color:var(--goods-action-button-plain-color,#fff);--button-border-width:0;display:block}.van-goods-action-button--first{--button-border-radius:999px 0 0 var(--goods-action-button-border-radius,999px);margin-left:5px}.van-goods-action-button--last{--button-border-radius:0 999px var(--goods-action-button-border-radius,999px) 0;margin-right:5px}.van-goods-action-button--first.van-goods-action-button--last{--button-border-radius:var(--goods-action-button-border-radius,999px)}.van-goods-action-button--plain{--button-border-width:1px}.van-goods-action-button__inner{font-weight:var(--font-weight-bold,500)!important;width:100%}@media (max-width:321px){.van-goods-action-button{font-size:13px}}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/goods-action-icon/index.js b/coupon/miniprogram/@vant/weapp/lib/goods-action-icon/index.js
new file mode 100644
index 0000000..d9bc8f6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/goods-action-icon/index.js
@@ -0,0 +1,23 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var button_1 = require("../mixins/button");
+var link_1 = require("../mixins/link");
+(0, component_1.VantComponent)({
+ classes: ['icon-class', 'text-class'],
+ mixins: [link_1.link, button_1.button],
+ props: {
+ text: String,
+ dot: Boolean,
+ info: String,
+ icon: String,
+ disabled: Boolean,
+ loading: Boolean,
+ },
+ methods: {
+ onClick: function (event) {
+ this.$emit('click', event.detail);
+ this.jumpLink();
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/goods-action-icon/index.json b/coupon/miniprogram/@vant/weapp/lib/goods-action-icon/index.json
new file mode 100644
index 0000000..93bfe8a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/goods-action-icon/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-button": "../button/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/goods-action-icon/index.wxml b/coupon/miniprogram/@vant/weapp/lib/goods-action-icon/index.wxml
new file mode 100644
index 0000000..65b7ced
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/goods-action-icon/index.wxml
@@ -0,0 +1,35 @@
+
+
+
+ {{ text }}
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/goods-action-icon/index.wxss b/coupon/miniprogram/@vant/weapp/lib/goods-action-icon/index.wxss
new file mode 100644
index 0000000..6e4758d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/goods-action-icon/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-goods-action-icon{border:none!important;color:var(--goods-action-icon-text-color,#646566)!important;display:flex!important;flex-direction:column;font-size:var(--goods-action-icon-font-size,10px)!important;height:var(--goods-action-icon-height,50px)!important;justify-content:center!important;line-height:1!important;min-width:var(--goods-action-icon-width,48px)}.van-goods-action-icon__icon{color:var(--goods-action-icon-color,#323233);display:flex;font-size:var(--goods-action-icon-size,18px);margin:0 auto 5px}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/goods-action/index.js b/coupon/miniprogram/@vant/weapp/lib/goods-action/index.js
new file mode 100644
index 0000000..e49bcbc
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/goods-action/index.js
@@ -0,0 +1,17 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useChildren)('goods-action-button', function () {
+ this.children.forEach(function (item) {
+ item.updateStyle();
+ });
+ }),
+ props: {
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/goods-action/index.json b/coupon/miniprogram/@vant/weapp/lib/goods-action/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/goods-action/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/goods-action/index.wxml b/coupon/miniprogram/@vant/weapp/lib/goods-action/index.wxml
new file mode 100644
index 0000000..569450c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/goods-action/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/goods-action/index.wxss b/coupon/miniprogram/@vant/weapp/lib/goods-action/index.wxss
new file mode 100644
index 0000000..7793e77
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/goods-action/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-goods-action{align-items:center;background-color:var(--goods-action-background-color,#fff);bottom:0;box-sizing:initial;display:flex;height:var(--goods-action-height,50px);left:0;position:fixed;right:0}.van-goods-action--safe{padding-bottom:env(safe-area-inset-bottom)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/grid-item/index.js b/coupon/miniprogram/@vant/weapp/lib/grid-item/index.js
new file mode 100644
index 0000000..a7d47a2
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/grid-item/index.js
@@ -0,0 +1,54 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+var link_1 = require("../mixins/link");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useParent)('grid'),
+ classes: ['content-class', 'icon-class', 'text-class'],
+ mixins: [link_1.link],
+ props: {
+ icon: String,
+ iconColor: String,
+ iconPrefix: {
+ type: String,
+ value: 'van-icon',
+ },
+ dot: Boolean,
+ info: null,
+ badge: null,
+ text: String,
+ useSlot: Boolean,
+ },
+ data: {
+ viewStyle: '',
+ },
+ mounted: function () {
+ this.updateStyle();
+ },
+ methods: {
+ updateStyle: function () {
+ if (!this.parent) {
+ return;
+ }
+ var _a = this.parent, data = _a.data, children = _a.children;
+ var columnNum = data.columnNum, border = data.border, square = data.square, gutter = data.gutter, clickable = data.clickable, center = data.center, direction = data.direction, reverse = data.reverse, iconSize = data.iconSize;
+ this.setData({
+ center: center,
+ border: border,
+ square: square,
+ gutter: gutter,
+ clickable: clickable,
+ direction: direction,
+ reverse: reverse,
+ iconSize: iconSize,
+ index: children.indexOf(this),
+ columnNum: columnNum,
+ });
+ },
+ onClick: function () {
+ this.$emit('click');
+ this.jumpLink();
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/grid-item/index.json b/coupon/miniprogram/@vant/weapp/lib/grid-item/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/grid-item/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/grid-item/index.wxml b/coupon/miniprogram/@vant/weapp/lib/grid-item/index.wxml
new file mode 100644
index 0000000..e95087d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/grid-item/index.wxml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ text }}
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/grid-item/index.wxs b/coupon/miniprogram/@vant/weapp/lib/grid-item/index.wxs
new file mode 100644
index 0000000..2cfe37d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/grid-item/index.wxs
@@ -0,0 +1,32 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function wrapperStyle(data) {
+ var width = 100 / data.columnNum + '%';
+
+ return style({
+ width: width,
+ 'padding-top': data.square ? width : null,
+ 'padding-right': addUnit(data.gutter),
+ 'margin-top':
+ data.index >= data.columnNum && !data.square
+ ? addUnit(data.gutter)
+ : null,
+ });
+}
+
+function contentStyle(data) {
+ return data.square
+ ? style({
+ right: addUnit(data.gutter),
+ bottom: addUnit(data.gutter),
+ height: 'auto',
+ })
+ : '';
+}
+
+module.exports = {
+ wrapperStyle: wrapperStyle,
+ contentStyle: contentStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/grid-item/index.wxss b/coupon/miniprogram/@vant/weapp/lib/grid-item/index.wxss
new file mode 100644
index 0000000..acaea84
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/grid-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-grid-item{box-sizing:border-box;float:left;position:relative}.van-grid-item--square{height:0}.van-grid-item__content{background-color:var(--grid-item-content-background-color,#fff);box-sizing:border-box;display:flex;flex-direction:column;height:100%;padding:var(--grid-item-content-padding,16px 8px)}.van-grid-item__content:after{border-width:0 1px 1px 0;z-index:1}.van-grid-item__content--surround:after{border-width:1px}.van-grid-item__content--center{align-items:center;justify-content:center}.van-grid-item__content--square{left:0;position:absolute;right:0;top:0}.van-grid-item__content--horizontal{flex-direction:row}.van-grid-item__content--horizontal .van-grid-item__text{margin:0 0 0 8px}.van-grid-item__content--reverse{flex-direction:column-reverse}.van-grid-item__content--reverse .van-grid-item__text{margin:0 0 8px}.van-grid-item__content--horizontal.van-grid-item__content--reverse{flex-direction:row-reverse}.van-grid-item__content--horizontal.van-grid-item__content--reverse .van-grid-item__text{margin:0 8px 0 0}.van-grid-item__content--clickable:active{background-color:var(--grid-item-content-active-color,#f2f3f5)}.van-grid-item__icon{align-items:center;display:flex;font-size:var(--grid-item-icon-size,26px);height:var(--grid-item-icon-size,26px)}.van-grid-item__text{word-wrap:break-word;color:var(--grid-item-text-color,#646566);font-size:var(--grid-item-text-font-size,12px)}.van-grid-item__icon+.van-grid-item__text{margin-top:8px}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/grid/index.js b/coupon/miniprogram/@vant/weapp/lib/grid/index.js
new file mode 100644
index 0000000..28d14f4
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/grid/index.js
@@ -0,0 +1,57 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useChildren)('grid-item'),
+ props: {
+ square: {
+ type: Boolean,
+ observer: 'updateChildren',
+ },
+ gutter: {
+ type: null,
+ value: 0,
+ observer: 'updateChildren',
+ },
+ clickable: {
+ type: Boolean,
+ observer: 'updateChildren',
+ },
+ columnNum: {
+ type: Number,
+ value: 4,
+ observer: 'updateChildren',
+ },
+ center: {
+ type: Boolean,
+ value: true,
+ observer: 'updateChildren',
+ },
+ border: {
+ type: Boolean,
+ value: true,
+ observer: 'updateChildren',
+ },
+ direction: {
+ type: String,
+ observer: 'updateChildren',
+ },
+ iconSize: {
+ type: String,
+ observer: 'updateChildren',
+ },
+ reverse: {
+ type: Boolean,
+ value: false,
+ observer: 'updateChildren',
+ },
+ },
+ methods: {
+ updateChildren: function () {
+ this.children.forEach(function (child) {
+ child.updateStyle();
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/grid/index.json b/coupon/miniprogram/@vant/weapp/lib/grid/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/grid/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/grid/index.wxml b/coupon/miniprogram/@vant/weapp/lib/grid/index.wxml
new file mode 100644
index 0000000..2e4118f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/grid/index.wxml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/grid/index.wxs b/coupon/miniprogram/@vant/weapp/lib/grid/index.wxs
new file mode 100644
index 0000000..cd3b1bd
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/grid/index.wxs
@@ -0,0 +1,13 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ return style({
+ 'padding-left': addUnit(data.gutter),
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/grid/index.wxss b/coupon/miniprogram/@vant/weapp/lib/grid/index.wxss
new file mode 100644
index 0000000..e347440
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/grid/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-grid{box-sizing:border-box;overflow:hidden;position:relative}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/icon/index.js b/coupon/miniprogram/@vant/weapp/lib/icon/index.js
new file mode 100644
index 0000000..103b11e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/icon/index.js
@@ -0,0 +1,22 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ dot: Boolean,
+ info: null,
+ size: null,
+ color: String,
+ customStyle: String,
+ classPrefix: {
+ type: String,
+ value: 'van-icon',
+ },
+ name: String,
+ },
+ methods: {
+ onClick: function () {
+ this.$emit('click');
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/icon/index.json b/coupon/miniprogram/@vant/weapp/lib/icon/index.json
new file mode 100644
index 0000000..bf0ebe0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/icon/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-info": "../info/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/icon/index.wxml b/coupon/miniprogram/@vant/weapp/lib/icon/index.wxml
new file mode 100644
index 0000000..3c70174
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/icon/index.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/icon/index.wxs b/coupon/miniprogram/@vant/weapp/lib/icon/index.wxs
new file mode 100644
index 0000000..45e3aa0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/icon/index.wxs
@@ -0,0 +1,39 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function isImage(name) {
+ return name.indexOf('/') !== -1;
+}
+
+function rootClass(data) {
+ var classes = ['custom-class'];
+
+ if (data.classPrefix != null) {
+ classes.push(data.classPrefix);
+ }
+
+ if (isImage(data.name)) {
+ classes.push('van-icon--image');
+ } else if (data.classPrefix != null) {
+ classes.push(data.classPrefix + '-' + data.name);
+ }
+
+ return classes.join(' ');
+}
+
+function rootStyle(data) {
+ return style([
+ {
+ color: data.color,
+ 'font-size': addUnit(data.size),
+ },
+ data.customStyle,
+ ]);
+}
+
+module.exports = {
+ isImage: isImage,
+ rootClass: rootClass,
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/icon/index.wxss b/coupon/miniprogram/@vant/weapp/lib/icon/index.wxss
new file mode 100644
index 0000000..12cb2d0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/icon/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-icon{text-rendering:auto;-webkit-font-smoothing:antialiased;font:normal normal normal 14px/1 vant-icon;font-size:inherit;position:relative}.van-icon,.van-icon:before{display:inline-block}.van-icon-exchange:before{content:"\e6af"}.van-icon-eye:before{content:"\e6b0"}.van-icon-enlarge:before{content:"\e6b1"}.van-icon-expand-o:before{content:"\e6b2"}.van-icon-eye-o:before{content:"\e6b3"}.van-icon-expand:before{content:"\e6b4"}.van-icon-filter-o:before{content:"\e6b5"}.van-icon-fire:before{content:"\e6b6"}.van-icon-fail:before{content:"\e6b7"}.van-icon-failure:before{content:"\e6b8"}.van-icon-fire-o:before{content:"\e6b9"}.van-icon-flag-o:before{content:"\e6ba"}.van-icon-font:before{content:"\e6bb"}.van-icon-font-o:before{content:"\e6bc"}.van-icon-gem-o:before{content:"\e6bd"}.van-icon-flower-o:before{content:"\e6be"}.van-icon-gem:before{content:"\e6bf"}.van-icon-gift-card:before{content:"\e6c0"}.van-icon-friends:before{content:"\e6c1"}.van-icon-friends-o:before{content:"\e6c2"}.van-icon-gold-coin:before{content:"\e6c3"}.van-icon-gold-coin-o:before{content:"\e6c4"}.van-icon-good-job-o:before{content:"\e6c5"}.van-icon-gift:before{content:"\e6c6"}.van-icon-gift-o:before{content:"\e6c7"}.van-icon-gift-card-o:before{content:"\e6c8"}.van-icon-good-job:before{content:"\e6c9"}.van-icon-home-o:before{content:"\e6ca"}.van-icon-goods-collect:before{content:"\e6cb"}.van-icon-graphic:before{content:"\e6cc"}.van-icon-goods-collect-o:before{content:"\e6cd"}.van-icon-hot-o:before{content:"\e6ce"}.van-icon-info:before{content:"\e6cf"}.van-icon-hotel-o:before{content:"\e6d0"}.van-icon-info-o:before{content:"\e6d1"}.van-icon-hot-sale-o:before{content:"\e6d2"}.van-icon-hot:before{content:"\e6d3"}.van-icon-like:before{content:"\e6d4"}.van-icon-idcard:before{content:"\e6d5"}.van-icon-invitation:before{content:"\e6d6"}.van-icon-like-o:before{content:"\e6d7"}.van-icon-hot-sale:before{content:"\e6d8"}.van-icon-location-o:before{content:"\e6d9"}.van-icon-location:before{content:"\e6da"}.van-icon-label:before{content:"\e6db"}.van-icon-lock:before{content:"\e6dc"}.van-icon-label-o:before{content:"\e6dd"}.van-icon-map-marked:before{content:"\e6de"}.van-icon-logistics:before{content:"\e6df"}.van-icon-manager:before{content:"\e6e0"}.van-icon-more:before{content:"\e6e1"}.van-icon-live:before{content:"\e6e2"}.van-icon-manager-o:before{content:"\e6e3"}.van-icon-medal:before{content:"\e6e4"}.van-icon-more-o:before{content:"\e6e5"}.van-icon-music-o:before{content:"\e6e6"}.van-icon-music:before{content:"\e6e7"}.van-icon-new-arrival-o:before{content:"\e6e8"}.van-icon-medal-o:before{content:"\e6e9"}.van-icon-new-o:before{content:"\e6ea"}.van-icon-free-postage:before{content:"\e6eb"}.van-icon-newspaper-o:before{content:"\e6ec"}.van-icon-new-arrival:before{content:"\e6ed"}.van-icon-minus:before{content:"\e6ee"}.van-icon-orders-o:before{content:"\e6ef"}.van-icon-new:before{content:"\e6f0"}.van-icon-paid:before{content:"\e6f1"}.van-icon-notes-o:before{content:"\e6f2"}.van-icon-other-pay:before{content:"\e6f3"}.van-icon-pause-circle:before{content:"\e6f4"}.van-icon-pause:before{content:"\e6f5"}.van-icon-pause-circle-o:before{content:"\e6f6"}.van-icon-peer-pay:before{content:"\e6f7"}.van-icon-pending-payment:before{content:"\e6f8"}.van-icon-passed:before{content:"\e6f9"}.van-icon-plus:before{content:"\e6fa"}.van-icon-phone-circle-o:before{content:"\e6fb"}.van-icon-phone-o:before{content:"\e6fc"}.van-icon-printer:before{content:"\e6fd"}.van-icon-photo-fail:before{content:"\e6fe"}.van-icon-phone:before{content:"\e6ff"}.van-icon-photo-o:before{content:"\e700"}.van-icon-play-circle:before{content:"\e701"}.van-icon-play:before{content:"\e702"}.van-icon-phone-circle:before{content:"\e703"}.van-icon-point-gift-o:before{content:"\e704"}.van-icon-point-gift:before{content:"\e705"}.van-icon-play-circle-o:before{content:"\e706"}.van-icon-shrink:before{content:"\e707"}.van-icon-photo:before{content:"\e708"}.van-icon-qr:before{content:"\e709"}.van-icon-qr-invalid:before{content:"\e70a"}.van-icon-question-o:before{content:"\e70b"}.van-icon-revoke:before{content:"\e70c"}.van-icon-replay:before{content:"\e70d"}.van-icon-service:before{content:"\e70e"}.van-icon-question:before{content:"\e70f"}.van-icon-search:before{content:"\e710"}.van-icon-refund-o:before{content:"\e711"}.van-icon-service-o:before{content:"\e712"}.van-icon-scan:before{content:"\e713"}.van-icon-share:before{content:"\e714"}.van-icon-send-gift-o:before{content:"\e715"}.van-icon-share-o:before{content:"\e716"}.van-icon-setting:before{content:"\e717"}.van-icon-points:before{content:"\e718"}.van-icon-photograph:before{content:"\e719"}.van-icon-shop:before{content:"\e71a"}.van-icon-shop-o:before{content:"\e71b"}.van-icon-shop-collect-o:before{content:"\e71c"}.van-icon-shop-collect:before{content:"\e71d"}.van-icon-smile:before{content:"\e71e"}.van-icon-shopping-cart-o:before{content:"\e71f"}.van-icon-sign:before{content:"\e720"}.van-icon-sort:before{content:"\e721"}.van-icon-star-o:before{content:"\e722"}.van-icon-smile-comment-o:before{content:"\e723"}.van-icon-stop:before{content:"\e724"}.van-icon-stop-circle-o:before{content:"\e725"}.van-icon-smile-o:before{content:"\e726"}.van-icon-star:before{content:"\e727"}.van-icon-success:before{content:"\e728"}.van-icon-stop-circle:before{content:"\e729"}.van-icon-records:before{content:"\e72a"}.van-icon-shopping-cart:before{content:"\e72b"}.van-icon-tosend:before{content:"\e72c"}.van-icon-todo-list:before{content:"\e72d"}.van-icon-thumb-circle-o:before{content:"\e72e"}.van-icon-thumb-circle:before{content:"\e72f"}.van-icon-umbrella-circle:before{content:"\e730"}.van-icon-underway:before{content:"\e731"}.van-icon-upgrade:before{content:"\e732"}.van-icon-todo-list-o:before{content:"\e733"}.van-icon-tv-o:before{content:"\e734"}.van-icon-underway-o:before{content:"\e735"}.van-icon-user-o:before{content:"\e736"}.van-icon-vip-card-o:before{content:"\e737"}.van-icon-vip-card:before{content:"\e738"}.van-icon-send-gift:before{content:"\e739"}.van-icon-wap-home:before{content:"\e73a"}.van-icon-wap-nav:before{content:"\e73b"}.van-icon-volume-o:before{content:"\e73c"}.van-icon-video:before{content:"\e73d"}.van-icon-wap-home-o:before{content:"\e73e"}.van-icon-volume:before{content:"\e73f"}.van-icon-warning:before{content:"\e740"}.van-icon-weapp-nav:before{content:"\e741"}.van-icon-wechat-pay:before{content:"\e742"}.van-icon-warning-o:before{content:"\e743"}.van-icon-wechat:before{content:"\e744"}.van-icon-setting-o:before{content:"\e745"}.van-icon-youzan-shield:before{content:"\e746"}.van-icon-warn-o:before{content:"\e747"}.van-icon-smile-comment:before{content:"\e748"}.van-icon-user-circle-o:before{content:"\e749"}.van-icon-video-o:before{content:"\e74a"}.van-icon-add-square:before{content:"\e65c"}.van-icon-add:before{content:"\e65d"}.van-icon-arrow-down:before{content:"\e65e"}.van-icon-arrow-up:before{content:"\e65f"}.van-icon-arrow:before{content:"\e660"}.van-icon-after-sale:before{content:"\e661"}.van-icon-add-o:before{content:"\e662"}.van-icon-alipay:before{content:"\e663"}.van-icon-ascending:before{content:"\e664"}.van-icon-apps-o:before{content:"\e665"}.van-icon-aim:before{content:"\e666"}.van-icon-award:before{content:"\e667"}.van-icon-arrow-left:before{content:"\e668"}.van-icon-award-o:before{content:"\e669"}.van-icon-audio:before{content:"\e66a"}.van-icon-bag-o:before{content:"\e66b"}.van-icon-balance-list:before{content:"\e66c"}.van-icon-back-top:before{content:"\e66d"}.van-icon-bag:before{content:"\e66e"}.van-icon-balance-pay:before{content:"\e66f"}.van-icon-balance-o:before{content:"\e670"}.van-icon-bar-chart-o:before{content:"\e671"}.van-icon-bars:before{content:"\e672"}.van-icon-balance-list-o:before{content:"\e673"}.van-icon-birthday-cake-o:before{content:"\e674"}.van-icon-bookmark:before{content:"\e675"}.van-icon-bill:before{content:"\e676"}.van-icon-bell:before{content:"\e677"}.van-icon-browsing-history-o:before{content:"\e678"}.van-icon-browsing-history:before{content:"\e679"}.van-icon-bookmark-o:before{content:"\e67a"}.van-icon-bulb-o:before{content:"\e67b"}.van-icon-bullhorn-o:before{content:"\e67c"}.van-icon-bill-o:before{content:"\e67d"}.van-icon-calendar-o:before{content:"\e67e"}.van-icon-brush-o:before{content:"\e67f"}.van-icon-card:before{content:"\e680"}.van-icon-cart-o:before{content:"\e681"}.van-icon-cart-circle:before{content:"\e682"}.van-icon-cart-circle-o:before{content:"\e683"}.van-icon-cart:before{content:"\e684"}.van-icon-cash-on-deliver:before{content:"\e685"}.van-icon-cash-back-record:before{content:"\e686"}.van-icon-cashier-o:before{content:"\e687"}.van-icon-chart-trending-o:before{content:"\e688"}.van-icon-certificate:before{content:"\e689"}.van-icon-chat:before{content:"\e68a"}.van-icon-clear:before{content:"\e68b"}.van-icon-chat-o:before{content:"\e68c"}.van-icon-checked:before{content:"\e68d"}.van-icon-clock:before{content:"\e68e"}.van-icon-clock-o:before{content:"\e68f"}.van-icon-close:before{content:"\e690"}.van-icon-closed-eye:before{content:"\e691"}.van-icon-circle:before{content:"\e692"}.van-icon-cluster-o:before{content:"\e693"}.van-icon-column:before{content:"\e694"}.van-icon-comment-circle-o:before{content:"\e695"}.van-icon-cluster:before{content:"\e696"}.van-icon-comment:before{content:"\e697"}.van-icon-comment-o:before{content:"\e698"}.van-icon-comment-circle:before{content:"\e699"}.van-icon-completed:before{content:"\e69a"}.van-icon-credit-pay:before{content:"\e69b"}.van-icon-coupon:before{content:"\e69c"}.van-icon-debit-pay:before{content:"\e69d"}.van-icon-coupon-o:before{content:"\e69e"}.van-icon-contact:before{content:"\e69f"}.van-icon-descending:before{content:"\e6a0"}.van-icon-desktop-o:before{content:"\e6a1"}.van-icon-diamond-o:before{content:"\e6a2"}.van-icon-description:before{content:"\e6a3"}.van-icon-delete:before{content:"\e6a4"}.van-icon-diamond:before{content:"\e6a5"}.van-icon-delete-o:before{content:"\e6a6"}.van-icon-cross:before{content:"\e6a7"}.van-icon-edit:before{content:"\e6a8"}.van-icon-ellipsis:before{content:"\e6a9"}.van-icon-down:before{content:"\e6aa"}.van-icon-discount:before{content:"\e6ab"}.van-icon-ecard-pay:before{content:"\e6ac"}.van-icon-envelop-o:before{content:"\e6ae"}.van-icon-shield-o:before{content:"\e74b"}.van-icon-guide-o:before{content:"\e74c"}@font-face{font-display:auto;font-family:vant-icon;font-style:normal;font-weight:400;src:url(//at.alicdn.com/t/font_2553510_61agzg96wm8.woff2?t=1631948257467) format("woff2"),url(//at.alicdn.com/t/font_2553510_61agzg96wm8.woff?t=1631948257467) format("woff"),url(//at.alicdn.com/t/font_2553510_61agzg96wm8.ttf?t=1631948257467) format("truetype")}:host{align-items:center;display:inline-flex;justify-content:center}.van-icon--image{height:1em;width:1em}.van-icon__image{height:100%;width:100%}.van-icon__info{z-index:1}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/image/index.js b/coupon/miniprogram/@vant/weapp/lib/image/index.js
new file mode 100644
index 0000000..d4c62fc
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/image/index.js
@@ -0,0 +1,62 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var button_1 = require("../mixins/button");
+(0, component_1.VantComponent)({
+ mixins: [button_1.button],
+ classes: ['custom-class', 'loading-class', 'error-class', 'image-class'],
+ props: {
+ src: {
+ type: String,
+ observer: function () {
+ this.setData({
+ error: false,
+ loading: true,
+ });
+ },
+ },
+ round: Boolean,
+ width: null,
+ height: null,
+ radius: null,
+ lazyLoad: Boolean,
+ useErrorSlot: Boolean,
+ useLoadingSlot: Boolean,
+ showMenuByLongpress: Boolean,
+ fit: {
+ type: String,
+ value: 'fill',
+ },
+ showError: {
+ type: Boolean,
+ value: true,
+ },
+ showLoading: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ error: false,
+ loading: true,
+ viewStyle: '',
+ },
+ methods: {
+ onLoad: function (event) {
+ this.setData({
+ loading: false,
+ });
+ this.$emit('load', event.detail);
+ },
+ onError: function (event) {
+ this.setData({
+ loading: false,
+ error: true,
+ });
+ this.$emit('error', event.detail);
+ },
+ onClick: function (event) {
+ this.$emit('click', event.detail);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/image/index.json b/coupon/miniprogram/@vant/weapp/lib/image/index.json
new file mode 100644
index 0000000..e00a588
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/image/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/image/index.wxml b/coupon/miniprogram/@vant/weapp/lib/image/index.wxml
new file mode 100644
index 0000000..d3092bd
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/image/index.wxml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/image/index.wxs b/coupon/miniprogram/@vant/weapp/lib/image/index.wxs
new file mode 100644
index 0000000..cec14b8
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/image/index.wxs
@@ -0,0 +1,32 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ return style([
+ {
+ width: addUnit(data.width),
+ height: addUnit(data.height),
+ 'border-radius': addUnit(data.radius),
+ },
+ data.radius ? 'overflow: hidden' : null,
+ ]);
+}
+
+var FIT_MODE_MAP = {
+ none: 'center',
+ fill: 'scaleToFill',
+ cover: 'aspectFill',
+ contain: 'aspectFit',
+ widthFix: 'widthFix',
+ heightFix: 'heightFix',
+};
+
+function mode(fit) {
+ return FIT_MODE_MAP[fit];
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+ mode: mode,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/image/index.wxss b/coupon/miniprogram/@vant/weapp/lib/image/index.wxss
new file mode 100644
index 0000000..a9c6ebb
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/image/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-image{display:inline-block;position:relative}.van-image--round{border-radius:50%;overflow:hidden}.van-image--round .van-image__img{border-radius:inherit}.van-image__error,.van-image__img,.van-image__loading{display:block;height:100%;width:100%}.van-image__error,.van-image__loading{align-items:center;background-color:var(--image-placeholder-background-color,#f7f8fa);color:var(--image-placeholder-text-color,#969799);display:flex;flex-direction:column;font-size:var(--image-placeholder-font-size,14px);justify-content:center;left:0;position:absolute;top:0}.van-image__loading-icon{color:var(--image-loading-icon-color,#dcdee0);font-size:var(--image-loading-icon-size,32px)!important}.van-image__error-icon{color:var(--image-error-icon-color,#dcdee0);font-size:var(--image-error-icon-size,32px)!important}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/index-anchor/index.js b/coupon/miniprogram/@vant/weapp/lib/index-anchor/index.js
new file mode 100644
index 0000000..9a361a9
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/index-anchor/index.js
@@ -0,0 +1,28 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var utils_1 = require("../common/utils");
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useParent)('index-bar'),
+ props: {
+ useSlot: Boolean,
+ index: null,
+ },
+ data: {
+ active: false,
+ wrapperStyle: '',
+ anchorStyle: '',
+ },
+ methods: {
+ scrollIntoView: function (scrollTop) {
+ var _this = this;
+ (0, utils_1.getRect)(this, '.van-index-anchor-wrapper').then(function (rect) {
+ wx.pageScrollTo({
+ duration: 0,
+ scrollTop: scrollTop + rect.top - _this.parent.data.stickyOffsetTop,
+ });
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/index-anchor/index.json b/coupon/miniprogram/@vant/weapp/lib/index-anchor/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/index-anchor/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/index-anchor/index.wxml b/coupon/miniprogram/@vant/weapp/lib/index-anchor/index.wxml
new file mode 100644
index 0000000..49affa7
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/index-anchor/index.wxml
@@ -0,0 +1,14 @@
+
+
+
+
+ {{ index }}
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/index-anchor/index.wxss b/coupon/miniprogram/@vant/weapp/lib/index-anchor/index.wxss
new file mode 100644
index 0000000..4b91560
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/index-anchor/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-index-anchor{background-color:var(--index-anchor-background-color,transparent);color:var(--index-anchor-text-color,#323233);font-size:var(--index-anchor-font-size,14px);font-weight:var(--index-anchor-font-weight,500);line-height:var(--index-anchor-line-height,32px);padding:var(--index-anchor-padding,0 16px)}.van-index-anchor--active{background-color:var(--index-anchor-active-background-color,#fff);color:var(--index-anchor-active-text-color,#07c160);left:0;right:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/index-bar/index.js b/coupon/miniprogram/@vant/weapp/lib/index-bar/index.js
new file mode 100644
index 0000000..3037c18
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/index-bar/index.js
@@ -0,0 +1,240 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var color_1 = require("../common/color");
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+var utils_1 = require("../common/utils");
+var page_scroll_1 = require("../mixins/page-scroll");
+var indexList = function () {
+ var indexList = [];
+ var charCodeOfA = 'A'.charCodeAt(0);
+ for (var i = 0; i < 26; i++) {
+ indexList.push(String.fromCharCode(charCodeOfA + i));
+ }
+ return indexList;
+};
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useChildren)('index-anchor', function () {
+ this.updateData();
+ }),
+ props: {
+ sticky: {
+ type: Boolean,
+ value: true,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ highlightColor: {
+ type: String,
+ value: color_1.GREEN,
+ },
+ stickyOffsetTop: {
+ type: Number,
+ value: 0,
+ },
+ indexList: {
+ type: Array,
+ value: indexList(),
+ },
+ },
+ mixins: [
+ (0, page_scroll_1.pageScrollMixin)(function (event) {
+ this.scrollTop = (event === null || event === void 0 ? void 0 : event.scrollTop) || 0;
+ this.onScroll();
+ }),
+ ],
+ data: {
+ activeAnchorIndex: null,
+ showSidebar: false,
+ },
+ created: function () {
+ this.scrollTop = 0;
+ },
+ methods: {
+ updateData: function () {
+ var _this = this;
+ wx.nextTick(function () {
+ if (_this.timer != null) {
+ clearTimeout(_this.timer);
+ }
+ _this.timer = setTimeout(function () {
+ _this.setData({
+ showSidebar: !!_this.children.length,
+ });
+ _this.setRect().then(function () {
+ _this.onScroll();
+ });
+ }, 0);
+ });
+ },
+ setRect: function () {
+ return Promise.all([
+ this.setAnchorsRect(),
+ this.setListRect(),
+ this.setSiderbarRect(),
+ ]);
+ },
+ setAnchorsRect: function () {
+ var _this = this;
+ return Promise.all(this.children.map(function (anchor) {
+ return (0, utils_1.getRect)(anchor, '.van-index-anchor-wrapper').then(function (rect) {
+ Object.assign(anchor, {
+ height: rect.height,
+ top: rect.top + _this.scrollTop,
+ });
+ });
+ }));
+ },
+ setListRect: function () {
+ var _this = this;
+ return (0, utils_1.getRect)(this, '.van-index-bar').then(function (rect) {
+ Object.assign(_this, {
+ height: rect.height,
+ top: rect.top + _this.scrollTop,
+ });
+ });
+ },
+ setSiderbarRect: function () {
+ var _this = this;
+ return (0, utils_1.getRect)(this, '.van-index-bar__sidebar').then(function (res) {
+ if (!(0, utils_1.isDef)(res)) {
+ return;
+ }
+ _this.sidebar = {
+ height: res.height,
+ top: res.top,
+ };
+ });
+ },
+ setDiffData: function (_a) {
+ var target = _a.target, data = _a.data;
+ var diffData = {};
+ Object.keys(data).forEach(function (key) {
+ if (target.data[key] !== data[key]) {
+ diffData[key] = data[key];
+ }
+ });
+ if (Object.keys(diffData).length) {
+ target.setData(diffData);
+ }
+ },
+ getAnchorRect: function (anchor) {
+ return (0, utils_1.getRect)(anchor, '.van-index-anchor-wrapper').then(function (rect) { return ({
+ height: rect.height,
+ top: rect.top,
+ }); });
+ },
+ getActiveAnchorIndex: function () {
+ var _a = this, children = _a.children, scrollTop = _a.scrollTop;
+ var _b = this.data, sticky = _b.sticky, stickyOffsetTop = _b.stickyOffsetTop;
+ for (var i = this.children.length - 1; i >= 0; i--) {
+ var preAnchorHeight = i > 0 ? children[i - 1].height : 0;
+ var reachTop = sticky ? preAnchorHeight + stickyOffsetTop : 0;
+ if (reachTop + scrollTop >= children[i].top) {
+ return i;
+ }
+ }
+ return -1;
+ },
+ onScroll: function () {
+ var _this = this;
+ var _a = this, _b = _a.children, children = _b === void 0 ? [] : _b, scrollTop = _a.scrollTop;
+ if (!children.length) {
+ return;
+ }
+ var _c = this.data, sticky = _c.sticky, stickyOffsetTop = _c.stickyOffsetTop, zIndex = _c.zIndex, highlightColor = _c.highlightColor;
+ var active = this.getActiveAnchorIndex();
+ this.setDiffData({
+ target: this,
+ data: {
+ activeAnchorIndex: active,
+ },
+ });
+ if (sticky) {
+ var isActiveAnchorSticky_1 = false;
+ if (active !== -1) {
+ isActiveAnchorSticky_1 =
+ children[active].top <= stickyOffsetTop + scrollTop;
+ }
+ children.forEach(function (item, index) {
+ if (index === active) {
+ var wrapperStyle = '';
+ var anchorStyle = "\n color: " + highlightColor + ";\n ";
+ if (isActiveAnchorSticky_1) {
+ wrapperStyle = "\n height: " + children[index].height + "px;\n ";
+ anchorStyle = "\n position: fixed;\n top: " + stickyOffsetTop + "px;\n z-index: " + zIndex + ";\n color: " + highlightColor + ";\n ";
+ }
+ _this.setDiffData({
+ target: item,
+ data: {
+ active: true,
+ anchorStyle: anchorStyle,
+ wrapperStyle: wrapperStyle,
+ },
+ });
+ }
+ else if (index === active - 1) {
+ var currentAnchor = children[index];
+ var currentOffsetTop = currentAnchor.top;
+ var targetOffsetTop = index === children.length - 1
+ ? _this.top
+ : children[index + 1].top;
+ var parentOffsetHeight = targetOffsetTop - currentOffsetTop;
+ var translateY = parentOffsetHeight - currentAnchor.height;
+ var anchorStyle = "\n position: relative;\n transform: translate3d(0, " + translateY + "px, 0);\n z-index: " + zIndex + ";\n color: " + highlightColor + ";\n ";
+ _this.setDiffData({
+ target: item,
+ data: {
+ active: true,
+ anchorStyle: anchorStyle,
+ },
+ });
+ }
+ else {
+ _this.setDiffData({
+ target: item,
+ data: {
+ active: false,
+ anchorStyle: '',
+ wrapperStyle: '',
+ },
+ });
+ }
+ });
+ }
+ },
+ onClick: function (event) {
+ this.scrollToAnchor(event.target.dataset.index);
+ },
+ onTouchMove: function (event) {
+ var sidebarLength = this.children.length;
+ var touch = event.touches[0];
+ var itemHeight = this.sidebar.height / sidebarLength;
+ var index = Math.floor((touch.clientY - this.sidebar.top) / itemHeight);
+ if (index < 0) {
+ index = 0;
+ }
+ else if (index > sidebarLength - 1) {
+ index = sidebarLength - 1;
+ }
+ this.scrollToAnchor(index);
+ },
+ onTouchStop: function () {
+ this.scrollToAnchorIndex = null;
+ },
+ scrollToAnchor: function (index) {
+ var _this = this;
+ if (typeof index !== 'number' || this.scrollToAnchorIndex === index) {
+ return;
+ }
+ this.scrollToAnchorIndex = index;
+ var anchor = this.children.find(function (item) { return item.data.index === _this.data.indexList[index]; });
+ if (anchor) {
+ anchor.scrollIntoView(this.scrollTop);
+ this.$emit('select', anchor.data.index);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/index-bar/index.json b/coupon/miniprogram/@vant/weapp/lib/index-bar/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/index-bar/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/index-bar/index.wxml b/coupon/miniprogram/@vant/weapp/lib/index-bar/index.wxml
new file mode 100644
index 0000000..19a59cf
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/index-bar/index.wxml
@@ -0,0 +1,22 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/index-bar/index.wxss b/coupon/miniprogram/@vant/weapp/lib/index-bar/index.wxss
new file mode 100644
index 0000000..8568801
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/index-bar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-index-bar{position:relative}.van-index-bar__sidebar{display:flex;flex-direction:column;position:fixed;right:0;text-align:center;top:50%;transform:translateY(-50%);-webkit-user-select:none;user-select:none}.van-index-bar__index{font-size:var(--index-bar-index-font-size,10px);font-weight:500;line-height:var(--index-bar-index-line-height,14px);padding:0 var(--padding-base,4px) 0 var(--padding-md,16px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/info/index.js b/coupon/miniprogram/@vant/weapp/lib/info/index.js
new file mode 100644
index 0000000..e61af73
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/info/index.js
@@ -0,0 +1,10 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ dot: Boolean,
+ info: null,
+ customStyle: String,
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/info/index.json b/coupon/miniprogram/@vant/weapp/lib/info/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/info/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/info/index.wxml b/coupon/miniprogram/@vant/weapp/lib/info/index.wxml
new file mode 100644
index 0000000..b39b524
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/info/index.wxml
@@ -0,0 +1,7 @@
+
+
+{{ dot ? '' : info }}
diff --git a/coupon/miniprogram/@vant/weapp/lib/info/index.wxss b/coupon/miniprogram/@vant/weapp/lib/info/index.wxss
new file mode 100644
index 0000000..375ed5a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/info/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-info{align-items:center;background-color:var(--info-background-color,#ee0a24);border:var(--info-border-width,1px) solid #fff;border-radius:var(--info-size,16px);box-sizing:border-box;color:var(--info-color,#fff);display:inline-flex;font-family:var(--info-font-family,-apple-system-font,Helvetica Neue,Arial,sans-serif);font-size:var(--info-font-size,12px);font-weight:var(--info-font-weight,500);height:var(--info-size,16px);justify-content:center;min-width:var(--info-size,16px);padding:var(--info-padding,0 3px);position:absolute;right:0;top:0;transform:translate(50%,-50%);transform-origin:100%;white-space:nowrap}.van-info--dot{background-color:var(--info-dot-color,#ee0a24);border-radius:100%;height:var(--info-dot-size,8px);min-width:0;width:var(--info-dot-size,8px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/loading/index.js b/coupon/miniprogram/@vant/weapp/lib/loading/index.js
new file mode 100644
index 0000000..be9c0ef
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/loading/index.js
@@ -0,0 +1,18 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ color: String,
+ vertical: Boolean,
+ type: {
+ type: String,
+ value: 'circular',
+ },
+ size: String,
+ textSize: String,
+ },
+ data: {
+ array12: Array.from({ length: 12 }),
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/loading/index.json b/coupon/miniprogram/@vant/weapp/lib/loading/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/loading/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/loading/index.wxml b/coupon/miniprogram/@vant/weapp/lib/loading/index.wxml
new file mode 100644
index 0000000..7d4a539
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/loading/index.wxml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/loading/index.wxs b/coupon/miniprogram/@vant/weapp/lib/loading/index.wxs
new file mode 100644
index 0000000..02a0b80
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/loading/index.wxs
@@ -0,0 +1,22 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function spinnerStyle(data) {
+ return style({
+ color: data.color,
+ width: addUnit(data.size),
+ height: addUnit(data.size),
+ });
+}
+
+function textStyle(data) {
+ return style({
+ 'font-size': addUnit(data.textSize),
+ });
+}
+
+module.exports = {
+ spinnerStyle: spinnerStyle,
+ textStyle: textStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/loading/index.wxss b/coupon/miniprogram/@vant/weapp/lib/loading/index.wxss
new file mode 100644
index 0000000..fc84e84
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/loading/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';:host{font-size:0;line-height:1}.van-loading{align-items:center;color:var(--loading-spinner-color,#c8c9cc);display:inline-flex;justify-content:center}.van-loading__spinner{animation:van-rotate var(--loading-spinner-animation-duration,.8s) linear infinite;box-sizing:border-box;height:var(--loading-spinner-size,30px);max-height:100%;max-width:100%;position:relative;width:var(--loading-spinner-size,30px)}.van-loading__spinner--spinner{animation-timing-function:steps(12)}.van-loading__spinner--circular{border:1px solid transparent;border-radius:100%;border-top-color:initial}.van-loading__text{color:var(--loading-text-color,#969799);font-size:var(--loading-text-font-size,14px);line-height:var(--loading-text-line-height,20px);margin-left:var(--padding-xs,8px)}.van-loading__text:empty{display:none}.van-loading--vertical{flex-direction:column}.van-loading--vertical .van-loading__text{margin:var(--padding-xs,8px) 0 0}.van-loading__dot{height:100%;left:0;position:absolute;top:0;width:100%}.van-loading__dot:before{background-color:currentColor;border-radius:40%;content:" ";display:block;height:25%;margin:0 auto;width:2px}.van-loading__dot:first-of-type{opacity:1;transform:rotate(30deg)}.van-loading__dot:nth-of-type(2){opacity:.9375;transform:rotate(60deg)}.van-loading__dot:nth-of-type(3){opacity:.875;transform:rotate(90deg)}.van-loading__dot:nth-of-type(4){opacity:.8125;transform:rotate(120deg)}.van-loading__dot:nth-of-type(5){opacity:.75;transform:rotate(150deg)}.van-loading__dot:nth-of-type(6){opacity:.6875;transform:rotate(180deg)}.van-loading__dot:nth-of-type(7){opacity:.625;transform:rotate(210deg)}.van-loading__dot:nth-of-type(8){opacity:.5625;transform:rotate(240deg)}.van-loading__dot:nth-of-type(9){opacity:.5;transform:rotate(270deg)}.van-loading__dot:nth-of-type(10){opacity:.4375;transform:rotate(300deg)}.van-loading__dot:nth-of-type(11){opacity:.375;transform:rotate(330deg)}.van-loading__dot:nth-of-type(12){opacity:.3125;transform:rotate(1turn)}@keyframes van-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/mixins/basic.js b/coupon/miniprogram/@vant/weapp/lib/mixins/basic.js
new file mode 100644
index 0000000..4373ad4
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/mixins/basic.js
@@ -0,0 +1,14 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.basic = void 0;
+exports.basic = Behavior({
+ methods: {
+ $emit: function (name, detail, options) {
+ this.triggerEvent(name, detail, options);
+ },
+ set: function (data) {
+ this.setData(data);
+ return new Promise(function (resolve) { return wx.nextTick(resolve); });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/mixins/button.js b/coupon/miniprogram/@vant/weapp/lib/mixins/button.js
new file mode 100644
index 0000000..83640ce
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/mixins/button.js
@@ -0,0 +1,44 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.button = void 0;
+var version_1 = require("../common/version");
+exports.button = Behavior({
+ externalClasses: ['hover-class'],
+ properties: {
+ id: String,
+ lang: String,
+ businessId: Number,
+ sessionFrom: String,
+ sendMessageTitle: String,
+ sendMessagePath: String,
+ sendMessageImg: String,
+ showMessageCard: Boolean,
+ appParameter: String,
+ ariaLabel: String,
+ openType: String,
+ getUserProfileDesc: String,
+ },
+ data: {
+ canIUseGetUserProfile: (0, version_1.canIUseGetUserProfile)(),
+ },
+ methods: {
+ onGetUserInfo: function (event) {
+ this.triggerEvent('getuserinfo', event.detail);
+ },
+ onContact: function (event) {
+ this.triggerEvent('contact', event.detail);
+ },
+ onGetPhoneNumber: function (event) {
+ this.triggerEvent('getphonenumber', event.detail);
+ },
+ onError: function (event) {
+ this.triggerEvent('error', event.detail);
+ },
+ onLaunchApp: function (event) {
+ this.triggerEvent('launchapp', event.detail);
+ },
+ onOpenSetting: function (event) {
+ this.triggerEvent('opensetting', event.detail);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/mixins/link.js b/coupon/miniprogram/@vant/weapp/lib/mixins/link.js
new file mode 100644
index 0000000..14cb7e8
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/mixins/link.js
@@ -0,0 +1,27 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.link = void 0;
+exports.link = Behavior({
+ properties: {
+ url: String,
+ linkType: {
+ type: String,
+ value: 'navigateTo',
+ },
+ },
+ methods: {
+ jumpLink: function (urlKey) {
+ if (urlKey === void 0) { urlKey = 'url'; }
+ var url = this.data[urlKey];
+ if (url) {
+ if (this.data.linkType === 'navigateTo' &&
+ getCurrentPages().length > 9) {
+ wx.redirectTo({ url: url });
+ }
+ else {
+ wx[this.data.linkType]({ url: url });
+ }
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/mixins/page-scroll.js b/coupon/miniprogram/@vant/weapp/lib/mixins/page-scroll.js
new file mode 100644
index 0000000..6857a97
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/mixins/page-scroll.js
@@ -0,0 +1,42 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.pageScrollMixin = void 0;
+var utils_1 = require("../common/utils");
+function onPageScroll(event) {
+ var _a = (0, utils_1.getCurrentPage)().vanPageScroller, vanPageScroller = _a === void 0 ? [] : _a;
+ vanPageScroller.forEach(function (scroller) {
+ if (typeof scroller === 'function') {
+ // @ts-ignore
+ scroller(event);
+ }
+ });
+}
+var pageScrollMixin = function (scroller) {
+ return Behavior({
+ attached: function () {
+ var page = (0, utils_1.getCurrentPage)();
+ if (!(0, utils_1.isDef)(page)) {
+ return;
+ }
+ if (Array.isArray(page.vanPageScroller)) {
+ page.vanPageScroller.push(scroller.bind(this));
+ }
+ else {
+ page.vanPageScroller =
+ typeof page.onPageScroll === 'function'
+ ? [page.onPageScroll.bind(page), scroller.bind(this)]
+ : [scroller.bind(this)];
+ }
+ page.onPageScroll = onPageScroll;
+ },
+ detached: function () {
+ var _a;
+ var page = (0, utils_1.getCurrentPage)();
+ if ((0, utils_1.isDef)(page)) {
+ page.vanPageScroller =
+ ((_a = page.vanPageScroller) === null || _a === void 0 ? void 0 : _a.filter(function (item) { return item !== scroller; })) || [];
+ }
+ },
+ });
+};
+exports.pageScrollMixin = pageScrollMixin;
diff --git a/coupon/miniprogram/@vant/weapp/lib/mixins/touch.js b/coupon/miniprogram/@vant/weapp/lib/mixins/touch.js
new file mode 100644
index 0000000..d762c2c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/mixins/touch.js
@@ -0,0 +1,40 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.touch = void 0;
+// @ts-nocheck
+var MIN_DISTANCE = 10;
+function getDirection(x, y) {
+ if (x > y && x > MIN_DISTANCE) {
+ return 'horizontal';
+ }
+ if (y > x && y > MIN_DISTANCE) {
+ return 'vertical';
+ }
+ return '';
+}
+exports.touch = Behavior({
+ methods: {
+ resetTouchStatus: function () {
+ this.direction = '';
+ this.deltaX = 0;
+ this.deltaY = 0;
+ this.offsetX = 0;
+ this.offsetY = 0;
+ },
+ touchStart: function (event) {
+ this.resetTouchStatus();
+ var touch = event.touches[0];
+ this.startX = touch.clientX;
+ this.startY = touch.clientY;
+ },
+ touchMove: function (event) {
+ var touch = event.touches[0];
+ this.deltaX = touch.clientX - this.startX;
+ this.deltaY = touch.clientY - this.startY;
+ this.offsetX = Math.abs(this.deltaX);
+ this.offsetY = Math.abs(this.deltaY);
+ this.direction =
+ this.direction || getDirection(this.offsetX, this.offsetY);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/mixins/transition.js b/coupon/miniprogram/@vant/weapp/lib/mixins/transition.js
new file mode 100644
index 0000000..113ad2e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/mixins/transition.js
@@ -0,0 +1,121 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.transition = void 0;
+// @ts-nocheck
+var utils_1 = require("../common/utils");
+var validator_1 = require("../common/validator");
+var getClassNames = function (name) { return ({
+ enter: "van-" + name + "-enter van-" + name + "-enter-active enter-class enter-active-class",
+ 'enter-to': "van-" + name + "-enter-to van-" + name + "-enter-active enter-to-class enter-active-class",
+ leave: "van-" + name + "-leave van-" + name + "-leave-active leave-class leave-active-class",
+ 'leave-to': "van-" + name + "-leave-to van-" + name + "-leave-active leave-to-class leave-active-class",
+}); };
+function transition(showDefaultValue) {
+ return Behavior({
+ properties: {
+ customStyle: String,
+ // @ts-ignore
+ show: {
+ type: Boolean,
+ value: showDefaultValue,
+ observer: 'observeShow',
+ },
+ // @ts-ignore
+ duration: {
+ type: null,
+ value: 300,
+ observer: 'observeDuration',
+ },
+ name: {
+ type: String,
+ value: 'fade',
+ },
+ },
+ data: {
+ type: '',
+ inited: false,
+ display: false,
+ },
+ ready: function () {
+ if (this.data.show === true) {
+ this.observeShow(true, false);
+ }
+ },
+ methods: {
+ observeShow: function (value, old) {
+ if (value === old) {
+ return;
+ }
+ value ? this.enter() : this.leave();
+ },
+ enter: function () {
+ var _this = this;
+ var _a = this.data, duration = _a.duration, name = _a.name;
+ var classNames = getClassNames(name);
+ var currentDuration = (0, validator_1.isObj)(duration) ? duration.enter : duration;
+ this.status = 'enter';
+ this.$emit('before-enter');
+ (0, utils_1.requestAnimationFrame)(function () {
+ if (_this.status !== 'enter') {
+ return;
+ }
+ _this.$emit('enter');
+ _this.setData({
+ inited: true,
+ display: true,
+ classes: classNames.enter,
+ currentDuration: currentDuration,
+ });
+ (0, utils_1.requestAnimationFrame)(function () {
+ if (_this.status !== 'enter') {
+ return;
+ }
+ _this.transitionEnded = false;
+ _this.setData({ classes: classNames['enter-to'] });
+ });
+ });
+ },
+ leave: function () {
+ var _this = this;
+ if (!this.data.display) {
+ return;
+ }
+ var _a = this.data, duration = _a.duration, name = _a.name;
+ var classNames = getClassNames(name);
+ var currentDuration = (0, validator_1.isObj)(duration) ? duration.leave : duration;
+ this.status = 'leave';
+ this.$emit('before-leave');
+ (0, utils_1.requestAnimationFrame)(function () {
+ if (_this.status !== 'leave') {
+ return;
+ }
+ _this.$emit('leave');
+ _this.setData({
+ classes: classNames.leave,
+ currentDuration: currentDuration,
+ });
+ (0, utils_1.requestAnimationFrame)(function () {
+ if (_this.status !== 'leave') {
+ return;
+ }
+ _this.transitionEnded = false;
+ setTimeout(function () { return _this.onTransitionEnd(); }, currentDuration);
+ _this.setData({ classes: classNames['leave-to'] });
+ });
+ });
+ },
+ onTransitionEnd: function () {
+ if (this.transitionEnded) {
+ return;
+ }
+ this.transitionEnded = true;
+ this.$emit("after-" + this.status);
+ var _a = this.data, show = _a.show, display = _a.display;
+ if (!show && display) {
+ this.setData({ display: false });
+ }
+ },
+ },
+ });
+}
+exports.transition = transition;
diff --git a/coupon/miniprogram/@vant/weapp/lib/nav-bar/index.js b/coupon/miniprogram/@vant/weapp/lib/nav-bar/index.js
new file mode 100644
index 0000000..376b561
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/nav-bar/index.js
@@ -0,0 +1,68 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var utils_1 = require("../common/utils");
+(0, component_1.VantComponent)({
+ classes: ['title-class'],
+ props: {
+ title: String,
+ fixed: {
+ type: Boolean,
+ observer: 'setHeight',
+ },
+ placeholder: {
+ type: Boolean,
+ observer: 'setHeight',
+ },
+ leftText: String,
+ rightText: String,
+ customStyle: String,
+ leftArrow: Boolean,
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ safeAreaInsetTop: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ height: 46,
+ },
+ created: function () {
+ var statusBarHeight = (0, utils_1.getSystemInfoSync)().statusBarHeight;
+ this.setData({
+ statusBarHeight: statusBarHeight,
+ height: 46 + statusBarHeight,
+ });
+ },
+ mounted: function () {
+ this.setHeight();
+ },
+ methods: {
+ onClickLeft: function () {
+ this.$emit('click-left');
+ },
+ onClickRight: function () {
+ this.$emit('click-right');
+ },
+ setHeight: function () {
+ var _this = this;
+ if (!this.data.fixed || !this.data.placeholder) {
+ return;
+ }
+ wx.nextTick(function () {
+ (0, utils_1.getRect)(_this, '.van-nav-bar').then(function (res) {
+ if (res && 'height' in res) {
+ _this.setData({ height: res.height });
+ }
+ });
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/nav-bar/index.json b/coupon/miniprogram/@vant/weapp/lib/nav-bar/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/nav-bar/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/nav-bar/index.wxml b/coupon/miniprogram/@vant/weapp/lib/nav-bar/index.wxml
new file mode 100644
index 0000000..b6405fd
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/nav-bar/index.wxml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+ {{ leftText }}
+
+
+
+
+ {{ title }}
+
+
+
+ {{ rightText }}
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/nav-bar/index.wxs b/coupon/miniprogram/@vant/weapp/lib/nav-bar/index.wxs
new file mode 100644
index 0000000..55b4158
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/nav-bar/index.wxs
@@ -0,0 +1,13 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+
+function barStyle(data) {
+ return style({
+ 'z-index': data.zIndex,
+ 'padding-top': data.safeAreaInsetTop ? data.statusBarHeight + 'px' : 0,
+ });
+}
+
+module.exports = {
+ barStyle: barStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/nav-bar/index.wxss b/coupon/miniprogram/@vant/weapp/lib/nav-bar/index.wxss
new file mode 100644
index 0000000..94c5b44
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/nav-bar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-nav-bar{background-color:var(--nav-bar-background-color,#fff);height:var(--nav-bar-height,46px);line-height:var(--nav-bar-height,46px);position:relative;text-align:center;-webkit-user-select:none;user-select:none}.van-nav-bar__content{height:100%;position:relative}.van-nav-bar__text{color:var(--nav-bar-text-color,#1989fa);display:inline-block;margin:0 calc(var(--padding-md, 16px)*-1);padding:0 var(--padding-md,16px);vertical-align:middle}.van-nav-bar__text--hover{background-color:#f2f3f5}.van-nav-bar__arrow{color:var(--nav-bar-icon-color,#1989fa)!important;font-size:var(--nav-bar-arrow-size,16px)!important;vertical-align:middle}.van-nav-bar__arrow+.van-nav-bar__text{margin-left:-20px;padding-left:25px}.van-nav-bar--fixed{left:0;position:fixed;top:0;width:100%}.van-nav-bar__title{color:var(--nav-bar-title-text-color,#323233);font-size:var(--nav-bar-title-font-size,16px);font-weight:var(--font-weight-bold,500);margin:0 auto;max-width:60%}.van-nav-bar__left,.van-nav-bar__right{align-items:center;bottom:0;display:flex;font-size:var(--font-size-md,14px);position:absolute;top:0}.van-nav-bar__left{left:var(--padding-md,16px)}.van-nav-bar__right{right:var(--padding-md,16px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/notice-bar/index.js b/coupon/miniprogram/@vant/weapp/lib/notice-bar/index.js
new file mode 100644
index 0000000..9f2d84e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/notice-bar/index.js
@@ -0,0 +1,124 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var utils_1 = require("../common/utils");
+(0, component_1.VantComponent)({
+ props: {
+ text: {
+ type: String,
+ value: '',
+ observer: 'init',
+ },
+ mode: {
+ type: String,
+ value: '',
+ },
+ url: {
+ type: String,
+ value: '',
+ },
+ openType: {
+ type: String,
+ value: 'navigate',
+ },
+ delay: {
+ type: Number,
+ value: 1,
+ },
+ speed: {
+ type: Number,
+ value: 60,
+ observer: 'init',
+ },
+ scrollable: null,
+ leftIcon: {
+ type: String,
+ value: '',
+ },
+ color: String,
+ backgroundColor: String,
+ background: String,
+ wrapable: Boolean,
+ },
+ data: {
+ show: true,
+ },
+ created: function () {
+ this.resetAnimation = wx.createAnimation({
+ duration: 0,
+ timingFunction: 'linear',
+ });
+ },
+ destroyed: function () {
+ this.timer && clearTimeout(this.timer);
+ },
+ mounted: function () {
+ this.init();
+ },
+ methods: {
+ init: function () {
+ var _this = this;
+ (0, utils_1.requestAnimationFrame)(function () {
+ Promise.all([
+ (0, utils_1.getRect)(_this, '.van-notice-bar__content'),
+ (0, utils_1.getRect)(_this, '.van-notice-bar__wrap'),
+ ]).then(function (rects) {
+ var contentRect = rects[0], wrapRect = rects[1];
+ var _a = _this.data, speed = _a.speed, scrollable = _a.scrollable, delay = _a.delay;
+ if (contentRect == null ||
+ wrapRect == null ||
+ !contentRect.width ||
+ !wrapRect.width ||
+ scrollable === false) {
+ return;
+ }
+ if (scrollable || wrapRect.width < contentRect.width) {
+ var duration = ((wrapRect.width + contentRect.width) / speed) * 1000;
+ _this.wrapWidth = wrapRect.width;
+ _this.contentWidth = contentRect.width;
+ _this.duration = duration;
+ _this.animation = wx.createAnimation({
+ duration: duration,
+ timingFunction: 'linear',
+ delay: delay,
+ });
+ _this.scroll();
+ }
+ });
+ });
+ },
+ scroll: function () {
+ var _this = this;
+ this.timer && clearTimeout(this.timer);
+ this.timer = null;
+ this.setData({
+ animationData: this.resetAnimation
+ .translateX(this.wrapWidth)
+ .step()
+ .export(),
+ });
+ (0, utils_1.requestAnimationFrame)(function () {
+ _this.setData({
+ animationData: _this.animation
+ .translateX(-_this.contentWidth)
+ .step()
+ .export(),
+ });
+ });
+ this.timer = setTimeout(function () {
+ _this.scroll();
+ }, this.duration);
+ },
+ onClickIcon: function (event) {
+ if (this.data.mode === 'closeable') {
+ this.timer && clearTimeout(this.timer);
+ this.timer = null;
+ this.setData({ show: false });
+ this.$emit('close', event.detail);
+ }
+ },
+ onClick: function (event) {
+ this.$emit('click', event);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/notice-bar/index.json b/coupon/miniprogram/@vant/weapp/lib/notice-bar/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/notice-bar/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/notice-bar/index.wxml b/coupon/miniprogram/@vant/weapp/lib/notice-bar/index.wxml
new file mode 100644
index 0000000..9f6ee24
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/notice-bar/index.wxml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+ {{ text }}
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/notice-bar/index.wxs b/coupon/miniprogram/@vant/weapp/lib/notice-bar/index.wxs
new file mode 100644
index 0000000..11e6456
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/notice-bar/index.wxs
@@ -0,0 +1,15 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ return style({
+ color: data.color,
+ 'background-color': data.backgroundColor,
+ background: data.background,
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/notice-bar/index.wxss b/coupon/miniprogram/@vant/weapp/lib/notice-bar/index.wxss
new file mode 100644
index 0000000..497636c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/notice-bar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-notice-bar{align-items:center;background-color:var(--notice-bar-background-color,#fffbe8);color:var(--notice-bar-text-color,#ed6a0c);display:flex;font-size:var(--notice-bar-font-size,14px);height:var(--notice-bar-height,40px);line-height:var(--notice-bar-line-height,24px);padding:var(--notice-bar-padding,0 16px)}.van-notice-bar--withicon{padding-right:40px;position:relative}.van-notice-bar--wrapable{height:auto;padding:var(--notice-bar-wrapable-padding,8px 16px)}.van-notice-bar--wrapable .van-notice-bar__wrap{height:auto}.van-notice-bar--wrapable .van-notice-bar__content{position:relative;white-space:normal}.van-notice-bar__left-icon{align-items:center;display:flex;margin-right:4px;vertical-align:middle}.van-notice-bar__left-icon,.van-notice-bar__right-icon{font-size:var(--notice-bar-icon-size,16px);min-width:var(--notice-bar-icon-min-width,22px)}.van-notice-bar__right-icon{position:absolute;right:15px;top:10px}.van-notice-bar__wrap{flex:1;height:var(--notice-bar-line-height,24px);overflow:hidden;position:relative}.van-notice-bar__content{position:absolute;white-space:nowrap}.van-notice-bar__content.van-ellipsis{max-width:100%}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/notify/index.js b/coupon/miniprogram/@vant/weapp/lib/notify/index.js
new file mode 100644
index 0000000..a9526aa
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/notify/index.js
@@ -0,0 +1,68 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var color_1 = require("../common/color");
+var utils_1 = require("../common/utils");
+(0, component_1.VantComponent)({
+ props: {
+ message: String,
+ background: String,
+ type: {
+ type: String,
+ value: 'danger',
+ },
+ color: {
+ type: String,
+ value: color_1.WHITE,
+ },
+ duration: {
+ type: Number,
+ value: 3000,
+ },
+ zIndex: {
+ type: Number,
+ value: 110,
+ },
+ safeAreaInsetTop: {
+ type: Boolean,
+ value: false,
+ },
+ top: null,
+ },
+ data: {
+ show: false,
+ onOpened: null,
+ onClose: null,
+ onClick: null,
+ },
+ created: function () {
+ var statusBarHeight = (0, utils_1.getSystemInfoSync)().statusBarHeight;
+ this.setData({ statusBarHeight: statusBarHeight });
+ },
+ methods: {
+ show: function () {
+ var _this = this;
+ var _a = this.data, duration = _a.duration, onOpened = _a.onOpened;
+ clearTimeout(this.timer);
+ this.setData({ show: true });
+ wx.nextTick(onOpened);
+ if (duration > 0 && duration !== Infinity) {
+ this.timer = setTimeout(function () {
+ _this.hide();
+ }, duration);
+ }
+ },
+ hide: function () {
+ var onClose = this.data.onClose;
+ clearTimeout(this.timer);
+ this.setData({ show: false });
+ wx.nextTick(onClose);
+ },
+ onTap: function (event) {
+ var onClick = this.data.onClick;
+ if (onClick) {
+ onClick(event.detail);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/notify/index.json b/coupon/miniprogram/@vant/weapp/lib/notify/index.json
new file mode 100644
index 0000000..c14a65f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/notify/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-transition": "../transition/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/notify/index.wxml b/coupon/miniprogram/@vant/weapp/lib/notify/index.wxml
new file mode 100644
index 0000000..42d913e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/notify/index.wxml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ {{ message }}
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/notify/index.wxs b/coupon/miniprogram/@vant/weapp/lib/notify/index.wxs
new file mode 100644
index 0000000..bbb94c2
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/notify/index.wxs
@@ -0,0 +1,22 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ return style({
+ 'z-index': data.zIndex,
+ top: addUnit(data.top),
+ });
+}
+
+function notifyStyle(data) {
+ return style({
+ background: data.background,
+ color: data.color,
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+ notifyStyle: notifyStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/notify/index.wxss b/coupon/miniprogram/@vant/weapp/lib/notify/index.wxss
new file mode 100644
index 0000000..c030e9b
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/notify/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-notify{word-wrap:break-word;font-size:var(--notify-font-size,14px);line-height:var(--notify-line-height,20px);padding:var(--notify-padding,6px 15px);text-align:center}.van-notify__container{box-sizing:border-box;left:0;position:fixed;top:0;width:100%}.van-notify--primary{background-color:var(--notify-primary-background-color,#1989fa)}.van-notify--success{background-color:var(--notify-success-background-color,#07c160)}.van-notify--danger{background-color:var(--notify-danger-background-color,#ee0a24)}.van-notify--warning{background-color:var(--notify-warning-background-color,#ff976a)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/notify/notify.js b/coupon/miniprogram/@vant/weapp/lib/notify/notify.js
new file mode 100644
index 0000000..1b57b1c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/notify/notify.js
@@ -0,0 +1,60 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var color_1 = require("../common/color");
+var defaultOptions = {
+ selector: '#van-notify',
+ type: 'danger',
+ message: '',
+ background: '',
+ duration: 3000,
+ zIndex: 110,
+ top: 0,
+ color: color_1.WHITE,
+ safeAreaInsetTop: false,
+ onClick: function () { },
+ onOpened: function () { },
+ onClose: function () { },
+};
+function parseOptions(message) {
+ if (message == null) {
+ return {};
+ }
+ return typeof message === 'string' ? { message: message } : message;
+}
+function getContext() {
+ var pages = getCurrentPages();
+ return pages[pages.length - 1];
+}
+function Notify(options) {
+ options = __assign(__assign({}, defaultOptions), parseOptions(options));
+ var context = options.context || getContext();
+ var notify = context.selectComponent(options.selector);
+ delete options.context;
+ delete options.selector;
+ if (notify) {
+ notify.setData(options);
+ notify.show();
+ return notify;
+ }
+ console.warn('未找到 van-notify 节点,请确认 selector 及 context 是否正确');
+}
+exports.default = Notify;
+Notify.clear = function (options) {
+ options = __assign(__assign({}, defaultOptions), parseOptions(options));
+ var context = options.context || getContext();
+ var notify = context.selectComponent(options.selector);
+ if (notify) {
+ notify.hide();
+ }
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/overlay/index.js b/coupon/miniprogram/@vant/weapp/lib/overlay/index.js
new file mode 100644
index 0000000..1828343
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/overlay/index.js
@@ -0,0 +1,28 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ show: Boolean,
+ customStyle: String,
+ duration: {
+ type: null,
+ value: 300,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ lockScroll: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ onClick: function () {
+ this.$emit('click');
+ },
+ // for prevent touchmove
+ noop: function () { },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/overlay/index.json b/coupon/miniprogram/@vant/weapp/lib/overlay/index.json
new file mode 100644
index 0000000..c14a65f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/overlay/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-transition": "../transition/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/overlay/index.wxml b/coupon/miniprogram/@vant/weapp/lib/overlay/index.wxml
new file mode 100644
index 0000000..92734a0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/overlay/index.wxml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/overlay/index.wxss b/coupon/miniprogram/@vant/weapp/lib/overlay/index.wxss
new file mode 100644
index 0000000..d1ad81a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/overlay/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-overlay{background-color:var(--overlay-background-color,rgba(0,0,0,.7));height:100%;left:0;position:fixed;top:0;width:100%}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/panel/index.js b/coupon/miniprogram/@vant/weapp/lib/panel/index.js
new file mode 100644
index 0000000..818b8c5
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/panel/index.js
@@ -0,0 +1,11 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ classes: ['header-class', 'footer-class'],
+ props: {
+ desc: String,
+ title: String,
+ status: String,
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/panel/index.json b/coupon/miniprogram/@vant/weapp/lib/panel/index.json
new file mode 100644
index 0000000..0e5425c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/panel/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-cell": "../cell/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/panel/index.wxml b/coupon/miniprogram/@vant/weapp/lib/panel/index.wxml
new file mode 100644
index 0000000..1843703
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/panel/index.wxml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/panel/index.wxss b/coupon/miniprogram/@vant/weapp/lib/panel/index.wxss
new file mode 100644
index 0000000..485edcd
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/panel/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-panel{background:var(--panel-background-color,#fff)}.van-panel__header-value{color:var(--panel-header-value-color,#ee0a24)}.van-panel__footer{padding:var(--panel-footer-padding,8px 16px)}.van-panel__footer:empty{display:none}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/picker-column/index.js b/coupon/miniprogram/@vant/weapp/lib/picker-column/index.js
new file mode 100644
index 0000000..9dbf17c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/picker-column/index.js
@@ -0,0 +1,122 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var utils_1 = require("../common/utils");
+var validator_1 = require("../common/validator");
+var DEFAULT_DURATION = 200;
+(0, component_1.VantComponent)({
+ classes: ['active-class'],
+ props: {
+ valueKey: String,
+ className: String,
+ itemHeight: Number,
+ visibleItemCount: Number,
+ initialOptions: {
+ type: Array,
+ value: [],
+ },
+ defaultIndex: {
+ type: Number,
+ value: 0,
+ observer: function (value) {
+ this.setIndex(value);
+ },
+ },
+ },
+ data: {
+ startY: 0,
+ offset: 0,
+ duration: 0,
+ startOffset: 0,
+ options: [],
+ currentIndex: 0,
+ },
+ created: function () {
+ var _this = this;
+ var _a = this.data, defaultIndex = _a.defaultIndex, initialOptions = _a.initialOptions;
+ this.set({
+ currentIndex: defaultIndex,
+ options: initialOptions,
+ }).then(function () {
+ _this.setIndex(defaultIndex);
+ });
+ },
+ methods: {
+ getCount: function () {
+ return this.data.options.length;
+ },
+ onTouchStart: function (event) {
+ this.setData({
+ startY: event.touches[0].clientY,
+ startOffset: this.data.offset,
+ duration: 0,
+ });
+ },
+ onTouchMove: function (event) {
+ var data = this.data;
+ var deltaY = event.touches[0].clientY - data.startY;
+ this.setData({
+ offset: (0, utils_1.range)(data.startOffset + deltaY, -(this.getCount() * data.itemHeight), data.itemHeight),
+ });
+ },
+ onTouchEnd: function () {
+ var data = this.data;
+ if (data.offset !== data.startOffset) {
+ this.setData({ duration: DEFAULT_DURATION });
+ var index = (0, utils_1.range)(Math.round(-data.offset / data.itemHeight), 0, this.getCount() - 1);
+ this.setIndex(index, true);
+ }
+ },
+ onClickItem: function (event) {
+ var index = event.currentTarget.dataset.index;
+ this.setIndex(index, true);
+ },
+ adjustIndex: function (index) {
+ var data = this.data;
+ var count = this.getCount();
+ index = (0, utils_1.range)(index, 0, count);
+ for (var i = index; i < count; i++) {
+ if (!this.isDisabled(data.options[i]))
+ return i;
+ }
+ for (var i = index - 1; i >= 0; i--) {
+ if (!this.isDisabled(data.options[i]))
+ return i;
+ }
+ },
+ isDisabled: function (option) {
+ return (0, validator_1.isObj)(option) && option.disabled;
+ },
+ getOptionText: function (option) {
+ var data = this.data;
+ return (0, validator_1.isObj)(option) && data.valueKey in option
+ ? option[data.valueKey]
+ : option;
+ },
+ setIndex: function (index, userAction) {
+ var _this = this;
+ var data = this.data;
+ index = this.adjustIndex(index) || 0;
+ var offset = -index * data.itemHeight;
+ if (index !== data.currentIndex) {
+ return this.set({ offset: offset, currentIndex: index }).then(function () {
+ userAction && _this.$emit('change', index);
+ });
+ }
+ return this.set({ offset: offset });
+ },
+ setValue: function (value) {
+ var options = this.data.options;
+ for (var i = 0; i < options.length; i++) {
+ if (this.getOptionText(options[i]) === value) {
+ return this.setIndex(i);
+ }
+ }
+ return Promise.resolve();
+ },
+ getValue: function () {
+ var data = this.data;
+ return data.options[data.currentIndex];
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/picker-column/index.json b/coupon/miniprogram/@vant/weapp/lib/picker-column/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/picker-column/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/picker-column/index.wxml b/coupon/miniprogram/@vant/weapp/lib/picker-column/index.wxml
new file mode 100644
index 0000000..f2c8da2
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/picker-column/index.wxml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ {{ computed.optionText(option, valueKey) }}
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/picker-column/index.wxs b/coupon/miniprogram/@vant/weapp/lib/picker-column/index.wxs
new file mode 100644
index 0000000..2d5a611
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/picker-column/index.wxs
@@ -0,0 +1,36 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function isObj(x) {
+ var type = typeof x;
+ return x !== null && (type === 'object' || type === 'function');
+}
+
+function optionText(option, valueKey) {
+ return isObj(option) && option[valueKey] != null ? option[valueKey] : option;
+}
+
+function rootStyle(data) {
+ return style({
+ height: addUnit(data.itemHeight * data.visibleItemCount),
+ });
+}
+
+function wrapperStyle(data) {
+ var offset = addUnit(
+ data.offset + (data.itemHeight * (data.visibleItemCount - 1)) / 2
+ );
+
+ return style({
+ transition: 'transform ' + data.duration + 'ms',
+ 'line-height': addUnit(data.itemHeight),
+ transform: 'translate3d(0, ' + offset + ', 0)',
+ });
+}
+
+module.exports = {
+ optionText: optionText,
+ rootStyle: rootStyle,
+ wrapperStyle: wrapperStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/picker-column/index.wxss b/coupon/miniprogram/@vant/weapp/lib/picker-column/index.wxss
new file mode 100644
index 0000000..519a438
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/picker-column/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-picker-column{color:var(--picker-option-text-color,#000);font-size:var(--picker-option-font-size,16px);overflow:hidden;text-align:center}.van-picker-column__item{padding:0 5px}.van-picker-column__item--selected{color:var(--picker-option-selected-text-color,#323233);font-weight:var(--font-weight-bold,500)}.van-picker-column__item--disabled{opacity:var(--picker-option-disabled-opacity,.3)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/picker/index.js b/coupon/miniprogram/@vant/weapp/lib/picker/index.js
new file mode 100644
index 0000000..06d1826
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/picker/index.js
@@ -0,0 +1,161 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var shared_1 = require("./shared");
+(0, component_1.VantComponent)({
+ classes: ['active-class', 'toolbar-class', 'column-class'],
+ props: __assign(__assign({}, shared_1.pickerProps), { valueKey: {
+ type: String,
+ value: 'text',
+ }, toolbarPosition: {
+ type: String,
+ value: 'top',
+ }, defaultIndex: {
+ type: Number,
+ value: 0,
+ }, columns: {
+ type: Array,
+ value: [],
+ observer: function (columns) {
+ if (columns === void 0) { columns = []; }
+ this.simple = columns.length && !columns[0].values;
+ if (Array.isArray(this.children) && this.children.length) {
+ this.setColumns().catch(function () { });
+ }
+ },
+ } }),
+ beforeCreate: function () {
+ var _this = this;
+ Object.defineProperty(this, 'children', {
+ get: function () { return _this.selectAllComponents('.van-picker__column') || []; },
+ });
+ },
+ methods: {
+ noop: function () { },
+ setColumns: function () {
+ var _this = this;
+ var data = this.data;
+ var columns = this.simple ? [{ values: data.columns }] : data.columns;
+ var stack = columns.map(function (column, index) {
+ return _this.setColumnValues(index, column.values);
+ });
+ return Promise.all(stack);
+ },
+ emit: function (event) {
+ var type = event.currentTarget.dataset.type;
+ if (this.simple) {
+ this.$emit(type, {
+ value: this.getColumnValue(0),
+ index: this.getColumnIndex(0),
+ });
+ }
+ else {
+ this.$emit(type, {
+ value: this.getValues(),
+ index: this.getIndexes(),
+ });
+ }
+ },
+ onChange: function (event) {
+ if (this.simple) {
+ this.$emit('change', {
+ picker: this,
+ value: this.getColumnValue(0),
+ index: this.getColumnIndex(0),
+ });
+ }
+ else {
+ this.$emit('change', {
+ picker: this,
+ value: this.getValues(),
+ index: event.currentTarget.dataset.index,
+ });
+ }
+ },
+ // get column instance by index
+ getColumn: function (index) {
+ return this.children[index];
+ },
+ // get column value by index
+ getColumnValue: function (index) {
+ var column = this.getColumn(index);
+ return column && column.getValue();
+ },
+ // set column value by index
+ setColumnValue: function (index, value) {
+ var column = this.getColumn(index);
+ if (column == null) {
+ return Promise.reject(new Error('setColumnValue: 对应列不存在'));
+ }
+ return column.setValue(value);
+ },
+ // get column option index by column index
+ getColumnIndex: function (columnIndex) {
+ return (this.getColumn(columnIndex) || {}).data.currentIndex;
+ },
+ // set column option index by column index
+ setColumnIndex: function (columnIndex, optionIndex) {
+ var column = this.getColumn(columnIndex);
+ if (column == null) {
+ return Promise.reject(new Error('setColumnIndex: 对应列不存在'));
+ }
+ return column.setIndex(optionIndex);
+ },
+ // get options of column by index
+ getColumnValues: function (index) {
+ return (this.children[index] || {}).data.options;
+ },
+ // set options of column by index
+ setColumnValues: function (index, options, needReset) {
+ if (needReset === void 0) { needReset = true; }
+ var column = this.children[index];
+ if (column == null) {
+ return Promise.reject(new Error('setColumnValues: 对应列不存在'));
+ }
+ var isSame = JSON.stringify(column.data.options) === JSON.stringify(options);
+ if (isSame) {
+ return Promise.resolve();
+ }
+ return column.set({ options: options }).then(function () {
+ if (needReset) {
+ column.setIndex(0);
+ }
+ });
+ },
+ // get values of all columns
+ getValues: function () {
+ return this.children.map(function (child) { return child.getValue(); });
+ },
+ // set values of all columns
+ setValues: function (values) {
+ var _this = this;
+ var stack = values.map(function (value, index) {
+ return _this.setColumnValue(index, value);
+ });
+ return Promise.all(stack);
+ },
+ // get indexes of all columns
+ getIndexes: function () {
+ return this.children.map(function (child) { return child.data.currentIndex; });
+ },
+ // set indexes of all columns
+ setIndexes: function (indexes) {
+ var _this = this;
+ var stack = indexes.map(function (optionIndex, columnIndex) {
+ return _this.setColumnIndex(columnIndex, optionIndex);
+ });
+ return Promise.all(stack);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/picker/index.json b/coupon/miniprogram/@vant/weapp/lib/picker/index.json
new file mode 100644
index 0000000..2fcec89
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/picker/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "picker-column": "../picker-column/index",
+ "loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/picker/index.wxml b/coupon/miniprogram/@vant/weapp/lib/picker/index.wxml
new file mode 100644
index 0000000..8564ccc
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/picker/index.wxml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/picker/index.wxs b/coupon/miniprogram/@vant/weapp/lib/picker/index.wxs
new file mode 100644
index 0000000..0abbd10
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/picker/index.wxs
@@ -0,0 +1,42 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+var array = require('../wxs/array.wxs');
+
+function columnsStyle(data) {
+ return style({
+ height: addUnit(data.itemHeight * data.visibleItemCount),
+ });
+}
+
+function maskStyle(data) {
+ return style({
+ 'background-size':
+ '100% ' + addUnit((data.itemHeight * (data.visibleItemCount - 1)) / 2),
+ });
+}
+
+function frameStyle(data) {
+ return style({
+ height: addUnit(data.itemHeight),
+ });
+}
+
+function columns(columns) {
+ if (!array.isArray(columns)) {
+ return [];
+ }
+
+ if (columns.length && !columns[0].values) {
+ return [{ values: columns }];
+ }
+
+ return columns;
+}
+
+module.exports = {
+ columnsStyle: columnsStyle,
+ frameStyle: frameStyle,
+ maskStyle: maskStyle,
+ columns: columns,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/picker/index.wxss b/coupon/miniprogram/@vant/weapp/lib/picker/index.wxss
new file mode 100644
index 0000000..d924abb
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/picker/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-picker{-webkit-text-size-adjust:100%;background-color:var(--picker-background-color,#fff);overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.van-picker__toolbar{display:flex;height:var(--picker-toolbar-height,44px);justify-content:space-between;line-height:var(--picker-toolbar-height,44px)}.van-picker__cancel,.van-picker__confirm{font-size:var(--picker-action-font-size,14px);padding:var(--picker-action-padding,0 16px)}.van-picker__cancel--hover,.van-picker__confirm--hover{opacity:.7}.van-picker__confirm{color:var(--picker-confirm-action-color,#576b95)}.van-picker__cancel{color:var(--picker-cancel-action-color,#969799)}.van-picker__title{font-size:var(--picker-option-font-size,16px);font-weight:var(--font-weight-bold,500);max-width:50%;text-align:center}.van-picker__columns{display:flex;position:relative}.van-picker__column{flex:1 1;width:0}.van-picker__loading{align-items:center;background-color:var(--picker-loading-mask-color,hsla(0,0%,100%,.9));bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:4}.van-picker__mask{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-image:linear-gradient(180deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.4)),linear-gradient(0deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.4));background-position:top,bottom;background-repeat:no-repeat;height:100%;left:0;top:0;width:100%;z-index:2}.van-picker__frame,.van-picker__mask{pointer-events:none;position:absolute}.van-picker__frame{left:16px;right:16px;top:50%;transform:translateY(-50%);z-index:1}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/picker/shared.js b/coupon/miniprogram/@vant/weapp/lib/picker/shared.js
new file mode 100644
index 0000000..3d40a8c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/picker/shared.js
@@ -0,0 +1,24 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.pickerProps = void 0;
+exports.pickerProps = {
+ title: String,
+ loading: Boolean,
+ showToolbar: Boolean,
+ cancelButtonText: {
+ type: String,
+ value: '取消',
+ },
+ confirmButtonText: {
+ type: String,
+ value: '确认',
+ },
+ visibleItemCount: {
+ type: Number,
+ value: 6,
+ },
+ itemHeight: {
+ type: Number,
+ value: 44,
+ },
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/picker/toolbar.wxml b/coupon/miniprogram/@vant/weapp/lib/picker/toolbar.wxml
new file mode 100644
index 0000000..414f612
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/picker/toolbar.wxml
@@ -0,0 +1,23 @@
+
+
+ {{ cancelButtonText }}
+
+ {{
+ title
+ }}
+
+ {{ confirmButtonText }}
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/popup/index.js b/coupon/miniprogram/@vant/weapp/lib/popup/index.js
new file mode 100644
index 0000000..56367a4
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/popup/index.js
@@ -0,0 +1,91 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var transition_1 = require("../mixins/transition");
+(0, component_1.VantComponent)({
+ classes: [
+ 'enter-class',
+ 'enter-active-class',
+ 'enter-to-class',
+ 'leave-class',
+ 'leave-active-class',
+ 'leave-to-class',
+ 'close-icon-class',
+ ],
+ mixins: [(0, transition_1.transition)(false)],
+ props: {
+ round: Boolean,
+ closeable: Boolean,
+ customStyle: String,
+ overlayStyle: String,
+ transition: {
+ type: String,
+ observer: 'observeClass',
+ },
+ zIndex: {
+ type: Number,
+ value: 100,
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ },
+ closeIcon: {
+ type: String,
+ value: 'cross',
+ },
+ closeIconPosition: {
+ type: String,
+ value: 'top-right',
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ },
+ position: {
+ type: String,
+ value: 'center',
+ observer: 'observeClass',
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ safeAreaInsetTop: {
+ type: Boolean,
+ value: false,
+ },
+ lockScroll: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ created: function () {
+ this.observeClass();
+ },
+ methods: {
+ onClickCloseIcon: function () {
+ this.$emit('close');
+ },
+ onClickOverlay: function () {
+ this.$emit('click-overlay');
+ if (this.data.closeOnClickOverlay) {
+ this.$emit('close');
+ }
+ },
+ observeClass: function () {
+ var _a = this.data, transition = _a.transition, position = _a.position, duration = _a.duration;
+ var updateData = {
+ name: transition || position,
+ };
+ if (transition === 'none') {
+ updateData.duration = 0;
+ this.originDuration = duration;
+ }
+ else if (this.originDuration != null) {
+ updateData.duration = this.originDuration;
+ }
+ this.setData(updateData);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/popup/index.json b/coupon/miniprogram/@vant/weapp/lib/popup/index.json
new file mode 100644
index 0000000..88a6eab
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/popup/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-overlay": "../overlay/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/popup/index.wxml b/coupon/miniprogram/@vant/weapp/lib/popup/index.wxml
new file mode 100644
index 0000000..ea7d696
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/popup/index.wxml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/popup/index.wxs b/coupon/miniprogram/@vant/weapp/lib/popup/index.wxs
new file mode 100644
index 0000000..8d59f24
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/popup/index.wxs
@@ -0,0 +1,18 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+
+function popupStyle(data) {
+ return style([
+ {
+ 'z-index': data.zIndex,
+ '-webkit-transition-duration': data.currentDuration + 'ms',
+ 'transition-duration': data.currentDuration + 'ms',
+ },
+ data.display ? null : 'display: none',
+ data.customStyle,
+ ]);
+}
+
+module.exports = {
+ popupStyle: popupStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/popup/index.wxss b/coupon/miniprogram/@vant/weapp/lib/popup/index.wxss
new file mode 100644
index 0000000..a840541
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/popup/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-popup{-webkit-overflow-scrolling:touch;animation:ease both;background-color:var(--popup-background-color,#fff);box-sizing:border-box;max-height:100%;overflow-y:auto;position:fixed;transition-timing-function:ease}.van-popup--center{left:50%;top:50%;transform:translate3d(-50%,-50%,0)}.van-popup--center.van-popup--round{border-radius:var(--popup-round-border-radius,16px)}.van-popup--top{left:0;top:0;width:100%}.van-popup--top.van-popup--round{border-radius:0 0 var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) var(--popup-round-border-radius,var(--popup-round-border-radius,16px))}.van-popup--right{right:0;top:50%;transform:translate3d(0,-50%,0)}.van-popup--right.van-popup--round{border-radius:var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) 0 0 var(--popup-round-border-radius,var(--popup-round-border-radius,16px))}.van-popup--bottom{bottom:0;left:0;width:100%}.van-popup--bottom.van-popup--round{border-radius:var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) 0 0}.van-popup--left{left:0;top:50%;transform:translate3d(0,-50%,0)}.van-popup--left.van-popup--round{border-radius:0 var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) 0}.van-popup--bottom.van-popup--safe{padding-bottom:env(safe-area-inset-bottom)}.van-popup--safeTop{padding-top:env(safe-area-inset-top)}.van-popup__close-icon{color:var(--popup-close-icon-color,#969799);font-size:var(--popup-close-icon-size,18px);position:absolute;z-index:var(--popup-close-icon-z-index,1)}.van-popup__close-icon--top-left{left:var(--popup-close-icon-margin,16px);top:var(--popup-close-icon-margin,16px)}.van-popup__close-icon--top-right{right:var(--popup-close-icon-margin,16px);top:var(--popup-close-icon-margin,16px)}.van-popup__close-icon--bottom-left{bottom:var(--popup-close-icon-margin,16px);left:var(--popup-close-icon-margin,16px)}.van-popup__close-icon--bottom-right{bottom:var(--popup-close-icon-margin,16px);right:var(--popup-close-icon-margin,16px)}.van-popup__close-icon:active{opacity:.6}.van-scale-enter-active,.van-scale-leave-active{transition-property:opacity,transform}.van-scale-enter,.van-scale-leave-to{opacity:0;transform:translate3d(-50%,-50%,0) scale(.7)}.van-fade-enter-active,.van-fade-leave-active{transition-property:opacity}.van-fade-enter,.van-fade-leave-to{opacity:0}.van-center-enter-active,.van-center-leave-active{transition-property:opacity}.van-center-enter,.van-center-leave-to{opacity:0}.van-bottom-enter-active,.van-bottom-leave-active,.van-left-enter-active,.van-left-leave-active,.van-right-enter-active,.van-right-leave-active,.van-top-enter-active,.van-top-leave-active{transition-property:transform}.van-bottom-enter,.van-bottom-leave-to{transform:translate3d(0,100%,0)}.van-top-enter,.van-top-leave-to{transform:translate3d(0,-100%,0)}.van-left-enter,.van-left-leave-to{transform:translate3d(-100%,-50%,0)}.van-right-enter,.van-right-leave-to{transform:translate3d(100%,-50%,0)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/progress/index.js b/coupon/miniprogram/@vant/weapp/lib/progress/index.js
new file mode 100644
index 0000000..3bca928
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/progress/index.js
@@ -0,0 +1,55 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var color_1 = require("../common/color");
+var utils_1 = require("../common/utils");
+(0, component_1.VantComponent)({
+ props: {
+ inactive: Boolean,
+ percentage: {
+ type: Number,
+ observer: 'setLeft',
+ },
+ pivotText: String,
+ pivotColor: String,
+ trackColor: String,
+ showPivot: {
+ type: Boolean,
+ value: true,
+ },
+ color: {
+ type: String,
+ value: color_1.BLUE,
+ },
+ textColor: {
+ type: String,
+ value: '#fff',
+ },
+ strokeWidth: {
+ type: null,
+ value: 4,
+ },
+ },
+ data: {
+ right: 0,
+ },
+ mounted: function () {
+ this.setLeft();
+ },
+ methods: {
+ setLeft: function () {
+ var _this = this;
+ Promise.all([
+ (0, utils_1.getRect)(this, '.van-progress'),
+ (0, utils_1.getRect)(this, '.van-progress__pivot'),
+ ]).then(function (_a) {
+ var portion = _a[0], pivot = _a[1];
+ if (portion && pivot) {
+ _this.setData({
+ right: (pivot.width * (_this.data.percentage - 100)) / 100,
+ });
+ }
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/progress/index.json b/coupon/miniprogram/@vant/weapp/lib/progress/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/progress/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/progress/index.wxml b/coupon/miniprogram/@vant/weapp/lib/progress/index.wxml
new file mode 100644
index 0000000..e81514d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/progress/index.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+ {{ computed.pivotText(pivotText, percentage) }}
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/progress/index.wxs b/coupon/miniprogram/@vant/weapp/lib/progress/index.wxs
new file mode 100644
index 0000000..5b1e8e6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/progress/index.wxs
@@ -0,0 +1,36 @@
+/* eslint-disable */
+var utils = require('../wxs/utils.wxs');
+var style = require('../wxs/style.wxs');
+
+function pivotText(pivotText, percentage) {
+ return pivotText || percentage + '%';
+}
+
+function rootStyle(data) {
+ return style({
+ 'height': data.strokeWidth ? utils.addUnit(data.strokeWidth) : '',
+ 'background': data.trackColor,
+ });
+}
+
+function portionStyle(data) {
+ return style({
+ background: data.inactive ? '#cacaca' : data.color,
+ width: data.percentage ? data.percentage + '%' : '',
+ });
+}
+
+function pivotStyle(data) {
+ return style({
+ color: data.textColor,
+ right: data.right + 'px',
+ background: data.pivotColor ? data.pivotColor : data.inactive ? '#cacaca' : data.color,
+ });
+}
+
+module.exports = {
+ pivotText: pivotText,
+ rootStyle: rootStyle,
+ portionStyle: portionStyle,
+ pivotStyle: pivotStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/progress/index.wxss b/coupon/miniprogram/@vant/weapp/lib/progress/index.wxss
new file mode 100644
index 0000000..a08972a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/progress/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-progress{background:var(--progress-background-color,#ebedf0);border-radius:var(--progress-height,4px);height:var(--progress-height,4px);position:relative}.van-progress__portion{background:var(--progress-color,#1989fa);border-radius:inherit;height:100%;left:0;position:absolute}.van-progress__pivot{background-color:var(--progress-pivot-background-color,#1989fa);border-radius:1em;box-sizing:border-box;color:var(--progress-pivot-text-color,#fff);font-size:var(--progress-pivot-font-size,10px);line-height:var(--progress-pivot-line-height,1.6);min-width:3.6em;padding:var(--progress-pivot-padding,0 5px);position:absolute;text-align:center;top:50%;transform:translateY(-50%);word-break:keep-all}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/radio-group/index.js b/coupon/miniprogram/@vant/weapp/lib/radio-group/index.js
new file mode 100644
index 0000000..ddb2a60
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/radio-group/index.js
@@ -0,0 +1,24 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ field: true,
+ relation: (0, relation_1.useChildren)('radio'),
+ props: {
+ value: {
+ type: null,
+ observer: 'updateChildren',
+ },
+ direction: String,
+ disabled: {
+ type: Boolean,
+ observer: 'updateChildren',
+ },
+ },
+ methods: {
+ updateChildren: function () {
+ this.children.forEach(function (child) { return child.updateFromParent(); });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/radio-group/index.json b/coupon/miniprogram/@vant/weapp/lib/radio-group/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/radio-group/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/radio-group/index.wxml b/coupon/miniprogram/@vant/weapp/lib/radio-group/index.wxml
new file mode 100644
index 0000000..0ab17af
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/radio-group/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/radio-group/index.wxss b/coupon/miniprogram/@vant/weapp/lib/radio-group/index.wxss
new file mode 100644
index 0000000..4e3b5d4
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/radio-group/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-radio-group--horizontal{display:flex;flex-wrap:wrap}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/radio/index.js b/coupon/miniprogram/@vant/weapp/lib/radio/index.js
new file mode 100644
index 0000000..61a86d5
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/radio/index.js
@@ -0,0 +1,68 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var version_1 = require("../common/version");
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ field: true,
+ relation: (0, relation_1.useParent)('radio-group', function () {
+ this.updateFromParent();
+ }),
+ classes: ['icon-class', 'label-class'],
+ props: {
+ name: null,
+ value: null,
+ disabled: Boolean,
+ useIconSlot: Boolean,
+ checkedColor: String,
+ labelPosition: {
+ type: String,
+ value: 'right',
+ },
+ labelDisabled: Boolean,
+ shape: {
+ type: String,
+ value: 'round',
+ },
+ iconSize: {
+ type: null,
+ value: 20,
+ },
+ },
+ data: {
+ direction: '',
+ parentDisabled: false,
+ },
+ methods: {
+ updateFromParent: function () {
+ if (!this.parent) {
+ return;
+ }
+ var _a = this.parent.data, value = _a.value, parentDisabled = _a.disabled, direction = _a.direction;
+ this.setData({
+ value: value,
+ direction: direction,
+ parentDisabled: parentDisabled,
+ });
+ },
+ emitChange: function (value) {
+ var instance = this.parent || this;
+ instance.$emit('input', value);
+ instance.$emit('change', value);
+ if ((0, version_1.canIUseModel)()) {
+ instance.setData({ value: value });
+ }
+ },
+ onChange: function () {
+ if (!this.data.disabled && !this.data.parentDisabled) {
+ this.emitChange(this.data.name);
+ }
+ },
+ onClickLabel: function () {
+ var _a = this.data, disabled = _a.disabled, parentDisabled = _a.parentDisabled, labelDisabled = _a.labelDisabled, name = _a.name;
+ if (!(disabled || parentDisabled) && !labelDisabled) {
+ this.emitChange(name);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/radio/index.json b/coupon/miniprogram/@vant/weapp/lib/radio/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/radio/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/radio/index.wxml b/coupon/miniprogram/@vant/weapp/lib/radio/index.wxml
new file mode 100644
index 0000000..5f898c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/radio/index.wxml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/radio/index.wxs b/coupon/miniprogram/@vant/weapp/lib/radio/index.wxs
new file mode 100644
index 0000000..a428aad
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/radio/index.wxs
@@ -0,0 +1,33 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function iconStyle(data) {
+ var styles = {
+ 'font-size': addUnit(data.iconSize),
+ };
+
+ if (
+ data.checkedColor &&
+ !(data.disabled || data.parentDisabled) &&
+ data.value === data.name
+ ) {
+ styles['border-color'] = data.checkedColor;
+ styles['background-color'] = data.checkedColor;
+ }
+
+ return style(styles);
+}
+
+function iconCustomStyle(data) {
+ return style({
+ 'line-height': addUnit(data.iconSize),
+ 'font-size': '.8em',
+ display: 'block',
+ });
+}
+
+module.exports = {
+ iconStyle: iconStyle,
+ iconCustomStyle: iconCustomStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/radio/index.wxss b/coupon/miniprogram/@vant/weapp/lib/radio/index.wxss
new file mode 100644
index 0000000..257b0c7
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/radio/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-radio{align-items:center;display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.van-radio__icon-wrap{flex:none}.van-radio--horizontal{margin-right:var(--padding-sm,12px)}.van-radio__icon{align-items:center;border:1px solid var(--radio-border-color,#c8c9cc);box-sizing:border-box;color:transparent;display:flex;font-size:var(--radio-size,20px);height:1em;justify-content:center;text-align:center;transition-duration:var(--radio-transition-duration,.2s);transition-property:color,border-color,background-color;width:1em}.van-radio__icon--round{border-radius:100%}.van-radio__icon--checked{background-color:var(--radio-checked-icon-color,#1989fa);border-color:var(--radio-checked-icon-color,#1989fa);color:#fff}.van-radio__icon--disabled{background-color:var(--radio-disabled-background-color,#ebedf0);border-color:var(--radio-disabled-icon-color,#c8c9cc)}.van-radio__icon--disabled.van-radio__icon--checked{color:var(--radio-disabled-icon-color,#c8c9cc)}.van-radio__label{word-wrap:break-word;color:var(--radio-label-color,#323233);line-height:var(--radio-size,20px);padding-left:var(--radio-label-margin,10px)}.van-radio__label--left{float:left;margin:0 var(--radio-label-margin,10px) 0 0}.van-radio__label--disabled{color:var(--radio-disabled-label-color,#c8c9cc)}.van-radio__label:empty{margin:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/rate/index.js b/coupon/miniprogram/@vant/weapp/lib/rate/index.js
new file mode 100644
index 0000000..30a96de
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/rate/index.js
@@ -0,0 +1,93 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var utils_1 = require("../common/utils");
+var component_1 = require("../common/component");
+var version_1 = require("../common/version");
+(0, component_1.VantComponent)({
+ field: true,
+ classes: ['icon-class'],
+ props: {
+ value: {
+ type: Number,
+ observer: function (value) {
+ if (value !== this.data.innerValue) {
+ this.setData({ innerValue: value });
+ }
+ },
+ },
+ readonly: Boolean,
+ disabled: Boolean,
+ allowHalf: Boolean,
+ size: null,
+ icon: {
+ type: String,
+ value: 'star',
+ },
+ voidIcon: {
+ type: String,
+ value: 'star-o',
+ },
+ color: String,
+ voidColor: String,
+ disabledColor: String,
+ count: {
+ type: Number,
+ value: 5,
+ observer: function (value) {
+ this.setData({ innerCountArray: Array.from({ length: value }) });
+ },
+ },
+ gutter: null,
+ touchable: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ innerValue: 0,
+ innerCountArray: Array.from({ length: 5 }),
+ },
+ methods: {
+ onSelect: function (event) {
+ var _this = this;
+ var data = this.data;
+ var score = event.currentTarget.dataset.score;
+ if (!data.disabled && !data.readonly) {
+ this.setData({ innerValue: score + 1 });
+ if ((0, version_1.canIUseModel)()) {
+ this.setData({ value: score + 1 });
+ }
+ wx.nextTick(function () {
+ _this.$emit('input', score + 1);
+ _this.$emit('change', score + 1);
+ });
+ }
+ },
+ onTouchMove: function (event) {
+ var _this = this;
+ var touchable = this.data.touchable;
+ if (!touchable)
+ return;
+ var clientX = event.touches[0].clientX;
+ (0, utils_1.getAllRect)(this, '.van-rate__icon').then(function (list) {
+ var target = list
+ .sort(function (cur, next) { return cur.dataset.score - next.dataset.score; })
+ .find(function (item) { return clientX >= item.left && clientX <= item.right; });
+ if (target != null) {
+ _this.onSelect(__assign(__assign({}, event), { currentTarget: target }));
+ }
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/rate/index.json b/coupon/miniprogram/@vant/weapp/lib/rate/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/rate/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/rate/index.wxml b/coupon/miniprogram/@vant/weapp/lib/rate/index.wxml
new file mode 100644
index 0000000..049714c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/rate/index.wxml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/rate/index.wxss b/coupon/miniprogram/@vant/weapp/lib/rate/index.wxss
new file mode 100644
index 0000000..e2a517e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/rate/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-rate{display:inline-flex;-webkit-user-select:none;user-select:none}.van-rate__item{padding:0 var(--rate-horizontal-padding,2px);position:relative}.van-rate__item:not(:last-child){padding-right:var(--rate-icon-gutter,4px)}.van-rate__icon{color:var(--rate-icon-void-color,#c8c9cc);display:block;font-size:var(--rate-icon-size,20px);height:1em}.van-rate__icon--half{left:var(--rate-horizontal-padding,2px);overflow:hidden;position:absolute;top:0;width:.5em}.van-rate__icon--full,.van-rate__icon--half{color:var(--rate-icon-full-color,#ee0a24)}.van-rate__icon--disabled{color:var(--rate-icon-disabled-color,#c8c9cc)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/row/index.js b/coupon/miniprogram/@vant/weapp/lib/row/index.js
new file mode 100644
index 0000000..c27acd6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/row/index.js
@@ -0,0 +1,26 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useChildren)('col', function (target) {
+ var gutter = this.data.gutter;
+ if (gutter) {
+ target.setData({ gutter: gutter });
+ }
+ }),
+ props: {
+ gutter: {
+ type: Number,
+ observer: 'setGutter',
+ },
+ },
+ methods: {
+ setGutter: function () {
+ var _this = this;
+ this.children.forEach(function (col) {
+ col.setData(_this.data);
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/row/index.json b/coupon/miniprogram/@vant/weapp/lib/row/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/row/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/row/index.wxml b/coupon/miniprogram/@vant/weapp/lib/row/index.wxml
new file mode 100644
index 0000000..69a4359
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/row/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/row/index.wxs b/coupon/miniprogram/@vant/weapp/lib/row/index.wxs
new file mode 100644
index 0000000..f5c5958
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/row/index.wxs
@@ -0,0 +1,18 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ if (!data.gutter) {
+ return '';
+ }
+
+ return style({
+ 'margin-right': addUnit(-data.gutter / 2),
+ 'margin-left': addUnit(-data.gutter / 2),
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/row/index.wxss b/coupon/miniprogram/@vant/weapp/lib/row/index.wxss
new file mode 100644
index 0000000..bb8946b
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/row/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-row:after{clear:both;content:"";display:table}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/search/index.js b/coupon/miniprogram/@vant/weapp/lib/search/index.js
new file mode 100644
index 0000000..d954ca3
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/search/index.js
@@ -0,0 +1,92 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var version_1 = require("../common/version");
+(0, component_1.VantComponent)({
+ field: true,
+ classes: ['field-class', 'input-class', 'cancel-class'],
+ props: {
+ label: String,
+ focus: Boolean,
+ error: Boolean,
+ disabled: Boolean,
+ readonly: Boolean,
+ inputAlign: String,
+ showAction: Boolean,
+ useActionSlot: Boolean,
+ useLeftIconSlot: Boolean,
+ useRightIconSlot: Boolean,
+ leftIcon: {
+ type: String,
+ value: 'search',
+ },
+ rightIcon: String,
+ placeholder: String,
+ placeholderStyle: String,
+ actionText: {
+ type: String,
+ value: '取消',
+ },
+ background: {
+ type: String,
+ value: '#ffffff',
+ },
+ maxlength: {
+ type: Number,
+ value: -1,
+ },
+ shape: {
+ type: String,
+ value: 'square',
+ },
+ clearable: {
+ type: Boolean,
+ value: true,
+ },
+ clearTrigger: {
+ type: String,
+ value: 'focus',
+ },
+ clearIcon: {
+ type: String,
+ value: 'clear',
+ },
+ },
+ methods: {
+ onChange: function (event) {
+ if ((0, version_1.canIUseModel)()) {
+ this.setData({ value: event.detail });
+ }
+ this.$emit('change', event.detail);
+ },
+ onCancel: function () {
+ var _this = this;
+ /**
+ * 修复修改输入框值时,输入框失焦和赋值同时触发,赋值失效
+ * https://github.com/youzan/@vant/weapp/issues/1768
+ */
+ setTimeout(function () {
+ if ((0, version_1.canIUseModel)()) {
+ _this.setData({ value: '' });
+ }
+ _this.$emit('cancel');
+ _this.$emit('change', '');
+ }, 200);
+ },
+ onSearch: function (event) {
+ this.$emit('search', event.detail);
+ },
+ onFocus: function (event) {
+ this.$emit('focus', event.detail);
+ },
+ onBlur: function (event) {
+ this.$emit('blur', event.detail);
+ },
+ onClear: function (event) {
+ this.$emit('clear', event.detail);
+ },
+ onClickInput: function (event) {
+ this.$emit('click-input', event.detail);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/search/index.json b/coupon/miniprogram/@vant/weapp/lib/search/index.json
new file mode 100644
index 0000000..b4cfe91
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/search/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-field": "../field/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/search/index.wxml b/coupon/miniprogram/@vant/weapp/lib/search/index.wxml
new file mode 100644
index 0000000..0068cfe
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/search/index.wxml
@@ -0,0 +1,53 @@
+
+
+
+
+ {{ label }}
+
+
+
+
+
+
+
+
+
+
+ {{ actionText }}
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/search/index.wxss b/coupon/miniprogram/@vant/weapp/lib/search/index.wxss
new file mode 100644
index 0000000..212f7aa
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/search/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-search{align-items:center;box-sizing:border-box;display:flex;padding:var(--search-padding,10px 12px)}.van-search__content{background-color:var(--search-background-color,#f7f8fa);border-radius:2px;display:flex;flex:1;padding-left:var(--padding-sm,12px)}.van-search__content--round{border-radius:999px}.van-search__label{color:var(--search-label-color,#323233);font-size:var(--search-label-font-size,14px);line-height:var(--search-input-height,34px);padding:var(--search-label-padding,0 5px)}.van-search__field{flex:1}.van-search__field__left-icon{color:var(--search-left-icon-color,#969799)}.van-search--withaction{padding-right:0}.van-search__action{color:var(--search-action-text-color,#323233);font-size:var(--search-action-font-size,14px);line-height:var(--search-input-height,34px);padding:var(--search-action-padding,0 8px)}.van-search__action--hover{background-color:#f2f3f5}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/share-sheet/index.js b/coupon/miniprogram/@vant/weapp/lib/share-sheet/index.js
new file mode 100644
index 0000000..669ca0d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/share-sheet/index.js
@@ -0,0 +1,57 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ // whether to show popup
+ show: Boolean,
+ // overlay custom style
+ overlayStyle: String,
+ // z-index
+ zIndex: {
+ type: Number,
+ value: 100,
+ },
+ title: String,
+ cancelText: {
+ type: String,
+ value: '取消',
+ },
+ description: String,
+ options: {
+ type: Array,
+ value: [],
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ },
+ duration: {
+ type: null,
+ value: 300,
+ },
+ },
+ methods: {
+ onClickOverlay: function () {
+ this.$emit('click-overlay');
+ },
+ onCancel: function () {
+ this.onClose();
+ this.$emit('cancel');
+ },
+ onSelect: function (event) {
+ this.$emit('select', event.detail);
+ },
+ onClose: function () {
+ this.$emit('close');
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/share-sheet/index.json b/coupon/miniprogram/@vant/weapp/lib/share-sheet/index.json
new file mode 100644
index 0000000..15a7c22
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/share-sheet/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../popup/index",
+ "options": "./options"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/share-sheet/index.wxml b/coupon/miniprogram/@vant/weapp/lib/share-sheet/index.wxml
new file mode 100644
index 0000000..cefc3af
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/share-sheet/index.wxml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/share-sheet/index.wxs b/coupon/miniprogram/@vant/weapp/lib/share-sheet/index.wxs
new file mode 100644
index 0000000..2149ee9
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/share-sheet/index.wxs
@@ -0,0 +1,12 @@
+/* eslint-disable */
+function isMulti(options) {
+ if (options == null || options[0] == null) {
+ return false;
+ }
+
+ return "Array" === options.constructor && "Array" === options[0].constructor;
+}
+
+module.exports = {
+ isMulti: isMulti
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/share-sheet/index.wxss b/coupon/miniprogram/@vant/weapp/lib/share-sheet/index.wxss
new file mode 100644
index 0000000..e8d8dae
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/share-sheet/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-share-sheet__header{padding:12px 16px 4px;text-align:center}.van-share-sheet__title{color:#323233;font-size:14px;font-weight:400;line-height:20px;margin-top:8px}.van-share-sheet__title:empty,.van-share-sheet__title:not(:empty)+.van-share-sheet__title{display:none}.van-share-sheet__description{color:#969799;display:block;font-size:12px;line-height:16px;margin-top:8px}.van-share-sheet__description:empty,.van-share-sheet__description:not(:empty)+.van-share-sheet__description{display:none}.van-share-sheet__cancel{background:#fff;border:none;box-sizing:initial;display:block;font-size:16px;height:auto;line-height:48px;padding:0;text-align:center;width:100%}.van-share-sheet__cancel:before{background-color:#f7f8fa;content:" ";display:block;height:8px}.van-share-sheet__cancel:after{display:none}.van-share-sheet__cancel:active{background-color:#f2f3f5}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/share-sheet/options.js b/coupon/miniprogram/@vant/weapp/lib/share-sheet/options.js
new file mode 100644
index 0000000..0432d4f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/share-sheet/options.js
@@ -0,0 +1,27 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ options: Array,
+ showBorder: Boolean,
+ },
+ methods: {
+ onSelect: function (event) {
+ var index = event.currentTarget.dataset.index;
+ var option = this.data.options[index];
+ this.$emit('select', __assign(__assign({}, option), { index: index }));
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/share-sheet/options.json b/coupon/miniprogram/@vant/weapp/lib/share-sheet/options.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/share-sheet/options.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/share-sheet/options.wxml b/coupon/miniprogram/@vant/weapp/lib/share-sheet/options.wxml
new file mode 100644
index 0000000..cad6837
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/share-sheet/options.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+ {{ item.name }}
+
+ {{ item.description }}
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/share-sheet/options.wxs b/coupon/miniprogram/@vant/weapp/lib/share-sheet/options.wxs
new file mode 100644
index 0000000..a116d32
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/share-sheet/options.wxs
@@ -0,0 +1,14 @@
+/* eslint-disable */
+var PRESET_ICONS = ['qq', 'link', 'weibo', 'wechat', 'poster', 'qrcode', 'weapp-qrcode', 'wechat-moments'];
+
+function getIconURL(icon) {
+ if (PRESET_ICONS.indexOf(icon) !== -1) {
+ return 'https://img.yzcdn.cn/vant/share-sheet-' + icon + '.png';
+ }
+
+ return icon;
+}
+
+module.exports = {
+ getIconURL: getIconURL,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/share-sheet/options.wxss b/coupon/miniprogram/@vant/weapp/lib/share-sheet/options.wxss
new file mode 100644
index 0000000..b7f5455
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/share-sheet/options.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-share-sheet__options{-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto;overflow-y:visible;padding:16px 0 16px 8px;position:relative}.van-share-sheet__options--border:before{border-top:1px solid #ebedf0;box-sizing:border-box;content:" ";left:16px;pointer-events:none;position:absolute;right:0;top:0;transform:scaleY(.5);transform-origin:center}.van-share-sheet__options::-webkit-scrollbar{height:0}.van-share-sheet__option{align-items:center;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.van-share-sheet__option:active{opacity:.7}.van-share-sheet__button{background-color:initial;border:0;height:auto;line-height:inherit;padding:0}.van-share-sheet__button:after{border:0}.van-share-sheet__icon{height:48px;margin:0 16px;width:48px}.van-share-sheet__name{color:#646566;font-size:12px;margin-top:8px;padding:0 4px}.van-share-sheet__option-description{color:#c8c9cc;font-size:12px;padding:0 4px}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/sidebar-item/index.js b/coupon/miniprogram/@vant/weapp/lib/sidebar-item/index.js
new file mode 100644
index 0000000..eac568f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/sidebar-item/index.js
@@ -0,0 +1,32 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ classes: ['active-class', 'disabled-class'],
+ relation: (0, relation_1.useParent)('sidebar'),
+ props: {
+ dot: Boolean,
+ badge: null,
+ info: null,
+ title: String,
+ disabled: Boolean,
+ },
+ methods: {
+ onClick: function () {
+ var _this = this;
+ var parent = this.parent;
+ if (!parent || this.data.disabled) {
+ return;
+ }
+ var index = parent.children.indexOf(this);
+ parent.setActive(index).then(function () {
+ _this.$emit('click', index);
+ parent.$emit('change', index);
+ });
+ },
+ setActive: function (selected) {
+ return this.setData({ selected: selected });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/sidebar-item/index.json b/coupon/miniprogram/@vant/weapp/lib/sidebar-item/index.json
new file mode 100644
index 0000000..bf0ebe0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/sidebar-item/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-info": "../info/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/sidebar-item/index.wxml b/coupon/miniprogram/@vant/weapp/lib/sidebar-item/index.wxml
new file mode 100644
index 0000000..c5c08a6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/sidebar-item/index.wxml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/sidebar-item/index.wxss b/coupon/miniprogram/@vant/weapp/lib/sidebar-item/index.wxss
new file mode 100644
index 0000000..f1ce421
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/sidebar-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-sidebar-item{background-color:var(--sidebar-background-color,#f7f8fa);border-left:3px solid transparent;box-sizing:border-box;color:var(--sidebar-text-color,#323233);display:block;font-size:var(--sidebar-font-size,14px);line-height:var(--sidebar-line-height,20px);overflow:hidden;padding:var(--sidebar-padding,20px 12px 20px 8px);-webkit-user-select:none;user-select:none}.van-sidebar-item__text{display:inline-block;position:relative;word-break:break-all}.van-sidebar-item--hover:not(.van-sidebar-item--disabled){background-color:var(--sidebar-active-color,#f2f3f5)}.van-sidebar-item:after{border-bottom-width:1px}.van-sidebar-item--selected{border-color:var(--sidebar-selected-border-color,#ee0a24);color:var(--sidebar-selected-text-color,#323233);font-weight:var(--sidebar-selected-font-weight,500)}.van-sidebar-item--selected:after{border-right-width:1px}.van-sidebar-item--selected,.van-sidebar-item--selected.van-sidebar-item--hover{background-color:var(--sidebar-selected-background-color,#fff)}.van-sidebar-item--disabled{color:var(--sidebar-disabled-text-color,#c8c9cc)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/sidebar/index.js b/coupon/miniprogram/@vant/weapp/lib/sidebar/index.js
new file mode 100644
index 0000000..f3e0a58
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/sidebar/index.js
@@ -0,0 +1,36 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useChildren)('sidebar-item', function () {
+ this.setActive(this.data.activeKey);
+ }),
+ props: {
+ activeKey: {
+ type: Number,
+ value: 0,
+ observer: 'setActive',
+ },
+ },
+ beforeCreate: function () {
+ this.currentActive = -1;
+ },
+ methods: {
+ setActive: function (activeKey) {
+ var _a = this, children = _a.children, currentActive = _a.currentActive;
+ if (!children.length) {
+ return Promise.resolve();
+ }
+ this.currentActive = activeKey;
+ var stack = [];
+ if (currentActive !== activeKey && children[currentActive]) {
+ stack.push(children[currentActive].setActive(false));
+ }
+ if (children[activeKey]) {
+ stack.push(children[activeKey].setActive(true));
+ }
+ return Promise.all(stack);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/sidebar/index.json b/coupon/miniprogram/@vant/weapp/lib/sidebar/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/sidebar/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/sidebar/index.wxml b/coupon/miniprogram/@vant/weapp/lib/sidebar/index.wxml
new file mode 100644
index 0000000..96b11c7
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/sidebar/index.wxml
@@ -0,0 +1,3 @@
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/sidebar/index.wxss b/coupon/miniprogram/@vant/weapp/lib/sidebar/index.wxss
new file mode 100644
index 0000000..5a2d44f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/sidebar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-sidebar{width:var(--sidebar-width,80px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/skeleton/index.js b/coupon/miniprogram/@vant/weapp/lib/skeleton/index.js
new file mode 100644
index 0000000..2ab3175
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/skeleton/index.js
@@ -0,0 +1,48 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ classes: ['avatar-class', 'title-class', 'row-class'],
+ props: {
+ row: {
+ type: Number,
+ value: 0,
+ observer: function (value) {
+ this.setData({ rowArray: Array.from({ length: value }) });
+ },
+ },
+ title: Boolean,
+ avatar: Boolean,
+ loading: {
+ type: Boolean,
+ value: true,
+ },
+ animate: {
+ type: Boolean,
+ value: true,
+ },
+ avatarSize: {
+ type: String,
+ value: '32px',
+ },
+ avatarShape: {
+ type: String,
+ value: 'round',
+ },
+ titleWidth: {
+ type: String,
+ value: '40%',
+ },
+ rowWidth: {
+ type: null,
+ value: '100%',
+ observer: function (val) {
+ this.setData({ isArray: val instanceof Array });
+ },
+ },
+ },
+ data: {
+ isArray: false,
+ rowArray: [],
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/skeleton/index.json b/coupon/miniprogram/@vant/weapp/lib/skeleton/index.json
new file mode 100644
index 0000000..a89ef4d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/skeleton/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/skeleton/index.wxml b/coupon/miniprogram/@vant/weapp/lib/skeleton/index.wxml
new file mode 100644
index 0000000..058e2ef
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/skeleton/index.wxml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/skeleton/index.wxss b/coupon/miniprogram/@vant/weapp/lib/skeleton/index.wxss
new file mode 100644
index 0000000..d59a5ed
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/skeleton/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-skeleton{box-sizing:border-box;display:flex;padding:var(--skeleton-padding,0 16px);width:100%}.van-skeleton__avatar{background-color:var(--skeleton-avatar-background-color,#f2f3f5);flex-shrink:0;margin-right:var(--padding-md,16px)}.van-skeleton__avatar--round{border-radius:100%}.van-skeleton__content{flex:1}.van-skeleton__avatar+.van-skeleton__content{padding-top:var(--padding-xs,8px)}.van-skeleton__row,.van-skeleton__title{background-color:var(--skeleton-row-background-color,#f2f3f5);height:var(--skeleton-row-height,16px)}.van-skeleton__title{margin:0}.van-skeleton__row:not(:first-child){margin-top:var(--skeleton-row-margin-top,12px)}.van-skeleton__title+.van-skeleton__row{margin-top:20px}.van-skeleton--animate{animation:van-skeleton-blink 1.2s ease-in-out infinite}@keyframes van-skeleton-blink{50%{opacity:.6}}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/slider/index.js b/coupon/miniprogram/@vant/weapp/lib/slider/index.js
new file mode 100644
index 0000000..1c307ab
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/slider/index.js
@@ -0,0 +1,189 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var touch_1 = require("../mixins/touch");
+var version_1 = require("../common/version");
+var utils_1 = require("../common/utils");
+(0, component_1.VantComponent)({
+ mixins: [touch_1.touch],
+ props: {
+ range: Boolean,
+ disabled: Boolean,
+ useButtonSlot: Boolean,
+ activeColor: String,
+ inactiveColor: String,
+ max: {
+ type: Number,
+ value: 100,
+ },
+ min: {
+ type: Number,
+ value: 0,
+ },
+ step: {
+ type: Number,
+ value: 1,
+ },
+ value: {
+ type: null,
+ value: 0,
+ observer: function (val) {
+ if (val !== this.value) {
+ this.updateValue(val);
+ }
+ },
+ },
+ vertical: Boolean,
+ barHeight: null,
+ },
+ created: function () {
+ this.updateValue(this.data.value);
+ },
+ methods: {
+ onTouchStart: function (event) {
+ var _this = this;
+ if (this.data.disabled)
+ return;
+ var index = event.currentTarget.dataset.index;
+ if (typeof index === 'number') {
+ this.buttonIndex = index;
+ }
+ this.touchStart(event);
+ this.startValue = this.format(this.value);
+ this.newValue = this.value;
+ if (this.isRange(this.newValue)) {
+ this.startValue = this.newValue.map(function (val) { return _this.format(val); });
+ }
+ else {
+ this.startValue = this.format(this.newValue);
+ }
+ this.dragStatus = 'start';
+ },
+ onTouchMove: function (event) {
+ var _this = this;
+ if (this.data.disabled)
+ return;
+ if (this.dragStatus === 'start') {
+ this.$emit('drag-start');
+ }
+ this.touchMove(event);
+ this.dragStatus = 'draging';
+ (0, utils_1.getRect)(this, '.van-slider').then(function (rect) {
+ var vertical = _this.data.vertical;
+ var delta = vertical ? _this.deltaY : _this.deltaX;
+ var total = vertical ? rect.height : rect.width;
+ var diff = (delta / total) * _this.getRange();
+ if (_this.isRange(_this.startValue)) {
+ _this.newValue[_this.buttonIndex] =
+ _this.startValue[_this.buttonIndex] + diff;
+ }
+ else {
+ _this.newValue = _this.startValue + diff;
+ }
+ _this.updateValue(_this.newValue, false, true);
+ });
+ },
+ onTouchEnd: function () {
+ if (this.data.disabled)
+ return;
+ if (this.dragStatus === 'draging') {
+ this.updateValue(this.newValue, true);
+ this.$emit('drag-end');
+ }
+ },
+ onClick: function (event) {
+ var _this = this;
+ if (this.data.disabled)
+ return;
+ var min = this.data.min;
+ (0, utils_1.getRect)(this, '.van-slider').then(function (rect) {
+ var vertical = _this.data.vertical;
+ var touch = event.touches[0];
+ var delta = vertical
+ ? touch.clientY - rect.top
+ : touch.clientX - rect.left;
+ var total = vertical ? rect.height : rect.width;
+ var value = Number(min) + (delta / total) * _this.getRange();
+ if (_this.isRange(_this.value)) {
+ var _a = _this.value, left = _a[0], right = _a[1];
+ var middle = (left + right) / 2;
+ if (value <= middle) {
+ _this.updateValue([value, right], true);
+ }
+ else {
+ _this.updateValue([left, value], true);
+ }
+ }
+ else {
+ _this.updateValue(value, true);
+ }
+ });
+ },
+ isRange: function (val) {
+ var range = this.data.range;
+ return range && Array.isArray(val);
+ },
+ handleOverlap: function (value) {
+ if (value[0] > value[1]) {
+ return value.slice(0).reverse();
+ }
+ return value;
+ },
+ updateValue: function (value, end, drag) {
+ var _this = this;
+ if (this.isRange(value)) {
+ value = this.handleOverlap(value).map(function (val) { return _this.format(val); });
+ }
+ else {
+ value = this.format(value);
+ }
+ this.value = value;
+ var vertical = this.data.vertical;
+ var mainAxis = vertical ? 'height' : 'width';
+ this.setData({
+ wrapperStyle: "\n background: " + (this.data.inactiveColor || '') + ";\n " + (vertical ? 'width' : 'height') + ": " + ((0, utils_1.addUnit)(this.data.barHeight) || '') + ";\n ",
+ barStyle: "\n " + mainAxis + ": " + this.calcMainAxis() + ";\n left: " + (vertical ? 0 : this.calcOffset()) + ";\n top: " + (vertical ? this.calcOffset() : 0) + ";\n " + (drag ? 'transition: none;' : '') + "\n ",
+ });
+ if (drag) {
+ this.$emit('drag', { value: value });
+ }
+ if (end) {
+ this.$emit('change', value);
+ }
+ if ((drag || end) && (0, version_1.canIUseModel)()) {
+ this.setData({ value: value });
+ }
+ },
+ getScope: function () {
+ return Number(this.data.max) - Number(this.data.min);
+ },
+ getRange: function () {
+ var _a = this.data, max = _a.max, min = _a.min;
+ return max - min;
+ },
+ // 计算选中条的长度百分比
+ calcMainAxis: function () {
+ var value = this.value;
+ var min = this.data.min;
+ var scope = this.getScope();
+ if (this.isRange(value)) {
+ return ((value[1] - value[0]) * 100) / scope + "%";
+ }
+ return ((value - Number(min)) * 100) / scope + "%";
+ },
+ // 计算选中条的开始位置的偏移量
+ calcOffset: function () {
+ var value = this.value;
+ var min = this.data.min;
+ var scope = this.getScope();
+ if (this.isRange(value)) {
+ return ((value[0] - Number(min)) * 100) / scope + "%";
+ }
+ return '0%';
+ },
+ format: function (value) {
+ var _a = this.data, max = _a.max, min = _a.min, step = _a.step;
+ return Math.round(Math.max(min, Math.min(value, max)) / step) * step;
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/slider/index.json b/coupon/miniprogram/@vant/weapp/lib/slider/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/slider/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/slider/index.wxml b/coupon/miniprogram/@vant/weapp/lib/slider/index.wxml
new file mode 100644
index 0000000..7c0184f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/slider/index.wxml
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/slider/index.wxs b/coupon/miniprogram/@vant/weapp/lib/slider/index.wxs
new file mode 100644
index 0000000..7c43e6e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/slider/index.wxs
@@ -0,0 +1,14 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function barStyle(barHeight, activeColor) {
+ return style({
+ height: addUnit(barHeight),
+ background: activeColor,
+ });
+}
+
+module.exports = {
+ barStyle: barStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/slider/index.wxss b/coupon/miniprogram/@vant/weapp/lib/slider/index.wxss
new file mode 100644
index 0000000..d1587de
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/slider/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-slider{background-color:var(--slider-inactive-background-color,#ebedf0);border-radius:999px;height:var(--slider-bar-height,2px);position:relative}.van-slider:before{bottom:calc(var(--padding-xs, 8px)*-1);content:"";left:0;position:absolute;right:0;top:calc(var(--padding-xs, 8px)*-1)}.van-slider__bar{background-color:var(--slider-active-background-color,#1989fa);border-radius:inherit;height:100%;position:relative;transition:all .2s;width:100%}.van-slider__button{background-color:var(--slider-button-background-color,#fff);border-radius:var(--slider-button-border-radius,50%);box-shadow:var(--slider-button-box-shadow,0 1px 2px rgba(0,0,0,.5));height:var(--slider-button-height,24px);width:var(--slider-button-width,24px)}.van-slider__button-wrapper,.van-slider__button-wrapper-right{position:absolute;right:0;top:50%;transform:translate3d(50%,-50%,0)}.van-slider__button-wrapper-left{left:0;position:absolute;top:50%;transform:translate3d(-50%,-50%,0)}.van-slider--disabled{opacity:var(--slider-disabled-opacity,.5)}.van-slider--vertical{display:inline-block;height:100%;width:var(--slider-bar-height,2px)}.van-slider--vertical .van-slider__button-wrapper,.van-slider--vertical .van-slider__button-wrapper-right{bottom:0;right:50%;top:auto;transform:translate3d(50%,50%,0)}.van-slider--vertical .van-slider__button-wrapper-left{left:auto;right:50%;top:0;transform:translate3d(50%,-50%,0)}.van-slider--vertical:before{bottom:0;left:-8px;right:-8px;top:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/stepper/index.js b/coupon/miniprogram/@vant/weapp/lib/stepper/index.js
new file mode 100644
index 0000000..aef944e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/stepper/index.js
@@ -0,0 +1,200 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var validator_1 = require("../common/validator");
+var LONG_PRESS_START_TIME = 600;
+var LONG_PRESS_INTERVAL = 200;
+// add num and avoid float number
+function add(num1, num2) {
+ var cardinal = Math.pow(10, 10);
+ return Math.round((num1 + num2) * cardinal) / cardinal;
+}
+function equal(value1, value2) {
+ return String(value1) === String(value2);
+}
+(0, component_1.VantComponent)({
+ field: true,
+ classes: ['input-class', 'plus-class', 'minus-class'],
+ props: {
+ value: {
+ type: null,
+ observer: 'observeValue',
+ },
+ integer: {
+ type: Boolean,
+ observer: 'check',
+ },
+ disabled: Boolean,
+ inputWidth: String,
+ buttonSize: String,
+ asyncChange: Boolean,
+ disableInput: Boolean,
+ decimalLength: {
+ type: Number,
+ value: null,
+ observer: 'check',
+ },
+ min: {
+ type: null,
+ value: 1,
+ observer: 'check',
+ },
+ max: {
+ type: null,
+ value: Number.MAX_SAFE_INTEGER,
+ observer: 'check',
+ },
+ step: {
+ type: null,
+ value: 1,
+ },
+ showPlus: {
+ type: Boolean,
+ value: true,
+ },
+ showMinus: {
+ type: Boolean,
+ value: true,
+ },
+ disablePlus: Boolean,
+ disableMinus: Boolean,
+ longPress: {
+ type: Boolean,
+ value: true,
+ },
+ theme: String,
+ alwaysEmbed: Boolean,
+ },
+ data: {
+ currentValue: '',
+ },
+ created: function () {
+ this.setData({
+ currentValue: this.format(this.data.value),
+ });
+ },
+ methods: {
+ observeValue: function () {
+ var _a = this.data, value = _a.value, currentValue = _a.currentValue;
+ if (!equal(value, currentValue)) {
+ this.setData({ currentValue: this.format(value) });
+ }
+ },
+ check: function () {
+ var val = this.format(this.data.currentValue);
+ if (!equal(val, this.data.currentValue)) {
+ this.setData({ currentValue: val });
+ }
+ },
+ isDisabled: function (type) {
+ var _a = this.data, disabled = _a.disabled, disablePlus = _a.disablePlus, disableMinus = _a.disableMinus, currentValue = _a.currentValue, max = _a.max, min = _a.min;
+ if (type === 'plus') {
+ return disabled || disablePlus || currentValue >= max;
+ }
+ return disabled || disableMinus || currentValue <= min;
+ },
+ onFocus: function (event) {
+ this.$emit('focus', event.detail);
+ },
+ onBlur: function (event) {
+ var value = this.format(event.detail.value);
+ this.emitChange(value);
+ this.$emit('blur', __assign(__assign({}, event.detail), { value: value }));
+ },
+ // filter illegal characters
+ filter: function (value) {
+ value = String(value).replace(/[^0-9.-]/g, '');
+ if (this.data.integer && value.indexOf('.') !== -1) {
+ value = value.split('.')[0];
+ }
+ return value;
+ },
+ // limit value range
+ format: function (value) {
+ value = this.filter(value);
+ // format range
+ value = value === '' ? 0 : +value;
+ value = Math.max(Math.min(this.data.max, value), this.data.min);
+ // format decimal
+ if ((0, validator_1.isDef)(this.data.decimalLength)) {
+ value = value.toFixed(this.data.decimalLength);
+ }
+ return value;
+ },
+ onInput: function (event) {
+ var _a = (event.detail || {}).value, value = _a === void 0 ? '' : _a;
+ // allow input to be empty
+ if (value === '') {
+ return;
+ }
+ var formatted = this.filter(value);
+ // limit max decimal length
+ if ((0, validator_1.isDef)(this.data.decimalLength) && formatted.indexOf('.') !== -1) {
+ var pair = formatted.split('.');
+ formatted = pair[0] + "." + pair[1].slice(0, this.data.decimalLength);
+ }
+ this.emitChange(formatted);
+ },
+ emitChange: function (value) {
+ if (!this.data.asyncChange) {
+ this.setData({ currentValue: value });
+ }
+ this.$emit('change', value);
+ },
+ onChange: function () {
+ var type = this.type;
+ if (this.isDisabled(type)) {
+ this.$emit('overlimit', type);
+ return;
+ }
+ var diff = type === 'minus' ? -this.data.step : +this.data.step;
+ var value = this.format(add(+this.data.currentValue, diff));
+ this.emitChange(value);
+ this.$emit(type);
+ },
+ longPressStep: function () {
+ var _this = this;
+ this.longPressTimer = setTimeout(function () {
+ _this.onChange();
+ _this.longPressStep();
+ }, LONG_PRESS_INTERVAL);
+ },
+ onTap: function (event) {
+ var type = event.currentTarget.dataset.type;
+ this.type = type;
+ this.onChange();
+ },
+ onTouchStart: function (event) {
+ var _this = this;
+ if (!this.data.longPress) {
+ return;
+ }
+ clearTimeout(this.longPressTimer);
+ var type = event.currentTarget.dataset.type;
+ this.type = type;
+ this.isLongPress = false;
+ this.longPressTimer = setTimeout(function () {
+ _this.isLongPress = true;
+ _this.onChange();
+ _this.longPressStep();
+ }, LONG_PRESS_START_TIME);
+ },
+ onTouchEnd: function () {
+ if (!this.data.longPress) {
+ return;
+ }
+ clearTimeout(this.longPressTimer);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/stepper/index.json b/coupon/miniprogram/@vant/weapp/lib/stepper/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/stepper/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/stepper/index.wxml b/coupon/miniprogram/@vant/weapp/lib/stepper/index.wxml
new file mode 100644
index 0000000..6a58fd2
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/stepper/index.wxml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/stepper/index.wxs b/coupon/miniprogram/@vant/weapp/lib/stepper/index.wxs
new file mode 100644
index 0000000..a13e818
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/stepper/index.wxs
@@ -0,0 +1,22 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function buttonStyle(data) {
+ return style({
+ width: addUnit(data.buttonSize),
+ height: addUnit(data.buttonSize),
+ });
+}
+
+function inputStyle(data) {
+ return style({
+ width: addUnit(data.inputWidth),
+ height: addUnit(data.buttonSize),
+ });
+}
+
+module.exports = {
+ buttonStyle: buttonStyle,
+ inputStyle: inputStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/stepper/index.wxss b/coupon/miniprogram/@vant/weapp/lib/stepper/index.wxss
new file mode 100644
index 0000000..2561a7e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/stepper/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-stepper{font-size:0}.van-stepper__minus,.van-stepper__plus{background-color:var(--stepper-background-color,#f2f3f5);border:0;box-sizing:border-box;color:var(--stepper-button-icon-color,#323233);display:inline-block;height:var(--stepper-input-height,28px);margin:1px;padding:var(--padding-base,4px);position:relative;vertical-align:middle;width:var(--stepper-input-height,28px)}.van-stepper__minus:before,.van-stepper__plus:before{height:1px;width:9px}.van-stepper__minus:after,.van-stepper__plus:after{height:9px;width:1px}.van-stepper__minus:empty.van-stepper__minus:after,.van-stepper__minus:empty.van-stepper__minus:before,.van-stepper__minus:empty.van-stepper__plus:after,.van-stepper__minus:empty.van-stepper__plus:before,.van-stepper__plus:empty.van-stepper__minus:after,.van-stepper__plus:empty.van-stepper__minus:before,.van-stepper__plus:empty.van-stepper__plus:after,.van-stepper__plus:empty.van-stepper__plus:before{background-color:currentColor;bottom:0;content:"";left:0;margin:auto;position:absolute;right:0;top:0}.van-stepper__minus--hover,.van-stepper__plus--hover{background-color:var(--stepper-active-color,#e8e8e8)}.van-stepper__minus--disabled,.van-stepper__plus--disabled{color:var(--stepper-button-disabled-icon-color,#c8c9cc)}.van-stepper__minus--disabled,.van-stepper__minus--disabled.van-stepper__minus--hover,.van-stepper__minus--disabled.van-stepper__plus--hover,.van-stepper__plus--disabled,.van-stepper__plus--disabled.van-stepper__minus--hover,.van-stepper__plus--disabled.van-stepper__plus--hover{background-color:var(--stepper-button-disabled-color,#f7f8fa)}.van-stepper__minus{border-radius:var(--stepper-border-radius,var(--stepper-border-radius,4px)) 0 0 var(--stepper-border-radius,var(--stepper-border-radius,4px))}.van-stepper__minus:after{display:none}.van-stepper__plus{border-radius:0 var(--stepper-border-radius,var(--stepper-border-radius,4px)) var(--stepper-border-radius,var(--stepper-border-radius,4px)) 0}.van-stepper--round .van-stepper__input{background-color:initial!important}.van-stepper--round .van-stepper__minus,.van-stepper--round .van-stepper__plus{border-radius:100%}.van-stepper--round .van-stepper__minus:active,.van-stepper--round .van-stepper__plus:active{opacity:.7}.van-stepper--round .van-stepper__minus--disabled,.van-stepper--round .van-stepper__minus--disabled:active,.van-stepper--round .van-stepper__plus--disabled,.van-stepper--round .van-stepper__plus--disabled:active{opacity:.3}.van-stepper--round .van-stepper__plus{background-color:#ee0a24;color:#fff}.van-stepper--round .van-stepper__minus{background-color:#fff;border:1px solid #ee0a24;color:#ee0a24}.van-stepper__input{-webkit-appearance:none;background-color:var(--stepper-background-color,#f2f3f5);border:0;border-radius:0;border-width:1px 0;box-sizing:border-box;color:var(--stepper-input-text-color,#323233);display:inline-block;font-size:var(--stepper-input-font-size,14px);height:var(--stepper-input-height,28px);margin:1px;min-height:0;padding:1px;text-align:center;vertical-align:middle;width:var(--stepper-input-width,32px)}.van-stepper__input--disabled{background-color:var(--stepper-input-disabled-background-color,#f2f3f5);color:var(--stepper-input-disabled-text-color,#c8c9cc)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/steps/index.js b/coupon/miniprogram/@vant/weapp/lib/steps/index.js
new file mode 100644
index 0000000..1a9986a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/steps/index.js
@@ -0,0 +1,35 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var color_1 = require("../common/color");
+(0, component_1.VantComponent)({
+ classes: ['desc-class'],
+ props: {
+ icon: String,
+ steps: Array,
+ active: Number,
+ direction: {
+ type: String,
+ value: 'horizontal',
+ },
+ activeColor: {
+ type: String,
+ value: color_1.GREEN,
+ },
+ inactiveColor: {
+ type: String,
+ value: color_1.GRAY_DARK,
+ },
+ activeIcon: {
+ type: String,
+ value: 'checked',
+ },
+ inactiveIcon: String,
+ },
+ methods: {
+ onClick: function (event) {
+ var index = event.currentTarget.dataset.index;
+ this.$emit('click-step', index);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/steps/index.json b/coupon/miniprogram/@vant/weapp/lib/steps/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/steps/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/steps/index.wxml b/coupon/miniprogram/@vant/weapp/lib/steps/index.wxml
new file mode 100644
index 0000000..6180b41
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/steps/index.wxml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+ {{ item.text }}
+ {{ item.desc }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+function get(index, active) {
+ if (index < active) {
+ return 'finish';
+ } else if (index === active) {
+ return 'process';
+ }
+
+ return 'inactive';
+}
+
+module.exports = get;
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/steps/index.wxss b/coupon/miniprogram/@vant/weapp/lib/steps/index.wxss
new file mode 100644
index 0000000..48b7665
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/steps/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-steps{background-color:var(--steps-background-color,#fff);overflow:hidden}.van-steps--horizontal{padding:10px}.van-steps--horizontal .van-step__wrapper{display:flex;overflow:hidden;position:relative}.van-steps--vertical{padding-left:10px}.van-steps--vertical .van-step__wrapper{padding:0 0 0 20px}.van-step{color:var(--step-text-color,#969799);flex:1;font-size:var(--step-font-size,14px);position:relative}.van-step--finish{color:var(--step-finish-text-color,#323233)}.van-step__circle{background-color:var(--step-circle-color,#969799);border-radius:50%;height:var(--step-circle-size,5px);width:var(--step-circle-size,5px)}.van-step--horizontal{padding-bottom:14px}.van-step--horizontal:first-child .van-step__title{transform:none}.van-step--horizontal:first-child .van-step__circle-container{padding:0 8px 0 0;transform:translate3d(0,50%,0)}.van-step--horizontal:last-child{position:absolute;right:0;width:auto}.van-step--horizontal:last-child .van-step__title{text-align:right;transform:none}.van-step--horizontal:last-child .van-step__circle-container{padding:0 0 0 8px;right:0;transform:translate3d(0,50%,0)}.van-step--horizontal .van-step__circle-container{background-color:#fff;bottom:6px;padding:0 var(--padding-xs,8px);position:absolute;transform:translate3d(-50%,50%,0);z-index:1}.van-step--horizontal .van-step__title{display:inline-block;font-size:var(--step-horizontal-title-font-size,12px);transform:translate3d(-50%,0,0)}.van-step--horizontal .van-step__line{background-color:var(--step-line-color,#ebedf0);bottom:6px;height:1px;left:0;position:absolute;right:0;transform:translate3d(0,50%,0)}.van-step--horizontal.van-step--process{color:var(--step-process-text-color,#323233)}.van-step--horizontal.van-step--process .van-step__icon{display:block;font-size:var(--step-icon-size,12px);line-height:1}.van-step--vertical{line-height:18px;padding:10px 10px 10px 0}.van-step--vertical:after{border-bottom-width:1px}.van-step--vertical:last-child:after{border-bottom-width:none}.van-step--vertical:first-child:before{background-color:#fff;content:"";height:20px;left:-15px;position:absolute;top:0;width:1px;z-index:1}.van-step--vertical .van-step__circle,.van-step--vertical .van-step__icon,.van-step--vertical .van-step__line{left:-14px;position:absolute;top:19px;transform:translate3d(-50%,-50%,0);z-index:2}.van-step--vertical .van-step__icon{font-size:var(--step-icon-size,12px);line-height:1}.van-step--vertical .van-step__line{background-color:var(--step-line-color,#ebedf0);height:100%;transform:translate3d(-50%,0,0);width:1px;z-index:1}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/sticky/index.js b/coupon/miniprogram/@vant/weapp/lib/sticky/index.js
new file mode 100644
index 0000000..6f50dd3
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/sticky/index.js
@@ -0,0 +1,124 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var utils_1 = require("../common/utils");
+var component_1 = require("../common/component");
+var validator_1 = require("../common/validator");
+var page_scroll_1 = require("../mixins/page-scroll");
+var ROOT_ELEMENT = '.van-sticky';
+(0, component_1.VantComponent)({
+ props: {
+ zIndex: {
+ type: Number,
+ value: 99,
+ },
+ offsetTop: {
+ type: Number,
+ value: 0,
+ observer: 'onScroll',
+ },
+ disabled: {
+ type: Boolean,
+ observer: 'onScroll',
+ },
+ container: {
+ type: null,
+ observer: 'onScroll',
+ },
+ scrollTop: {
+ type: null,
+ observer: function (val) {
+ this.onScroll({ scrollTop: val });
+ },
+ },
+ },
+ mixins: [
+ (0, page_scroll_1.pageScrollMixin)(function (event) {
+ if (this.data.scrollTop != null) {
+ return;
+ }
+ this.onScroll(event);
+ }),
+ ],
+ data: {
+ height: 0,
+ fixed: false,
+ transform: 0,
+ },
+ mounted: function () {
+ this.onScroll();
+ },
+ methods: {
+ onScroll: function (_a) {
+ var _this = this;
+ var _b = _a === void 0 ? {} : _a, scrollTop = _b.scrollTop;
+ var _c = this.data, container = _c.container, offsetTop = _c.offsetTop, disabled = _c.disabled;
+ if (disabled) {
+ this.setDataAfterDiff({
+ fixed: false,
+ transform: 0,
+ });
+ return;
+ }
+ this.scrollTop = scrollTop || this.scrollTop;
+ if (typeof container === 'function') {
+ Promise.all([
+ (0, utils_1.getRect)(this, ROOT_ELEMENT),
+ this.getContainerRect(),
+ ]).then(function (_a) {
+ var root = _a[0], container = _a[1];
+ if (offsetTop + root.height > container.height + container.top) {
+ _this.setDataAfterDiff({
+ fixed: false,
+ transform: container.height - root.height,
+ });
+ }
+ else if (offsetTop >= root.top) {
+ _this.setDataAfterDiff({
+ fixed: true,
+ height: root.height,
+ transform: 0,
+ });
+ }
+ else {
+ _this.setDataAfterDiff({ fixed: false, transform: 0 });
+ }
+ });
+ return;
+ }
+ (0, utils_1.getRect)(this, ROOT_ELEMENT).then(function (root) {
+ if (!(0, validator_1.isDef)(root)) {
+ return;
+ }
+ if (offsetTop >= root.top) {
+ _this.setDataAfterDiff({ fixed: true, height: root.height });
+ _this.transform = 0;
+ }
+ else {
+ _this.setDataAfterDiff({ fixed: false });
+ }
+ });
+ },
+ setDataAfterDiff: function (data) {
+ var _this = this;
+ wx.nextTick(function () {
+ var diff = Object.keys(data).reduce(function (prev, key) {
+ if (data[key] !== _this.data[key]) {
+ prev[key] = data[key];
+ }
+ return prev;
+ }, {});
+ if (Object.keys(diff).length > 0) {
+ _this.setData(diff);
+ }
+ _this.$emit('scroll', {
+ scrollTop: _this.scrollTop,
+ isFixed: data.fixed || _this.data.fixed,
+ });
+ });
+ },
+ getContainerRect: function () {
+ var nodesRef = this.data.container();
+ return new Promise(function (resolve) { return nodesRef.boundingClientRect(resolve).exec(); });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/sticky/index.json b/coupon/miniprogram/@vant/weapp/lib/sticky/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/sticky/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/sticky/index.wxml b/coupon/miniprogram/@vant/weapp/lib/sticky/index.wxml
new file mode 100644
index 0000000..15e9f4a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/sticky/index.wxml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/sticky/index.wxs b/coupon/miniprogram/@vant/weapp/lib/sticky/index.wxs
new file mode 100644
index 0000000..be99d89
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/sticky/index.wxs
@@ -0,0 +1,25 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function wrapStyle(data) {
+ return style({
+ transform: data.transform
+ ? 'translate3d(0, ' + data.transform + 'px, 0)'
+ : '',
+ top: data.fixed ? addUnit(data.offsetTop) : '',
+ 'z-index': data.zIndex,
+ });
+}
+
+function containerStyle(data) {
+ return style({
+ height: data.fixed ? addUnit(data.height) : '',
+ 'z-index': data.zIndex,
+ });
+}
+
+module.exports = {
+ wrapStyle: wrapStyle,
+ containerStyle: containerStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/sticky/index.wxss b/coupon/miniprogram/@vant/weapp/lib/sticky/index.wxss
new file mode 100644
index 0000000..34d76aa
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/sticky/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-sticky{position:relative}.van-sticky-wrap--fixed{left:0;position:fixed;right:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/submit-bar/index.js b/coupon/miniprogram/@vant/weapp/lib/submit-bar/index.js
new file mode 100644
index 0000000..0cc076b
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/submit-bar/index.js
@@ -0,0 +1,58 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ classes: ['bar-class', 'price-class', 'button-class'],
+ props: {
+ tip: {
+ type: null,
+ observer: 'updateTip',
+ },
+ tipIcon: String,
+ type: Number,
+ price: {
+ type: null,
+ observer: 'updatePrice',
+ },
+ label: String,
+ loading: Boolean,
+ disabled: Boolean,
+ buttonText: String,
+ currency: {
+ type: String,
+ value: '¥',
+ },
+ buttonType: {
+ type: String,
+ value: 'danger',
+ },
+ decimalLength: {
+ type: Number,
+ value: 2,
+ observer: 'updatePrice',
+ },
+ suffixLabel: String,
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ updatePrice: function () {
+ var _a = this.data, price = _a.price, decimalLength = _a.decimalLength;
+ var priceStrArr = typeof price === 'number' &&
+ (price / 100).toFixed(decimalLength).split('.');
+ this.setData({
+ hasPrice: typeof price === 'number',
+ integerStr: priceStrArr && priceStrArr[0],
+ decimalStr: decimalLength && priceStrArr ? "." + priceStrArr[1] : '',
+ });
+ },
+ updateTip: function () {
+ this.setData({ hasTip: typeof this.data.tip === 'string' });
+ },
+ onSubmit: function (event) {
+ this.$emit('submit', event.detail);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/submit-bar/index.json b/coupon/miniprogram/@vant/weapp/lib/submit-bar/index.json
new file mode 100644
index 0000000..bda9b8d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/submit-bar/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-button": "../button/index",
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/submit-bar/index.wxml b/coupon/miniprogram/@vant/weapp/lib/submit-bar/index.wxml
new file mode 100644
index 0000000..a56dd46
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/submit-bar/index.wxml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+ {{ tip }}
+
+
+
+
+
+
+
+ {{ label || '合计:' }}
+
+ {{ currency }}
+ {{ integerStr }}{{decimalStr}}
+
+ {{ suffixLabel }}
+
+
+ {{ loading ? '' : buttonText }}
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/submit-bar/index.wxss b/coupon/miniprogram/@vant/weapp/lib/submit-bar/index.wxss
new file mode 100644
index 0000000..8379a30
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/submit-bar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-submit-bar{background-color:var(--submit-bar-background-color,#fff);bottom:0;left:0;position:fixed;-webkit-user-select:none;user-select:none;width:100%;z-index:var(--submit-bar-z-index,100)}.van-submit-bar__tip{background-color:var(--submit-bar-tip-background-color,#fff7cc);color:var(--submit-bar-tip-color,#f56723);font-size:var(--submit-bar-tip-font-size,12px);line-height:var(--submit-bar-tip-line-height,1.5);padding:var(--submit-bar-tip-padding,10px)}.van-submit-bar__tip:empty{display:none}.van-submit-bar__tip-icon{margin-right:4px;vertical-align:middle}.van-submit-bar__tip-text{display:inline;vertical-align:middle}.van-submit-bar__bar{align-items:center;background-color:var(--submit-bar-background-color,#fff);display:flex;font-size:var(--submit-bar-text-font-size,14px);height:var(--submit-bar-height,50px);justify-content:flex-end;padding:var(--submit-bar-padding,0 16px)}.van-submit-bar__safe{height:constant(safe-area-inset-bottom);height:env(safe-area-inset-bottom)}.van-submit-bar__text{color:var(--submit-bar-text-color,#323233);flex:1;font-weight:var(--font-weight-bold,500);padding-right:var(--padding-sm,12px);text-align:right}.van-submit-bar__price{color:var(--submit-bar-price-color,#ee0a24);font-size:var(--submit-bar-price-font-size,12px);font-weight:var(--font-weight-bold,500)}.van-submit-bar__price-integer{font-family:Avenir-Heavy,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:20px}.van-submit-bar__currency{font-size:var(--submit-bar-currency-font-size,12px)}.van-submit-bar__suffix-label{margin-left:5px}.van-submit-bar__button{--button-default-height:var(--submit-bar-button-height,40px)!important;--button-line-height:var(--submit-bar-button-height,40px)!important;font-weight:var(--font-weight-bold,500);width:var(--submit-bar-button-width,110px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/swipe-cell/index.js b/coupon/miniprogram/@vant/weapp/lib/swipe-cell/index.js
new file mode 100644
index 0000000..8706110
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/swipe-cell/index.js
@@ -0,0 +1,135 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var touch_1 = require("../mixins/touch");
+var utils_1 = require("../common/utils");
+var THRESHOLD = 0.3;
+var ARRAY = [];
+(0, component_1.VantComponent)({
+ props: {
+ disabled: Boolean,
+ leftWidth: {
+ type: Number,
+ value: 0,
+ observer: function (leftWidth) {
+ if (leftWidth === void 0) { leftWidth = 0; }
+ if (this.offset > 0) {
+ this.swipeMove(leftWidth);
+ }
+ },
+ },
+ rightWidth: {
+ type: Number,
+ value: 0,
+ observer: function (rightWidth) {
+ if (rightWidth === void 0) { rightWidth = 0; }
+ if (this.offset < 0) {
+ this.swipeMove(-rightWidth);
+ }
+ },
+ },
+ asyncClose: Boolean,
+ name: {
+ type: null,
+ value: '',
+ },
+ },
+ mixins: [touch_1.touch],
+ data: {
+ catchMove: false,
+ wrapperStyle: '',
+ },
+ created: function () {
+ this.offset = 0;
+ ARRAY.push(this);
+ },
+ destroyed: function () {
+ var _this = this;
+ ARRAY = ARRAY.filter(function (item) { return item !== _this; });
+ },
+ methods: {
+ open: function (position) {
+ var _a = this.data, leftWidth = _a.leftWidth, rightWidth = _a.rightWidth;
+ var offset = position === 'left' ? leftWidth : -rightWidth;
+ this.swipeMove(offset);
+ this.$emit('open', {
+ position: position,
+ name: this.data.name,
+ });
+ },
+ close: function () {
+ this.swipeMove(0);
+ },
+ swipeMove: function (offset) {
+ if (offset === void 0) { offset = 0; }
+ this.offset = (0, utils_1.range)(offset, -this.data.rightWidth, this.data.leftWidth);
+ var transform = "translate3d(" + this.offset + "px, 0, 0)";
+ var transition = this.dragging
+ ? 'none'
+ : 'transform .6s cubic-bezier(0.18, 0.89, 0.32, 1)';
+ this.setData({
+ wrapperStyle: "\n -webkit-transform: " + transform + ";\n -webkit-transition: " + transition + ";\n transform: " + transform + ";\n transition: " + transition + ";\n ",
+ });
+ },
+ swipeLeaveTransition: function () {
+ var _a = this.data, leftWidth = _a.leftWidth, rightWidth = _a.rightWidth;
+ var offset = this.offset;
+ if (rightWidth > 0 && -offset > rightWidth * THRESHOLD) {
+ this.open('right');
+ }
+ else if (leftWidth > 0 && offset > leftWidth * THRESHOLD) {
+ this.open('left');
+ }
+ else {
+ this.swipeMove(0);
+ }
+ this.setData({ catchMove: false });
+ },
+ startDrag: function (event) {
+ if (this.data.disabled) {
+ return;
+ }
+ this.startOffset = this.offset;
+ this.touchStart(event);
+ },
+ noop: function () { },
+ onDrag: function (event) {
+ var _this = this;
+ if (this.data.disabled) {
+ return;
+ }
+ this.touchMove(event);
+ if (this.direction !== 'horizontal') {
+ return;
+ }
+ this.dragging = true;
+ ARRAY.filter(function (item) { return item !== _this && item.offset !== 0; }).forEach(function (item) { return item.close(); });
+ this.setData({ catchMove: true });
+ this.swipeMove(this.startOffset + this.deltaX);
+ },
+ endDrag: function () {
+ if (this.data.disabled) {
+ return;
+ }
+ this.dragging = false;
+ this.swipeLeaveTransition();
+ },
+ onClick: function (event) {
+ var _a = event.currentTarget.dataset.key, position = _a === void 0 ? 'outside' : _a;
+ this.$emit('click', position);
+ if (!this.offset) {
+ return;
+ }
+ if (this.data.asyncClose) {
+ this.$emit('close', {
+ position: position,
+ instance: this,
+ name: this.data.name,
+ });
+ }
+ else {
+ this.swipeMove(0);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/swipe-cell/index.json b/coupon/miniprogram/@vant/weapp/lib/swipe-cell/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/swipe-cell/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/swipe-cell/index.wxml b/coupon/miniprogram/@vant/weapp/lib/swipe-cell/index.wxml
new file mode 100644
index 0000000..3f7f726
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/swipe-cell/index.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/swipe-cell/index.wxss b/coupon/miniprogram/@vant/weapp/lib/swipe-cell/index.wxss
new file mode 100644
index 0000000..3a265bf
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/swipe-cell/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-swipe-cell{overflow:hidden;position:relative}.van-swipe-cell__left,.van-swipe-cell__right{height:100%;position:absolute;top:0}.van-swipe-cell__left{left:0;transform:translate3d(-100%,0,0)}.van-swipe-cell__right{right:0;transform:translate3d(100%,0,0)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/switch/index.js b/coupon/miniprogram/@vant/weapp/lib/switch/index.js
new file mode 100644
index 0000000..1d2317f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/switch/index.js
@@ -0,0 +1,38 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ field: true,
+ classes: ['node-class'],
+ props: {
+ checked: null,
+ loading: Boolean,
+ disabled: Boolean,
+ activeColor: String,
+ inactiveColor: String,
+ size: {
+ type: String,
+ value: '30',
+ },
+ activeValue: {
+ type: null,
+ value: true,
+ },
+ inactiveValue: {
+ type: null,
+ value: false,
+ },
+ },
+ methods: {
+ onClick: function () {
+ var _a = this.data, activeValue = _a.activeValue, inactiveValue = _a.inactiveValue, disabled = _a.disabled, loading = _a.loading;
+ if (disabled || loading) {
+ return;
+ }
+ var checked = this.data.checked === activeValue;
+ var value = checked ? inactiveValue : activeValue;
+ this.$emit('input', value);
+ this.$emit('change', value);
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/switch/index.json b/coupon/miniprogram/@vant/weapp/lib/switch/index.json
new file mode 100644
index 0000000..01077f5
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/switch/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/switch/index.wxml b/coupon/miniprogram/@vant/weapp/lib/switch/index.wxml
new file mode 100644
index 0000000..4e9789b
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/switch/index.wxml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/switch/index.wxs b/coupon/miniprogram/@vant/weapp/lib/switch/index.wxs
new file mode 100644
index 0000000..3ae387a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/switch/index.wxs
@@ -0,0 +1,26 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ var currentColor = data.checked === data.activeValue ? data.activeColor : data.inactiveColor;
+
+ return style({
+ 'font-size': addUnit(data.size),
+ 'background-color': currentColor,
+ });
+}
+
+var BLUE = '#1989fa';
+var GRAY_DARK = '#969799';
+
+function loadingColor(data) {
+ return data.checked === data.activeValue
+ ? data.activeColor || BLUE
+ : data.inactiveColor || GRAY_DARK;
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+ loadingColor: loadingColor,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/switch/index.wxss b/coupon/miniprogram/@vant/weapp/lib/switch/index.wxss
new file mode 100644
index 0000000..35929de
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/switch/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-switch{background-color:var(--switch-background-color,#fff);border:var(--switch-border,1px solid rgba(0,0,0,.1));border-radius:var(--switch-node-size,1em);box-sizing:initial;display:inline-block;height:var(--switch-height,1em);position:relative;transition:background-color var(--switch-transition-duration,.3s);width:var(--switch-width,2em)}.van-switch__node{background-color:var(--switch-node-background-color,#fff);border-radius:100%;box-shadow:var(--switch-node-box-shadow,0 3px 1px 0 rgba(0,0,0,.05),0 2px 2px 0 rgba(0,0,0,.1),0 3px 3px 0 rgba(0,0,0,.05));height:var(--switch-node-size,1em);left:0;position:absolute;top:0;transition:var(--switch-transition-duration,.3s) cubic-bezier(.3,1.05,.4,1.05);width:var(--switch-node-size,1em);z-index:var(--switch-node-z-index,1)}.van-switch__loading{height:50%;left:25%;position:absolute!important;top:25%;width:50%}.van-switch--on{background-color:var(--switch-on-background-color,#1989fa)}.van-switch--on .van-switch__node{transform:translateX(calc(var(--switch-width, 2em) - var(--switch-node-size, 1em)))}.van-switch--disabled{opacity:var(--switch-disabled-opacity,.4)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/tab/index.js b/coupon/miniprogram/@vant/weapp/lib/tab/index.js
new file mode 100644
index 0000000..ae4d06b
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tab/index.js
@@ -0,0 +1,58 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var relation_1 = require("../common/relation");
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useParent)('tabs'),
+ props: {
+ dot: {
+ type: Boolean,
+ observer: 'update',
+ },
+ info: {
+ type: null,
+ observer: 'update',
+ },
+ title: {
+ type: String,
+ observer: 'update',
+ },
+ disabled: {
+ type: Boolean,
+ observer: 'update',
+ },
+ titleStyle: {
+ type: String,
+ observer: 'update',
+ },
+ name: {
+ type: null,
+ value: '',
+ },
+ },
+ data: {
+ active: false,
+ },
+ methods: {
+ getComputedName: function () {
+ if (this.data.name !== '') {
+ return this.data.name;
+ }
+ return this.index;
+ },
+ updateRender: function (active, parent) {
+ var parentData = parent.data;
+ this.inited = this.inited || active;
+ this.setData({
+ active: active,
+ shouldRender: this.inited || !parentData.lazyRender,
+ shouldShow: active || parentData.animated,
+ });
+ },
+ update: function () {
+ if (this.parent) {
+ this.parent.updateTabs();
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/tab/index.json b/coupon/miniprogram/@vant/weapp/lib/tab/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tab/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/tab/index.wxml b/coupon/miniprogram/@vant/weapp/lib/tab/index.wxml
new file mode 100644
index 0000000..f5e99f2
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tab/index.wxml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/tab/index.wxss b/coupon/miniprogram/@vant/weapp/lib/tab/index.wxss
new file mode 100644
index 0000000..1c90c88
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tab/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';:host{box-sizing:border-box;flex-shrink:0;width:100%}.van-tab__pane{-webkit-overflow-scrolling:touch;box-sizing:border-box;overflow-y:auto}.van-tab__pane--active{height:auto}.van-tab__pane--inactive{height:0;overflow:visible}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/tabbar-item/index.js b/coupon/miniprogram/@vant/weapp/lib/tabbar-item/index.js
new file mode 100644
index 0000000..1a88d4e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tabbar-item/index.js
@@ -0,0 +1,58 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ props: {
+ info: null,
+ name: null,
+ icon: String,
+ dot: Boolean,
+ iconPrefix: {
+ type: String,
+ value: 'van-icon',
+ },
+ },
+ relation: (0, relation_1.useParent)('tabbar'),
+ data: {
+ active: false,
+ activeColor: '',
+ inactiveColor: '',
+ },
+ methods: {
+ onClick: function () {
+ var parent = this.parent;
+ if (parent) {
+ var index = parent.children.indexOf(this);
+ var active = this.data.name || index;
+ if (active !== this.data.active) {
+ parent.$emit('change', active);
+ }
+ }
+ this.$emit('click');
+ },
+ updateFromParent: function () {
+ var parent = this.parent;
+ if (!parent) {
+ return;
+ }
+ var index = parent.children.indexOf(this);
+ var parentData = parent.data;
+ var data = this.data;
+ var active = (data.name || index) === parentData.active;
+ var patch = {};
+ if (active !== data.active) {
+ patch.active = active;
+ }
+ if (parentData.activeColor !== data.activeColor) {
+ patch.activeColor = parentData.activeColor;
+ }
+ if (parentData.inactiveColor !== data.inactiveColor) {
+ patch.inactiveColor = parentData.inactiveColor;
+ }
+ if (Object.keys(patch).length > 0) {
+ this.setData(patch);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/tabbar-item/index.json b/coupon/miniprogram/@vant/weapp/lib/tabbar-item/index.json
new file mode 100644
index 0000000..16f174c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tabbar-item/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-info": "../info/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/tabbar-item/index.wxml b/coupon/miniprogram/@vant/weapp/lib/tabbar-item/index.wxml
new file mode 100644
index 0000000..524728f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tabbar-item/index.wxml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/tabbar-item/index.wxss b/coupon/miniprogram/@vant/weapp/lib/tabbar-item/index.wxss
new file mode 100644
index 0000000..21ee224
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tabbar-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';:host{flex:1}.van-tabbar-item{align-items:center;color:var(--tabbar-item-text-color,#646566);display:flex;flex-direction:column;font-size:var(--tabbar-item-font-size,12px);height:100%;justify-content:center;line-height:var(--tabbar-item-line-height,1)}.van-tabbar-item__icon{font-size:var(--tabbar-item-icon-size,22px);margin-bottom:var(--tabbar-item-margin-bottom,4px);position:relative}.van-tabbar-item__icon__inner{display:block;min-width:1em}.van-tabbar-item--active{color:var(--tabbar-item-active-color,#1989fa)}.van-tabbar-item__info{margin-top:2px}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/tabbar/index.js b/coupon/miniprogram/@vant/weapp/lib/tabbar/index.js
new file mode 100644
index 0000000..3db793d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tabbar/index.js
@@ -0,0 +1,68 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+var utils_1 = require("../common/utils");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useChildren)('tabbar-item', function () {
+ this.updateChildren();
+ }),
+ props: {
+ active: {
+ type: null,
+ observer: 'updateChildren',
+ },
+ activeColor: {
+ type: String,
+ observer: 'updateChildren',
+ },
+ inactiveColor: {
+ type: String,
+ observer: 'updateChildren',
+ },
+ fixed: {
+ type: Boolean,
+ value: true,
+ observer: 'setHeight',
+ },
+ placeholder: {
+ type: Boolean,
+ observer: 'setHeight',
+ },
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ height: 50,
+ },
+ methods: {
+ updateChildren: function () {
+ var children = this.children;
+ if (!Array.isArray(children) || !children.length) {
+ return;
+ }
+ children.forEach(function (child) { return child.updateFromParent(); });
+ },
+ setHeight: function () {
+ var _this = this;
+ if (!this.data.fixed || !this.data.placeholder) {
+ return;
+ }
+ wx.nextTick(function () {
+ (0, utils_1.getRect)(_this, '.van-tabbar').then(function (res) {
+ _this.setData({ height: res.height });
+ });
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/tabbar/index.json b/coupon/miniprogram/@vant/weapp/lib/tabbar/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tabbar/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/tabbar/index.wxml b/coupon/miniprogram/@vant/weapp/lib/tabbar/index.wxml
new file mode 100644
index 0000000..43bb111
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tabbar/index.wxml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/tabbar/index.wxss b/coupon/miniprogram/@vant/weapp/lib/tabbar/index.wxss
new file mode 100644
index 0000000..42b6c1e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tabbar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-tabbar{background-color:var(--tabbar-background-color,#fff);box-sizing:initial;display:flex;height:var(--tabbar-height,50px);width:100%}.van-tabbar--fixed{bottom:0;left:0;position:fixed}.van-tabbar--safe{padding-bottom:env(safe-area-inset-bottom)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/tabs/index.js b/coupon/miniprogram/@vant/weapp/lib/tabs/index.js
new file mode 100644
index 0000000..3173a7f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tabs/index.js
@@ -0,0 +1,281 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var touch_1 = require("../mixins/touch");
+var utils_1 = require("../common/utils");
+var validator_1 = require("../common/validator");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ mixins: [touch_1.touch],
+ classes: ['nav-class', 'tab-class', 'tab-active-class', 'line-class'],
+ relation: (0, relation_1.useChildren)('tab', function () {
+ this.updateTabs();
+ }),
+ props: {
+ sticky: Boolean,
+ border: Boolean,
+ swipeable: Boolean,
+ titleActiveColor: String,
+ titleInactiveColor: String,
+ color: String,
+ animated: {
+ type: Boolean,
+ observer: function () {
+ var _this = this;
+ this.children.forEach(function (child, index) {
+ return child.updateRender(index === _this.data.currentIndex, _this);
+ });
+ },
+ },
+ lineWidth: {
+ type: null,
+ value: 40,
+ observer: 'resize',
+ },
+ lineHeight: {
+ type: null,
+ value: -1,
+ },
+ active: {
+ type: null,
+ value: 0,
+ observer: function (name) {
+ if (name !== this.getCurrentName()) {
+ this.setCurrentIndexByName(name);
+ }
+ },
+ },
+ type: {
+ type: String,
+ value: 'line',
+ },
+ ellipsis: {
+ type: Boolean,
+ value: true,
+ },
+ duration: {
+ type: Number,
+ value: 0.3,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ swipeThreshold: {
+ type: Number,
+ value: 5,
+ observer: function (value) {
+ this.setData({
+ scrollable: this.children.length > value || !this.data.ellipsis,
+ });
+ },
+ },
+ offsetTop: {
+ type: Number,
+ value: 0,
+ },
+ lazyRender: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ tabs: [],
+ scrollLeft: 0,
+ scrollable: false,
+ currentIndex: 0,
+ container: null,
+ skipTransition: true,
+ scrollWithAnimation: false,
+ lineOffsetLeft: 0,
+ },
+ mounted: function () {
+ var _this = this;
+ (0, utils_1.requestAnimationFrame)(function () {
+ _this.swiping = true;
+ _this.setData({
+ container: function () { return _this.createSelectorQuery().select('.van-tabs'); },
+ });
+ _this.resize();
+ _this.scrollIntoView();
+ });
+ },
+ methods: {
+ updateTabs: function () {
+ var _a = this, _b = _a.children, children = _b === void 0 ? [] : _b, data = _a.data;
+ this.setData({
+ tabs: children.map(function (child) { return child.data; }),
+ scrollable: this.children.length > data.swipeThreshold || !data.ellipsis,
+ });
+ this.setCurrentIndexByName(data.active || this.getCurrentName());
+ },
+ trigger: function (eventName, child) {
+ var currentIndex = this.data.currentIndex;
+ var currentChild = child || this.children[currentIndex];
+ if (!(0, validator_1.isDef)(currentChild)) {
+ return;
+ }
+ this.$emit(eventName, {
+ index: currentChild.index,
+ name: currentChild.getComputedName(),
+ title: currentChild.data.title,
+ });
+ },
+ onTap: function (event) {
+ var _this = this;
+ var index = event.currentTarget.dataset.index;
+ var child = this.children[index];
+ if (child.data.disabled) {
+ this.trigger('disabled', child);
+ }
+ else {
+ this.setCurrentIndex(index);
+ (0, utils_1.nextTick)(function () {
+ _this.trigger('click');
+ });
+ }
+ },
+ // correct the index of active tab
+ setCurrentIndexByName: function (name) {
+ var _a = this.children, children = _a === void 0 ? [] : _a;
+ var matched = children.filter(function (child) { return child.getComputedName() === name; });
+ if (matched.length) {
+ this.setCurrentIndex(matched[0].index);
+ }
+ },
+ setCurrentIndex: function (currentIndex) {
+ var _this = this;
+ var _a = this, data = _a.data, _b = _a.children, children = _b === void 0 ? [] : _b;
+ if (!(0, validator_1.isDef)(currentIndex) ||
+ currentIndex >= children.length ||
+ currentIndex < 0) {
+ return;
+ }
+ (0, utils_1.groupSetData)(this, function () {
+ children.forEach(function (item, index) {
+ var active = index === currentIndex;
+ if (active !== item.data.active || !item.inited) {
+ item.updateRender(active, _this);
+ }
+ });
+ });
+ if (currentIndex === data.currentIndex) {
+ return;
+ }
+ var shouldEmitChange = data.currentIndex !== null;
+ this.setData({ currentIndex: currentIndex });
+ (0, utils_1.requestAnimationFrame)(function () {
+ _this.resize();
+ _this.scrollIntoView();
+ });
+ (0, utils_1.nextTick)(function () {
+ _this.trigger('input');
+ if (shouldEmitChange) {
+ _this.trigger('change');
+ }
+ });
+ },
+ getCurrentName: function () {
+ var activeTab = this.children[this.data.currentIndex];
+ if (activeTab) {
+ return activeTab.getComputedName();
+ }
+ },
+ resize: function () {
+ var _this = this;
+ if (this.data.type !== 'line') {
+ return;
+ }
+ var _a = this.data, currentIndex = _a.currentIndex, ellipsis = _a.ellipsis, skipTransition = _a.skipTransition;
+ Promise.all([
+ (0, utils_1.getAllRect)(this, '.van-tab'),
+ (0, utils_1.getRect)(this, '.van-tabs__line'),
+ ]).then(function (_a) {
+ var _b = _a[0], rects = _b === void 0 ? [] : _b, lineRect = _a[1];
+ var rect = rects[currentIndex];
+ if (rect == null) {
+ return;
+ }
+ var lineOffsetLeft = rects
+ .slice(0, currentIndex)
+ .reduce(function (prev, curr) { return prev + curr.width; }, 0);
+ lineOffsetLeft +=
+ (rect.width - lineRect.width) / 2 + (ellipsis ? 0 : 8);
+ _this.setData({ lineOffsetLeft: lineOffsetLeft });
+ _this.swiping = true;
+ if (skipTransition) {
+ (0, utils_1.nextTick)(function () {
+ _this.setData({ skipTransition: false });
+ });
+ }
+ });
+ },
+ // scroll active tab into view
+ scrollIntoView: function () {
+ var _this = this;
+ var _a = this.data, currentIndex = _a.currentIndex, scrollable = _a.scrollable, scrollWithAnimation = _a.scrollWithAnimation;
+ if (!scrollable) {
+ return;
+ }
+ Promise.all([
+ (0, utils_1.getAllRect)(this, '.van-tab'),
+ (0, utils_1.getRect)(this, '.van-tabs__nav'),
+ ]).then(function (_a) {
+ var tabRects = _a[0], navRect = _a[1];
+ var tabRect = tabRects[currentIndex];
+ var offsetLeft = tabRects
+ .slice(0, currentIndex)
+ .reduce(function (prev, curr) { return prev + curr.width; }, 0);
+ _this.setData({
+ scrollLeft: offsetLeft - (navRect.width - tabRect.width) / 2,
+ });
+ if (!scrollWithAnimation) {
+ (0, utils_1.nextTick)(function () {
+ _this.setData({ scrollWithAnimation: true });
+ });
+ }
+ });
+ },
+ onTouchScroll: function (event) {
+ this.$emit('scroll', event.detail);
+ },
+ onTouchStart: function (event) {
+ if (!this.data.swipeable)
+ return;
+ this.touchStart(event);
+ },
+ onTouchMove: function (event) {
+ if (!this.data.swipeable || !this.swiping)
+ return;
+ this.touchMove(event);
+ },
+ // watch swipe touch end
+ onTouchEnd: function () {
+ if (!this.data.swipeable || !this.swiping)
+ return;
+ var _a = this, direction = _a.direction, deltaX = _a.deltaX, offsetX = _a.offsetX;
+ var minSwipeDistance = 50;
+ if (direction === 'horizontal' && offsetX >= minSwipeDistance) {
+ var index = this.getAvaiableTab(deltaX);
+ if (index !== -1) {
+ this.setCurrentIndex(index);
+ }
+ }
+ this.swiping = false;
+ },
+ getAvaiableTab: function (direction) {
+ var _a = this.data, tabs = _a.tabs, currentIndex = _a.currentIndex;
+ var step = direction > 0 ? -1 : 1;
+ for (var i = step; currentIndex + i < tabs.length && currentIndex + i >= 0; i += step) {
+ var index = currentIndex + i;
+ if (index >= 0 &&
+ index < tabs.length &&
+ tabs[index] &&
+ !tabs[index].disabled) {
+ return index;
+ }
+ }
+ return -1;
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/tabs/index.json b/coupon/miniprogram/@vant/weapp/lib/tabs/index.json
new file mode 100644
index 0000000..19c0bc3
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tabs/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-info": "../info/index",
+ "van-sticky": "../sticky/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/tabs/index.wxml b/coupon/miniprogram/@vant/weapp/lib/tabs/index.wxml
new file mode 100644
index 0000000..f76dd63
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tabs/index.wxml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/tabs/index.wxs b/coupon/miniprogram/@vant/weapp/lib/tabs/index.wxs
new file mode 100644
index 0000000..a027c7b
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tabs/index.wxs
@@ -0,0 +1,82 @@
+/* eslint-disable */
+var utils = require('../wxs/utils.wxs');
+var style = require('../wxs/style.wxs');
+
+function tabClass(active, ellipsis) {
+ var classes = ['tab-class'];
+
+ if (active) {
+ classes.push('tab-active-class');
+ }
+
+ if (ellipsis) {
+ classes.push('van-ellipsis');
+ }
+
+ return classes.join(' ');
+}
+
+function tabStyle(data) {
+ var titleColor = data.active
+ ? data.titleActiveColor
+ : data.titleInactiveColor;
+
+ var ellipsis = data.scrollable && data.ellipsis;
+
+ // card theme color
+ if (data.type === 'card') {
+ return style({
+ 'border-color': data.color,
+ 'background-color': !data.disabled && data.active ? data.color : null,
+ color: titleColor || (!data.disabled && !data.active ? data.color : null),
+ 'flex-basis': ellipsis ? 88 / data.swipeThreshold + '%' : null,
+ });
+ }
+
+ return style({
+ color: titleColor,
+ 'flex-basis': ellipsis ? 88 / data.swipeThreshold + '%' : null,
+ });
+}
+
+function navStyle(color, type) {
+ return style({
+ 'border-color': type === 'card' && color ? color : null,
+ });
+}
+
+function trackStyle(data) {
+ if (!data.animated) {
+ return '';
+ }
+
+ return style({
+ left: -100 * data.currentIndex + '%',
+ 'transition-duration': data.duration + 's',
+ '-webkit-transition-duration': data.duration + 's',
+ });
+}
+
+function lineStyle(data) {
+ return style({
+ width: utils.addUnit(data.lineWidth),
+ transform: 'translateX(' + data.lineOffsetLeft + 'px)',
+ '-webkit-transform': 'translateX(' + data.lineOffsetLeft + 'px)',
+ 'background-color': data.color,
+ height: data.lineHeight !== -1 ? utils.addUnit(data.lineHeight) : null,
+ 'border-radius':
+ data.lineHeight !== -1 ? utils.addUnit(data.lineHeight) : null,
+ 'transition-duration': !data.skipTransition ? data.duration + 's' : null,
+ '-webkit-transition-duration': !data.skipTransition
+ ? data.duration + 's'
+ : null,
+ });
+}
+
+module.exports = {
+ tabClass: tabClass,
+ tabStyle: tabStyle,
+ trackStyle: trackStyle,
+ lineStyle: lineStyle,
+ navStyle: navStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/tabs/index.wxss b/coupon/miniprogram/@vant/weapp/lib/tabs/index.wxss
new file mode 100644
index 0000000..bb592c3
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tabs/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-tabs{-webkit-tap-highlight-color:transparent;position:relative}.van-tabs__wrap{display:flex;overflow:hidden}.van-tabs__wrap--scrollable .van-tab{flex:0 0 22%}.van-tabs__wrap--scrollable .van-tab--complete{flex:1 0 auto!important;padding:0 12px}.van-tabs__wrap--scrollable .van-tabs__nav--complete{padding-left:8px;padding-right:8px}.van-tabs__scroll{background-color:var(--tabs-nav-background-color,#fff)}.van-tabs__scroll--line{box-sizing:initial;height:calc(100% + 15px)}.van-tabs__scroll--card{border:1px solid var(--tabs-default-color,#ee0a24);border-radius:2px;box-sizing:border-box;margin:0 var(--padding-md,16px);width:calc(100% - var(--padding-md, 16px)*2)}.van-tabs__scroll::-webkit-scrollbar{display:none}.van-tabs__nav{display:flex;position:relative;-webkit-user-select:none;user-select:none}.van-tabs__nav--card{box-sizing:border-box;height:var(--tabs-card-height,30px)}.van-tabs__nav--card .van-tab{border-right:1px solid var(--tabs-default-color,#ee0a24);color:var(--tabs-default-color,#ee0a24);line-height:calc(var(--tabs-card-height, 30px) - 2px)}.van-tabs__nav--card .van-tab:last-child{border-right:none}.van-tabs__nav--card .van-tab.van-tab--active{background-color:var(--tabs-default-color,#ee0a24);color:#fff}.van-tabs__nav--card .van-tab--disabled{color:var(--tab-disabled-text-color,#c8c9cc)}.van-tabs__line{background-color:var(--tabs-bottom-bar-color,#ee0a24);border-radius:var(--tabs-bottom-bar-height,3px);bottom:0;height:var(--tabs-bottom-bar-height,3px);left:0;position:absolute;z-index:1}.van-tabs__track{height:100%;position:relative;width:100%}.van-tabs__track--animated{display:flex;transition-property:left}.van-tabs__content{overflow:hidden}.van-tabs--line .van-tabs__wrap{height:var(--tabs-line-height,44px)}.van-tabs--card .van-tabs__wrap{height:var(--tabs-card-height,30px)}.van-tab{box-sizing:border-box;color:var(--tab-text-color,#646566);cursor:pointer;flex:1;font-size:var(--tab-font-size,14px);line-height:var(--tabs-line-height,44px);min-width:0;padding:0 5px;position:relative;text-align:center}.van-tab--active{color:var(--tab-active-text-color,#323233);font-weight:var(--font-weight-bold,500)}.van-tab--disabled{color:var(--tab-disabled-text-color,#c8c9cc)}.van-tab__title__info{display:inline-block;position:relative!important;top:-1px!important;transform:translateX(0)!important}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/tag/index.js b/coupon/miniprogram/@vant/weapp/lib/tag/index.js
new file mode 100644
index 0000000..ec4069a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tag/index.js
@@ -0,0 +1,23 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ size: String,
+ mark: Boolean,
+ color: String,
+ plain: Boolean,
+ round: Boolean,
+ textColor: String,
+ type: {
+ type: String,
+ value: 'default',
+ },
+ closeable: Boolean,
+ },
+ methods: {
+ onClose: function () {
+ this.$emit('close');
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/tag/index.json b/coupon/miniprogram/@vant/weapp/lib/tag/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tag/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/tag/index.wxml b/coupon/miniprogram/@vant/weapp/lib/tag/index.wxml
new file mode 100644
index 0000000..59352dd
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tag/index.wxml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/tag/index.wxs b/coupon/miniprogram/@vant/weapp/lib/tag/index.wxs
new file mode 100644
index 0000000..12d1668
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tag/index.wxs
@@ -0,0 +1,13 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+
+function rootStyle(data) {
+ return style({
+ 'background-color': data.plain ? '' : data.color,
+ color: data.textColor || data.plain ? data.textColor || data.color : '',
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/tag/index.wxss b/coupon/miniprogram/@vant/weapp/lib/tag/index.wxss
new file mode 100644
index 0000000..0f0cbae
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tag/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-tag{align-items:center;border-radius:var(--tag-border-radius,2px);color:var(--tag-text-color,#fff);display:inline-flex;font-size:var(--tag-font-size,12px);line-height:var(--tag-line-height,16px);padding:var(--tag-padding,0 4px);position:relative}.van-tag--default{background-color:var(--tag-default-color,#969799)}.van-tag--default.van-tag--plain{color:var(--tag-default-color,#969799)}.van-tag--danger{background-color:var(--tag-danger-color,#ee0a24)}.van-tag--danger.van-tag--plain{color:var(--tag-danger-color,#ee0a24)}.van-tag--primary{background-color:var(--tag-primary-color,#1989fa)}.van-tag--primary.van-tag--plain{color:var(--tag-primary-color,#1989fa)}.van-tag--success{background-color:var(--tag-success-color,#07c160)}.van-tag--success.van-tag--plain{color:var(--tag-success-color,#07c160)}.van-tag--warning{background-color:var(--tag-warning-color,#ff976a)}.van-tag--warning.van-tag--plain{color:var(--tag-warning-color,#ff976a)}.van-tag--plain{background-color:var(--tag-plain-background-color,#fff)}.van-tag--plain:before{border:1px solid;border-radius:inherit;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.van-tag--medium{padding:var(--tag-medium-padding,2px 6px)}.van-tag--large{border-radius:var(--tag-large-border-radius,4px);font-size:var(--tag-large-font-size,14px);padding:var(--tag-large-padding,4px 8px)}.van-tag--mark{border-radius:0 var(--tag-round-border-radius,var(--tag-round-border-radius,999px)) var(--tag-round-border-radius,var(--tag-round-border-radius,999px)) 0}.van-tag--mark:after{content:"";display:block;width:2px}.van-tag--round{border-radius:var(--tag-round-border-radius,999px)}.van-tag__close{margin-left:2px;min-width:1em}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/toast/index.js b/coupon/miniprogram/@vant/weapp/lib/toast/index.js
new file mode 100644
index 0000000..0c01366
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/toast/index.js
@@ -0,0 +1,31 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ show: Boolean,
+ mask: Boolean,
+ message: String,
+ forbidClick: Boolean,
+ zIndex: {
+ type: Number,
+ value: 1000,
+ },
+ type: {
+ type: String,
+ value: 'text',
+ },
+ loadingType: {
+ type: String,
+ value: 'circular',
+ },
+ position: {
+ type: String,
+ value: 'middle',
+ },
+ },
+ methods: {
+ // for prevent touchmove
+ noop: function () { },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/toast/index.json b/coupon/miniprogram/@vant/weapp/lib/toast/index.json
new file mode 100644
index 0000000..9b1b78c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/toast/index.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index",
+ "van-overlay": "../overlay/index",
+ "van-transition": "../transition/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/toast/index.wxml b/coupon/miniprogram/@vant/weapp/lib/toast/index.wxml
new file mode 100644
index 0000000..69f143e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/toast/index.wxml
@@ -0,0 +1,36 @@
+
+
+
+
+ {{ message }}
+
+
+
+
+
+
+
+
+ {{ message }}
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/toast/index.wxss b/coupon/miniprogram/@vant/weapp/lib/toast/index.wxss
new file mode 100644
index 0000000..3b7a34e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/toast/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-toast{word-wrap:break-word;align-items:center;background-color:var(--toast-background-color,rgba(0,0,0,.7));border-radius:var(--toast-border-radius,8px);box-sizing:initial;color:var(--toast-text-color,#fff);display:flex;flex-direction:column;font-size:var(--toast-font-size,14px);justify-content:center;line-height:var(--toast-line-height,20px);white-space:pre-wrap}.van-toast__container{left:50%;max-width:var(--toast-max-width,70%);position:fixed;top:50%;transform:translate(-50%,-50%);width:-webkit-fit-content;width:fit-content}.van-toast--text{min-width:var(--toast-text-min-width,96px);padding:var(--toast-text-padding,8px 12px)}.van-toast--icon{min-height:var(--toast-default-min-height,88px);padding:var(--toast-default-padding,16px);width:var(--toast-default-width,88px)}.van-toast--icon .van-toast__icon{font-size:var(--toast-icon-size,36px)}.van-toast--icon .van-toast__text{padding-top:8px}.van-toast__loading{margin:10px 0}.van-toast--top{transform:translateY(-30vh)}.van-toast--bottom{transform:translateY(30vh)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/toast/toast.js b/coupon/miniprogram/@vant/weapp/lib/toast/toast.js
new file mode 100644
index 0000000..4fdb2da
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/toast/toast.js
@@ -0,0 +1,81 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var validator_1 = require("../common/validator");
+var defaultOptions = {
+ type: 'text',
+ mask: false,
+ message: '',
+ show: true,
+ zIndex: 1000,
+ duration: 2000,
+ position: 'middle',
+ forbidClick: false,
+ loadingType: 'circular',
+ selector: '#van-toast',
+};
+var queue = [];
+var currentOptions = __assign({}, defaultOptions);
+function parseOptions(message) {
+ return (0, validator_1.isObj)(message) ? message : { message: message };
+}
+function getContext() {
+ var pages = getCurrentPages();
+ return pages[pages.length - 1];
+}
+function Toast(toastOptions) {
+ var options = __assign(__assign({}, currentOptions), parseOptions(toastOptions));
+ var context = options.context || getContext();
+ var toast = context.selectComponent(options.selector);
+ if (!toast) {
+ console.warn('未找到 van-toast 节点,请确认 selector 及 context 是否正确');
+ return;
+ }
+ delete options.context;
+ delete options.selector;
+ toast.clear = function () {
+ toast.setData({ show: false });
+ if (options.onClose) {
+ options.onClose();
+ }
+ };
+ queue.push(toast);
+ toast.setData(options);
+ clearTimeout(toast.timer);
+ if (options.duration != null && options.duration > 0) {
+ toast.timer = setTimeout(function () {
+ toast.clear();
+ queue = queue.filter(function (item) { return item !== toast; });
+ }, options.duration);
+ }
+ return toast;
+}
+var createMethod = function (type) { return function (options) {
+ return Toast(__assign({ type: type }, parseOptions(options)));
+}; };
+Toast.loading = createMethod('loading');
+Toast.success = createMethod('success');
+Toast.fail = createMethod('fail');
+Toast.clear = function () {
+ queue.forEach(function (toast) {
+ toast.clear();
+ });
+ queue = [];
+};
+Toast.setDefaultOptions = function (options) {
+ Object.assign(currentOptions, options);
+};
+Toast.resetDefaultOptions = function () {
+ currentOptions = __assign({}, defaultOptions);
+};
+exports.default = Toast;
diff --git a/coupon/miniprogram/@vant/weapp/lib/transition/index.js b/coupon/miniprogram/@vant/weapp/lib/transition/index.js
new file mode 100644
index 0000000..55fc8b8
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/transition/index.js
@@ -0,0 +1,15 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var transition_1 = require("../mixins/transition");
+(0, component_1.VantComponent)({
+ classes: [
+ 'enter-class',
+ 'enter-active-class',
+ 'enter-to-class',
+ 'leave-class',
+ 'leave-active-class',
+ 'leave-to-class',
+ ],
+ mixins: [(0, transition_1.transition)(true)],
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/transition/index.json b/coupon/miniprogram/@vant/weapp/lib/transition/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/transition/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/transition/index.wxml b/coupon/miniprogram/@vant/weapp/lib/transition/index.wxml
new file mode 100644
index 0000000..2743785
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/transition/index.wxml
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/transition/index.wxs b/coupon/miniprogram/@vant/weapp/lib/transition/index.wxs
new file mode 100644
index 0000000..e0babf6
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/transition/index.wxs
@@ -0,0 +1,17 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+
+function rootStyle(data) {
+ return style([
+ {
+ '-webkit-transition-duration': data.currentDuration + 'ms',
+ 'transition-duration': data.currentDuration + 'ms',
+ },
+ data.display ? null : 'display: none',
+ data.customStyle,
+ ]);
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/transition/index.wxss b/coupon/miniprogram/@vant/weapp/lib/transition/index.wxss
new file mode 100644
index 0000000..3a3d37f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/transition/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-transition{transition-timing-function:ease}.van-fade-enter-active,.van-fade-leave-active{transition-property:opacity}.van-fade-enter,.van-fade-leave-to{opacity:0}.van-fade-down-enter-active,.van-fade-down-leave-active,.van-fade-left-enter-active,.van-fade-left-leave-active,.van-fade-right-enter-active,.van-fade-right-leave-active,.van-fade-up-enter-active,.van-fade-up-leave-active{transition-property:opacity,transform}.van-fade-up-enter,.van-fade-up-leave-to{opacity:0;transform:translate3d(0,100%,0)}.van-fade-down-enter,.van-fade-down-leave-to{opacity:0;transform:translate3d(0,-100%,0)}.van-fade-left-enter,.van-fade-left-leave-to{opacity:0;transform:translate3d(-100%,0,0)}.van-fade-right-enter,.van-fade-right-leave-to{opacity:0;transform:translate3d(100%,0,0)}.van-slide-down-enter-active,.van-slide-down-leave-active,.van-slide-left-enter-active,.van-slide-left-leave-active,.van-slide-right-enter-active,.van-slide-right-leave-active,.van-slide-up-enter-active,.van-slide-up-leave-active{transition-property:transform}.van-slide-up-enter,.van-slide-up-leave-to{transform:translate3d(0,100%,0)}.van-slide-down-enter,.van-slide-down-leave-to{transform:translate3d(0,-100%,0)}.van-slide-left-enter,.van-slide-left-leave-to{transform:translate3d(-100%,0,0)}.van-slide-right-enter,.van-slide-right-leave-to{transform:translate3d(100%,0,0)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/tree-select/index.js b/coupon/miniprogram/@vant/weapp/lib/tree-select/index.js
new file mode 100644
index 0000000..b6f69b2
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tree-select/index.js
@@ -0,0 +1,70 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ classes: [
+ 'main-item-class',
+ 'content-item-class',
+ 'main-active-class',
+ 'content-active-class',
+ 'main-disabled-class',
+ 'content-disabled-class',
+ ],
+ props: {
+ items: {
+ type: Array,
+ observer: 'updateSubItems',
+ },
+ activeId: null,
+ mainActiveIndex: {
+ type: Number,
+ value: 0,
+ observer: 'updateSubItems',
+ },
+ height: {
+ type: null,
+ value: 300,
+ },
+ max: {
+ type: Number,
+ value: Infinity,
+ },
+ selectedIcon: {
+ type: String,
+ value: 'success',
+ },
+ },
+ data: {
+ subItems: [],
+ },
+ methods: {
+ // 当一个子项被选择时
+ onSelectItem: function (event) {
+ var item = event.currentTarget.dataset.item;
+ var isArray = Array.isArray(this.data.activeId);
+ // 判断有没有超出右侧选择的最大数
+ var isOverMax = isArray && this.data.activeId.length >= this.data.max;
+ // 判断该项有没有被选中, 如果有被选中,则忽视是否超出的条件
+ var isSelected = isArray
+ ? this.data.activeId.indexOf(item.id) > -1
+ : this.data.activeId === item.id;
+ if (!item.disabled && (!isOverMax || isSelected)) {
+ this.$emit('click-item', item);
+ }
+ },
+ // 当一个导航被点击时
+ onClickNav: function (event) {
+ var index = event.detail;
+ var item = this.data.items[index];
+ if (!item.disabled) {
+ this.$emit('click-nav', { index: index });
+ }
+ },
+ // 更新子项列表
+ updateSubItems: function () {
+ var _a = this.data, items = _a.items, mainActiveIndex = _a.mainActiveIndex;
+ var _b = (items[mainActiveIndex] || {}).children, children = _b === void 0 ? [] : _b;
+ this.setData({ subItems: children });
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/tree-select/index.json b/coupon/miniprogram/@vant/weapp/lib/tree-select/index.json
new file mode 100644
index 0000000..42991a2
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tree-select/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-sidebar": "../sidebar/index",
+ "van-sidebar-item": "../sidebar-item/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/tree-select/index.wxml b/coupon/miniprogram/@vant/weapp/lib/tree-select/index.wxml
new file mode 100644
index 0000000..2663e52
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tree-select/index.wxml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.text }}
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/tree-select/index.wxs b/coupon/miniprogram/@vant/weapp/lib/tree-select/index.wxs
new file mode 100644
index 0000000..b1cbb39
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tree-select/index.wxs
@@ -0,0 +1,12 @@
+/* eslint-disable */
+var array = require('../wxs/array.wxs');
+
+function isActive (activeList, itemId) {
+ if (array.isArray(activeList)) {
+ return activeList.indexOf(itemId) > -1;
+ }
+
+ return activeList === itemId;
+}
+
+module.exports.isActive = isActive;
diff --git a/coupon/miniprogram/@vant/weapp/lib/tree-select/index.wxss b/coupon/miniprogram/@vant/weapp/lib/tree-select/index.wxss
new file mode 100644
index 0000000..5bef0ac
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/tree-select/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-tree-select{display:flex;font-size:var(--tree-select-font-size,14px);position:relative;-webkit-user-select:none;user-select:none}.van-tree-select__nav{--sidebar-padding:12px 8px 12px 12px;background-color:var(--tree-select-nav-background-color,#f7f8fa);flex:1}.van-tree-select__nav__inner{height:100%;width:100%!important}.van-tree-select__content{background-color:var(--tree-select-content-background-color,#fff);flex:2}.van-tree-select__item{font-weight:700;line-height:var(--tree-select-item-height,44px);padding:0 32px 0 var(--padding-md,16px);position:relative}.van-tree-select__item--active{color:var(--tree-select-item-active-color,#ee0a24)}.van-tree-select__item--disabled{color:var(--tree-select-item-disabled-color,#c8c9cc)}.van-tree-select__selected{position:absolute;right:var(--padding-md,16px);top:50%;transform:translateY(-50%)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/uploader/index.js b/coupon/miniprogram/@vant/weapp/lib/uploader/index.js
new file mode 100644
index 0000000..3f1895f
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/uploader/index.js
@@ -0,0 +1,170 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var utils_1 = require("./utils");
+var shared_1 = require("./shared");
+var validator_1 = require("../common/validator");
+(0, component_1.VantComponent)({
+ props: __assign(__assign({ disabled: Boolean, multiple: Boolean, uploadText: String, useBeforeRead: Boolean, afterRead: null, beforeRead: null, previewSize: {
+ type: null,
+ value: 80,
+ }, name: {
+ type: null,
+ value: '',
+ }, accept: {
+ type: String,
+ value: 'image',
+ }, fileList: {
+ type: Array,
+ value: [],
+ observer: 'formatFileList',
+ }, maxSize: {
+ type: Number,
+ value: Number.MAX_VALUE,
+ }, maxCount: {
+ type: Number,
+ value: 100,
+ }, deletable: {
+ type: Boolean,
+ value: true,
+ }, showUpload: {
+ type: Boolean,
+ value: true,
+ }, previewImage: {
+ type: Boolean,
+ value: true,
+ }, previewFullImage: {
+ type: Boolean,
+ value: true,
+ }, imageFit: {
+ type: String,
+ value: 'scaleToFill',
+ }, uploadIcon: {
+ type: String,
+ value: 'photograph',
+ } }, shared_1.chooseImageProps), shared_1.chooseVideoProps),
+ data: {
+ lists: [],
+ isInCount: true,
+ },
+ methods: {
+ formatFileList: function () {
+ var _a = this.data, _b = _a.fileList, fileList = _b === void 0 ? [] : _b, maxCount = _a.maxCount;
+ var lists = fileList.map(function (item) { return (__assign(__assign({}, item), { isImage: (0, utils_1.isImageFile)(item), isVideo: (0, utils_1.isVideoFile)(item), deletable: (0, validator_1.isBoolean)(item.deletable) ? item.deletable : true })); });
+ this.setData({ lists: lists, isInCount: lists.length < maxCount });
+ },
+ getDetail: function (index) {
+ return {
+ name: this.data.name,
+ index: index == null ? this.data.fileList.length : index,
+ };
+ },
+ startUpload: function () {
+ var _this = this;
+ var _a = this.data, maxCount = _a.maxCount, multiple = _a.multiple, lists = _a.lists, disabled = _a.disabled;
+ if (disabled)
+ return;
+ (0, utils_1.chooseFile)(__assign(__assign({}, this.data), { maxCount: maxCount - lists.length }))
+ .then(function (res) {
+ _this.onBeforeRead(multiple ? res : res[0]);
+ })
+ .catch(function (error) {
+ _this.$emit('error', error);
+ });
+ },
+ onBeforeRead: function (file) {
+ var _this = this;
+ var _a = this.data, beforeRead = _a.beforeRead, useBeforeRead = _a.useBeforeRead;
+ var res = true;
+ if (typeof beforeRead === 'function') {
+ res = beforeRead(file, this.getDetail());
+ }
+ if (useBeforeRead) {
+ res = new Promise(function (resolve, reject) {
+ _this.$emit('before-read', __assign(__assign({ file: file }, _this.getDetail()), { callback: function (ok) {
+ ok ? resolve() : reject();
+ } }));
+ });
+ }
+ if (!res) {
+ return;
+ }
+ if ((0, validator_1.isPromise)(res)) {
+ res.then(function (data) { return _this.onAfterRead(data || file); });
+ }
+ else {
+ this.onAfterRead(file);
+ }
+ },
+ onAfterRead: function (file) {
+ var _a = this.data, maxSize = _a.maxSize, afterRead = _a.afterRead;
+ var oversize = Array.isArray(file)
+ ? file.some(function (item) { return item.size > maxSize; })
+ : file.size > maxSize;
+ if (oversize) {
+ this.$emit('oversize', __assign({ file: file }, this.getDetail()));
+ return;
+ }
+ if (typeof afterRead === 'function') {
+ afterRead(file, this.getDetail());
+ }
+ this.$emit('after-read', __assign({ file: file }, this.getDetail()));
+ },
+ deleteItem: function (event) {
+ var index = event.currentTarget.dataset.index;
+ this.$emit('delete', __assign(__assign({}, this.getDetail(index)), { file: this.data.fileList[index] }));
+ },
+ onPreviewImage: function (event) {
+ if (!this.data.previewFullImage)
+ return;
+ var index = event.currentTarget.dataset.index;
+ var lists = this.data.lists;
+ var item = lists[index];
+ wx.previewImage({
+ urls: lists.filter(function (item) { return (0, utils_1.isImageFile)(item); }).map(function (item) { return item.url; }),
+ current: item.url,
+ fail: function () {
+ wx.showToast({ title: '预览图片失败', icon: 'none' });
+ },
+ });
+ },
+ onPreviewVideo: function (event) {
+ if (!this.data.previewFullImage)
+ return;
+ var index = event.currentTarget.dataset.index;
+ var lists = this.data.lists;
+ wx.previewMedia({
+ sources: lists
+ .filter(function (item) { return (0, utils_1.isVideoFile)(item); })
+ .map(function (item) { return (__assign(__assign({}, item), { type: 'video' })); }),
+ current: index,
+ fail: function () {
+ wx.showToast({ title: '预览视频失败', icon: 'none' });
+ },
+ });
+ },
+ onPreviewFile: function (event) {
+ var index = event.currentTarget.dataset.index;
+ wx.openDocument({
+ filePath: this.data.lists[index].url,
+ showMenu: true,
+ });
+ },
+ onClickPreview: function (event) {
+ var index = event.currentTarget.dataset.index;
+ var item = this.data.lists[index];
+ this.$emit('click-preview', __assign(__assign({}, item), this.getDetail(index)));
+ },
+ },
+});
diff --git a/coupon/miniprogram/@vant/weapp/lib/uploader/index.json b/coupon/miniprogram/@vant/weapp/lib/uploader/index.json
new file mode 100644
index 0000000..e00a588
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/uploader/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/@vant/weapp/lib/uploader/index.wxml b/coupon/miniprogram/@vant/weapp/lib/uploader/index.wxml
new file mode 100644
index 0000000..50fb0c8
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/uploader/index.wxml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name || item.url }}
+
+
+
+
+ {{ item.message }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ uploadText }}
+
+
+
+
diff --git a/coupon/miniprogram/@vant/weapp/lib/uploader/index.wxs b/coupon/miniprogram/@vant/weapp/lib/uploader/index.wxs
new file mode 100644
index 0000000..257c780
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/uploader/index.wxs
@@ -0,0 +1,14 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function sizeStyle(data) {
+ return style({
+ width: addUnit(data.previewSize),
+ height: addUnit(data.previewSize),
+ });
+}
+
+module.exports = {
+ sizeStyle: sizeStyle,
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/uploader/index.wxss b/coupon/miniprogram/@vant/weapp/lib/uploader/index.wxss
new file mode 100644
index 0000000..11f8696
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/uploader/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-uploader{display:inline-block;position:relative}.van-uploader__wrapper{display:flex;flex-wrap:wrap}.van-uploader__slot:empty{display:none}.van-uploader__slot:not(:empty)+.van-uploader__upload{display:none!important}.van-uploader__upload{align-items:center;background-color:var(--uploader-upload-background-color,#f7f8fa);box-sizing:border-box;display:flex;flex-direction:column;height:var(--uploader-size,80px);justify-content:center;margin:0 8px 8px 0;position:relative;width:var(--uploader-size,80px)}.van-uploader__upload:active{background-color:var(--uploader-upload-active-color,#f2f3f5)}.van-uploader__upload-icon{color:var(--uploader-icon-color,#dcdee0);font-size:var(--uploader-icon-size,24px)}.van-uploader__upload-text{color:var(--uploader-text-color,#969799);font-size:var(--uploader-text-font-size,12px);margin-top:var(--padding-xs,8px)}.van-uploader__upload--disabled{opacity:var(--uploader-disabled-opacity,.5)}.van-uploader__preview{cursor:pointer;margin:0 8px 8px 0;position:relative}.van-uploader__preview-image{display:block;height:var(--uploader-size,80px);overflow:hidden;width:var(--uploader-size,80px)}.van-uploader__preview-delete,.van-uploader__preview-delete:after{height:var(--uploader-delete-icon-size,14px);position:absolute;right:0;top:0;width:var(--uploader-delete-icon-size,14px)}.van-uploader__preview-delete:after{background-color:var(--uploader-delete-background-color,rgba(0,0,0,.7));border-radius:0 0 0 12px;content:""}.van-uploader__preview-delete-icon{color:var(--uploader-delete-color,#fff);font-size:var(--uploader-delete-icon-size,14px);position:absolute;right:0;top:0;transform:scale(.7) translate(10%,-10%);z-index:1}.van-uploader__file{align-items:center;background-color:var(--uploader-file-background-color,#f7f8fa);display:flex;flex-direction:column;height:var(--uploader-size,80px);justify-content:center;width:var(--uploader-size,80px)}.van-uploader__file-icon{color:var(--uploader-file-icon-color,#646566);font-size:var(--uploader-file-icon-size,20px)}.van-uploader__file-name{box-sizing:border-box;color:var(--uploader-file-name-text-color,#646566);font-size:var(--uploader-file-name-font-size,12px);margin-top:var(--uploader-file-name-margin-top,8px);padding:var(--uploader-file-name-padding,0 4px);text-align:center;width:100%}.van-uploader__mask{align-items:center;background-color:var(--uploader-mask-background-color,rgba(50,50,51,.88));bottom:0;color:#fff;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0}.van-uploader__mask-icon{font-size:var(--uploader-mask-icon-size,22px)}.van-uploader__mask-message{font-size:var(--uploader-mask-message-font-size,12px);line-height:var(--uploader-mask-message-line-height,14px);margin-top:6px;padding:0 var(--padding-base,4px)}.van-uploader__loading{color:var(--uploader-loading-icon-color,#fff)!important;height:var(--uploader-loading-icon-size,22px);width:var(--uploader-loading-icon-size,22px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/@vant/weapp/lib/uploader/shared.js b/coupon/miniprogram/@vant/weapp/lib/uploader/shared.js
new file mode 100644
index 0000000..c5df55e
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/uploader/shared.js
@@ -0,0 +1,33 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.chooseVideoProps = exports.chooseImageProps = void 0;
+// props for choose image
+exports.chooseImageProps = {
+ sizeType: {
+ type: Array,
+ value: ['original', 'compressed'],
+ },
+ capture: {
+ type: Array,
+ value: ['album', 'camera'],
+ },
+};
+// props for choose video
+exports.chooseVideoProps = {
+ capture: {
+ type: Array,
+ value: ['album', 'camera'],
+ },
+ compressed: {
+ type: Boolean,
+ value: true,
+ },
+ maxDuration: {
+ type: Number,
+ value: 60,
+ },
+ camera: {
+ type: String,
+ value: 'back',
+ },
+};
diff --git a/coupon/miniprogram/@vant/weapp/lib/uploader/utils.js b/coupon/miniprogram/@vant/weapp/lib/uploader/utils.js
new file mode 100644
index 0000000..96291b0
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/uploader/utils.js
@@ -0,0 +1,102 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.chooseFile = exports.isVideoFile = exports.isImageFile = void 0;
+var utils_1 = require("../common/utils");
+var validator_1 = require("../common/validator");
+function isImageFile(item) {
+ if (item.isImage != null) {
+ return item.isImage;
+ }
+ if (item.type) {
+ return item.type === 'image';
+ }
+ if (item.url) {
+ return (0, validator_1.isImageUrl)(item.url);
+ }
+ return false;
+}
+exports.isImageFile = isImageFile;
+function isVideoFile(item) {
+ if (item.isVideo != null) {
+ return item.isVideo;
+ }
+ if (item.type) {
+ return item.type === 'video';
+ }
+ if (item.url) {
+ return (0, validator_1.isVideoUrl)(item.url);
+ }
+ return false;
+}
+exports.isVideoFile = isVideoFile;
+function formatImage(res) {
+ return res.tempFiles.map(function (item) { return (__assign(__assign({}, (0, utils_1.pickExclude)(item, ['path'])), { type: 'image', url: item.path, thumb: item.path })); });
+}
+function formatVideo(res) {
+ return [
+ __assign(__assign({}, (0, utils_1.pickExclude)(res, ['tempFilePath', 'thumbTempFilePath', 'errMsg'])), { type: 'video', url: res.tempFilePath, thumb: res.thumbTempFilePath }),
+ ];
+}
+function formatMedia(res) {
+ return res.tempFiles.map(function (item) { return (__assign(__assign({}, (0, utils_1.pickExclude)(item, ['fileType', 'thumbTempFilePath', 'tempFilePath'])), { type: res.type, url: item.tempFilePath, thumb: res.type === 'video' ? item.thumbTempFilePath : item.tempFilePath })); });
+}
+function formatFile(res) {
+ return res.tempFiles.map(function (item) { return (__assign(__assign({}, (0, utils_1.pickExclude)(item, ['path'])), { url: item.path })); });
+}
+function chooseFile(_a) {
+ var accept = _a.accept, multiple = _a.multiple, capture = _a.capture, compressed = _a.compressed, maxDuration = _a.maxDuration, sizeType = _a.sizeType, camera = _a.camera, maxCount = _a.maxCount;
+ return new Promise(function (resolve, reject) {
+ switch (accept) {
+ case 'image':
+ wx.chooseImage({
+ count: multiple ? Math.min(maxCount, 9) : 1,
+ sourceType: capture,
+ sizeType: sizeType,
+ success: function (res) { return resolve(formatImage(res)); },
+ fail: reject,
+ });
+ break;
+ case 'media':
+ wx.chooseMedia({
+ count: multiple ? Math.min(maxCount, 9) : 1,
+ sourceType: capture,
+ maxDuration: maxDuration,
+ sizeType: sizeType,
+ camera: camera,
+ success: function (res) { return resolve(formatMedia(res)); },
+ fail: reject,
+ });
+ break;
+ case 'video':
+ wx.chooseVideo({
+ sourceType: capture,
+ compressed: compressed,
+ maxDuration: maxDuration,
+ camera: camera,
+ success: function (res) { return resolve(formatVideo(res)); },
+ fail: reject,
+ });
+ break;
+ default:
+ wx.chooseMessageFile({
+ count: multiple ? maxCount : 1,
+ type: accept,
+ success: function (res) { return resolve(formatFile(res)); },
+ fail: reject,
+ });
+ break;
+ }
+ });
+}
+exports.chooseFile = chooseFile;
diff --git a/coupon/miniprogram/@vant/weapp/lib/wxs/add-unit.wxs b/coupon/miniprogram/@vant/weapp/lib/wxs/add-unit.wxs
new file mode 100644
index 0000000..4f33462
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/wxs/add-unit.wxs
@@ -0,0 +1,12 @@
+/* eslint-disable */
+var REGEXP = getRegExp('^-?\d+(\.\d+)?$');
+
+function addUnit(value) {
+ if (value == null) {
+ return undefined;
+ }
+
+ return REGEXP.test('' + value) ? value + 'px' : value;
+}
+
+module.exports = addUnit;
diff --git a/coupon/miniprogram/@vant/weapp/lib/wxs/array.wxs b/coupon/miniprogram/@vant/weapp/lib/wxs/array.wxs
new file mode 100644
index 0000000..610089c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/wxs/array.wxs
@@ -0,0 +1,5 @@
+function isArray(array) {
+ return array && array.constructor === 'Array';
+}
+
+module.exports.isArray = isArray;
diff --git a/coupon/miniprogram/@vant/weapp/lib/wxs/bem.wxs b/coupon/miniprogram/@vant/weapp/lib/wxs/bem.wxs
new file mode 100644
index 0000000..1efa129
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/wxs/bem.wxs
@@ -0,0 +1,39 @@
+/* eslint-disable */
+var array = require('./array.wxs');
+var object = require('./object.wxs');
+var PREFIX = 'van-';
+
+function join(name, mods) {
+ name = PREFIX + name;
+ mods = mods.map(function(mod) {
+ return name + '--' + mod;
+ });
+ mods.unshift(name);
+ return mods.join(' ');
+}
+
+function traversing(mods, conf) {
+ if (!conf) {
+ return;
+ }
+
+ if (typeof conf === 'string' || typeof conf === 'number') {
+ mods.push(conf);
+ } else if (array.isArray(conf)) {
+ conf.forEach(function(item) {
+ traversing(mods, item);
+ });
+ } else if (typeof conf === 'object') {
+ object.keys(conf).forEach(function(key) {
+ conf[key] && mods.push(key);
+ });
+ }
+}
+
+function bem(name, conf) {
+ var mods = [];
+ traversing(mods, conf);
+ return join(name, mods);
+}
+
+module.exports = bem;
diff --git a/coupon/miniprogram/@vant/weapp/lib/wxs/memoize.wxs b/coupon/miniprogram/@vant/weapp/lib/wxs/memoize.wxs
new file mode 100644
index 0000000..8f7f46d
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/wxs/memoize.wxs
@@ -0,0 +1,55 @@
+/**
+ * Simple memoize
+ * wxs doesn't support fn.apply, so this memoize only support up to 2 args
+ */
+/* eslint-disable */
+
+function isPrimitive(value) {
+ var type = typeof value;
+ return (
+ type === 'boolean' ||
+ type === 'number' ||
+ type === 'string' ||
+ type === 'undefined' ||
+ value === null
+ );
+}
+
+// mock simple fn.call in wxs
+function call(fn, args) {
+ if (args.length === 2) {
+ return fn(args[0], args[1]);
+ }
+
+ if (args.length === 1) {
+ return fn(args[0]);
+ }
+
+ return fn();
+}
+
+function serializer(args) {
+ if (args.length === 1 && isPrimitive(args[0])) {
+ return args[0];
+ }
+ var obj = {};
+ for (var i = 0; i < args.length; i++) {
+ obj['key' + i] = args[i];
+ }
+ return JSON.stringify(obj);
+}
+
+function memoize(fn) {
+ var cache = {};
+
+ return function() {
+ var key = serializer(arguments);
+ if (cache[key] === undefined) {
+ cache[key] = call(fn, arguments);
+ }
+
+ return cache[key];
+ };
+}
+
+module.exports = memoize;
diff --git a/coupon/miniprogram/@vant/weapp/lib/wxs/object.wxs b/coupon/miniprogram/@vant/weapp/lib/wxs/object.wxs
new file mode 100644
index 0000000..e077107
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/wxs/object.wxs
@@ -0,0 +1,13 @@
+/* eslint-disable */
+var REGEXP = getRegExp('{|}|"', 'g');
+
+function keys(obj) {
+ return JSON.stringify(obj)
+ .replace(REGEXP, '')
+ .split(',')
+ .map(function(item) {
+ return item.split(':')[0];
+ });
+}
+
+module.exports.keys = keys;
diff --git a/coupon/miniprogram/@vant/weapp/lib/wxs/style.wxs b/coupon/miniprogram/@vant/weapp/lib/wxs/style.wxs
new file mode 100644
index 0000000..d88ca7c
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/wxs/style.wxs
@@ -0,0 +1,42 @@
+/* eslint-disable */
+var object = require('./object.wxs');
+var array = require('./array.wxs');
+
+function kebabCase(word) {
+ var newWord = word
+ .replace(getRegExp("[A-Z]", 'g'), function (i) {
+ return '-' + i;
+ })
+ .toLowerCase()
+
+ return newWord;
+}
+
+function style(styles) {
+ if (array.isArray(styles)) {
+ return styles
+ .filter(function (item) {
+ return item != null && item !== '';
+ })
+ .map(function (item) {
+ return style(item);
+ })
+ .join(';');
+ }
+
+ if ('Object' === styles.constructor) {
+ return object
+ .keys(styles)
+ .filter(function (key) {
+ return styles[key] != null && styles[key] !== '';
+ })
+ .map(function (key) {
+ return [kebabCase(key), [styles[key]]].join(':');
+ })
+ .join(';');
+ }
+
+ return styles;
+}
+
+module.exports = style;
diff --git a/coupon/miniprogram/@vant/weapp/lib/wxs/utils.wxs b/coupon/miniprogram/@vant/weapp/lib/wxs/utils.wxs
new file mode 100644
index 0000000..f66d33a
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/lib/wxs/utils.wxs
@@ -0,0 +1,10 @@
+/* eslint-disable */
+var bem = require('./bem.wxs');
+var memoize = require('./memoize.wxs');
+var addUnit = require('./add-unit.wxs');
+
+module.exports = {
+ bem: memoize(bem),
+ memoize: memoize,
+ addUnit: addUnit
+};
diff --git a/coupon/miniprogram/@vant/weapp/package.json b/coupon/miniprogram/@vant/weapp/package.json
new file mode 100644
index 0000000..8bf0f72
--- /dev/null
+++ b/coupon/miniprogram/@vant/weapp/package.json
@@ -0,0 +1,102 @@
+{
+ "_from": "@vant/weapp",
+ "_id": "@vant/weapp@1.10.0",
+ "_inBundle": false,
+ "_integrity": "sha512-cNW2U98GlYwh8t4loEASyvukITlPohJM9HkAF8/dRSJrKm2689nqE8eeASFkWADdhqayGvy08cWoJhqMNh6ZXA==",
+ "_location": "/@vant/weapp",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "tag",
+ "registry": true,
+ "raw": "@vant/weapp",
+ "name": "@vant/weapp",
+ "escapedName": "@vant%2fweapp",
+ "scope": "@vant",
+ "rawSpec": "",
+ "saveSpec": null,
+ "fetchSpec": "latest"
+ },
+ "_requiredBy": [
+ "#USER",
+ "/"
+ ],
+ "_resolved": "https://repo.huaweicloud.com/repository/npm/@vant/weapp/-/weapp-1.10.0.tgz",
+ "_shasum": "7d4a4a56673544f9d0d7f094d19006abb31db67d",
+ "_spec": "@vant/weapp",
+ "_where": "F:\\coupon",
+ "author": {
+ "name": "youzan"
+ },
+ "browserslist": [
+ "Chrome >= 53",
+ "ChromeAndroid >= 53",
+ "iOS >= 9"
+ ],
+ "bugs": {
+ "url": "https://github.com/youzan/vant-weapp/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "轻量、可靠的小程序 UI 组件库",
+ "devDependencies": {
+ "@babel/plugin-transform-modules-commonjs": "^7.16.0",
+ "@babel/preset-typescript": "^7.16.0",
+ "@types/jest": "^27.0.2",
+ "@vant/cli": "^4.0.0-beta.7",
+ "@vant/icons": "^1.7.1",
+ "@vue/compiler-sfc": "^3.2.13",
+ "gulp": "^4.0.2",
+ "gulp-insert": "^0.5.0",
+ "gulp-less": "^5.0.0",
+ "gulp-postcss": "^9.0.1",
+ "gulp-rename": "^2.0.0",
+ "gulp-typescript": "^6.0.0-alpha.1",
+ "jest": "^27.3.1",
+ "miniprogram-api-typings": "^3.1.6",
+ "miniprogram-ci": "^1.6.1",
+ "miniprogram-simulate": "^1.4.2",
+ "ts-jest": "^27.0.7",
+ "tscpaths": "^0.0.9",
+ "typescript": "^4.4.4",
+ "vue": "^3.2.1"
+ },
+ "files": [
+ "dist",
+ "lib"
+ ],
+ "homepage": "https://github.com/youzan/vant-weapp#readme",
+ "license": "MIT",
+ "lint-staged": {
+ "*.{ts,js}": [
+ "eslint --fix",
+ "prettier --write"
+ ],
+ "*.{css,less}": [
+ "stylelint --fix",
+ "prettier --write"
+ ]
+ },
+ "miniprogram": "lib",
+ "name": "@vant/weapp",
+ "publishConfig": {
+ "access": "public",
+ "registry": "https://registry.npmjs.org/"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+ssh://git@github.com/youzan/vant-weapp.git"
+ },
+ "scripts": {
+ "build:changelog": "vant-cli changelog",
+ "build:lib": "yarn && npx gulp -f build/compiler.js --series buildEs buildLib",
+ "dev": "node build/dev.js",
+ "lint": "eslint ./packages --ext .js,.ts --fix && stylelint \"packages/**/*.less\" --fix",
+ "prepare": "husky install",
+ "release": "sh build/release.sh",
+ "release:site": "vant-cli build-site && gh-pages -d site-dist --add",
+ "test": "jest",
+ "test:watch": "jest --watch",
+ "upload:weapp": "node build/upload.js"
+ },
+ "version": "1.10.0"
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/action-sheet/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/action-sheet/index.js
new file mode 100644
index 0000000..b7af646
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/action-sheet/index.js
@@ -0,0 +1,73 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var button_1 = require("../mixins/button");
+(0, component_1.VantComponent)({
+ mixins: [button_1.button],
+ props: {
+ show: Boolean,
+ title: String,
+ cancelText: String,
+ description: String,
+ round: {
+ type: Boolean,
+ value: true,
+ },
+ zIndex: {
+ type: Number,
+ value: 100,
+ },
+ actions: {
+ type: Array,
+ value: [],
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ },
+ closeOnClickAction: {
+ type: Boolean,
+ value: true,
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ onSelect: function (event) {
+ var _this = this;
+ var index = event.currentTarget.dataset.index;
+ var _a = this.data, actions = _a.actions, closeOnClickAction = _a.closeOnClickAction, canIUseGetUserProfile = _a.canIUseGetUserProfile;
+ var item = actions[index];
+ if (item) {
+ this.$emit('select', item);
+ if (closeOnClickAction) {
+ this.onClose();
+ }
+ if (item.openType === 'getUserInfo' && canIUseGetUserProfile) {
+ wx.getUserProfile({
+ desc: item.getUserProfileDesc || ' ',
+ complete: function (userProfile) {
+ _this.$emit('getuserinfo', userProfile);
+ },
+ });
+ }
+ }
+ },
+ onCancel: function () {
+ this.$emit('cancel');
+ },
+ onClose: function () {
+ this.$emit('close');
+ },
+ onClickOverlay: function () {
+ this.$emit('click-overlay');
+ this.onClose();
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/action-sheet/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/action-sheet/index.json
new file mode 100644
index 0000000..19bf989
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/action-sheet/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-popup": "../popup/index",
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/action-sheet/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/action-sheet/index.wxml
new file mode 100644
index 0000000..76de83b
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/action-sheet/index.wxml
@@ -0,0 +1,73 @@
+
+
+
+
+
+ {{ description }}
+
+
+
+
+
+
+
+
+
+ {{ cancelText }}
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/action-sheet/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/action-sheet/index.wxss
new file mode 100644
index 0000000..eedd361
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/action-sheet/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-action-sheet{color:var(--action-sheet-item-text-color,#323233);max-height:var(--action-sheet-max-height,90%)!important}.van-action-sheet__cancel,.van-action-sheet__item{background-color:var(--action-sheet-item-background,#fff);font-size:var(--action-sheet-item-font-size,16px);line-height:var(--action-sheet-item-line-height,22px);padding:14px 16px;text-align:center}.van-action-sheet__cancel--hover,.van-action-sheet__item--hover{background-color:#f2f3f5}.van-action-sheet__cancel:after,.van-action-sheet__item:after{border-width:0}.van-action-sheet__cancel{color:var(--action-sheet-cancel-text-color,#646566)}.van-action-sheet__gap{background-color:var(--action-sheet-cancel-padding-color,#f7f8fa);display:block;height:var(--action-sheet-cancel-padding-top,8px)}.van-action-sheet__item--disabled{color:var(--action-sheet-item-disabled-text-color,#c8c9cc)}.van-action-sheet__item--disabled.van-action-sheet__item--hover{background-color:var(--action-sheet-item-background,#fff)}.van-action-sheet__subname{color:var(--action-sheet-subname-color,#969799);font-size:var(--action-sheet-subname-font-size,12px);line-height:var(--action-sheet-subname-line-height,20px);margin-top:var(--padding-xs,8px)}.van-action-sheet__header{font-size:var(--action-sheet-header-font-size,16px);font-weight:var(--font-weight-bold,500);line-height:var(--action-sheet-header-height,48px);text-align:center}.van-action-sheet__description{color:var(--action-sheet-description-color,#969799);font-size:var(--action-sheet-description-font-size,14px);line-height:var(--action-sheet-description-line-height,20px);padding:20px var(--padding-md,16px);text-align:center}.van-action-sheet__close{color:var(--action-sheet-close-icon-color,#c8c9cc);font-size:var(--action-sheet-close-icon-size,22px)!important;line-height:inherit!important;padding:var(--action-sheet-close-icon-padding,0 16px);position:absolute!important;right:0;top:0}.van-action-sheet__loading{display:flex!important}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/area/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/area/index.js
new file mode 100644
index 0000000..2d83346
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/area/index.js
@@ -0,0 +1,232 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var shared_1 = require("../picker/shared");
+var utils_1 = require("../common/utils");
+var EMPTY_CODE = '000000';
+(0, component_1.VantComponent)({
+ classes: ['active-class', 'toolbar-class', 'column-class'],
+ props: __assign(__assign({}, shared_1.pickerProps), { value: {
+ type: String,
+ observer: function (value) {
+ this.code = value;
+ this.setValues();
+ },
+ }, areaList: {
+ type: Object,
+ value: {},
+ observer: 'setValues',
+ }, columnsNum: {
+ type: null,
+ value: 3,
+ }, columnsPlaceholder: {
+ type: Array,
+ observer: function (val) {
+ this.setData({
+ typeToColumnsPlaceholder: {
+ province: val[0] || '',
+ city: val[1] || '',
+ county: val[2] || '',
+ },
+ });
+ },
+ } }),
+ data: {
+ columns: [{ values: [] }, { values: [] }, { values: [] }],
+ typeToColumnsPlaceholder: {},
+ },
+ mounted: function () {
+ var _this = this;
+ (0, utils_1.requestAnimationFrame)(function () {
+ _this.setValues();
+ });
+ },
+ methods: {
+ getPicker: function () {
+ if (this.picker == null) {
+ this.picker = this.selectComponent('.van-area__picker');
+ }
+ return this.picker;
+ },
+ onCancel: function (event) {
+ this.emit('cancel', event.detail);
+ },
+ onConfirm: function (event) {
+ var index = event.detail.index;
+ var value = event.detail.value;
+ value = this.parseValues(value);
+ this.emit('confirm', { value: value, index: index });
+ },
+ emit: function (type, detail) {
+ detail.values = detail.value;
+ delete detail.value;
+ this.$emit(type, detail);
+ },
+ parseValues: function (values) {
+ var columnsPlaceholder = this.data.columnsPlaceholder;
+ return values.map(function (value, index) {
+ if (value &&
+ (!value.code || value.name === columnsPlaceholder[index])) {
+ return __assign(__assign({}, value), { code: '', name: '' });
+ }
+ return value;
+ });
+ },
+ onChange: function (event) {
+ var _this = this;
+ var _a;
+ var _b = event.detail, index = _b.index, picker = _b.picker, value = _b.value;
+ this.code = value[index].code;
+ (_a = this.setValues()) === null || _a === void 0 ? void 0 : _a.then(function () {
+ _this.$emit('change', {
+ picker: picker,
+ values: _this.parseValues(picker.getValues()),
+ index: index,
+ });
+ });
+ },
+ getConfig: function (type) {
+ var areaList = this.data.areaList;
+ return (areaList && areaList[type + "_list"]) || {};
+ },
+ getList: function (type, code) {
+ if (type !== 'province' && !code) {
+ return [];
+ }
+ var typeToColumnsPlaceholder = this.data.typeToColumnsPlaceholder;
+ var list = this.getConfig(type);
+ var result = Object.keys(list).map(function (code) { return ({
+ code: code,
+ name: list[code],
+ }); });
+ if (code != null) {
+ // oversea code
+ if (code[0] === '9' && type === 'city') {
+ code = '9';
+ }
+ result = result.filter(function (item) { return item.code.indexOf(code) === 0; });
+ }
+ if (typeToColumnsPlaceholder[type] && result.length) {
+ // set columns placeholder
+ var codeFill = type === 'province'
+ ? ''
+ : type === 'city'
+ ? EMPTY_CODE.slice(2, 4)
+ : EMPTY_CODE.slice(4, 6);
+ result.unshift({
+ code: "" + code + codeFill,
+ name: typeToColumnsPlaceholder[type],
+ });
+ }
+ return result;
+ },
+ getIndex: function (type, code) {
+ var compareNum = type === 'province' ? 2 : type === 'city' ? 4 : 6;
+ var list = this.getList(type, code.slice(0, compareNum - 2));
+ // oversea code
+ if (code[0] === '9' && type === 'province') {
+ compareNum = 1;
+ }
+ code = code.slice(0, compareNum);
+ for (var i = 0; i < list.length; i++) {
+ if (list[i].code.slice(0, compareNum) === code) {
+ return i;
+ }
+ }
+ return 0;
+ },
+ setValues: function () {
+ var picker = this.getPicker();
+ if (!picker) {
+ return;
+ }
+ var code = this.code || this.getDefaultCode();
+ var provinceList = this.getList('province');
+ var cityList = this.getList('city', code.slice(0, 2));
+ var stack = [];
+ var indexes = [];
+ var columnsNum = this.data.columnsNum;
+ if (columnsNum >= 1) {
+ stack.push(picker.setColumnValues(0, provinceList, false));
+ indexes.push(this.getIndex('province', code));
+ }
+ if (columnsNum >= 2) {
+ stack.push(picker.setColumnValues(1, cityList, false));
+ indexes.push(this.getIndex('city', code));
+ if (cityList.length && code.slice(2, 4) === '00') {
+ code = cityList[0].code;
+ }
+ }
+ if (columnsNum === 3) {
+ stack.push(picker.setColumnValues(2, this.getList('county', code.slice(0, 4)), false));
+ indexes.push(this.getIndex('county', code));
+ }
+ return Promise.all(stack)
+ .catch(function () { })
+ .then(function () { return picker.setIndexes(indexes); })
+ .catch(function () { });
+ },
+ getDefaultCode: function () {
+ var columnsPlaceholder = this.data.columnsPlaceholder;
+ if (columnsPlaceholder.length) {
+ return EMPTY_CODE;
+ }
+ var countyCodes = Object.keys(this.getConfig('county'));
+ if (countyCodes[0]) {
+ return countyCodes[0];
+ }
+ var cityCodes = Object.keys(this.getConfig('city'));
+ if (cityCodes[0]) {
+ return cityCodes[0];
+ }
+ return '';
+ },
+ getValues: function () {
+ var picker = this.getPicker();
+ if (!picker) {
+ return [];
+ }
+ return this.parseValues(picker.getValues().filter(function (value) { return !!value; }));
+ },
+ getDetail: function () {
+ var values = this.getValues();
+ var area = {
+ code: '',
+ country: '',
+ province: '',
+ city: '',
+ county: '',
+ };
+ if (!values.length) {
+ return area;
+ }
+ var names = values.map(function (item) { return item.name; });
+ area.code = values[values.length - 1].code;
+ if (area.code[0] === '9') {
+ area.country = names[1] || '';
+ area.province = names[2] || '';
+ }
+ else {
+ area.province = names[0] || '';
+ area.city = names[1] || '';
+ area.county = names[2] || '';
+ }
+ return area;
+ },
+ reset: function (code) {
+ this.code = code || '';
+ return this.setValues();
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/area/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/area/index.json
new file mode 100644
index 0000000..a778e91
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/area/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-picker": "../picker/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/area/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/area/index.wxml
new file mode 100644
index 0000000..f7dc51f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/area/index.wxml
@@ -0,0 +1,20 @@
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/area/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/area/index.wxs
new file mode 100644
index 0000000..07723c1
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/area/index.wxs
@@ -0,0 +1,8 @@
+/* eslint-disable */
+function displayColumns(columns, columnsNum) {
+ return columns.slice(0, +columnsNum);
+}
+
+module.exports = {
+ displayColumns: displayColumns,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/area/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/area/index.wxss
new file mode 100644
index 0000000..99694d6
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/area/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/button/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/button/index.js
new file mode 100644
index 0000000..984135c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/button/index.js
@@ -0,0 +1,67 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var button_1 = require("../mixins/button");
+var version_1 = require("../common/version");
+var mixins = [button_1.button];
+if ((0, version_1.canIUseFormFieldButton)()) {
+ mixins.push('wx://form-field-button');
+}
+(0, component_1.VantComponent)({
+ mixins: mixins,
+ classes: ['hover-class', 'loading-class'],
+ data: {
+ baseStyle: '',
+ },
+ props: {
+ formType: String,
+ icon: String,
+ classPrefix: {
+ type: String,
+ value: 'van-icon',
+ },
+ plain: Boolean,
+ block: Boolean,
+ round: Boolean,
+ square: Boolean,
+ loading: Boolean,
+ hairline: Boolean,
+ disabled: Boolean,
+ loadingText: String,
+ customStyle: String,
+ loadingType: {
+ type: String,
+ value: 'circular',
+ },
+ type: {
+ type: String,
+ value: 'default',
+ },
+ dataset: null,
+ size: {
+ type: String,
+ value: 'normal',
+ },
+ loadingSize: {
+ type: String,
+ value: '20px',
+ },
+ color: String,
+ },
+ methods: {
+ onClick: function (event) {
+ var _this = this;
+ this.$emit('click', event);
+ var _a = this.data, canIUseGetUserProfile = _a.canIUseGetUserProfile, openType = _a.openType, getUserProfileDesc = _a.getUserProfileDesc, lang = _a.lang;
+ if (openType === 'getUserInfo' && canIUseGetUserProfile) {
+ wx.getUserProfile({
+ desc: getUserProfileDesc || ' ',
+ lang: lang || 'en',
+ complete: function (userProfile) {
+ _this.$emit('getuserinfo', userProfile);
+ },
+ });
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/button/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/button/index.json
new file mode 100644
index 0000000..e00a588
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/button/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/button/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/button/index.wxml
new file mode 100644
index 0000000..8034845
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/button/index.wxml
@@ -0,0 +1,53 @@
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/button/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/button/index.wxs
new file mode 100644
index 0000000..8b649fe
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/button/index.wxs
@@ -0,0 +1,39 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+
+function rootStyle(data) {
+ if (!data.color) {
+ return data.customStyle;
+ }
+
+ var properties = {
+ color: data.plain ? data.color : '#fff',
+ background: data.plain ? null : data.color,
+ };
+
+ // hide border when color is linear-gradient
+ if (data.color.indexOf('gradient') !== -1) {
+ properties.border = 0;
+ } else {
+ properties['border-color'] = data.color;
+ }
+
+ return style([properties, data.customStyle]);
+}
+
+function loadingColor(data) {
+ if (data.plain) {
+ return data.color ? data.color : '#c9c9c9';
+ }
+
+ if (data.type === 'default') {
+ return '#c9c9c9';
+ }
+
+ return '#fff';
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+ loadingColor: loadingColor,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/button/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/button/index.wxss
new file mode 100644
index 0000000..bd8bb5a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/button/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-button{-webkit-text-size-adjust:100%;align-items:center;-webkit-appearance:none;border-radius:var(--button-border-radius,2px);box-sizing:border-box;display:inline-flex;font-size:var(--button-default-font-size,16px);height:var(--button-default-height,44px);justify-content:center;line-height:var(--button-line-height,20px);padding:0;position:relative;text-align:center;transition:opacity .2s;vertical-align:middle}.van-button:before{background-color:#000;border:inherit;border-color:#000;border-radius:inherit;content:" ";height:100%;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.van-button:after{border-width:0}.van-button--active:before{opacity:.15}.van-button--unclickable:after{display:none}.van-button--default{background:var(--button-default-background-color,#fff);border:var(--button-border-width,1px) solid var(--button-default-border-color,#ebedf0);color:var(--button-default-color,#323233)}.van-button--primary{background:var(--button-primary-background-color,#07c160);border:var(--button-border-width,1px) solid var(--button-primary-border-color,#07c160);color:var(--button-primary-color,#fff)}.van-button--info{background:var(--button-info-background-color,#1989fa);border:var(--button-border-width,1px) solid var(--button-info-border-color,#1989fa);color:var(--button-info-color,#fff)}.van-button--danger{background:var(--button-danger-background-color,#ee0a24);border:var(--button-border-width,1px) solid var(--button-danger-border-color,#ee0a24);color:var(--button-danger-color,#fff)}.van-button--warning{background:var(--button-warning-background-color,#ff976a);border:var(--button-border-width,1px) solid var(--button-warning-border-color,#ff976a);color:var(--button-warning-color,#fff)}.van-button--plain{background:var(--button-plain-background-color,#fff)}.van-button--plain.van-button--primary{color:var(--button-primary-background-color,#07c160)}.van-button--plain.van-button--info{color:var(--button-info-background-color,#1989fa)}.van-button--plain.van-button--danger{color:var(--button-danger-background-color,#ee0a24)}.van-button--plain.van-button--warning{color:var(--button-warning-background-color,#ff976a)}.van-button--large{height:var(--button-large-height,50px);width:100%}.van-button--normal{font-size:var(--button-normal-font-size,14px);padding:0 15px}.van-button--small{font-size:var(--button-small-font-size,12px);height:var(--button-small-height,30px);min-width:var(--button-small-min-width,60px);padding:0 var(--padding-xs,8px)}.van-button--mini{display:inline-block;font-size:var(--button-mini-font-size,10px);height:var(--button-mini-height,22px);min-width:var(--button-mini-min-width,50px)}.van-button--mini+.van-button--mini{margin-left:5px}.van-button--block{display:flex;width:100%}.van-button--round{border-radius:var(--button-round-border-radius,999px)}.van-button--square{border-radius:0}.van-button--disabled{opacity:var(--button-disabled-opacity,.5)}.van-button__text{display:inline}.van-button__icon+.van-button__text:not(:empty),.van-button__loading-text{margin-left:4px}.van-button__icon{line-height:inherit!important;min-width:1em;vertical-align:top}.van-button--hairline{border-width:0;padding-top:1px}.van-button--hairline:after{border-color:inherit;border-radius:calc(var(--button-border-radius, 2px)*2);border-width:1px}.van-button--hairline.van-button--round:after{border-radius:var(--button-round-border-radius,999px)}.van-button--hairline.van-button--square:after{border-radius:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/calendar.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/calendar.wxml
new file mode 100644
index 0000000..808f739
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/calendar.wxml
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/header/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/header/index.js
new file mode 100644
index 0000000..544b3a4
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/header/index.js
@@ -0,0 +1,45 @@
+"use strict";
+var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+ if (ar || !(i in from)) {
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+ ar[i] = from[i];
+ }
+ }
+ return to.concat(ar || Array.prototype.slice.call(from));
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../../../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ title: {
+ type: String,
+ value: '日期选择',
+ },
+ subtitle: String,
+ showTitle: Boolean,
+ showSubtitle: Boolean,
+ firstDayOfWeek: {
+ type: Number,
+ observer: 'initWeekDay',
+ },
+ },
+ data: {
+ weekdays: [],
+ },
+ created: function () {
+ this.initWeekDay();
+ },
+ methods: {
+ initWeekDay: function () {
+ var defaultWeeks = ['日', '一', '二', '三', '四', '五', '六'];
+ var firstDayOfWeek = this.data.firstDayOfWeek || 0;
+ this.setData({
+ weekdays: __spreadArray(__spreadArray([], defaultWeeks.slice(firstDayOfWeek, 7), true), defaultWeeks.slice(0, firstDayOfWeek), true),
+ });
+ },
+ onClickSubtitle: function (event) {
+ this.$emit('click-subtitle', event);
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/header/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/header/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/header/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/header/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/header/index.wxml
new file mode 100644
index 0000000..7e56c83
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/header/index.wxml
@@ -0,0 +1,16 @@
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/header/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/header/index.wxss
new file mode 100644
index 0000000..272537e
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/header/index.wxss
@@ -0,0 +1 @@
+@import '../../../common/index.wxss';.van-calendar__header{box-shadow:var(--calendar-header-box-shadow,0 2px 10px hsla(220,1%,50%,.16));flex-shrink:0}.van-calendar__header-subtitle,.van-calendar__header-title{font-weight:var(--font-weight-bold,500);height:var(--calendar-header-title-height,44px);line-height:var(--calendar-header-title-height,44px);text-align:center}.van-calendar__header-title+.van-calendar__header-title,.van-calendar__header-title:empty{display:none}.van-calendar__header-title:empty+.van-calendar__header-title{display:block!important}.van-calendar__weekdays{display:flex}.van-calendar__weekday{flex:1;font-size:var(--calendar-weekdays-font-size,12px);line-height:var(--calendar-weekdays-height,30px);text-align:center}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/month/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/month/index.js
new file mode 100644
index 0000000..4d137f5
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/month/index.js
@@ -0,0 +1,158 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../../../common/component");
+var utils_1 = require("../../utils");
+(0, component_1.VantComponent)({
+ props: {
+ date: {
+ type: null,
+ observer: 'setDays',
+ },
+ type: {
+ type: String,
+ observer: 'setDays',
+ },
+ color: String,
+ minDate: {
+ type: null,
+ observer: 'setDays',
+ },
+ maxDate: {
+ type: null,
+ observer: 'setDays',
+ },
+ showMark: Boolean,
+ rowHeight: null,
+ formatter: {
+ type: null,
+ observer: 'setDays',
+ },
+ currentDate: {
+ type: null,
+ observer: 'setDays',
+ },
+ firstDayOfWeek: {
+ type: Number,
+ observer: 'setDays',
+ },
+ allowSameDay: Boolean,
+ showSubtitle: Boolean,
+ showMonthTitle: Boolean,
+ },
+ data: {
+ visible: true,
+ days: [],
+ },
+ methods: {
+ onClick: function (event) {
+ var index = event.currentTarget.dataset.index;
+ var item = this.data.days[index];
+ if (item.type !== 'disabled') {
+ this.$emit('click', item);
+ }
+ },
+ setDays: function () {
+ var days = [];
+ var startDate = new Date(this.data.date);
+ var year = startDate.getFullYear();
+ var month = startDate.getMonth();
+ var totalDay = (0, utils_1.getMonthEndDay)(startDate.getFullYear(), startDate.getMonth() + 1);
+ for (var day = 1; day <= totalDay; day++) {
+ var date = new Date(year, month, day);
+ var type = this.getDayType(date);
+ var config = {
+ date: date,
+ type: type,
+ text: day,
+ bottomInfo: this.getBottomInfo(type),
+ };
+ if (this.data.formatter) {
+ config = this.data.formatter(config);
+ }
+ days.push(config);
+ }
+ this.setData({ days: days });
+ },
+ getMultipleDayType: function (day) {
+ var currentDate = this.data.currentDate;
+ if (!Array.isArray(currentDate)) {
+ return '';
+ }
+ var isSelected = function (date) {
+ return currentDate.some(function (item) { return (0, utils_1.compareDay)(item, date) === 0; });
+ };
+ if (isSelected(day)) {
+ var prevDay = (0, utils_1.getPrevDay)(day);
+ var nextDay = (0, utils_1.getNextDay)(day);
+ var prevSelected = isSelected(prevDay);
+ var nextSelected = isSelected(nextDay);
+ if (prevSelected && nextSelected) {
+ return 'multiple-middle';
+ }
+ if (prevSelected) {
+ return 'end';
+ }
+ return nextSelected ? 'start' : 'multiple-selected';
+ }
+ return '';
+ },
+ getRangeDayType: function (day) {
+ var _a = this.data, currentDate = _a.currentDate, allowSameDay = _a.allowSameDay;
+ if (!Array.isArray(currentDate)) {
+ return '';
+ }
+ var startDay = currentDate[0], endDay = currentDate[1];
+ if (!startDay) {
+ return '';
+ }
+ var compareToStart = (0, utils_1.compareDay)(day, startDay);
+ if (!endDay) {
+ return compareToStart === 0 ? 'start' : '';
+ }
+ var compareToEnd = (0, utils_1.compareDay)(day, endDay);
+ if (compareToStart === 0 && compareToEnd === 0 && allowSameDay) {
+ return 'start-end';
+ }
+ if (compareToStart === 0) {
+ return 'start';
+ }
+ if (compareToEnd === 0) {
+ return 'end';
+ }
+ if (compareToStart > 0 && compareToEnd < 0) {
+ return 'middle';
+ }
+ return '';
+ },
+ getDayType: function (day) {
+ var _a = this.data, type = _a.type, minDate = _a.minDate, maxDate = _a.maxDate, currentDate = _a.currentDate;
+ if ((0, utils_1.compareDay)(day, minDate) < 0 || (0, utils_1.compareDay)(day, maxDate) > 0) {
+ return 'disabled';
+ }
+ if (type === 'single') {
+ return (0, utils_1.compareDay)(day, currentDate) === 0 ? 'selected' : '';
+ }
+ if (type === 'multiple') {
+ return this.getMultipleDayType(day);
+ }
+ /* istanbul ignore else */
+ if (type === 'range') {
+ return this.getRangeDayType(day);
+ }
+ return '';
+ },
+ getBottomInfo: function (type) {
+ if (this.data.type === 'range') {
+ if (type === 'start') {
+ return '开始';
+ }
+ if (type === 'end') {
+ return '结束';
+ }
+ if (type === 'start-end') {
+ return '开始/结束';
+ }
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/month/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/month/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/month/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/month/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/month/index.wxml
new file mode 100644
index 0000000..4a2c47c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/month/index.wxml
@@ -0,0 +1,39 @@
+
+
+
+
+
+ {{ computed.formatMonthTitle(date) }}
+
+
+
+
+ {{ computed.getMark(date) }}
+
+
+
+
+ {{ item.topInfo }}
+ {{ item.text }}
+
+ {{ item.bottomInfo }}
+
+
+
+
+ {{ item.topInfo }}
+ {{ item.text }}
+
+ {{ item.bottomInfo }}
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/month/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/month/index.wxs
new file mode 100644
index 0000000..55e45a5
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/month/index.wxs
@@ -0,0 +1,71 @@
+/* eslint-disable */
+var utils = require('../../utils.wxs');
+
+function getMark(date) {
+ return getDate(date).getMonth() + 1;
+}
+
+var ROW_HEIGHT = 64;
+
+function getDayStyle(type, index, date, rowHeight, color, firstDayOfWeek) {
+ var style = [];
+ var current = getDate(date).getDay() || 7;
+ var offset = current < firstDayOfWeek ? (7 - firstDayOfWeek + current) :
+ current === 7 && firstDayOfWeek === 0 ? 0 :
+ (current - firstDayOfWeek);
+
+ if (index === 0) {
+ style.push(['margin-left', (100 * offset) / 7 + '%']);
+ }
+
+ if (rowHeight !== ROW_HEIGHT) {
+ style.push(['height', rowHeight + 'px']);
+ }
+
+ if (color) {
+ if (
+ type === 'start' ||
+ type === 'end' ||
+ type === 'start-end' ||
+ type === 'multiple-selected' ||
+ type === 'multiple-middle'
+ ) {
+ style.push(['background', color]);
+ } else if (type === 'middle') {
+ style.push(['color', color]);
+ }
+ }
+
+ return style
+ .map(function(item) {
+ return item.join(':');
+ })
+ .join(';');
+}
+
+function formatMonthTitle(date) {
+ date = getDate(date);
+ return date.getFullYear() + '年' + (date.getMonth() + 1) + '月';
+}
+
+function getMonthStyle(visible, date, rowHeight) {
+ if (!visible) {
+ date = getDate(date);
+
+ var totalDay = utils.getMonthEndDay(
+ date.getFullYear(),
+ date.getMonth() + 1
+ );
+ var offset = getDate(date).getDay();
+ var padding = Math.ceil((totalDay + offset) / 7) * rowHeight;
+
+ return 'padding-bottom:' + padding + 'px';
+ }
+}
+
+module.exports = {
+ getMark: getMark,
+ getDayStyle: getDayStyle,
+ formatMonthTitle: formatMonthTitle,
+ getMonthStyle: getMonthStyle
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/month/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/month/index.wxss
new file mode 100644
index 0000000..9aee73d
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/components/month/index.wxss
@@ -0,0 +1 @@
+@import '../../../common/index.wxss';.van-calendar{background-color:var(--calendar-background-color,#fff);display:flex;flex-direction:column;height:100%}.van-calendar__month-title{font-size:var(--calendar-month-title-font-size,14px);font-weight:var(--font-weight-bold,500);height:var(--calendar-header-title-height,44px);line-height:var(--calendar-header-title-height,44px);text-align:center}.van-calendar__days{display:flex;flex-wrap:wrap;position:relative;-webkit-user-select:none;user-select:none}.van-calendar__month-mark{color:var(--calendar-month-mark-color,rgba(242,243,245,.8));font-size:var(--calendar-month-mark-font-size,160px);left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:0}.van-calendar__day,.van-calendar__selected-day{align-items:center;display:flex;justify-content:center;text-align:center}.van-calendar__day{font-size:var(--calendar-day-font-size,16px);height:var(--calendar-day-height,64px);position:relative;width:14.285%}.van-calendar__day--end,.van-calendar__day--multiple-middle,.van-calendar__day--multiple-selected,.van-calendar__day--start,.van-calendar__day--start-end{background-color:var(--calendar-range-edge-background-color,#ee0a24);color:var(--calendar-range-edge-color,#fff)}.van-calendar__day--start{border-radius:4px 0 0 4px}.van-calendar__day--end{border-radius:0 4px 4px 0}.van-calendar__day--multiple-selected,.van-calendar__day--start-end{border-radius:4px}.van-calendar__day--middle{color:var(--calendar-range-middle-color,#ee0a24)}.van-calendar__day--middle:after{background-color:currentColor;bottom:0;content:"";left:0;opacity:var(--calendar-range-middle-background-opacity,.1);position:absolute;right:0;top:0}.van-calendar__day--disabled{color:var(--calendar-day-disabled-color,#c8c9cc);cursor:default}.van-calendar__bottom-info,.van-calendar__top-info{font-size:var(--calendar-info-font-size,10px);left:0;line-height:var(--calendar-info-line-height,14px);position:absolute;right:0}@media (max-width:350px){.van-calendar__bottom-info,.van-calendar__top-info{font-size:9px}}.van-calendar__top-info{top:6px}.van-calendar__bottom-info{bottom:6px}.van-calendar__selected-day{background-color:var(--calendar-selected-day-background-color,#ee0a24);border-radius:4px;color:var(--calendar-selected-day-color,#fff);height:var(--calendar-selected-day-size,54px);width:var(--calendar-selected-day-size,54px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/index.js
new file mode 100644
index 0000000..31b6ed2
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/index.js
@@ -0,0 +1,360 @@
+"use strict";
+var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+ if (ar || !(i in from)) {
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+ ar[i] = from[i];
+ }
+ }
+ return to.concat(ar || Array.prototype.slice.call(from));
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var utils_1 = require("./utils");
+var toast_1 = __importDefault(require("../toast/toast"));
+var utils_2 = require("../common/utils");
+var initialMinDate = (0, utils_1.getToday)().getTime();
+var initialMaxDate = (function () {
+ var now = (0, utils_1.getToday)();
+ return new Date(now.getFullYear(), now.getMonth() + 6, now.getDate()).getTime();
+})();
+var getTime = function (date) {
+ return date instanceof Date ? date.getTime() : date;
+};
+(0, component_1.VantComponent)({
+ props: {
+ title: {
+ type: String,
+ value: '日期选择',
+ },
+ color: String,
+ show: {
+ type: Boolean,
+ observer: function (val) {
+ if (val) {
+ this.initRect();
+ this.scrollIntoView();
+ }
+ },
+ },
+ formatter: null,
+ confirmText: {
+ type: String,
+ value: '确定',
+ },
+ confirmDisabledText: {
+ type: String,
+ value: '确定',
+ },
+ rangePrompt: String,
+ showRangePrompt: {
+ type: Boolean,
+ value: true,
+ },
+ defaultDate: {
+ type: null,
+ observer: function (val) {
+ this.setData({ currentDate: val });
+ this.scrollIntoView();
+ },
+ },
+ allowSameDay: Boolean,
+ type: {
+ type: String,
+ value: 'single',
+ observer: 'reset',
+ },
+ minDate: {
+ type: Number,
+ value: initialMinDate,
+ },
+ maxDate: {
+ type: Number,
+ value: initialMaxDate,
+ },
+ position: {
+ type: String,
+ value: 'bottom',
+ },
+ rowHeight: {
+ type: null,
+ value: utils_1.ROW_HEIGHT,
+ },
+ round: {
+ type: Boolean,
+ value: true,
+ },
+ poppable: {
+ type: Boolean,
+ value: true,
+ },
+ showMark: {
+ type: Boolean,
+ value: true,
+ },
+ showTitle: {
+ type: Boolean,
+ value: true,
+ },
+ showConfirm: {
+ type: Boolean,
+ value: true,
+ },
+ showSubtitle: {
+ type: Boolean,
+ value: true,
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ },
+ maxRange: {
+ type: null,
+ value: null,
+ },
+ firstDayOfWeek: {
+ type: Number,
+ value: 0,
+ },
+ readonly: Boolean,
+ },
+ data: {
+ subtitle: '',
+ currentDate: null,
+ scrollIntoView: '',
+ },
+ created: function () {
+ this.setData({
+ currentDate: this.getInitialDate(this.data.defaultDate),
+ });
+ },
+ mounted: function () {
+ if (this.data.show || !this.data.poppable) {
+ this.initRect();
+ this.scrollIntoView();
+ }
+ },
+ methods: {
+ reset: function () {
+ this.setData({ currentDate: this.getInitialDate() });
+ this.scrollIntoView();
+ },
+ initRect: function () {
+ var _this = this;
+ if (this.contentObserver != null) {
+ this.contentObserver.disconnect();
+ }
+ var contentObserver = this.createIntersectionObserver({
+ thresholds: [0, 0.1, 0.9, 1],
+ observeAll: true,
+ });
+ this.contentObserver = contentObserver;
+ contentObserver.relativeTo('.van-calendar__body');
+ contentObserver.observe('.month', function (res) {
+ if (res.boundingClientRect.top <= res.relativeRect.top) {
+ // @ts-ignore
+ _this.setData({ subtitle: (0, utils_1.formatMonthTitle)(res.dataset.date) });
+ }
+ });
+ },
+ limitDateRange: function (date, minDate, maxDate) {
+ if (minDate === void 0) { minDate = null; }
+ if (maxDate === void 0) { maxDate = null; }
+ minDate = minDate || this.data.minDate;
+ maxDate = maxDate || this.data.maxDate;
+ if ((0, utils_1.compareDay)(date, minDate) === -1) {
+ return minDate;
+ }
+ if ((0, utils_1.compareDay)(date, maxDate) === 1) {
+ return maxDate;
+ }
+ return date;
+ },
+ getInitialDate: function (defaultDate) {
+ var _this = this;
+ if (defaultDate === void 0) { defaultDate = null; }
+ var _a = this.data, type = _a.type, minDate = _a.minDate, maxDate = _a.maxDate;
+ var now = (0, utils_1.getToday)().getTime();
+ if (type === 'range') {
+ if (!Array.isArray(defaultDate)) {
+ defaultDate = [];
+ }
+ var _b = defaultDate || [], startDay = _b[0], endDay = _b[1];
+ var start = this.limitDateRange(startDay || now, minDate, (0, utils_1.getPrevDay)(new Date(maxDate)).getTime());
+ var end = this.limitDateRange(endDay || now, (0, utils_1.getNextDay)(new Date(minDate)).getTime());
+ return [start, end];
+ }
+ if (type === 'multiple') {
+ if (Array.isArray(defaultDate)) {
+ return defaultDate.map(function (date) { return _this.limitDateRange(date); });
+ }
+ return [this.limitDateRange(now)];
+ }
+ if (!defaultDate || Array.isArray(defaultDate)) {
+ defaultDate = now;
+ }
+ return this.limitDateRange(defaultDate);
+ },
+ scrollIntoView: function () {
+ var _this = this;
+ (0, utils_2.requestAnimationFrame)(function () {
+ var _a = _this.data, currentDate = _a.currentDate, type = _a.type, show = _a.show, poppable = _a.poppable, minDate = _a.minDate, maxDate = _a.maxDate;
+ // @ts-ignore
+ var targetDate = type === 'single' ? currentDate : currentDate[0];
+ var displayed = show || !poppable;
+ if (!targetDate || !displayed) {
+ return;
+ }
+ var months = (0, utils_1.getMonths)(minDate, maxDate);
+ months.some(function (month, index) {
+ if ((0, utils_1.compareMonth)(month, targetDate) === 0) {
+ _this.setData({ scrollIntoView: "month" + index });
+ return true;
+ }
+ return false;
+ });
+ });
+ },
+ onOpen: function () {
+ this.$emit('open');
+ },
+ onOpened: function () {
+ this.$emit('opened');
+ },
+ onClose: function () {
+ this.$emit('close');
+ },
+ onClosed: function () {
+ this.$emit('closed');
+ },
+ onClickDay: function (event) {
+ if (this.data.readonly) {
+ return;
+ }
+ var date = event.detail.date;
+ var _a = this.data, type = _a.type, currentDate = _a.currentDate, allowSameDay = _a.allowSameDay;
+ if (type === 'range') {
+ // @ts-ignore
+ var startDay_1 = currentDate[0], endDay = currentDate[1];
+ if (startDay_1 && !endDay) {
+ var compareToStart = (0, utils_1.compareDay)(date, startDay_1);
+ if (compareToStart === 1) {
+ var days_1 = this.selectComponent('.month').data.days;
+ days_1.some(function (day, index) {
+ var isDisabled = day.type === 'disabled' &&
+ getTime(startDay_1) < getTime(day.date) &&
+ getTime(day.date) < getTime(date);
+ if (isDisabled) {
+ (date = days_1[index - 1].date);
+ }
+ return isDisabled;
+ });
+ this.select([startDay_1, date], true);
+ }
+ else if (compareToStart === -1) {
+ this.select([date, null]);
+ }
+ else if (allowSameDay) {
+ this.select([date, date]);
+ }
+ }
+ else {
+ this.select([date, null]);
+ }
+ }
+ else if (type === 'multiple') {
+ var selectedIndex_1;
+ // @ts-ignore
+ var selected = currentDate.some(function (dateItem, index) {
+ var equal = (0, utils_1.compareDay)(dateItem, date) === 0;
+ if (equal) {
+ selectedIndex_1 = index;
+ }
+ return equal;
+ });
+ if (selected) {
+ // @ts-ignore
+ var cancelDate = currentDate.splice(selectedIndex_1, 1);
+ this.setData({ currentDate: currentDate });
+ this.unselect(cancelDate);
+ }
+ else {
+ // @ts-ignore
+ this.select(__spreadArray(__spreadArray([], currentDate, true), [date], false));
+ }
+ }
+ else {
+ this.select(date, true);
+ }
+ },
+ unselect: function (dateArray) {
+ var date = dateArray[0];
+ if (date) {
+ this.$emit('unselect', (0, utils_1.copyDates)(date));
+ }
+ },
+ select: function (date, complete) {
+ if (complete && this.data.type === 'range') {
+ var valid = this.checkRange(date);
+ if (!valid) {
+ // auto selected to max range if showConfirm
+ if (this.data.showConfirm) {
+ this.emit([
+ date[0],
+ (0, utils_1.getDayByOffset)(date[0], this.data.maxRange - 1),
+ ]);
+ }
+ else {
+ this.emit(date);
+ }
+ return;
+ }
+ }
+ this.emit(date);
+ if (complete && !this.data.showConfirm) {
+ this.onConfirm();
+ }
+ },
+ emit: function (date) {
+ this.setData({
+ currentDate: Array.isArray(date) ? date.map(getTime) : getTime(date),
+ });
+ this.$emit('select', (0, utils_1.copyDates)(date));
+ },
+ checkRange: function (date) {
+ var _a = this.data, maxRange = _a.maxRange, rangePrompt = _a.rangePrompt, showRangePrompt = _a.showRangePrompt;
+ if (maxRange && (0, utils_1.calcDateNum)(date) > maxRange) {
+ if (showRangePrompt) {
+ (0, toast_1.default)({
+ context: this,
+ message: rangePrompt || "\u9009\u62E9\u5929\u6570\u4E0D\u80FD\u8D85\u8FC7 " + maxRange + " \u5929",
+ });
+ }
+ this.$emit('over-range');
+ return false;
+ }
+ return true;
+ },
+ onConfirm: function () {
+ var _this = this;
+ if (this.data.type === 'range' &&
+ !this.checkRange(this.data.currentDate)) {
+ return;
+ }
+ wx.nextTick(function () {
+ // @ts-ignore
+ _this.$emit('confirm', (0, utils_1.copyDates)(_this.data.currentDate));
+ });
+ },
+ onClickSubtitle: function (event) {
+ this.$emit('click-subtitle', event);
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/index.json
new file mode 100644
index 0000000..397d5ae
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/index.json
@@ -0,0 +1,10 @@
+{
+ "component": true,
+ "usingComponents": {
+ "header": "./components/header/index",
+ "month": "./components/month/index",
+ "van-button": "../button/index",
+ "van-popup": "../popup/index",
+ "van-toast": "../toast/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/index.wxml
new file mode 100644
index 0000000..bc8bcfd
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/index.wxml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/index.wxs
new file mode 100644
index 0000000..0c570fc
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/index.wxs
@@ -0,0 +1,38 @@
+/* eslint-disable */
+var utils = require('./utils.wxs');
+
+function getMonths(minDate, maxDate) {
+ var months = [];
+ var cursor = getDate(minDate);
+
+ cursor.setDate(1);
+ cursor.setMinutes(cursor.getMinutes() - cursor.getTimezoneOffset());
+
+ do {
+ months.push(cursor.getTime());
+ cursor.setMonth(cursor.getMonth() + 1);
+ } while (utils.compareMonth(cursor, getDate(maxDate)) !== 1);
+
+ return months;
+}
+
+function getButtonDisabled(type, currentDate) {
+ if (currentDate == null) {
+ return true;
+ }
+
+ if (type === 'range') {
+ return !currentDate[0] || !currentDate[1];
+ }
+
+ if (type === 'multiple') {
+ return !currentDate.length;
+ }
+
+ return !currentDate;
+}
+
+module.exports = {
+ getMonths: getMonths,
+ getButtonDisabled: getButtonDisabled
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/index.wxss
new file mode 100644
index 0000000..05df518
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-calendar{background-color:var(--calendar-background-color,#fff);display:flex;flex-direction:column;height:var(--calendar-height,100%)}.van-calendar__close-icon{top:11px}.van-calendar__popup--bottom,.van-calendar__popup--top{height:var(--calendar-popup-height,80%)}.van-calendar__popup--left,.van-calendar__popup--right{height:100%}.van-calendar__body{-webkit-overflow-scrolling:touch;flex:1;overflow:auto}.van-calendar__footer{flex-shrink:0;padding:0 var(--padding-md,16px)}.van-calendar__footer--safe-area-inset-bottom{padding-bottom:env(safe-area-inset-bottom)}.van-calendar__footer+.van-calendar__footer,.van-calendar__footer:empty{display:none}.van-calendar__footer:empty+.van-calendar__footer{display:block!important}.van-calendar__confirm{height:var(--calendar-confirm-button-height,36px)!important;line-height:var(--calendar-confirm-button-line-height,34px)!important;margin:var(--calendar-confirm-button-margin,7px 0)!important}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/utils.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/utils.js
new file mode 100644
index 0000000..337c9ed
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/utils.js
@@ -0,0 +1,97 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.getMonths = exports.getMonthEndDay = exports.copyDates = exports.calcDateNum = exports.getToday = exports.getNextDay = exports.getPrevDay = exports.getDayByOffset = exports.compareDay = exports.compareMonth = exports.formatMonthTitle = exports.ROW_HEIGHT = void 0;
+exports.ROW_HEIGHT = 64;
+function formatMonthTitle(date) {
+ if (!(date instanceof Date)) {
+ date = new Date(date);
+ }
+ return date.getFullYear() + "\u5E74" + (date.getMonth() + 1) + "\u6708";
+}
+exports.formatMonthTitle = formatMonthTitle;
+function compareMonth(date1, date2) {
+ if (!(date1 instanceof Date)) {
+ date1 = new Date(date1);
+ }
+ if (!(date2 instanceof Date)) {
+ date2 = new Date(date2);
+ }
+ var year1 = date1.getFullYear();
+ var year2 = date2.getFullYear();
+ var month1 = date1.getMonth();
+ var month2 = date2.getMonth();
+ if (year1 === year2) {
+ return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;
+ }
+ return year1 > year2 ? 1 : -1;
+}
+exports.compareMonth = compareMonth;
+function compareDay(day1, day2) {
+ if (!(day1 instanceof Date)) {
+ day1 = new Date(day1);
+ }
+ if (!(day2 instanceof Date)) {
+ day2 = new Date(day2);
+ }
+ var compareMonthResult = compareMonth(day1, day2);
+ if (compareMonthResult === 0) {
+ var date1 = day1.getDate();
+ var date2 = day2.getDate();
+ return date1 === date2 ? 0 : date1 > date2 ? 1 : -1;
+ }
+ return compareMonthResult;
+}
+exports.compareDay = compareDay;
+function getDayByOffset(date, offset) {
+ date = new Date(date);
+ date.setDate(date.getDate() + offset);
+ return date;
+}
+exports.getDayByOffset = getDayByOffset;
+function getPrevDay(date) {
+ return getDayByOffset(date, -1);
+}
+exports.getPrevDay = getPrevDay;
+function getNextDay(date) {
+ return getDayByOffset(date, 1);
+}
+exports.getNextDay = getNextDay;
+function getToday() {
+ var today = new Date();
+ today.setHours(0, 0, 0, 0);
+ return today;
+}
+exports.getToday = getToday;
+function calcDateNum(date) {
+ var day1 = new Date(date[0]).getTime();
+ var day2 = new Date(date[1]).getTime();
+ return (day2 - day1) / (1000 * 60 * 60 * 24) + 1;
+}
+exports.calcDateNum = calcDateNum;
+function copyDates(dates) {
+ if (Array.isArray(dates)) {
+ return dates.map(function (date) {
+ if (date === null) {
+ return date;
+ }
+ return new Date(date);
+ });
+ }
+ return new Date(dates);
+}
+exports.copyDates = copyDates;
+function getMonthEndDay(year, month) {
+ return 32 - new Date(year, month - 1, 32).getDate();
+}
+exports.getMonthEndDay = getMonthEndDay;
+function getMonths(minDate, maxDate) {
+ var months = [];
+ var cursor = new Date(minDate);
+ cursor.setDate(1);
+ do {
+ months.push(cursor.getTime());
+ cursor.setMonth(cursor.getMonth() + 1);
+ } while (compareMonth(cursor, maxDate) !== 1);
+ return months;
+}
+exports.getMonths = getMonths;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/utils.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/utils.wxs
new file mode 100644
index 0000000..e57f6b3
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/calendar/utils.wxs
@@ -0,0 +1,25 @@
+/* eslint-disable */
+function getMonthEndDay(year, month) {
+ return 32 - getDate(year, month - 1, 32).getDate();
+}
+
+function compareMonth(date1, date2) {
+ date1 = getDate(date1);
+ date2 = getDate(date2);
+
+ var year1 = date1.getFullYear();
+ var year2 = date2.getFullYear();
+ var month1 = date1.getMonth();
+ var month2 = date2.getMonth();
+
+ if (year1 === year2) {
+ return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;
+ }
+
+ return year1 > year2 ? 1 : -1;
+}
+
+module.exports = {
+ getMonthEndDay: getMonthEndDay,
+ compareMonth: compareMonth
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/card/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/card/index.js
new file mode 100644
index 0000000..d745d90
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/card/index.js
@@ -0,0 +1,51 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var link_1 = require("../mixins/link");
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ classes: [
+ 'num-class',
+ 'desc-class',
+ 'thumb-class',
+ 'title-class',
+ 'price-class',
+ 'origin-price-class',
+ ],
+ mixins: [link_1.link],
+ props: {
+ tag: String,
+ num: String,
+ desc: String,
+ thumb: String,
+ title: String,
+ price: {
+ type: String,
+ observer: 'updatePrice',
+ },
+ centered: Boolean,
+ lazyLoad: Boolean,
+ thumbLink: String,
+ originPrice: String,
+ thumbMode: {
+ type: String,
+ value: 'aspectFit',
+ },
+ currency: {
+ type: String,
+ value: '¥',
+ },
+ },
+ methods: {
+ updatePrice: function () {
+ var price = this.data.price;
+ var priceArr = price.toString().split('.');
+ this.setData({
+ integerStr: priceArr[0],
+ decimalStr: priceArr[1] ? "." + priceArr[1] : '',
+ });
+ },
+ onClickThumb: function () {
+ this.jumpLink('thumbLink');
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/card/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/card/index.json
new file mode 100644
index 0000000..e917407
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/card/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-tag": "../tag/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/card/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/card/index.wxml
new file mode 100644
index 0000000..62173e4
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/card/index.wxml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/card/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/card/index.wxss
new file mode 100644
index 0000000..0f4d7c5
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/card/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-card{background-color:var(--card-background-color,#fafafa);box-sizing:border-box;color:var(--card-text-color,#323233);font-size:var(--card-font-size,12px);padding:var(--card-padding,8px 16px);position:relative}.van-card__header{display:flex}.van-card__header--center{align-items:center;justify-content:center}.van-card__thumb{flex:none;height:var(--card-thumb-size,88px);margin-right:var(--padding-xs,8px);position:relative;width:var(--card-thumb-size,88px)}.van-card__thumb:empty{display:none}.van-card__img{border-radius:8px;height:100%;width:100%}.van-card__content{display:flex;flex:1;flex-direction:column;justify-content:space-between;min-height:var(--card-thumb-size,88px);min-width:0;position:relative}.van-card__content--center{justify-content:center}.van-card__desc,.van-card__title{word-wrap:break-word}.van-card__title{font-weight:700;line-height:var(--card-title-line-height,16px)}.van-card__desc{color:var(--card-desc-color,#646566);line-height:var(--card-desc-line-height,20px)}.van-card__bottom{line-height:20px}.van-card__price{color:var(--card-price-color,#ee0a24);display:inline-block;font-size:var(--card-price-font-size,12px);font-weight:700}.van-card__price-integer{font-size:var(--card-price-integer-font-size,16px)}.van-card__price-decimal,.van-card__price-integer{font-family:var(--card-price-font-family,Avenir-Heavy,PingFang SC,Helvetica Neue,Arial,sans-serif)}.van-card__origin-price{color:var(--card-origin-price-color,#646566);display:inline-block;font-size:var(--card-origin-price-font-size,10px);margin-left:5px;text-decoration:line-through}.van-card__num{float:right}.van-card__tag{left:0;position:absolute!important;top:2px}.van-card__footer{flex:none;text-align:right;width:100%}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell-group/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell-group/index.js
new file mode 100644
index 0000000..34a93a6
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell-group/index.js
@@ -0,0 +1,13 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ title: String,
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ inset: Boolean,
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell-group/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell-group/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell-group/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell-group/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell-group/index.wxml
new file mode 100644
index 0000000..311e064
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell-group/index.wxml
@@ -0,0 +1,11 @@
+
+
+
+ {{ title }}
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell-group/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell-group/index.wxss
new file mode 100644
index 0000000..08b252f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell-group/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-cell-group--inset{border-radius:var(--cell-group-inset-border-radius,8px);margin:var(--cell-group-inset-padding,0 16px);overflow:hidden}.van-cell-group__title{color:var(--cell-group-title-color,#969799);font-size:var(--cell-group-title-font-size,14px);line-height:var(--cell-group-title-line-height,16px);padding:var(--cell-group-title-padding,16px 16px 8px)}.van-cell-group__title--inset{padding:var(--cell-group-inset-title-padding,16px 16px 8px 32px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell/index.js
new file mode 100644
index 0000000..80f3039
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell/index.js
@@ -0,0 +1,40 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var link_1 = require("../mixins/link");
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ classes: [
+ 'title-class',
+ 'label-class',
+ 'value-class',
+ 'right-icon-class',
+ 'hover-class',
+ ],
+ mixins: [link_1.link],
+ props: {
+ title: null,
+ value: null,
+ icon: String,
+ size: String,
+ label: String,
+ center: Boolean,
+ isLink: Boolean,
+ required: Boolean,
+ clickable: Boolean,
+ titleWidth: String,
+ customStyle: String,
+ arrowDirection: String,
+ useLabelSlot: Boolean,
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ titleStyle: String,
+ },
+ methods: {
+ onClick: function (event) {
+ this.$emit('click', event.detail);
+ this.jumpLink();
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell/index.wxml
new file mode 100644
index 0000000..8387c3c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell/index.wxml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+ {{ title }}
+
+
+
+
+ {{ label }}
+
+
+
+
+ {{ value }}
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell/index.wxs
new file mode 100644
index 0000000..e3500c4
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell/index.wxs
@@ -0,0 +1,17 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function titleStyle(data) {
+ return style([
+ {
+ 'max-width': addUnit(data.titleWidth),
+ 'min-width': addUnit(data.titleWidth),
+ },
+ data.titleStyle,
+ ]);
+}
+
+module.exports = {
+ titleStyle: titleStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell/index.wxss
new file mode 100644
index 0000000..1802f8e
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/cell/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-cell{background-color:var(--cell-background-color,#fff);box-sizing:border-box;color:var(--cell-text-color,#323233);display:flex;font-size:var(--cell-font-size,14px);line-height:var(--cell-line-height,24px);padding:var(--cell-vertical-padding,10px) var(--cell-horizontal-padding,16px);position:relative;width:100%}.van-cell:after{border-bottom:1px solid #ebedf0;bottom:0;box-sizing:border-box;content:" ";left:16px;pointer-events:none;position:absolute;right:16px;transform:scaleY(.5);transform-origin:center}.van-cell--borderless:after{display:none}.van-cell-group{background-color:var(--cell-background-color,#fff)}.van-cell__label{color:var(--cell-label-color,#969799);font-size:var(--cell-label-font-size,12px);line-height:var(--cell-label-line-height,18px);margin-top:var(--cell-label-margin-top,3px)}.van-cell__value{color:var(--cell-value-color,#969799);overflow:hidden;text-align:right;vertical-align:middle}.van-cell__title,.van-cell__value{flex:1}.van-cell__title:empty,.van-cell__value:empty{display:none}.van-cell__left-icon-wrap,.van-cell__right-icon-wrap{align-items:center;display:flex;font-size:var(--cell-icon-size,16px);height:var(--cell-line-height,24px)}.van-cell__left-icon-wrap{margin-right:var(--padding-base,4px)}.van-cell__right-icon-wrap{color:var(--cell-right-icon-color,#969799);margin-left:var(--padding-base,4px)}.van-cell__left-icon{vertical-align:middle}.van-cell__left-icon,.van-cell__right-icon{line-height:var(--cell-line-height,24px)}.van-cell--clickable.van-cell--hover{background-color:var(--cell-active-color,#f2f3f5)}.van-cell--required{overflow:visible}.van-cell--required:before{color:var(--cell-required-color,#ee0a24);content:"*";font-size:var(--cell-font-size,14px);left:var(--padding-xs,8px);position:absolute}.van-cell--center{align-items:center}.van-cell--large{padding-bottom:var(--cell-large-vertical-padding,12px);padding-top:var(--cell-large-vertical-padding,12px)}.van-cell--large .van-cell__title{font-size:var(--cell-large-title-font-size,16px)}.van-cell--large .van-cell__value{font-size:var(--cell-large-value-font-size,16px)}.van-cell--large .van-cell__label{font-size:var(--cell-large-label-font-size,14px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox-group/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox-group/index.js
new file mode 100644
index 0000000..80c93a1
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox-group/index.js
@@ -0,0 +1,39 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var relation_1 = require("../common/relation");
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ field: true,
+ relation: (0, relation_1.useChildren)('checkbox', function (target) {
+ this.updateChild(target);
+ }),
+ props: {
+ max: Number,
+ value: {
+ type: Array,
+ observer: 'updateChildren',
+ },
+ disabled: {
+ type: Boolean,
+ observer: 'updateChildren',
+ },
+ direction: {
+ type: String,
+ value: 'vertical',
+ },
+ },
+ methods: {
+ updateChildren: function () {
+ var _this = this;
+ this.children.forEach(function (child) { return _this.updateChild(child); });
+ },
+ updateChild: function (child) {
+ var _a = this.data, value = _a.value, disabled = _a.disabled, direction = _a.direction;
+ child.setData({
+ value: value.indexOf(child.data.name) !== -1,
+ parentDisabled: disabled,
+ direction: direction,
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox-group/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox-group/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox-group/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox-group/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox-group/index.wxml
new file mode 100644
index 0000000..638bf9d
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox-group/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox-group/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox-group/index.wxss
new file mode 100644
index 0000000..c5666d7
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox-group/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-checkbox-group--horizontal{display:flex;flex-wrap:wrap}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox/index.js
new file mode 100644
index 0000000..6247365
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox/index.js
@@ -0,0 +1,79 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var relation_1 = require("../common/relation");
+var component_1 = require("../common/component");
+function emit(target, value) {
+ target.$emit('input', value);
+ target.$emit('change', value);
+}
+(0, component_1.VantComponent)({
+ field: true,
+ relation: (0, relation_1.useParent)('checkbox-group'),
+ classes: ['icon-class', 'label-class'],
+ props: {
+ value: Boolean,
+ disabled: Boolean,
+ useIconSlot: Boolean,
+ checkedColor: String,
+ labelPosition: {
+ type: String,
+ value: 'right',
+ },
+ labelDisabled: Boolean,
+ shape: {
+ type: String,
+ value: 'round',
+ },
+ iconSize: {
+ type: null,
+ value: 20,
+ },
+ },
+ data: {
+ parentDisabled: false,
+ direction: 'vertical',
+ },
+ methods: {
+ emitChange: function (value) {
+ if (this.parent) {
+ this.setParentValue(this.parent, value);
+ }
+ else {
+ emit(this, value);
+ }
+ },
+ toggle: function () {
+ var _a = this.data, parentDisabled = _a.parentDisabled, disabled = _a.disabled, value = _a.value;
+ if (!disabled && !parentDisabled) {
+ this.emitChange(!value);
+ }
+ },
+ onClickLabel: function () {
+ var _a = this.data, labelDisabled = _a.labelDisabled, parentDisabled = _a.parentDisabled, disabled = _a.disabled, value = _a.value;
+ if (!disabled && !labelDisabled && !parentDisabled) {
+ this.emitChange(!value);
+ }
+ },
+ setParentValue: function (parent, value) {
+ var parentValue = parent.data.value.slice();
+ var name = this.data.name;
+ var max = parent.data.max;
+ if (value) {
+ if (max && parentValue.length >= max) {
+ return;
+ }
+ if (parentValue.indexOf(name) === -1) {
+ parentValue.push(name);
+ emit(parent, parentValue);
+ }
+ }
+ else {
+ var index = parentValue.indexOf(name);
+ if (index !== -1) {
+ parentValue.splice(index, 1);
+ emit(parent, parentValue);
+ }
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox/index.wxml
new file mode 100644
index 0000000..39a7bb0
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox/index.wxml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox/index.wxs
new file mode 100644
index 0000000..eb9c772
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox/index.wxs
@@ -0,0 +1,20 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function iconStyle(checkedColor, value, disabled, parentDisabled, iconSize) {
+ var styles = {
+ 'font-size': addUnit(iconSize),
+ };
+
+ if (checkedColor && value && !disabled && !parentDisabled) {
+ styles['border-color'] = checkedColor;
+ styles['background-color'] = checkedColor;
+ }
+
+ return style(styles);
+}
+
+module.exports = {
+ iconStyle: iconStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox/index.wxss
new file mode 100644
index 0000000..da2272a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/checkbox/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-checkbox{align-items:center;display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.van-checkbox--horizontal{margin-right:12px}.van-checkbox__icon-wrap,.van-checkbox__label{line-height:var(--checkbox-size,20px)}.van-checkbox__icon-wrap{flex:none}.van-checkbox__icon{align-items:center;border:1px solid var(--checkbox-border-color,#c8c9cc);box-sizing:border-box;color:transparent;display:flex;font-size:var(--checkbox-size,20px);height:1em;justify-content:center;text-align:center;transition-duration:var(--checkbox-transition-duration,.2s);transition-property:color,border-color,background-color;width:1em}.van-checkbox__icon--round{border-radius:100%}.van-checkbox__icon--checked{background-color:var(--checkbox-checked-icon-color,#1989fa);border-color:var(--checkbox-checked-icon-color,#1989fa);color:#fff}.van-checkbox__icon--disabled{background-color:var(--checkbox-disabled-background-color,#ebedf0);border-color:var(--checkbox-disabled-icon-color,#c8c9cc)}.van-checkbox__icon--disabled.van-checkbox__icon--checked{color:var(--checkbox-disabled-icon-color,#c8c9cc)}.van-checkbox__label{word-wrap:break-word;color:var(--checkbox-label-color,#323233);padding-left:var(--checkbox-label-margin,10px)}.van-checkbox__label--left{float:left;margin:0 var(--checkbox-label-margin,10px) 0 0}.van-checkbox__label--disabled{color:var(--checkbox-disabled-label-color,#c8c9cc)}.van-checkbox__label:empty{margin:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/circle/canvas.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/circle/canvas.js
new file mode 100644
index 0000000..d81df74
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/circle/canvas.js
@@ -0,0 +1,47 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.adaptor = void 0;
+function adaptor(ctx) {
+ // @ts-ignore
+ return Object.assign(ctx, {
+ setStrokeStyle: function (val) {
+ ctx.strokeStyle = val;
+ },
+ setLineWidth: function (val) {
+ ctx.lineWidth = val;
+ },
+ setLineCap: function (val) {
+ ctx.lineCap = val;
+ },
+ setFillStyle: function (val) {
+ ctx.fillStyle = val;
+ },
+ setFontSize: function (val) {
+ ctx.font = String(val);
+ },
+ setGlobalAlpha: function (val) {
+ ctx.globalAlpha = val;
+ },
+ setLineJoin: function (val) {
+ ctx.lineJoin = val;
+ },
+ setTextAlign: function (val) {
+ ctx.textAlign = val;
+ },
+ setMiterLimit: function (val) {
+ ctx.miterLimit = val;
+ },
+ setShadow: function (offsetX, offsetY, blur, color) {
+ ctx.shadowOffsetX = offsetX;
+ ctx.shadowOffsetY = offsetY;
+ ctx.shadowBlur = blur;
+ ctx.shadowColor = color;
+ },
+ setTextBaseline: function (val) {
+ ctx.textBaseline = val;
+ },
+ createCircularGradient: function () { },
+ draw: function () { },
+ });
+}
+exports.adaptor = adaptor;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/circle/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/circle/index.js
new file mode 100644
index 0000000..9037e1c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/circle/index.js
@@ -0,0 +1,203 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var color_1 = require("../common/color");
+var component_1 = require("../common/component");
+var utils_1 = require("../common/utils");
+var validator_1 = require("../common/validator");
+var version_1 = require("../common/version");
+var canvas_1 = require("./canvas");
+function format(rate) {
+ return Math.min(Math.max(rate, 0), 100);
+}
+var PERIMETER = 2 * Math.PI;
+var BEGIN_ANGLE = -Math.PI / 2;
+var STEP = 1;
+(0, component_1.VantComponent)({
+ props: {
+ text: String,
+ lineCap: {
+ type: String,
+ value: 'round',
+ },
+ value: {
+ type: Number,
+ value: 0,
+ observer: 'reRender',
+ },
+ speed: {
+ type: Number,
+ value: 50,
+ },
+ size: {
+ type: Number,
+ value: 100,
+ observer: function () {
+ this.drawCircle(this.currentValue);
+ },
+ },
+ fill: String,
+ layerColor: {
+ type: String,
+ value: color_1.WHITE,
+ },
+ color: {
+ type: null,
+ value: color_1.BLUE,
+ observer: function () {
+ var _this = this;
+ this.setHoverColor().then(function () {
+ _this.drawCircle(_this.currentValue);
+ });
+ },
+ },
+ type: {
+ type: String,
+ value: '',
+ },
+ strokeWidth: {
+ type: Number,
+ value: 4,
+ },
+ clockwise: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ hoverColor: color_1.BLUE,
+ },
+ methods: {
+ getContext: function () {
+ var _this = this;
+ var _a = this.data, type = _a.type, size = _a.size;
+ if (type === '' || !(0, version_1.canIUseCanvas2d)()) {
+ var ctx = wx.createCanvasContext('van-circle', this);
+ return Promise.resolve(ctx);
+ }
+ var dpr = (0, utils_1.getSystemInfoSync)().pixelRatio;
+ return new Promise(function (resolve) {
+ wx.createSelectorQuery()
+ .in(_this)
+ .select('#van-circle')
+ .node()
+ .exec(function (res) {
+ var canvas = res[0].node;
+ var ctx = canvas.getContext(type);
+ if (!_this.inited) {
+ _this.inited = true;
+ canvas.width = size * dpr;
+ canvas.height = size * dpr;
+ ctx.scale(dpr, dpr);
+ }
+ resolve((0, canvas_1.adaptor)(ctx));
+ });
+ });
+ },
+ setHoverColor: function () {
+ var _this = this;
+ var _a = this.data, color = _a.color, size = _a.size;
+ if ((0, validator_1.isObj)(color)) {
+ return this.getContext().then(function (context) {
+ var LinearColor = context.createLinearGradient(size, 0, 0, 0);
+ Object.keys(color)
+ .sort(function (a, b) { return parseFloat(a) - parseFloat(b); })
+ .map(function (key) {
+ return LinearColor.addColorStop(parseFloat(key) / 100, color[key]);
+ });
+ _this.hoverColor = LinearColor;
+ });
+ }
+ this.hoverColor = color;
+ return Promise.resolve();
+ },
+ presetCanvas: function (context, strokeStyle, beginAngle, endAngle, fill) {
+ var _a = this.data, strokeWidth = _a.strokeWidth, lineCap = _a.lineCap, clockwise = _a.clockwise, size = _a.size;
+ var position = size / 2;
+ var radius = position - strokeWidth / 2;
+ context.setStrokeStyle(strokeStyle);
+ context.setLineWidth(strokeWidth);
+ context.setLineCap(lineCap);
+ context.beginPath();
+ context.arc(position, position, radius, beginAngle, endAngle, !clockwise);
+ context.stroke();
+ if (fill) {
+ context.setFillStyle(fill);
+ context.fill();
+ }
+ },
+ renderLayerCircle: function (context) {
+ var _a = this.data, layerColor = _a.layerColor, fill = _a.fill;
+ this.presetCanvas(context, layerColor, 0, PERIMETER, fill);
+ },
+ renderHoverCircle: function (context, formatValue) {
+ var clockwise = this.data.clockwise;
+ // 结束角度
+ var progress = PERIMETER * (formatValue / 100);
+ var endAngle = clockwise
+ ? BEGIN_ANGLE + progress
+ : 3 * Math.PI - (BEGIN_ANGLE + progress);
+ this.presetCanvas(context, this.hoverColor, BEGIN_ANGLE, endAngle);
+ },
+ drawCircle: function (currentValue) {
+ var _this = this;
+ var size = this.data.size;
+ this.getContext().then(function (context) {
+ context.clearRect(0, 0, size, size);
+ _this.renderLayerCircle(context);
+ var formatValue = format(currentValue);
+ if (formatValue !== 0) {
+ _this.renderHoverCircle(context, formatValue);
+ }
+ context.draw();
+ });
+ },
+ reRender: function () {
+ var _this = this;
+ // tofector 动画暂时没有想到好的解决方案
+ var _a = this.data, value = _a.value, speed = _a.speed;
+ if (speed <= 0 || speed > 1000) {
+ this.drawCircle(value);
+ return;
+ }
+ this.clearMockInterval();
+ this.currentValue = this.currentValue || 0;
+ var run = function () {
+ _this.interval = setTimeout(function () {
+ if (_this.currentValue !== value) {
+ if (Math.abs(_this.currentValue - value) < STEP) {
+ _this.currentValue = value;
+ }
+ else if (_this.currentValue < value) {
+ _this.currentValue += STEP;
+ }
+ else {
+ _this.currentValue -= STEP;
+ }
+ _this.drawCircle(_this.currentValue);
+ run();
+ }
+ else {
+ _this.clearMockInterval();
+ }
+ }, 1000 / speed);
+ };
+ run();
+ },
+ clearMockInterval: function () {
+ if (this.interval) {
+ clearTimeout(this.interval);
+ this.interval = null;
+ }
+ },
+ },
+ mounted: function () {
+ var _this = this;
+ this.currentValue = this.data.value;
+ this.setHoverColor().then(function () {
+ _this.drawCircle(_this.currentValue);
+ });
+ },
+ destroyed: function () {
+ this.clearMockInterval();
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/circle/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/circle/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/circle/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/circle/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/circle/index.wxml
new file mode 100644
index 0000000..52bc59f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/circle/index.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+ {{ text }}
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/circle/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/circle/index.wxss
new file mode 100644
index 0000000..2200751
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/circle/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-circle{display:inline-block;position:relative;text-align:center}.van-circle__text{color:var(--circle-text-color,#323233);left:0;position:absolute;top:50%;transform:translateY(-50%);width:100%}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/col/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/col/index.js
new file mode 100644
index 0000000..63c56eb
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/col/index.js
@@ -0,0 +1,11 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var relation_1 = require("../common/relation");
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useParent)('row'),
+ props: {
+ span: Number,
+ offset: Number,
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/col/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/col/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/col/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/col/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/col/index.wxml
new file mode 100644
index 0000000..975348b
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/col/index.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/col/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/col/index.wxs
new file mode 100644
index 0000000..507c1cb
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/col/index.wxs
@@ -0,0 +1,18 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ if (!data.gutter) {
+ return '';
+ }
+
+ return style({
+ 'padding-right': addUnit(data.gutter / 2),
+ 'padding-left': addUnit(data.gutter / 2),
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/col/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/col/index.wxss
new file mode 100644
index 0000000..2fa265e
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/col/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-col{box-sizing:border-box;float:left}.van-col--1{width:4.16666667%}.van-col--offset-1{margin-left:4.16666667%}.van-col--2{width:8.33333333%}.van-col--offset-2{margin-left:8.33333333%}.van-col--3{width:12.5%}.van-col--offset-3{margin-left:12.5%}.van-col--4{width:16.66666667%}.van-col--offset-4{margin-left:16.66666667%}.van-col--5{width:20.83333333%}.van-col--offset-5{margin-left:20.83333333%}.van-col--6{width:25%}.van-col--offset-6{margin-left:25%}.van-col--7{width:29.16666667%}.van-col--offset-7{margin-left:29.16666667%}.van-col--8{width:33.33333333%}.van-col--offset-8{margin-left:33.33333333%}.van-col--9{width:37.5%}.van-col--offset-9{margin-left:37.5%}.van-col--10{width:41.66666667%}.van-col--offset-10{margin-left:41.66666667%}.van-col--11{width:45.83333333%}.van-col--offset-11{margin-left:45.83333333%}.van-col--12{width:50%}.van-col--offset-12{margin-left:50%}.van-col--13{width:54.16666667%}.van-col--offset-13{margin-left:54.16666667%}.van-col--14{width:58.33333333%}.van-col--offset-14{margin-left:58.33333333%}.van-col--15{width:62.5%}.van-col--offset-15{margin-left:62.5%}.van-col--16{width:66.66666667%}.van-col--offset-16{margin-left:66.66666667%}.van-col--17{width:70.83333333%}.van-col--offset-17{margin-left:70.83333333%}.van-col--18{width:75%}.van-col--offset-18{margin-left:75%}.van-col--19{width:79.16666667%}.van-col--offset-19{margin-left:79.16666667%}.van-col--20{width:83.33333333%}.van-col--offset-20{margin-left:83.33333333%}.van-col--21{width:87.5%}.van-col--offset-21{margin-left:87.5%}.van-col--22{width:91.66666667%}.van-col--offset-22{margin-left:91.66666667%}.van-col--23{width:95.83333333%}.van-col--offset-23{margin-left:95.83333333%}.van-col--24{width:100%}.van-col--offset-24{margin-left:100%}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse-item/animate.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse-item/animate.js
new file mode 100644
index 0000000..5734087
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse-item/animate.js
@@ -0,0 +1,43 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.setContentAnimate = void 0;
+var utils_1 = require("../common/utils");
+function useAnimation(context, expanded, mounted, height) {
+ var animation = wx.createAnimation({
+ duration: 0,
+ timingFunction: 'ease-in-out',
+ });
+ if (expanded) {
+ if (height === 0) {
+ animation.height('auto').top(1).step();
+ }
+ else {
+ animation
+ .height(height)
+ .top(1)
+ .step({
+ duration: mounted ? 300 : 1,
+ })
+ .height('auto')
+ .step();
+ }
+ context.setData({
+ animation: animation.export(),
+ });
+ return;
+ }
+ animation.height(height).top(0).step({ duration: 1 }).height(0).step({
+ duration: 300,
+ });
+ context.setData({
+ animation: animation.export(),
+ });
+}
+function setContentAnimate(context, expanded, mounted) {
+ (0, utils_1.getRect)(context, '.van-collapse-item__content')
+ .then(function (rect) { return rect.height; })
+ .then(function (height) {
+ useAnimation(context, expanded, mounted, height);
+ });
+}
+exports.setContentAnimate = setContentAnimate;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse-item/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse-item/index.js
new file mode 100644
index 0000000..473d8e2
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse-item/index.js
@@ -0,0 +1,61 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+var animate_1 = require("./animate");
+(0, component_1.VantComponent)({
+ classes: ['title-class', 'content-class'],
+ relation: (0, relation_1.useParent)('collapse'),
+ props: {
+ name: null,
+ title: null,
+ value: null,
+ icon: String,
+ label: String,
+ disabled: Boolean,
+ clickable: Boolean,
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ isLink: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ expanded: false,
+ },
+ mounted: function () {
+ this.updateExpanded();
+ this.mounted = true;
+ },
+ methods: {
+ updateExpanded: function () {
+ if (!this.parent) {
+ return;
+ }
+ var _a = this.parent.data, value = _a.value, accordion = _a.accordion;
+ var _b = this.parent.children, children = _b === void 0 ? [] : _b;
+ var name = this.data.name;
+ var index = children.indexOf(this);
+ var currentName = name == null ? index : name;
+ var expanded = accordion
+ ? value === currentName
+ : (value || []).some(function (name) { return name === currentName; });
+ if (expanded !== this.data.expanded) {
+ (0, animate_1.setContentAnimate)(this, expanded, this.mounted);
+ }
+ this.setData({ index: index, expanded: expanded });
+ },
+ onClick: function () {
+ if (this.data.disabled) {
+ return;
+ }
+ var _a = this.data, name = _a.name, expanded = _a.expanded;
+ var index = this.parent.children.indexOf(this);
+ var currentName = name == null ? index : name;
+ this.parent.switch(currentName, !expanded);
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse-item/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse-item/index.json
new file mode 100644
index 0000000..0e5425c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse-item/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-cell": "../cell/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse-item/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse-item/index.wxml
new file mode 100644
index 0000000..ae4cc83
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse-item/index.wxml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse-item/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse-item/index.wxss
new file mode 100644
index 0000000..4a65b5a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-collapse-item__title .van-cell__right-icon{transform:rotate(90deg);transition:transform var(--collapse-item-transition-duration,.3s)}.van-collapse-item__title--expanded .van-cell__right-icon{transform:rotate(-90deg)}.van-collapse-item__title--disabled .van-cell,.van-collapse-item__title--disabled .van-cell__right-icon{color:var(--collapse-item-title-disabled-color,#c8c9cc)!important}.van-collapse-item__title--disabled .van-cell--hover{background-color:#fff!important}.van-collapse-item__wrapper{overflow:hidden}.van-collapse-item__content{background-color:var(--collapse-item-content-background-color,#fff);color:var(--collapse-item-content-text-color,#969799);font-size:var(--collapse-item-content-font-size,13px);line-height:var(--collapse-item-content-line-height,1.5);padding:var(--collapse-item-content-padding,15px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse/index.js
new file mode 100644
index 0000000..943d542
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse/index.js
@@ -0,0 +1,48 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useChildren)('collapse-item'),
+ props: {
+ value: {
+ type: null,
+ observer: 'updateExpanded',
+ },
+ accordion: {
+ type: Boolean,
+ observer: 'updateExpanded',
+ },
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ updateExpanded: function () {
+ this.children.forEach(function (child) {
+ child.updateExpanded();
+ });
+ },
+ switch: function (name, expanded) {
+ var _a = this.data, accordion = _a.accordion, value = _a.value;
+ var changeItem = name;
+ if (!accordion) {
+ name = expanded
+ ? (value || []).concat(name)
+ : (value || []).filter(function (activeName) { return activeName !== name; });
+ }
+ else {
+ name = expanded ? name : '';
+ }
+ if (expanded) {
+ this.$emit('open', changeItem);
+ }
+ else {
+ this.$emit('close', changeItem);
+ }
+ this.$emit('change', name);
+ this.$emit('input', name);
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse/index.wxml
new file mode 100644
index 0000000..fd4e171
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse/index.wxml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse/index.wxss
new file mode 100644
index 0000000..99694d6
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/collapse/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/color.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/color.js
new file mode 100644
index 0000000..008a45a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/color.js
@@ -0,0 +1,10 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.GRAY_DARK = exports.GRAY = exports.ORANGE = exports.GREEN = exports.WHITE = exports.BLUE = exports.RED = void 0;
+exports.RED = '#ee0a24';
+exports.BLUE = '#1989fa';
+exports.WHITE = '#fff';
+exports.GREEN = '#07c160';
+exports.ORANGE = '#ff976a';
+exports.GRAY = '#323233';
+exports.GRAY_DARK = '#969799';
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/component.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/component.js
new file mode 100644
index 0000000..f1ab5c9
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/component.js
@@ -0,0 +1,48 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.VantComponent = void 0;
+var basic_1 = require("../mixins/basic");
+function mapKeys(source, target, map) {
+ Object.keys(map).forEach(function (key) {
+ if (source[key]) {
+ target[map[key]] = source[key];
+ }
+ });
+}
+function VantComponent(vantOptions) {
+ var options = {};
+ mapKeys(vantOptions, options, {
+ data: 'data',
+ props: 'properties',
+ mixins: 'behaviors',
+ methods: 'methods',
+ beforeCreate: 'created',
+ created: 'attached',
+ mounted: 'ready',
+ destroyed: 'detached',
+ classes: 'externalClasses',
+ });
+ // add default externalClasses
+ options.externalClasses = options.externalClasses || [];
+ options.externalClasses.push('custom-class');
+ // add default behaviors
+ options.behaviors = options.behaviors || [];
+ options.behaviors.push(basic_1.basic);
+ // add relations
+ var relation = vantOptions.relation;
+ if (relation) {
+ options.relations = relation.relations;
+ options.behaviors.push(relation.mixin);
+ }
+ // map field to form-field behavior
+ if (vantOptions.field) {
+ options.behaviors.push('wx://form-field');
+ }
+ // add default options
+ options.options = {
+ multipleSlots: true,
+ addGlobalClass: true,
+ };
+ Component(options);
+}
+exports.VantComponent = VantComponent;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/index.wxss
new file mode 100644
index 0000000..a73bb7a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/index.wxss
@@ -0,0 +1 @@
+.van-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.van-multi-ellipsis--l3{-webkit-line-clamp:3}.van-clearfix:after{clear:both;content:"";display:table}.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom:after,.van-hairline--left:after,.van-hairline--right:after,.van-hairline--surround:after,.van-hairline--top-bottom:after,.van-hairline--top:after,.van-hairline:after{border:0 solid #ebedf0;bottom:-50%;box-sizing:border-box;content:" ";left:-50%;pointer-events:none;position:absolute;right:-50%;top:-50%;transform:scale(.5);transform-origin:center}.van-hairline--top:after{border-top-width:1px}.van-hairline--left:after{border-left-width:1px}.van-hairline--right:after{border-right-width:1px}.van-hairline--bottom:after{border-bottom-width:1px}.van-hairline--top-bottom:after{border-width:1px 0}.van-hairline--surround:after{border-width:1px}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/relation.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/relation.js
new file mode 100644
index 0000000..bcf3f8a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/relation.js
@@ -0,0 +1,65 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.useChildren = exports.useParent = void 0;
+function useParent(name, onEffect) {
+ var _a;
+ var path = "../" + name + "/index";
+ return {
+ relations: (_a = {},
+ _a[path] = {
+ type: 'ancestor',
+ linked: function () {
+ onEffect && onEffect.call(this);
+ },
+ linkChanged: function () {
+ onEffect && onEffect.call(this);
+ },
+ unlinked: function () {
+ onEffect && onEffect.call(this);
+ },
+ },
+ _a),
+ mixin: Behavior({
+ created: function () {
+ var _this = this;
+ Object.defineProperty(this, 'parent', {
+ get: function () { return _this.getRelationNodes(path)[0]; },
+ });
+ Object.defineProperty(this, 'index', {
+ // @ts-ignore
+ get: function () { var _a, _b; return (_b = (_a = _this.parent) === null || _a === void 0 ? void 0 : _a.children) === null || _b === void 0 ? void 0 : _b.indexOf(_this); },
+ });
+ },
+ }),
+ };
+}
+exports.useParent = useParent;
+function useChildren(name, onEffect) {
+ var _a;
+ var path = "../" + name + "/index";
+ return {
+ relations: (_a = {},
+ _a[path] = {
+ type: 'descendant',
+ linked: function (target) {
+ onEffect && onEffect.call(this, target);
+ },
+ linkChanged: function (target) {
+ onEffect && onEffect.call(this, target);
+ },
+ unlinked: function (target) {
+ onEffect && onEffect.call(this, target);
+ },
+ },
+ _a),
+ mixin: Behavior({
+ created: function () {
+ var _this = this;
+ Object.defineProperty(this, 'children', {
+ get: function () { return _this.getRelationNodes(path) || []; },
+ });
+ },
+ }),
+ };
+}
+exports.useChildren = useChildren;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/style/clearfix.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/style/clearfix.wxss
new file mode 100644
index 0000000..442246f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/style/clearfix.wxss
@@ -0,0 +1 @@
+.van-clearfix:after{clear:both;content:"";display:table}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/style/ellipsis.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/style/ellipsis.wxss
new file mode 100644
index 0000000..ee701df
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/style/ellipsis.wxss
@@ -0,0 +1 @@
+.van-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.van-multi-ellipsis--l3{-webkit-line-clamp:3}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/style/hairline.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/style/hairline.wxss
new file mode 100644
index 0000000..f7c6260
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/style/hairline.wxss
@@ -0,0 +1 @@
+.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom:after,.van-hairline--left:after,.van-hairline--right:after,.van-hairline--surround:after,.van-hairline--top-bottom:after,.van-hairline--top:after,.van-hairline:after{border:0 solid #ebedf0;bottom:-50%;box-sizing:border-box;content:" ";left:-50%;pointer-events:none;position:absolute;right:-50%;top:-50%;transform:scale(.5);transform-origin:center}.van-hairline--top:after{border-top-width:1px}.van-hairline--left:after{border-left-width:1px}.van-hairline--right:after{border-right-width:1px}.van-hairline--bottom:after{border-bottom-width:1px}.van-hairline--top-bottom:after{border-width:1px 0}.van-hairline--surround:after{border-width:1px}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/style/mixins/clearfix.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/style/mixins/clearfix.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/style/mixins/ellipsis.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/style/mixins/ellipsis.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/style/mixins/hairline.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/style/mixins/hairline.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/style/var.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/style/var.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/utils.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/utils.js
new file mode 100644
index 0000000..f4cd3ac
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/utils.js
@@ -0,0 +1,113 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.getCurrentPage = exports.toPromise = exports.groupSetData = exports.getAllRect = exports.getRect = exports.pickExclude = exports.requestAnimationFrame = exports.addUnit = exports.getSystemInfoSync = exports.nextTick = exports.range = exports.isDef = void 0;
+var validator_1 = require("./validator");
+var version_1 = require("./version");
+var validator_2 = require("./validator");
+Object.defineProperty(exports, "isDef", { enumerable: true, get: function () { return validator_2.isDef; } });
+function range(num, min, max) {
+ return Math.min(Math.max(num, min), max);
+}
+exports.range = range;
+function nextTick(cb) {
+ if ((0, version_1.canIUseNextTick)()) {
+ wx.nextTick(cb);
+ }
+ else {
+ setTimeout(function () {
+ cb();
+ }, 1000 / 30);
+ }
+}
+exports.nextTick = nextTick;
+var systemInfo;
+function getSystemInfoSync() {
+ if (systemInfo == null) {
+ systemInfo = wx.getSystemInfoSync();
+ }
+ return systemInfo;
+}
+exports.getSystemInfoSync = getSystemInfoSync;
+function addUnit(value) {
+ if (!(0, validator_1.isDef)(value)) {
+ return undefined;
+ }
+ value = String(value);
+ return (0, validator_1.isNumber)(value) ? value + "px" : value;
+}
+exports.addUnit = addUnit;
+function requestAnimationFrame(cb) {
+ var systemInfo = getSystemInfoSync();
+ if (systemInfo.platform === 'devtools') {
+ return setTimeout(function () {
+ cb();
+ }, 1000 / 30);
+ }
+ return wx
+ .createSelectorQuery()
+ .selectViewport()
+ .boundingClientRect()
+ .exec(function () {
+ cb();
+ });
+}
+exports.requestAnimationFrame = requestAnimationFrame;
+function pickExclude(obj, keys) {
+ if (!(0, validator_1.isPlainObject)(obj)) {
+ return {};
+ }
+ return Object.keys(obj).reduce(function (prev, key) {
+ if (!keys.includes(key)) {
+ prev[key] = obj[key];
+ }
+ return prev;
+ }, {});
+}
+exports.pickExclude = pickExclude;
+function getRect(context, selector) {
+ return new Promise(function (resolve) {
+ wx.createSelectorQuery()
+ .in(context)
+ .select(selector)
+ .boundingClientRect()
+ .exec(function (rect) {
+ if (rect === void 0) { rect = []; }
+ return resolve(rect[0]);
+ });
+ });
+}
+exports.getRect = getRect;
+function getAllRect(context, selector) {
+ return new Promise(function (resolve) {
+ wx.createSelectorQuery()
+ .in(context)
+ .selectAll(selector)
+ .boundingClientRect()
+ .exec(function (rect) {
+ if (rect === void 0) { rect = []; }
+ return resolve(rect[0]);
+ });
+ });
+}
+exports.getAllRect = getAllRect;
+function groupSetData(context, cb) {
+ if ((0, version_1.canIUseGroupSetData)()) {
+ context.groupSetData(cb);
+ }
+ else {
+ cb();
+ }
+}
+exports.groupSetData = groupSetData;
+function toPromise(promiseLike) {
+ if ((0, validator_1.isPromise)(promiseLike)) {
+ return promiseLike;
+ }
+ return Promise.resolve(promiseLike);
+}
+exports.toPromise = toPromise;
+function getCurrentPage() {
+ var pages = getCurrentPages();
+ return pages[pages.length - 1];
+}
+exports.getCurrentPage = getCurrentPage;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/validator.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/validator.js
new file mode 100644
index 0000000..169e796
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/validator.js
@@ -0,0 +1,43 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.isVideoUrl = exports.isImageUrl = exports.isBoolean = exports.isNumber = exports.isObj = exports.isDef = exports.isPromise = exports.isPlainObject = exports.isFunction = void 0;
+// eslint-disable-next-line @typescript-eslint/ban-types
+function isFunction(val) {
+ return typeof val === 'function';
+}
+exports.isFunction = isFunction;
+function isPlainObject(val) {
+ return val !== null && typeof val === 'object' && !Array.isArray(val);
+}
+exports.isPlainObject = isPlainObject;
+function isPromise(val) {
+ return isPlainObject(val) && isFunction(val.then) && isFunction(val.catch);
+}
+exports.isPromise = isPromise;
+function isDef(value) {
+ return value !== undefined && value !== null;
+}
+exports.isDef = isDef;
+function isObj(x) {
+ var type = typeof x;
+ return x !== null && (type === 'object' || type === 'function');
+}
+exports.isObj = isObj;
+function isNumber(value) {
+ return /^\d+(\.\d+)?$/.test(value);
+}
+exports.isNumber = isNumber;
+function isBoolean(value) {
+ return typeof value === 'boolean';
+}
+exports.isBoolean = isBoolean;
+var IMAGE_REGEXP = /\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i;
+var VIDEO_REGEXP = /\.(mp4|mpg|mpeg|dat|asf|avi|rm|rmvb|mov|wmv|flv|mkv)/i;
+function isImageUrl(url) {
+ return IMAGE_REGEXP.test(url);
+}
+exports.isImageUrl = isImageUrl;
+function isVideoUrl(url) {
+ return VIDEO_REGEXP.test(url);
+}
+exports.isVideoUrl = isVideoUrl;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/version.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/version.js
new file mode 100644
index 0000000..1e49e30
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/common/version.js
@@ -0,0 +1,58 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.canIUseGetUserProfile = exports.canIUseCanvas2d = exports.canIUseNextTick = exports.canIUseGroupSetData = exports.canIUseAnimate = exports.canIUseFormFieldButton = exports.canIUseModel = void 0;
+var utils_1 = require("./utils");
+function compareVersion(v1, v2) {
+ v1 = v1.split('.');
+ v2 = v2.split('.');
+ var len = Math.max(v1.length, v2.length);
+ while (v1.length < len) {
+ v1.push('0');
+ }
+ while (v2.length < len) {
+ v2.push('0');
+ }
+ for (var i = 0; i < len; i++) {
+ var num1 = parseInt(v1[i], 10);
+ var num2 = parseInt(v2[i], 10);
+ if (num1 > num2) {
+ return 1;
+ }
+ if (num1 < num2) {
+ return -1;
+ }
+ }
+ return 0;
+}
+function gte(version) {
+ var system = (0, utils_1.getSystemInfoSync)();
+ return compareVersion(system.SDKVersion, version) >= 0;
+}
+function canIUseModel() {
+ return gte('2.9.3');
+}
+exports.canIUseModel = canIUseModel;
+function canIUseFormFieldButton() {
+ return gte('2.10.3');
+}
+exports.canIUseFormFieldButton = canIUseFormFieldButton;
+function canIUseAnimate() {
+ return gte('2.9.0');
+}
+exports.canIUseAnimate = canIUseAnimate;
+function canIUseGroupSetData() {
+ return gte('2.4.0');
+}
+exports.canIUseGroupSetData = canIUseGroupSetData;
+function canIUseNextTick() {
+ return wx.canIUse('nextTick');
+}
+exports.canIUseNextTick = canIUseNextTick;
+function canIUseCanvas2d() {
+ return gte('2.9.0');
+}
+exports.canIUseCanvas2d = canIUseCanvas2d;
+function canIUseGetUserProfile() {
+ return !!wx.getUserProfile;
+}
+exports.canIUseGetUserProfile = canIUseGetUserProfile;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/config-provider/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/config-provider/index.js
new file mode 100644
index 0000000..21fb1c4
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/config-provider/index.js
@@ -0,0 +1,11 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ themeVars: {
+ type: Object,
+ value: {},
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/config-provider/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/config-provider/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/config-provider/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/config-provider/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/config-provider/index.wxml
new file mode 100644
index 0000000..3cfb461
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/config-provider/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/config-provider/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/config-provider/index.wxs
new file mode 100644
index 0000000..7ca0203
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/config-provider/index.wxs
@@ -0,0 +1,29 @@
+/* eslint-disable */
+var object = require('../wxs/object.wxs');
+var style = require('../wxs/style.wxs');
+
+function kebabCase(word) {
+ var newWord = word
+ .replace(getRegExp("[A-Z]", 'g'), function (i) {
+ return '-' + i;
+ })
+ .toLowerCase()
+ .replace(getRegExp("^-"), '');
+
+ return newWord;
+}
+
+function mapThemeVarsToCSSVars(themeVars) {
+ var cssVars = {};
+ object.keys(themeVars).forEach(function (key) {
+ var cssVarsKey = '--' + kebabCase(key);
+ cssVars[cssVarsKey] = themeVars[key];
+ });
+
+ return style(cssVars);
+}
+
+module.exports = {
+ kebabCase: kebabCase,
+ mapThemeVarsToCSSVars: mapThemeVarsToCSSVars,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/count-down/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/count-down/index.js
new file mode 100644
index 0000000..afc780b
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/count-down/index.js
@@ -0,0 +1,104 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var utils_1 = require("./utils");
+function simpleTick(fn) {
+ return setTimeout(fn, 30);
+}
+(0, component_1.VantComponent)({
+ props: {
+ useSlot: Boolean,
+ millisecond: Boolean,
+ time: {
+ type: Number,
+ observer: 'reset',
+ },
+ format: {
+ type: String,
+ value: 'HH:mm:ss',
+ },
+ autoStart: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ timeData: (0, utils_1.parseTimeData)(0),
+ formattedTime: '0',
+ },
+ destroyed: function () {
+ clearTimeout(this.tid);
+ this.tid = null;
+ },
+ methods: {
+ // 开始
+ start: function () {
+ if (this.counting) {
+ return;
+ }
+ this.counting = true;
+ this.endTime = Date.now() + this.remain;
+ this.tick();
+ },
+ // 暂停
+ pause: function () {
+ this.counting = false;
+ clearTimeout(this.tid);
+ },
+ // 重置
+ reset: function () {
+ this.pause();
+ this.remain = this.data.time;
+ this.setRemain(this.remain);
+ if (this.data.autoStart) {
+ this.start();
+ }
+ },
+ tick: function () {
+ if (this.data.millisecond) {
+ this.microTick();
+ }
+ else {
+ this.macroTick();
+ }
+ },
+ microTick: function () {
+ var _this = this;
+ this.tid = simpleTick(function () {
+ _this.setRemain(_this.getRemain());
+ if (_this.remain !== 0) {
+ _this.microTick();
+ }
+ });
+ },
+ macroTick: function () {
+ var _this = this;
+ this.tid = simpleTick(function () {
+ var remain = _this.getRemain();
+ if (!(0, utils_1.isSameSecond)(remain, _this.remain) || remain === 0) {
+ _this.setRemain(remain);
+ }
+ if (_this.remain !== 0) {
+ _this.macroTick();
+ }
+ });
+ },
+ getRemain: function () {
+ return Math.max(this.endTime - Date.now(), 0);
+ },
+ setRemain: function (remain) {
+ this.remain = remain;
+ var timeData = (0, utils_1.parseTimeData)(remain);
+ if (this.data.useSlot) {
+ this.$emit('change', timeData);
+ }
+ this.setData({
+ formattedTime: (0, utils_1.parseFormat)(this.data.format, timeData),
+ });
+ if (remain === 0) {
+ this.pause();
+ this.$emit('finish');
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/count-down/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/count-down/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/count-down/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/count-down/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/count-down/index.wxml
new file mode 100644
index 0000000..e206e16
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/count-down/index.wxml
@@ -0,0 +1,4 @@
+
+
+ {{ formattedTime }}
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/count-down/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/count-down/index.wxss
new file mode 100644
index 0000000..8b957f7
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/count-down/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-count-down{color:var(--count-down-text-color,#323233);font-size:var(--count-down-font-size,14px);line-height:var(--count-down-line-height,20px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/count-down/utils.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/count-down/utils.js
new file mode 100644
index 0000000..a7cfa5f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/count-down/utils.js
@@ -0,0 +1,64 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.isSameSecond = exports.parseFormat = exports.parseTimeData = void 0;
+function padZero(num, targetLength) {
+ if (targetLength === void 0) { targetLength = 2; }
+ var str = num + '';
+ while (str.length < targetLength) {
+ str = '0' + str;
+ }
+ return str;
+}
+var SECOND = 1000;
+var MINUTE = 60 * SECOND;
+var HOUR = 60 * MINUTE;
+var DAY = 24 * HOUR;
+function parseTimeData(time) {
+ var days = Math.floor(time / DAY);
+ var hours = Math.floor((time % DAY) / HOUR);
+ var minutes = Math.floor((time % HOUR) / MINUTE);
+ var seconds = Math.floor((time % MINUTE) / SECOND);
+ var milliseconds = Math.floor(time % SECOND);
+ return {
+ days: days,
+ hours: hours,
+ minutes: minutes,
+ seconds: seconds,
+ milliseconds: milliseconds,
+ };
+}
+exports.parseTimeData = parseTimeData;
+function parseFormat(format, timeData) {
+ var days = timeData.days;
+ var hours = timeData.hours, minutes = timeData.minutes, seconds = timeData.seconds, milliseconds = timeData.milliseconds;
+ if (format.indexOf('DD') === -1) {
+ hours += days * 24;
+ }
+ else {
+ format = format.replace('DD', padZero(days));
+ }
+ if (format.indexOf('HH') === -1) {
+ minutes += hours * 60;
+ }
+ else {
+ format = format.replace('HH', padZero(hours));
+ }
+ if (format.indexOf('mm') === -1) {
+ seconds += minutes * 60;
+ }
+ else {
+ format = format.replace('mm', padZero(minutes));
+ }
+ if (format.indexOf('ss') === -1) {
+ milliseconds += seconds * 1000;
+ }
+ else {
+ format = format.replace('ss', padZero(seconds));
+ }
+ return format.replace('SSS', padZero(milliseconds, 3));
+}
+exports.parseFormat = parseFormat;
+function isSameSecond(time1, time2) {
+ return Math.floor(time1 / 1000) === Math.floor(time2 / 1000);
+}
+exports.isSameSecond = isSameSecond;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/datetime-picker/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/datetime-picker/index.js
new file mode 100644
index 0000000..9f9679c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/datetime-picker/index.js
@@ -0,0 +1,329 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+ if (ar || !(i in from)) {
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+ ar[i] = from[i];
+ }
+ }
+ return to.concat(ar || Array.prototype.slice.call(from));
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var validator_1 = require("../common/validator");
+var shared_1 = require("../picker/shared");
+var currentYear = new Date().getFullYear();
+function isValidDate(date) {
+ return (0, validator_1.isDef)(date) && !isNaN(new Date(date).getTime());
+}
+function range(num, min, max) {
+ return Math.min(Math.max(num, min), max);
+}
+function padZero(val) {
+ return ("00" + val).slice(-2);
+}
+function times(n, iteratee) {
+ var index = -1;
+ var result = Array(n < 0 ? 0 : n);
+ while (++index < n) {
+ result[index] = iteratee(index);
+ }
+ return result;
+}
+function getTrueValue(formattedValue) {
+ if (formattedValue === undefined) {
+ formattedValue = '1';
+ }
+ while (isNaN(parseInt(formattedValue, 10))) {
+ formattedValue = formattedValue.slice(1);
+ }
+ return parseInt(formattedValue, 10);
+}
+function getMonthEndDay(year, month) {
+ return 32 - new Date(year, month - 1, 32).getDate();
+}
+var defaultFormatter = function (type, value) { return value; };
+(0, component_1.VantComponent)({
+ classes: ['active-class', 'toolbar-class', 'column-class'],
+ props: __assign(__assign({}, shared_1.pickerProps), { value: {
+ type: null,
+ observer: 'updateValue',
+ }, filter: null, type: {
+ type: String,
+ value: 'datetime',
+ observer: 'updateValue',
+ }, showToolbar: {
+ type: Boolean,
+ value: true,
+ }, formatter: {
+ type: null,
+ value: defaultFormatter,
+ }, minDate: {
+ type: Number,
+ value: new Date(currentYear - 10, 0, 1).getTime(),
+ observer: 'updateValue',
+ }, maxDate: {
+ type: Number,
+ value: new Date(currentYear + 10, 11, 31).getTime(),
+ observer: 'updateValue',
+ }, minHour: {
+ type: Number,
+ value: 0,
+ observer: 'updateValue',
+ }, maxHour: {
+ type: Number,
+ value: 23,
+ observer: 'updateValue',
+ }, minMinute: {
+ type: Number,
+ value: 0,
+ observer: 'updateValue',
+ }, maxMinute: {
+ type: Number,
+ value: 59,
+ observer: 'updateValue',
+ } }),
+ data: {
+ innerValue: Date.now(),
+ columns: [],
+ },
+ methods: {
+ updateValue: function () {
+ var _this = this;
+ var data = this.data;
+ var val = this.correctValue(data.value);
+ var isEqual = val === data.innerValue;
+ this.updateColumnValue(val).then(function () {
+ if (!isEqual) {
+ _this.$emit('input', val);
+ }
+ });
+ },
+ getPicker: function () {
+ if (this.picker == null) {
+ this.picker = this.selectComponent('.van-datetime-picker');
+ var picker_1 = this.picker;
+ var setColumnValues_1 = picker_1.setColumnValues;
+ picker_1.setColumnValues = function () {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ return setColumnValues_1.apply(picker_1, __spreadArray(__spreadArray([], args, true), [false], false));
+ };
+ }
+ return this.picker;
+ },
+ updateColumns: function () {
+ var _a = this.data.formatter, formatter = _a === void 0 ? defaultFormatter : _a;
+ var results = this.getOriginColumns().map(function (column) { return ({
+ values: column.values.map(function (value) { return formatter(column.type, value); }),
+ }); });
+ return this.set({ columns: results });
+ },
+ getOriginColumns: function () {
+ var filter = this.data.filter;
+ var results = this.getRanges().map(function (_a) {
+ var type = _a.type, range = _a.range;
+ var values = times(range[1] - range[0] + 1, function (index) {
+ var value = range[0] + index;
+ return type === 'year' ? "" + value : padZero(value);
+ });
+ if (filter) {
+ values = filter(type, values);
+ }
+ return { type: type, values: values };
+ });
+ return results;
+ },
+ getRanges: function () {
+ var data = this.data;
+ if (data.type === 'time') {
+ return [
+ {
+ type: 'hour',
+ range: [data.minHour, data.maxHour],
+ },
+ {
+ type: 'minute',
+ range: [data.minMinute, data.maxMinute],
+ },
+ ];
+ }
+ var _a = this.getBoundary('max', data.innerValue), maxYear = _a.maxYear, maxDate = _a.maxDate, maxMonth = _a.maxMonth, maxHour = _a.maxHour, maxMinute = _a.maxMinute;
+ var _b = this.getBoundary('min', data.innerValue), minYear = _b.minYear, minDate = _b.minDate, minMonth = _b.minMonth, minHour = _b.minHour, minMinute = _b.minMinute;
+ var result = [
+ {
+ type: 'year',
+ range: [minYear, maxYear],
+ },
+ {
+ type: 'month',
+ range: [minMonth, maxMonth],
+ },
+ {
+ type: 'day',
+ range: [minDate, maxDate],
+ },
+ {
+ type: 'hour',
+ range: [minHour, maxHour],
+ },
+ {
+ type: 'minute',
+ range: [minMinute, maxMinute],
+ },
+ ];
+ if (data.type === 'date')
+ result.splice(3, 2);
+ if (data.type === 'year-month')
+ result.splice(2, 3);
+ return result;
+ },
+ correctValue: function (value) {
+ var data = this.data;
+ // validate value
+ var isDateType = data.type !== 'time';
+ if (isDateType && !isValidDate(value)) {
+ value = data.minDate;
+ }
+ else if (!isDateType && !value) {
+ var minHour = data.minHour;
+ value = padZero(minHour) + ":00";
+ }
+ // time type
+ if (!isDateType) {
+ var _a = value.split(':'), hour = _a[0], minute = _a[1];
+ hour = padZero(range(hour, data.minHour, data.maxHour));
+ minute = padZero(range(minute, data.minMinute, data.maxMinute));
+ return hour + ":" + minute;
+ }
+ // date type
+ value = Math.max(value, data.minDate);
+ value = Math.min(value, data.maxDate);
+ return value;
+ },
+ getBoundary: function (type, innerValue) {
+ var _a;
+ var value = new Date(innerValue);
+ var boundary = new Date(this.data[type + "Date"]);
+ var year = boundary.getFullYear();
+ var month = 1;
+ var date = 1;
+ var hour = 0;
+ var minute = 0;
+ if (type === 'max') {
+ month = 12;
+ date = getMonthEndDay(value.getFullYear(), value.getMonth() + 1);
+ hour = 23;
+ minute = 59;
+ }
+ if (value.getFullYear() === year) {
+ month = boundary.getMonth() + 1;
+ if (value.getMonth() + 1 === month) {
+ date = boundary.getDate();
+ if (value.getDate() === date) {
+ hour = boundary.getHours();
+ if (value.getHours() === hour) {
+ minute = boundary.getMinutes();
+ }
+ }
+ }
+ }
+ return _a = {},
+ _a[type + "Year"] = year,
+ _a[type + "Month"] = month,
+ _a[type + "Date"] = date,
+ _a[type + "Hour"] = hour,
+ _a[type + "Minute"] = minute,
+ _a;
+ },
+ onCancel: function () {
+ this.$emit('cancel');
+ },
+ onConfirm: function () {
+ this.$emit('confirm', this.data.innerValue);
+ },
+ onChange: function () {
+ var _this = this;
+ var data = this.data;
+ var value;
+ var picker = this.getPicker();
+ var originColumns = this.getOriginColumns();
+ if (data.type === 'time') {
+ var indexes = picker.getIndexes();
+ value = +originColumns[0].values[indexes[0]] + ":" + +originColumns[1]
+ .values[indexes[1]];
+ }
+ else {
+ var indexes = picker.getIndexes();
+ var values = indexes.map(function (value, index) { return originColumns[index].values[value]; });
+ var year = getTrueValue(values[0]);
+ var month = getTrueValue(values[1]);
+ var maxDate = getMonthEndDay(year, month);
+ var date = getTrueValue(values[2]);
+ if (data.type === 'year-month') {
+ date = 1;
+ }
+ date = date > maxDate ? maxDate : date;
+ var hour = 0;
+ var minute = 0;
+ if (data.type === 'datetime') {
+ hour = getTrueValue(values[3]);
+ minute = getTrueValue(values[4]);
+ }
+ value = new Date(year, month - 1, date, hour, minute);
+ }
+ value = this.correctValue(value);
+ this.updateColumnValue(value).then(function () {
+ _this.$emit('input', value);
+ _this.$emit('change', picker);
+ });
+ },
+ updateColumnValue: function (value) {
+ var _this = this;
+ var values = [];
+ var type = this.data.type;
+ var formatter = this.data.formatter || defaultFormatter;
+ var picker = this.getPicker();
+ if (type === 'time') {
+ var pair = value.split(':');
+ values = [formatter('hour', pair[0]), formatter('minute', pair[1])];
+ }
+ else {
+ var date = new Date(value);
+ values = [
+ formatter('year', "" + date.getFullYear()),
+ formatter('month', padZero(date.getMonth() + 1)),
+ ];
+ if (type === 'date') {
+ values.push(formatter('day', padZero(date.getDate())));
+ }
+ if (type === 'datetime') {
+ values.push(formatter('day', padZero(date.getDate())), formatter('hour', padZero(date.getHours())), formatter('minute', padZero(date.getMinutes())));
+ }
+ }
+ return this.set({ innerValue: value })
+ .then(function () { return _this.updateColumns(); })
+ .then(function () { return picker.setValues(values); });
+ },
+ },
+ created: function () {
+ var _this = this;
+ var innerValue = this.correctValue(this.data.value);
+ this.updateColumnValue(innerValue).then(function () {
+ _this.$emit('input', innerValue);
+ });
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/datetime-picker/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/datetime-picker/index.json
new file mode 100644
index 0000000..a778e91
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/datetime-picker/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-picker": "../picker/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/datetime-picker/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/datetime-picker/index.wxml
new file mode 100644
index 0000000..ade2202
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/datetime-picker/index.wxml
@@ -0,0 +1,16 @@
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/datetime-picker/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/datetime-picker/index.wxss
new file mode 100644
index 0000000..99694d6
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/datetime-picker/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/definitions/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/definitions/index.js
new file mode 100644
index 0000000..c8ad2e5
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/definitions/index.js
@@ -0,0 +1,2 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/dialog/dialog.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dialog/dialog.js
new file mode 100644
index 0000000..0cba6ab
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dialog/dialog.js
@@ -0,0 +1,90 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var queue = [];
+var defaultOptions = {
+ show: false,
+ title: '',
+ width: null,
+ theme: 'default',
+ message: '',
+ zIndex: 100,
+ overlay: true,
+ selector: '#van-dialog',
+ className: '',
+ asyncClose: false,
+ beforeClose: null,
+ transition: 'scale',
+ customStyle: '',
+ messageAlign: '',
+ overlayStyle: '',
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ showConfirmButton: true,
+ showCancelButton: false,
+ closeOnClickOverlay: false,
+ confirmButtonOpenType: '',
+};
+var currentOptions = __assign({}, defaultOptions);
+function getContext() {
+ var pages = getCurrentPages();
+ return pages[pages.length - 1];
+}
+var Dialog = function (options) {
+ options = __assign(__assign({}, currentOptions), options);
+ return new Promise(function (resolve, reject) {
+ var context = options.context || getContext();
+ var dialog = context.selectComponent(options.selector);
+ delete options.context;
+ delete options.selector;
+ if (dialog) {
+ dialog.setData(__assign({ callback: function (action, instance) {
+ action === 'confirm' ? resolve(instance) : reject(instance);
+ } }, options));
+ wx.nextTick(function () {
+ dialog.setData({ show: true });
+ });
+ queue.push(dialog);
+ }
+ else {
+ console.warn('未找到 van-dialog 节点,请确认 selector 及 context 是否正确');
+ }
+ });
+};
+Dialog.alert = function (options) { return Dialog(options); };
+Dialog.confirm = function (options) {
+ return Dialog(__assign({ showCancelButton: true }, options));
+};
+Dialog.close = function () {
+ queue.forEach(function (dialog) {
+ dialog.close();
+ });
+ queue = [];
+};
+Dialog.stopLoading = function () {
+ queue.forEach(function (dialog) {
+ dialog.stopLoading();
+ });
+};
+Dialog.currentOptions = currentOptions;
+Dialog.defaultOptions = defaultOptions;
+Dialog.setDefaultOptions = function (options) {
+ currentOptions = __assign(__assign({}, currentOptions), options);
+ Dialog.currentOptions = currentOptions;
+};
+Dialog.resetDefaultOptions = function () {
+ currentOptions = __assign({}, defaultOptions);
+ Dialog.currentOptions = currentOptions;
+};
+Dialog.resetDefaultOptions();
+exports.default = Dialog;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/dialog/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dialog/index.js
new file mode 100644
index 0000000..d86697c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dialog/index.js
@@ -0,0 +1,127 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var button_1 = require("../mixins/button");
+var color_1 = require("../common/color");
+var utils_1 = require("../common/utils");
+(0, component_1.VantComponent)({
+ mixins: [button_1.button],
+ props: {
+ show: {
+ type: Boolean,
+ observer: function (show) {
+ !show && this.stopLoading();
+ },
+ },
+ title: String,
+ message: String,
+ theme: {
+ type: String,
+ value: 'default',
+ },
+ useSlot: Boolean,
+ className: String,
+ customStyle: String,
+ asyncClose: Boolean,
+ messageAlign: String,
+ beforeClose: null,
+ overlayStyle: String,
+ useTitleSlot: Boolean,
+ showCancelButton: Boolean,
+ closeOnClickOverlay: Boolean,
+ confirmButtonOpenType: String,
+ width: null,
+ zIndex: {
+ type: Number,
+ value: 2000,
+ },
+ confirmButtonText: {
+ type: String,
+ value: '确认',
+ },
+ cancelButtonText: {
+ type: String,
+ value: '取消',
+ },
+ confirmButtonColor: {
+ type: String,
+ value: color_1.RED,
+ },
+ cancelButtonColor: {
+ type: String,
+ value: color_1.GRAY,
+ },
+ showConfirmButton: {
+ type: Boolean,
+ value: true,
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ },
+ transition: {
+ type: String,
+ value: 'scale',
+ },
+ },
+ data: {
+ loading: {
+ confirm: false,
+ cancel: false,
+ },
+ callback: (function () { }),
+ },
+ methods: {
+ onConfirm: function () {
+ this.handleAction('confirm');
+ },
+ onCancel: function () {
+ this.handleAction('cancel');
+ },
+ onClickOverlay: function () {
+ this.close('overlay');
+ },
+ close: function (action) {
+ var _this = this;
+ this.setData({ show: false });
+ wx.nextTick(function () {
+ _this.$emit('close', action);
+ var callback = _this.data.callback;
+ if (callback) {
+ callback(action, _this);
+ }
+ });
+ },
+ stopLoading: function () {
+ this.setData({
+ loading: {
+ confirm: false,
+ cancel: false,
+ },
+ });
+ },
+ handleAction: function (action) {
+ var _a;
+ var _this = this;
+ this.$emit(action, { dialog: this });
+ var _b = this.data, asyncClose = _b.asyncClose, beforeClose = _b.beforeClose;
+ if (!asyncClose && !beforeClose) {
+ this.close(action);
+ return;
+ }
+ this.setData((_a = {},
+ _a["loading." + action] = true,
+ _a));
+ if (beforeClose) {
+ (0, utils_1.toPromise)(beforeClose(action)).then(function (value) {
+ if (value) {
+ _this.close(action);
+ }
+ else {
+ _this.stopLoading();
+ }
+ });
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/dialog/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dialog/index.json
new file mode 100644
index 0000000..43417fc
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dialog/index.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../popup/index",
+ "van-button": "../button/index",
+ "van-goods-action": "../goods-action/index",
+ "van-goods-action-button": "../goods-action-button/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/dialog/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dialog/index.wxml
new file mode 100644
index 0000000..f49dee4
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dialog/index.wxml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+ {{ message }}
+
+
+
+
+ {{ cancelButtonText }}
+
+
+ {{ confirmButtonText }}
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/dialog/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dialog/index.wxss
new file mode 100644
index 0000000..571861a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dialog/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-dialog{background-color:var(--dialog-background-color,#fff);border-radius:var(--dialog-border-radius,16px);font-size:var(--dialog-font-size,16px);overflow:hidden;top:45%!important;width:var(--dialog-width,320px)}@media (max-width:321px){.van-dialog{width:var(--dialog-small-screen-width,90%)}}.van-dialog__header{font-weight:var(--dialog-header-font-weight,500);line-height:var(--dialog-header-line-height,24px);padding-top:var(--dialog-header-padding-top,24px);text-align:center}.van-dialog__header--isolated{padding:var(--dialog-header-isolated-padding,24px 0)}.van-dialog__message{-webkit-overflow-scrolling:touch;font-size:var(--dialog-message-font-size,14px);line-height:var(--dialog-message-line-height,20px);max-height:var(--dialog-message-max-height,60vh);overflow-y:auto;padding:var(--dialog-message-padding,24px);text-align:center}.van-dialog__message-text{word-wrap:break-word}.van-dialog__message--hasTitle{color:var(--dialog-has-title-message-text-color,#646566);padding-top:var(--dialog-has-title-message-padding-top,8px)}.van-dialog__message--round-button{color:#323233;padding-bottom:16px}.van-dialog__message--left{text-align:left}.van-dialog__message--right{text-align:right}.van-dialog__footer{display:flex}.van-dialog__footer--round-button{padding:8px 24px 16px!important;position:relative!important}.van-dialog__button{flex:1}.van-dialog__cancel,.van-dialog__confirm{border:0!important}.van-dialog-bounce-enter{opacity:0;transform:translate3d(-50%,-50%,0) scale(.7)}.van-dialog-bounce-leave-active{opacity:0;transform:translate3d(-50%,-50%,0) scale(.9)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/divider/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/divider/index.js
new file mode 100644
index 0000000..5c63844
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/divider/index.js
@@ -0,0 +1,14 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ dashed: Boolean,
+ hairline: Boolean,
+ contentPosition: String,
+ fontSize: String,
+ borderColor: String,
+ textColor: String,
+ customStyle: String,
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/divider/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/divider/index.json
new file mode 100644
index 0000000..a89ef4d
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/divider/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/divider/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/divider/index.wxml
new file mode 100644
index 0000000..f6a5a45
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/divider/index.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/divider/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/divider/index.wxs
new file mode 100644
index 0000000..215b14f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/divider/index.wxs
@@ -0,0 +1,18 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ return style([
+ {
+ 'border-color': data.borderColor,
+ color: data.textColor,
+ 'font-size': addUnit(data.fontSize),
+ },
+ data.customStyle,
+ ]);
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/divider/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/divider/index.wxss
new file mode 100644
index 0000000..e91dc44
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/divider/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-divider{align-items:center;border:0 solid var(--divider-border-color,#ebedf0);color:var(--divider-text-color,#969799);display:flex;font-size:var(--divider-font-size,14px);line-height:var(--divider-line-height,24px);margin:var(--divider-margin,16px 0)}.van-divider:after,.van-divider:before{border-color:inherit;border-style:inherit;border-width:1px 0 0;box-sizing:border-box;display:block;flex:1;height:1px}.van-divider:before{content:""}.van-divider--hairline:after,.van-divider--hairline:before{transform:scaleY(.5)}.van-divider--dashed{border-style:dashed}.van-divider--center:before,.van-divider--left:before,.van-divider--right:before{margin-right:var(--divider-content-padding,16px)}.van-divider--center:after,.van-divider--left:after,.van-divider--right:after{content:"";margin-left:var(--divider-content-padding,16px)}.van-divider--left:before{max-width:var(--divider-content-left-width,10%)}.van-divider--right:after{max-width:var(--divider-content-right-width,10%)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-item/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-item/index.js
new file mode 100644
index 0000000..42de11f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-item/index.js
@@ -0,0 +1,107 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var relation_1 = require("../common/relation");
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ field: true,
+ relation: (0, relation_1.useParent)('dropdown-menu', function () {
+ this.updateDataFromParent();
+ }),
+ props: {
+ value: {
+ type: null,
+ observer: 'rerender',
+ },
+ title: {
+ type: String,
+ observer: 'rerender',
+ },
+ disabled: Boolean,
+ titleClass: {
+ type: String,
+ observer: 'rerender',
+ },
+ options: {
+ type: Array,
+ value: [],
+ observer: 'rerender',
+ },
+ popupStyle: String,
+ },
+ data: {
+ transition: true,
+ showPopup: false,
+ showWrapper: false,
+ displayTitle: '',
+ },
+ methods: {
+ rerender: function () {
+ var _this = this;
+ wx.nextTick(function () {
+ var _a;
+ (_a = _this.parent) === null || _a === void 0 ? void 0 : _a.updateItemListData();
+ });
+ },
+ updateDataFromParent: function () {
+ if (this.parent) {
+ var _a = this.parent.data, overlay = _a.overlay, duration = _a.duration, activeColor = _a.activeColor, closeOnClickOverlay = _a.closeOnClickOverlay, direction = _a.direction;
+ this.setData({
+ overlay: overlay,
+ duration: duration,
+ activeColor: activeColor,
+ closeOnClickOverlay: closeOnClickOverlay,
+ direction: direction,
+ });
+ }
+ },
+ onOpen: function () {
+ this.$emit('open');
+ },
+ onOpened: function () {
+ this.$emit('opened');
+ },
+ onClose: function () {
+ this.$emit('close');
+ },
+ onClosed: function () {
+ this.$emit('closed');
+ this.setData({ showWrapper: false });
+ },
+ onOptionTap: function (event) {
+ var option = event.currentTarget.dataset.option;
+ var value = option.value;
+ var shouldEmitChange = this.data.value !== value;
+ this.setData({ showPopup: false, value: value });
+ this.$emit('close');
+ this.rerender();
+ if (shouldEmitChange) {
+ this.$emit('change', value);
+ }
+ },
+ toggle: function (show, options) {
+ var _this = this;
+ var _a;
+ if (options === void 0) { options = {}; }
+ var showPopup = this.data.showPopup;
+ if (typeof show !== 'boolean') {
+ show = !showPopup;
+ }
+ if (show === showPopup) {
+ return;
+ }
+ this.setData({
+ transition: !options.immediate,
+ showPopup: show,
+ });
+ if (show) {
+ (_a = this.parent) === null || _a === void 0 ? void 0 : _a.getChildWrapperStyle().then(function (wrapperStyle) {
+ _this.setData({ wrapperStyle: wrapperStyle, showWrapper: true });
+ _this.rerender();
+ });
+ }
+ else {
+ this.rerender();
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-item/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-item/index.json
new file mode 100644
index 0000000..88d5409
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-item/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../popup/index",
+ "van-cell": "../cell/index",
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-item/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-item/index.wxml
new file mode 100644
index 0000000..dd75292
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-item/index.wxml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+ {{ item.text }}
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-item/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-item/index.wxss
new file mode 100644
index 0000000..80505e9
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-dropdown-item{left:0;overflow:hidden;position:fixed;right:0}.van-dropdown-item__option{text-align:left}.van-dropdown-item__option--active .van-dropdown-item__icon,.van-dropdown-item__option--active .van-dropdown-item__title{color:var(--dropdown-menu-option-active-color,#ee0a24)}.van-dropdown-item--up{top:0}.van-dropdown-item--down{bottom:0}.van-dropdown-item__icon{display:block;line-height:inherit}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-item/shared.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-item/shared.js
new file mode 100644
index 0000000..c8ad2e5
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-item/shared.js
@@ -0,0 +1,2 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-menu/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-menu/index.js
new file mode 100644
index 0000000..62f517a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-menu/index.js
@@ -0,0 +1,117 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+var utils_1 = require("../common/utils");
+var ARRAY = [];
+(0, component_1.VantComponent)({
+ field: true,
+ relation: (0, relation_1.useChildren)('dropdown-item', function () {
+ this.updateItemListData();
+ }),
+ props: {
+ activeColor: {
+ type: String,
+ observer: 'updateChildrenData',
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ observer: 'updateChildrenData',
+ },
+ zIndex: {
+ type: Number,
+ value: 10,
+ },
+ duration: {
+ type: Number,
+ value: 200,
+ observer: 'updateChildrenData',
+ },
+ direction: {
+ type: String,
+ value: 'down',
+ observer: 'updateChildrenData',
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ observer: 'updateChildrenData',
+ },
+ closeOnClickOutside: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ itemListData: [],
+ },
+ beforeCreate: function () {
+ var windowHeight = (0, utils_1.getSystemInfoSync)().windowHeight;
+ this.windowHeight = windowHeight;
+ ARRAY.push(this);
+ },
+ destroyed: function () {
+ var _this = this;
+ ARRAY = ARRAY.filter(function (item) { return item !== _this; });
+ },
+ methods: {
+ updateItemListData: function () {
+ this.setData({
+ itemListData: this.children.map(function (child) { return child.data; }),
+ });
+ },
+ updateChildrenData: function () {
+ this.children.forEach(function (child) {
+ child.updateDataFromParent();
+ });
+ },
+ toggleItem: function (active) {
+ this.children.forEach(function (item, index) {
+ var showPopup = item.data.showPopup;
+ if (index === active) {
+ item.toggle();
+ }
+ else if (showPopup) {
+ item.toggle(false, { immediate: true });
+ }
+ });
+ },
+ close: function () {
+ this.children.forEach(function (child) {
+ child.toggle(false, { immediate: true });
+ });
+ },
+ getChildWrapperStyle: function () {
+ var _this = this;
+ var _a = this.data, zIndex = _a.zIndex, direction = _a.direction;
+ return (0, utils_1.getRect)(this, '.van-dropdown-menu').then(function (rect) {
+ var _a = rect.top, top = _a === void 0 ? 0 : _a, _b = rect.bottom, bottom = _b === void 0 ? 0 : _b;
+ var offset = direction === 'down' ? bottom : _this.windowHeight - top;
+ var wrapperStyle = "z-index: " + zIndex + ";";
+ if (direction === 'down') {
+ wrapperStyle += "top: " + (0, utils_1.addUnit)(offset) + ";";
+ }
+ else {
+ wrapperStyle += "bottom: " + (0, utils_1.addUnit)(offset) + ";";
+ }
+ return wrapperStyle;
+ });
+ },
+ onTitleTap: function (event) {
+ var _this = this;
+ var index = event.currentTarget.dataset.index;
+ var child = this.children[index];
+ if (!child.data.disabled) {
+ ARRAY.forEach(function (menuItem) {
+ if (menuItem &&
+ menuItem.data.closeOnClickOutside &&
+ menuItem !== _this) {
+ menuItem.close();
+ }
+ });
+ this.toggleItem(index);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-menu/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-menu/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-menu/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-menu/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-menu/index.wxml
new file mode 100644
index 0000000..cfd661d
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-menu/index.wxml
@@ -0,0 +1,23 @@
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-menu/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-menu/index.wxs
new file mode 100644
index 0000000..6538854
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-menu/index.wxs
@@ -0,0 +1,16 @@
+/* eslint-disable */
+function displayTitle(item) {
+ if (item.title) {
+ return item.title;
+ }
+
+ var match = item.options.filter(function(option) {
+ return option.value === item.value;
+ });
+ var displayTitle = match.length ? match[0].text : '';
+ return displayTitle;
+}
+
+module.exports = {
+ displayTitle: displayTitle
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-menu/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-menu/index.wxss
new file mode 100644
index 0000000..daa5748
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/dropdown-menu/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-dropdown-menu{background-color:var(--dropdown-menu-background-color,#fff);box-shadow:var(--dropdown-menu-box-shadow,0 2px 12px hsla(210,1%,40%,.12));display:flex;height:var(--dropdown-menu-height,50px);-webkit-user-select:none;user-select:none}.van-dropdown-menu__item{align-items:center;display:flex;flex:1;justify-content:center;min-width:0}.van-dropdown-menu__item:active{opacity:.7}.van-dropdown-menu__item--disabled:active{opacity:1}.van-dropdown-menu__item--disabled .van-dropdown-menu__title{color:var(--dropdown-menu-title-disabled-text-color,#969799)}.van-dropdown-menu__title{box-sizing:border-box;color:var(--dropdown-menu-title-text-color,#323233);font-size:var(--dropdown-menu-title-font-size,15px);line-height:var(--dropdown-menu-title-line-height,18px);max-width:100%;padding:var(--dropdown-menu-title-padding,0 8px);position:relative}.van-dropdown-menu__title:after{border-color:transparent transparent currentcolor currentcolor;border-style:solid;border-width:3px;content:"";margin-top:-5px;opacity:.8;position:absolute;right:-4px;top:50%;transform:rotate(-45deg)}.van-dropdown-menu__title--active{color:var(--dropdown-menu-title-active-text-color,#ee0a24)}.van-dropdown-menu__title--down:after{margin-top:-1px;transform:rotate(135deg)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/empty/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/empty/index.js
new file mode 100644
index 0000000..755e638
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/empty/index.js
@@ -0,0 +1,12 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ description: String,
+ image: {
+ type: String,
+ value: 'default',
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/empty/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/empty/index.json
new file mode 100644
index 0000000..a89ef4d
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/empty/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/empty/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/empty/index.wxml
new file mode 100644
index 0000000..9c7b719
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/empty/index.wxml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ description }}
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/empty/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/empty/index.wxs
new file mode 100644
index 0000000..cf92ece
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/empty/index.wxs
@@ -0,0 +1,15 @@
+/* eslint-disable */
+var PRESETS = ['error', 'search', 'default', 'network'];
+
+function imageUrl(image) {
+ if (PRESETS.indexOf(image) !== -1) {
+ return 'https://img.yzcdn.cn/vant/empty-image-' + image + '.png';
+ }
+
+ return image;
+}
+
+module.exports = {
+ imageUrl: imageUrl,
+};
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/empty/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/empty/index.wxss
new file mode 100644
index 0000000..0fb74fe
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/empty/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-empty{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:32px 0}.van-empty__image{height:160px;width:160px}.van-empty__image:empty{display:none}.van-empty__image__img{height:100%;width:100%}.van-empty__image:not(:empty)+.van-empty__image{display:none}.van-empty__description{color:#969799;font-size:14px;line-height:20px;margin-top:16px;padding:0 60px}.van-empty__description:empty,.van-empty__description:not(:empty)+.van-empty__description{display:none}.van-empty__bottom{margin-top:24px}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/index.js
new file mode 100644
index 0000000..5e93c3a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/index.js
@@ -0,0 +1,122 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var utils_1 = require("../common/utils");
+var component_1 = require("../common/component");
+var props_1 = require("./props");
+(0, component_1.VantComponent)({
+ field: true,
+ classes: ['input-class', 'right-icon-class', 'label-class'],
+ props: __assign(__assign(__assign(__assign({}, props_1.commonProps), props_1.inputProps), props_1.textareaProps), { size: String, icon: String, label: String, error: Boolean, center: Boolean, isLink: Boolean, leftIcon: String, rightIcon: String, autosize: null, required: Boolean, iconClass: String, clickable: Boolean, inputAlign: String, customStyle: String, errorMessage: String, arrowDirection: String, showWordLimit: Boolean, errorMessageAlign: String, readonly: {
+ type: Boolean,
+ observer: 'setShowClear',
+ }, clearable: {
+ type: Boolean,
+ observer: 'setShowClear',
+ }, clearTrigger: {
+ type: String,
+ value: 'focus',
+ }, border: {
+ type: Boolean,
+ value: true,
+ }, titleWidth: {
+ type: String,
+ value: '6.2em',
+ }, clearIcon: {
+ type: String,
+ value: 'clear',
+ } }),
+ data: {
+ focused: false,
+ innerValue: '',
+ showClear: false,
+ },
+ created: function () {
+ this.value = this.data.value;
+ this.setData({ innerValue: this.value });
+ },
+ methods: {
+ onInput: function (event) {
+ var _a = (event.detail || {}).value, value = _a === void 0 ? '' : _a;
+ this.value = value;
+ this.setShowClear();
+ this.emitChange();
+ },
+ onFocus: function (event) {
+ this.focused = true;
+ this.setShowClear();
+ this.$emit('focus', event.detail);
+ },
+ onBlur: function (event) {
+ this.focused = false;
+ this.setShowClear();
+ this.$emit('blur', event.detail);
+ },
+ onClickIcon: function () {
+ this.$emit('click-icon');
+ },
+ onClickInput: function (event) {
+ this.$emit('click-input', event.detail);
+ },
+ onClear: function () {
+ var _this = this;
+ this.setData({ innerValue: '' });
+ this.value = '';
+ this.setShowClear();
+ (0, utils_1.nextTick)(function () {
+ _this.emitChange();
+ _this.$emit('clear', '');
+ });
+ },
+ onConfirm: function (event) {
+ var _a = (event.detail || {}).value, value = _a === void 0 ? '' : _a;
+ this.value = value;
+ this.setShowClear();
+ this.$emit('confirm', value);
+ },
+ setValue: function (value) {
+ this.value = value;
+ this.setShowClear();
+ if (value === '') {
+ this.setData({ innerValue: '' });
+ }
+ this.emitChange();
+ },
+ onLineChange: function (event) {
+ this.$emit('linechange', event.detail);
+ },
+ onKeyboardHeightChange: function (event) {
+ this.$emit('keyboardheightchange', event.detail);
+ },
+ emitChange: function () {
+ var _this = this;
+ this.setData({ value: this.value });
+ (0, utils_1.nextTick)(function () {
+ _this.$emit('input', _this.value);
+ _this.$emit('change', _this.value);
+ });
+ },
+ setShowClear: function () {
+ var _a = this.data, clearable = _a.clearable, readonly = _a.readonly, clearTrigger = _a.clearTrigger;
+ var _b = this, focused = _b.focused, value = _b.value;
+ var showClear = false;
+ if (clearable && !readonly) {
+ var hasValue = !!value;
+ var trigger = clearTrigger === 'always' || (clearTrigger === 'focus' && focused);
+ showClear = hasValue && trigger;
+ }
+ this.setData({ showClear: showClear });
+ },
+ noop: function () { },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/index.json
new file mode 100644
index 0000000..5906c50
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-cell": "../cell/index",
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/index.wxml
new file mode 100644
index 0000000..ec2e0ea
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/index.wxml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+ {{ label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ value.length >= maxlength ? maxlength : value.length }}/{{ maxlength }}
+
+
+ {{ errorMessage }}
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/index.wxs
new file mode 100644
index 0000000..78575b9
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/index.wxs
@@ -0,0 +1,18 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function inputStyle(autosize) {
+ if (autosize && autosize.constructor === 'Object') {
+ return style({
+ 'min-height': addUnit(autosize.minHeight),
+ 'max-height': addUnit(autosize.maxHeight),
+ });
+ }
+
+ return '';
+}
+
+module.exports = {
+ inputStyle: inputStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/index.wxss
new file mode 100644
index 0000000..7571fe6
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-field{--cell-icon-size:var(--field-icon-size,16px)}.van-field__label{color:var(--field-label-color,#646566)}.van-field__label--disabled{color:var(--field-disabled-text-color,#c8c9cc)}.van-field__body{align-items:center;display:flex}.van-field__body--textarea{box-sizing:border-box;line-height:1.2em;min-height:var(--cell-line-height,24px);padding:3.6px 0}.van-field__control:empty+.van-field__control{display:block}.van-field__control{background-color:initial;border:0;box-sizing:border-box;color:var(--field-input-text-color,#323233);display:none;height:var(--cell-line-height,24px);line-height:inherit;margin:0;min-height:var(--cell-line-height,24px);padding:0;position:relative;resize:none;text-align:left;width:100%}.van-field__control:empty{display:none}.van-field__control--textarea{height:var(--field-text-area-min-height,18px);min-height:var(--field-text-area-min-height,18px)}.van-field__control--error{color:var(--field-input-error-text-color,#ee0a24)}.van-field__control--disabled{background-color:initial;color:var(--field-input-disabled-text-color,#c8c9cc);opacity:1}.van-field__control--center{text-align:center}.van-field__control--right{text-align:right}.van-field__control--custom{align-items:center;display:flex;min-height:var(--cell-line-height,24px)}.van-field__placeholder{color:var(--field-placeholder-text-color,#c8c9cc);left:0;pointer-events:none;position:absolute;right:0;top:0}.van-field__placeholder--error{color:var(--field-error-message-color,#ee0a24)}.van-field__icon-root{align-items:center;display:flex;min-height:var(--cell-line-height,24px)}.van-field__clear-root,.van-field__icon-container{line-height:inherit;margin-right:calc(var(--padding-xs, 8px)*-1);padding:0 var(--padding-xs,8px);vertical-align:middle}.van-field__button,.van-field__clear-root,.van-field__icon-container{flex-shrink:0}.van-field__clear-root{color:var(--field-clear-icon-color,#c8c9cc);font-size:var(--field-clear-icon-size,16px)}.van-field__icon-container{color:var(--field-icon-container-color,#969799);font-size:var(--field-icon-size,16px)}.van-field__icon-container:empty{display:none}.van-field__button{padding-left:var(--padding-xs,8px)}.van-field__button:empty{display:none}.van-field__error-message{color:var(--field-error-message-color,#ee0a24);font-size:var(--field-error-message-text-font-size,12px);text-align:left}.van-field__error-message--center{text-align:center}.van-field__error-message--right{text-align:right}.van-field__word-limit{color:var(--field-word-limit-color,#646566);font-size:var(--field-word-limit-font-size,12px);line-height:var(--field-word-limit-line-height,16px);margin-top:var(--padding-base,4px);text-align:right}.van-field__word-num{display:inline}.van-field__word-num--full{color:var(--field-word-num-full-color,#ee0a24)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/input.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/input.wxml
new file mode 100644
index 0000000..efe9a08
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/input.wxml
@@ -0,0 +1,28 @@
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/props.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/props.js
new file mode 100644
index 0000000..3cb8dca
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/props.js
@@ -0,0 +1,67 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.textareaProps = exports.inputProps = exports.commonProps = void 0;
+exports.commonProps = {
+ value: {
+ type: String,
+ observer: function (value) {
+ if (value !== this.value) {
+ this.setData({ innerValue: value });
+ this.value = value;
+ }
+ },
+ },
+ placeholder: String,
+ placeholderStyle: String,
+ placeholderClass: String,
+ disabled: Boolean,
+ maxlength: {
+ type: Number,
+ value: -1,
+ },
+ cursorSpacing: {
+ type: Number,
+ value: 50,
+ },
+ autoFocus: Boolean,
+ focus: Boolean,
+ cursor: {
+ type: Number,
+ value: -1,
+ },
+ selectionStart: {
+ type: Number,
+ value: -1,
+ },
+ selectionEnd: {
+ type: Number,
+ value: -1,
+ },
+ adjustPosition: {
+ type: Boolean,
+ value: true,
+ },
+ holdKeyboard: Boolean,
+};
+exports.inputProps = {
+ type: {
+ type: String,
+ value: 'text',
+ },
+ password: Boolean,
+ confirmType: String,
+ confirmHold: Boolean,
+ alwaysEmbed: Boolean,
+};
+exports.textareaProps = {
+ autoHeight: Boolean,
+ fixed: Boolean,
+ showConfirmBar: {
+ type: Boolean,
+ value: true,
+ },
+ disableDefaultPadding: {
+ type: Boolean,
+ value: true,
+ },
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/textarea.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/textarea.wxml
new file mode 100644
index 0000000..5015a51
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/field/textarea.wxml
@@ -0,0 +1,29 @@
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-button/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-button/index.js
new file mode 100644
index 0000000..9872224
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-button/index.js
@@ -0,0 +1,38 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+var button_1 = require("../mixins/button");
+var link_1 = require("../mixins/link");
+(0, component_1.VantComponent)({
+ mixins: [link_1.link, button_1.button],
+ relation: (0, relation_1.useParent)('goods-action'),
+ props: {
+ text: String,
+ color: String,
+ loading: Boolean,
+ disabled: Boolean,
+ plain: Boolean,
+ type: {
+ type: String,
+ value: 'danger',
+ },
+ },
+ methods: {
+ onClick: function (event) {
+ this.$emit('click', event.detail);
+ this.jumpLink();
+ },
+ updateStyle: function () {
+ if (this.parent == null) {
+ return;
+ }
+ var index = this.index;
+ var _a = this.parent.children, children = _a === void 0 ? [] : _a;
+ this.setData({
+ isFirst: index === 0,
+ isLast: index === children.length - 1,
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-button/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-button/index.json
new file mode 100644
index 0000000..b567686
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-button/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-button": "../button/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-button/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-button/index.wxml
new file mode 100644
index 0000000..4505f21
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-button/index.wxml
@@ -0,0 +1,30 @@
+
+
+ {{ text }}
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-button/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-button/index.wxss
new file mode 100644
index 0000000..759a1d9
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-button/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';:host{flex:1}.van-goods-action-button{--button-warning-background-color:var(--goods-action-button-warning-color,linear-gradient(to right,#ffd01e,#ff8917));--button-danger-background-color:var(--goods-action-button-danger-color,linear-gradient(to right,#ff6034,#ee0a24));--button-default-height:var(--goods-action-button-height,40px);--button-line-height:var(--goods-action-button-line-height,20px);--button-plain-background-color:var(--goods-action-button-plain-color,#fff);--button-border-width:0;display:block}.van-goods-action-button--first{--button-border-radius:999px 0 0 var(--goods-action-button-border-radius,999px);margin-left:5px}.van-goods-action-button--last{--button-border-radius:0 999px var(--goods-action-button-border-radius,999px) 0;margin-right:5px}.van-goods-action-button--first.van-goods-action-button--last{--button-border-radius:var(--goods-action-button-border-radius,999px)}.van-goods-action-button--plain{--button-border-width:1px}.van-goods-action-button__inner{font-weight:var(--font-weight-bold,500)!important;width:100%}@media (max-width:321px){.van-goods-action-button{font-size:13px}}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-icon/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-icon/index.js
new file mode 100644
index 0000000..d9bc8f6
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-icon/index.js
@@ -0,0 +1,23 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var button_1 = require("../mixins/button");
+var link_1 = require("../mixins/link");
+(0, component_1.VantComponent)({
+ classes: ['icon-class', 'text-class'],
+ mixins: [link_1.link, button_1.button],
+ props: {
+ text: String,
+ dot: Boolean,
+ info: String,
+ icon: String,
+ disabled: Boolean,
+ loading: Boolean,
+ },
+ methods: {
+ onClick: function (event) {
+ this.$emit('click', event.detail);
+ this.jumpLink();
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-icon/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-icon/index.json
new file mode 100644
index 0000000..93bfe8a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-icon/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-button": "../button/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-icon/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-icon/index.wxml
new file mode 100644
index 0000000..65b7ced
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-icon/index.wxml
@@ -0,0 +1,35 @@
+
+
+
+ {{ text }}
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-icon/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-icon/index.wxss
new file mode 100644
index 0000000..6e4758d
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action-icon/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-goods-action-icon{border:none!important;color:var(--goods-action-icon-text-color,#646566)!important;display:flex!important;flex-direction:column;font-size:var(--goods-action-icon-font-size,10px)!important;height:var(--goods-action-icon-height,50px)!important;justify-content:center!important;line-height:1!important;min-width:var(--goods-action-icon-width,48px)}.van-goods-action-icon__icon{color:var(--goods-action-icon-color,#323233);display:flex;font-size:var(--goods-action-icon-size,18px);margin:0 auto 5px}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action/index.js
new file mode 100644
index 0000000..e49bcbc
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action/index.js
@@ -0,0 +1,17 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useChildren)('goods-action-button', function () {
+ this.children.forEach(function (item) {
+ item.updateStyle();
+ });
+ }),
+ props: {
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action/index.wxml
new file mode 100644
index 0000000..569450c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action/index.wxss
new file mode 100644
index 0000000..7793e77
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/goods-action/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-goods-action{align-items:center;background-color:var(--goods-action-background-color,#fff);bottom:0;box-sizing:initial;display:flex;height:var(--goods-action-height,50px);left:0;position:fixed;right:0}.van-goods-action--safe{padding-bottom:env(safe-area-inset-bottom)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid-item/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid-item/index.js
new file mode 100644
index 0000000..a7d47a2
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid-item/index.js
@@ -0,0 +1,54 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+var link_1 = require("../mixins/link");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useParent)('grid'),
+ classes: ['content-class', 'icon-class', 'text-class'],
+ mixins: [link_1.link],
+ props: {
+ icon: String,
+ iconColor: String,
+ iconPrefix: {
+ type: String,
+ value: 'van-icon',
+ },
+ dot: Boolean,
+ info: null,
+ badge: null,
+ text: String,
+ useSlot: Boolean,
+ },
+ data: {
+ viewStyle: '',
+ },
+ mounted: function () {
+ this.updateStyle();
+ },
+ methods: {
+ updateStyle: function () {
+ if (!this.parent) {
+ return;
+ }
+ var _a = this.parent, data = _a.data, children = _a.children;
+ var columnNum = data.columnNum, border = data.border, square = data.square, gutter = data.gutter, clickable = data.clickable, center = data.center, direction = data.direction, reverse = data.reverse, iconSize = data.iconSize;
+ this.setData({
+ center: center,
+ border: border,
+ square: square,
+ gutter: gutter,
+ clickable: clickable,
+ direction: direction,
+ reverse: reverse,
+ iconSize: iconSize,
+ index: children.indexOf(this),
+ columnNum: columnNum,
+ });
+ },
+ onClick: function () {
+ this.$emit('click');
+ this.jumpLink();
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid-item/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid-item/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid-item/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid-item/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid-item/index.wxml
new file mode 100644
index 0000000..e95087d
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid-item/index.wxml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ text }}
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid-item/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid-item/index.wxs
new file mode 100644
index 0000000..2cfe37d
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid-item/index.wxs
@@ -0,0 +1,32 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function wrapperStyle(data) {
+ var width = 100 / data.columnNum + '%';
+
+ return style({
+ width: width,
+ 'padding-top': data.square ? width : null,
+ 'padding-right': addUnit(data.gutter),
+ 'margin-top':
+ data.index >= data.columnNum && !data.square
+ ? addUnit(data.gutter)
+ : null,
+ });
+}
+
+function contentStyle(data) {
+ return data.square
+ ? style({
+ right: addUnit(data.gutter),
+ bottom: addUnit(data.gutter),
+ height: 'auto',
+ })
+ : '';
+}
+
+module.exports = {
+ wrapperStyle: wrapperStyle,
+ contentStyle: contentStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid-item/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid-item/index.wxss
new file mode 100644
index 0000000..acaea84
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-grid-item{box-sizing:border-box;float:left;position:relative}.van-grid-item--square{height:0}.van-grid-item__content{background-color:var(--grid-item-content-background-color,#fff);box-sizing:border-box;display:flex;flex-direction:column;height:100%;padding:var(--grid-item-content-padding,16px 8px)}.van-grid-item__content:after{border-width:0 1px 1px 0;z-index:1}.van-grid-item__content--surround:after{border-width:1px}.van-grid-item__content--center{align-items:center;justify-content:center}.van-grid-item__content--square{left:0;position:absolute;right:0;top:0}.van-grid-item__content--horizontal{flex-direction:row}.van-grid-item__content--horizontal .van-grid-item__text{margin:0 0 0 8px}.van-grid-item__content--reverse{flex-direction:column-reverse}.van-grid-item__content--reverse .van-grid-item__text{margin:0 0 8px}.van-grid-item__content--horizontal.van-grid-item__content--reverse{flex-direction:row-reverse}.van-grid-item__content--horizontal.van-grid-item__content--reverse .van-grid-item__text{margin:0 8px 0 0}.van-grid-item__content--clickable:active{background-color:var(--grid-item-content-active-color,#f2f3f5)}.van-grid-item__icon{align-items:center;display:flex;font-size:var(--grid-item-icon-size,26px);height:var(--grid-item-icon-size,26px)}.van-grid-item__text{word-wrap:break-word;color:var(--grid-item-text-color,#646566);font-size:var(--grid-item-text-font-size,12px)}.van-grid-item__icon+.van-grid-item__text{margin-top:8px}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid/index.js
new file mode 100644
index 0000000..28d14f4
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid/index.js
@@ -0,0 +1,57 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useChildren)('grid-item'),
+ props: {
+ square: {
+ type: Boolean,
+ observer: 'updateChildren',
+ },
+ gutter: {
+ type: null,
+ value: 0,
+ observer: 'updateChildren',
+ },
+ clickable: {
+ type: Boolean,
+ observer: 'updateChildren',
+ },
+ columnNum: {
+ type: Number,
+ value: 4,
+ observer: 'updateChildren',
+ },
+ center: {
+ type: Boolean,
+ value: true,
+ observer: 'updateChildren',
+ },
+ border: {
+ type: Boolean,
+ value: true,
+ observer: 'updateChildren',
+ },
+ direction: {
+ type: String,
+ observer: 'updateChildren',
+ },
+ iconSize: {
+ type: String,
+ observer: 'updateChildren',
+ },
+ reverse: {
+ type: Boolean,
+ value: false,
+ observer: 'updateChildren',
+ },
+ },
+ methods: {
+ updateChildren: function () {
+ this.children.forEach(function (child) {
+ child.updateStyle();
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid/index.wxml
new file mode 100644
index 0000000..2e4118f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid/index.wxml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid/index.wxs
new file mode 100644
index 0000000..cd3b1bd
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid/index.wxs
@@ -0,0 +1,13 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ return style({
+ 'padding-left': addUnit(data.gutter),
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid/index.wxss
new file mode 100644
index 0000000..e347440
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/grid/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-grid{box-sizing:border-box;overflow:hidden;position:relative}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/icon/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/icon/index.js
new file mode 100644
index 0000000..103b11e
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/icon/index.js
@@ -0,0 +1,22 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ dot: Boolean,
+ info: null,
+ size: null,
+ color: String,
+ customStyle: String,
+ classPrefix: {
+ type: String,
+ value: 'van-icon',
+ },
+ name: String,
+ },
+ methods: {
+ onClick: function () {
+ this.$emit('click');
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/icon/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/icon/index.json
new file mode 100644
index 0000000..bf0ebe0
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/icon/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-info": "../info/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/icon/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/icon/index.wxml
new file mode 100644
index 0000000..3c70174
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/icon/index.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/icon/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/icon/index.wxs
new file mode 100644
index 0000000..45e3aa0
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/icon/index.wxs
@@ -0,0 +1,39 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function isImage(name) {
+ return name.indexOf('/') !== -1;
+}
+
+function rootClass(data) {
+ var classes = ['custom-class'];
+
+ if (data.classPrefix != null) {
+ classes.push(data.classPrefix);
+ }
+
+ if (isImage(data.name)) {
+ classes.push('van-icon--image');
+ } else if (data.classPrefix != null) {
+ classes.push(data.classPrefix + '-' + data.name);
+ }
+
+ return classes.join(' ');
+}
+
+function rootStyle(data) {
+ return style([
+ {
+ color: data.color,
+ 'font-size': addUnit(data.size),
+ },
+ data.customStyle,
+ ]);
+}
+
+module.exports = {
+ isImage: isImage,
+ rootClass: rootClass,
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/icon/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/icon/index.wxss
new file mode 100644
index 0000000..12cb2d0
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/icon/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-icon{text-rendering:auto;-webkit-font-smoothing:antialiased;font:normal normal normal 14px/1 vant-icon;font-size:inherit;position:relative}.van-icon,.van-icon:before{display:inline-block}.van-icon-exchange:before{content:"\e6af"}.van-icon-eye:before{content:"\e6b0"}.van-icon-enlarge:before{content:"\e6b1"}.van-icon-expand-o:before{content:"\e6b2"}.van-icon-eye-o:before{content:"\e6b3"}.van-icon-expand:before{content:"\e6b4"}.van-icon-filter-o:before{content:"\e6b5"}.van-icon-fire:before{content:"\e6b6"}.van-icon-fail:before{content:"\e6b7"}.van-icon-failure:before{content:"\e6b8"}.van-icon-fire-o:before{content:"\e6b9"}.van-icon-flag-o:before{content:"\e6ba"}.van-icon-font:before{content:"\e6bb"}.van-icon-font-o:before{content:"\e6bc"}.van-icon-gem-o:before{content:"\e6bd"}.van-icon-flower-o:before{content:"\e6be"}.van-icon-gem:before{content:"\e6bf"}.van-icon-gift-card:before{content:"\e6c0"}.van-icon-friends:before{content:"\e6c1"}.van-icon-friends-o:before{content:"\e6c2"}.van-icon-gold-coin:before{content:"\e6c3"}.van-icon-gold-coin-o:before{content:"\e6c4"}.van-icon-good-job-o:before{content:"\e6c5"}.van-icon-gift:before{content:"\e6c6"}.van-icon-gift-o:before{content:"\e6c7"}.van-icon-gift-card-o:before{content:"\e6c8"}.van-icon-good-job:before{content:"\e6c9"}.van-icon-home-o:before{content:"\e6ca"}.van-icon-goods-collect:before{content:"\e6cb"}.van-icon-graphic:before{content:"\e6cc"}.van-icon-goods-collect-o:before{content:"\e6cd"}.van-icon-hot-o:before{content:"\e6ce"}.van-icon-info:before{content:"\e6cf"}.van-icon-hotel-o:before{content:"\e6d0"}.van-icon-info-o:before{content:"\e6d1"}.van-icon-hot-sale-o:before{content:"\e6d2"}.van-icon-hot:before{content:"\e6d3"}.van-icon-like:before{content:"\e6d4"}.van-icon-idcard:before{content:"\e6d5"}.van-icon-invitation:before{content:"\e6d6"}.van-icon-like-o:before{content:"\e6d7"}.van-icon-hot-sale:before{content:"\e6d8"}.van-icon-location-o:before{content:"\e6d9"}.van-icon-location:before{content:"\e6da"}.van-icon-label:before{content:"\e6db"}.van-icon-lock:before{content:"\e6dc"}.van-icon-label-o:before{content:"\e6dd"}.van-icon-map-marked:before{content:"\e6de"}.van-icon-logistics:before{content:"\e6df"}.van-icon-manager:before{content:"\e6e0"}.van-icon-more:before{content:"\e6e1"}.van-icon-live:before{content:"\e6e2"}.van-icon-manager-o:before{content:"\e6e3"}.van-icon-medal:before{content:"\e6e4"}.van-icon-more-o:before{content:"\e6e5"}.van-icon-music-o:before{content:"\e6e6"}.van-icon-music:before{content:"\e6e7"}.van-icon-new-arrival-o:before{content:"\e6e8"}.van-icon-medal-o:before{content:"\e6e9"}.van-icon-new-o:before{content:"\e6ea"}.van-icon-free-postage:before{content:"\e6eb"}.van-icon-newspaper-o:before{content:"\e6ec"}.van-icon-new-arrival:before{content:"\e6ed"}.van-icon-minus:before{content:"\e6ee"}.van-icon-orders-o:before{content:"\e6ef"}.van-icon-new:before{content:"\e6f0"}.van-icon-paid:before{content:"\e6f1"}.van-icon-notes-o:before{content:"\e6f2"}.van-icon-other-pay:before{content:"\e6f3"}.van-icon-pause-circle:before{content:"\e6f4"}.van-icon-pause:before{content:"\e6f5"}.van-icon-pause-circle-o:before{content:"\e6f6"}.van-icon-peer-pay:before{content:"\e6f7"}.van-icon-pending-payment:before{content:"\e6f8"}.van-icon-passed:before{content:"\e6f9"}.van-icon-plus:before{content:"\e6fa"}.van-icon-phone-circle-o:before{content:"\e6fb"}.van-icon-phone-o:before{content:"\e6fc"}.van-icon-printer:before{content:"\e6fd"}.van-icon-photo-fail:before{content:"\e6fe"}.van-icon-phone:before{content:"\e6ff"}.van-icon-photo-o:before{content:"\e700"}.van-icon-play-circle:before{content:"\e701"}.van-icon-play:before{content:"\e702"}.van-icon-phone-circle:before{content:"\e703"}.van-icon-point-gift-o:before{content:"\e704"}.van-icon-point-gift:before{content:"\e705"}.van-icon-play-circle-o:before{content:"\e706"}.van-icon-shrink:before{content:"\e707"}.van-icon-photo:before{content:"\e708"}.van-icon-qr:before{content:"\e709"}.van-icon-qr-invalid:before{content:"\e70a"}.van-icon-question-o:before{content:"\e70b"}.van-icon-revoke:before{content:"\e70c"}.van-icon-replay:before{content:"\e70d"}.van-icon-service:before{content:"\e70e"}.van-icon-question:before{content:"\e70f"}.van-icon-search:before{content:"\e710"}.van-icon-refund-o:before{content:"\e711"}.van-icon-service-o:before{content:"\e712"}.van-icon-scan:before{content:"\e713"}.van-icon-share:before{content:"\e714"}.van-icon-send-gift-o:before{content:"\e715"}.van-icon-share-o:before{content:"\e716"}.van-icon-setting:before{content:"\e717"}.van-icon-points:before{content:"\e718"}.van-icon-photograph:before{content:"\e719"}.van-icon-shop:before{content:"\e71a"}.van-icon-shop-o:before{content:"\e71b"}.van-icon-shop-collect-o:before{content:"\e71c"}.van-icon-shop-collect:before{content:"\e71d"}.van-icon-smile:before{content:"\e71e"}.van-icon-shopping-cart-o:before{content:"\e71f"}.van-icon-sign:before{content:"\e720"}.van-icon-sort:before{content:"\e721"}.van-icon-star-o:before{content:"\e722"}.van-icon-smile-comment-o:before{content:"\e723"}.van-icon-stop:before{content:"\e724"}.van-icon-stop-circle-o:before{content:"\e725"}.van-icon-smile-o:before{content:"\e726"}.van-icon-star:before{content:"\e727"}.van-icon-success:before{content:"\e728"}.van-icon-stop-circle:before{content:"\e729"}.van-icon-records:before{content:"\e72a"}.van-icon-shopping-cart:before{content:"\e72b"}.van-icon-tosend:before{content:"\e72c"}.van-icon-todo-list:before{content:"\e72d"}.van-icon-thumb-circle-o:before{content:"\e72e"}.van-icon-thumb-circle:before{content:"\e72f"}.van-icon-umbrella-circle:before{content:"\e730"}.van-icon-underway:before{content:"\e731"}.van-icon-upgrade:before{content:"\e732"}.van-icon-todo-list-o:before{content:"\e733"}.van-icon-tv-o:before{content:"\e734"}.van-icon-underway-o:before{content:"\e735"}.van-icon-user-o:before{content:"\e736"}.van-icon-vip-card-o:before{content:"\e737"}.van-icon-vip-card:before{content:"\e738"}.van-icon-send-gift:before{content:"\e739"}.van-icon-wap-home:before{content:"\e73a"}.van-icon-wap-nav:before{content:"\e73b"}.van-icon-volume-o:before{content:"\e73c"}.van-icon-video:before{content:"\e73d"}.van-icon-wap-home-o:before{content:"\e73e"}.van-icon-volume:before{content:"\e73f"}.van-icon-warning:before{content:"\e740"}.van-icon-weapp-nav:before{content:"\e741"}.van-icon-wechat-pay:before{content:"\e742"}.van-icon-warning-o:before{content:"\e743"}.van-icon-wechat:before{content:"\e744"}.van-icon-setting-o:before{content:"\e745"}.van-icon-youzan-shield:before{content:"\e746"}.van-icon-warn-o:before{content:"\e747"}.van-icon-smile-comment:before{content:"\e748"}.van-icon-user-circle-o:before{content:"\e749"}.van-icon-video-o:before{content:"\e74a"}.van-icon-add-square:before{content:"\e65c"}.van-icon-add:before{content:"\e65d"}.van-icon-arrow-down:before{content:"\e65e"}.van-icon-arrow-up:before{content:"\e65f"}.van-icon-arrow:before{content:"\e660"}.van-icon-after-sale:before{content:"\e661"}.van-icon-add-o:before{content:"\e662"}.van-icon-alipay:before{content:"\e663"}.van-icon-ascending:before{content:"\e664"}.van-icon-apps-o:before{content:"\e665"}.van-icon-aim:before{content:"\e666"}.van-icon-award:before{content:"\e667"}.van-icon-arrow-left:before{content:"\e668"}.van-icon-award-o:before{content:"\e669"}.van-icon-audio:before{content:"\e66a"}.van-icon-bag-o:before{content:"\e66b"}.van-icon-balance-list:before{content:"\e66c"}.van-icon-back-top:before{content:"\e66d"}.van-icon-bag:before{content:"\e66e"}.van-icon-balance-pay:before{content:"\e66f"}.van-icon-balance-o:before{content:"\e670"}.van-icon-bar-chart-o:before{content:"\e671"}.van-icon-bars:before{content:"\e672"}.van-icon-balance-list-o:before{content:"\e673"}.van-icon-birthday-cake-o:before{content:"\e674"}.van-icon-bookmark:before{content:"\e675"}.van-icon-bill:before{content:"\e676"}.van-icon-bell:before{content:"\e677"}.van-icon-browsing-history-o:before{content:"\e678"}.van-icon-browsing-history:before{content:"\e679"}.van-icon-bookmark-o:before{content:"\e67a"}.van-icon-bulb-o:before{content:"\e67b"}.van-icon-bullhorn-o:before{content:"\e67c"}.van-icon-bill-o:before{content:"\e67d"}.van-icon-calendar-o:before{content:"\e67e"}.van-icon-brush-o:before{content:"\e67f"}.van-icon-card:before{content:"\e680"}.van-icon-cart-o:before{content:"\e681"}.van-icon-cart-circle:before{content:"\e682"}.van-icon-cart-circle-o:before{content:"\e683"}.van-icon-cart:before{content:"\e684"}.van-icon-cash-on-deliver:before{content:"\e685"}.van-icon-cash-back-record:before{content:"\e686"}.van-icon-cashier-o:before{content:"\e687"}.van-icon-chart-trending-o:before{content:"\e688"}.van-icon-certificate:before{content:"\e689"}.van-icon-chat:before{content:"\e68a"}.van-icon-clear:before{content:"\e68b"}.van-icon-chat-o:before{content:"\e68c"}.van-icon-checked:before{content:"\e68d"}.van-icon-clock:before{content:"\e68e"}.van-icon-clock-o:before{content:"\e68f"}.van-icon-close:before{content:"\e690"}.van-icon-closed-eye:before{content:"\e691"}.van-icon-circle:before{content:"\e692"}.van-icon-cluster-o:before{content:"\e693"}.van-icon-column:before{content:"\e694"}.van-icon-comment-circle-o:before{content:"\e695"}.van-icon-cluster:before{content:"\e696"}.van-icon-comment:before{content:"\e697"}.van-icon-comment-o:before{content:"\e698"}.van-icon-comment-circle:before{content:"\e699"}.van-icon-completed:before{content:"\e69a"}.van-icon-credit-pay:before{content:"\e69b"}.van-icon-coupon:before{content:"\e69c"}.van-icon-debit-pay:before{content:"\e69d"}.van-icon-coupon-o:before{content:"\e69e"}.van-icon-contact:before{content:"\e69f"}.van-icon-descending:before{content:"\e6a0"}.van-icon-desktop-o:before{content:"\e6a1"}.van-icon-diamond-o:before{content:"\e6a2"}.van-icon-description:before{content:"\e6a3"}.van-icon-delete:before{content:"\e6a4"}.van-icon-diamond:before{content:"\e6a5"}.van-icon-delete-o:before{content:"\e6a6"}.van-icon-cross:before{content:"\e6a7"}.van-icon-edit:before{content:"\e6a8"}.van-icon-ellipsis:before{content:"\e6a9"}.van-icon-down:before{content:"\e6aa"}.van-icon-discount:before{content:"\e6ab"}.van-icon-ecard-pay:before{content:"\e6ac"}.van-icon-envelop-o:before{content:"\e6ae"}.van-icon-shield-o:before{content:"\e74b"}.van-icon-guide-o:before{content:"\e74c"}@font-face{font-display:auto;font-family:vant-icon;font-style:normal;font-weight:400;src:url(//at.alicdn.com/t/font_2553510_61agzg96wm8.woff2?t=1631948257467) format("woff2"),url(//at.alicdn.com/t/font_2553510_61agzg96wm8.woff?t=1631948257467) format("woff"),url(//at.alicdn.com/t/font_2553510_61agzg96wm8.ttf?t=1631948257467) format("truetype")}:host{align-items:center;display:inline-flex;justify-content:center}.van-icon--image{height:1em;width:1em}.van-icon__image{height:100%;width:100%}.van-icon__info{z-index:1}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/image/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/image/index.js
new file mode 100644
index 0000000..d4c62fc
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/image/index.js
@@ -0,0 +1,62 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var button_1 = require("../mixins/button");
+(0, component_1.VantComponent)({
+ mixins: [button_1.button],
+ classes: ['custom-class', 'loading-class', 'error-class', 'image-class'],
+ props: {
+ src: {
+ type: String,
+ observer: function () {
+ this.setData({
+ error: false,
+ loading: true,
+ });
+ },
+ },
+ round: Boolean,
+ width: null,
+ height: null,
+ radius: null,
+ lazyLoad: Boolean,
+ useErrorSlot: Boolean,
+ useLoadingSlot: Boolean,
+ showMenuByLongpress: Boolean,
+ fit: {
+ type: String,
+ value: 'fill',
+ },
+ showError: {
+ type: Boolean,
+ value: true,
+ },
+ showLoading: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ error: false,
+ loading: true,
+ viewStyle: '',
+ },
+ methods: {
+ onLoad: function (event) {
+ this.setData({
+ loading: false,
+ });
+ this.$emit('load', event.detail);
+ },
+ onError: function (event) {
+ this.setData({
+ loading: false,
+ error: true,
+ });
+ this.$emit('error', event.detail);
+ },
+ onClick: function (event) {
+ this.$emit('click', event.detail);
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/image/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/image/index.json
new file mode 100644
index 0000000..e00a588
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/image/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/image/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/image/index.wxml
new file mode 100644
index 0000000..d3092bd
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/image/index.wxml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/image/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/image/index.wxs
new file mode 100644
index 0000000..cec14b8
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/image/index.wxs
@@ -0,0 +1,32 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ return style([
+ {
+ width: addUnit(data.width),
+ height: addUnit(data.height),
+ 'border-radius': addUnit(data.radius),
+ },
+ data.radius ? 'overflow: hidden' : null,
+ ]);
+}
+
+var FIT_MODE_MAP = {
+ none: 'center',
+ fill: 'scaleToFill',
+ cover: 'aspectFill',
+ contain: 'aspectFit',
+ widthFix: 'widthFix',
+ heightFix: 'heightFix',
+};
+
+function mode(fit) {
+ return FIT_MODE_MAP[fit];
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+ mode: mode,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/image/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/image/index.wxss
new file mode 100644
index 0000000..a9c6ebb
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/image/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-image{display:inline-block;position:relative}.van-image--round{border-radius:50%;overflow:hidden}.van-image--round .van-image__img{border-radius:inherit}.van-image__error,.van-image__img,.van-image__loading{display:block;height:100%;width:100%}.van-image__error,.van-image__loading{align-items:center;background-color:var(--image-placeholder-background-color,#f7f8fa);color:var(--image-placeholder-text-color,#969799);display:flex;flex-direction:column;font-size:var(--image-placeholder-font-size,14px);justify-content:center;left:0;position:absolute;top:0}.van-image__loading-icon{color:var(--image-loading-icon-color,#dcdee0);font-size:var(--image-loading-icon-size,32px)!important}.van-image__error-icon{color:var(--image-error-icon-color,#dcdee0);font-size:var(--image-error-icon-size,32px)!important}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-anchor/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-anchor/index.js
new file mode 100644
index 0000000..9a361a9
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-anchor/index.js
@@ -0,0 +1,28 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var utils_1 = require("../common/utils");
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useParent)('index-bar'),
+ props: {
+ useSlot: Boolean,
+ index: null,
+ },
+ data: {
+ active: false,
+ wrapperStyle: '',
+ anchorStyle: '',
+ },
+ methods: {
+ scrollIntoView: function (scrollTop) {
+ var _this = this;
+ (0, utils_1.getRect)(this, '.van-index-anchor-wrapper').then(function (rect) {
+ wx.pageScrollTo({
+ duration: 0,
+ scrollTop: scrollTop + rect.top - _this.parent.data.stickyOffsetTop,
+ });
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-anchor/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-anchor/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-anchor/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-anchor/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-anchor/index.wxml
new file mode 100644
index 0000000..49affa7
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-anchor/index.wxml
@@ -0,0 +1,14 @@
+
+
+
+
+ {{ index }}
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-anchor/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-anchor/index.wxss
new file mode 100644
index 0000000..4b91560
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-anchor/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-index-anchor{background-color:var(--index-anchor-background-color,transparent);color:var(--index-anchor-text-color,#323233);font-size:var(--index-anchor-font-size,14px);font-weight:var(--index-anchor-font-weight,500);line-height:var(--index-anchor-line-height,32px);padding:var(--index-anchor-padding,0 16px)}.van-index-anchor--active{background-color:var(--index-anchor-active-background-color,#fff);color:var(--index-anchor-active-text-color,#07c160);left:0;right:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-bar/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-bar/index.js
new file mode 100644
index 0000000..3037c18
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-bar/index.js
@@ -0,0 +1,240 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var color_1 = require("../common/color");
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+var utils_1 = require("../common/utils");
+var page_scroll_1 = require("../mixins/page-scroll");
+var indexList = function () {
+ var indexList = [];
+ var charCodeOfA = 'A'.charCodeAt(0);
+ for (var i = 0; i < 26; i++) {
+ indexList.push(String.fromCharCode(charCodeOfA + i));
+ }
+ return indexList;
+};
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useChildren)('index-anchor', function () {
+ this.updateData();
+ }),
+ props: {
+ sticky: {
+ type: Boolean,
+ value: true,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ highlightColor: {
+ type: String,
+ value: color_1.GREEN,
+ },
+ stickyOffsetTop: {
+ type: Number,
+ value: 0,
+ },
+ indexList: {
+ type: Array,
+ value: indexList(),
+ },
+ },
+ mixins: [
+ (0, page_scroll_1.pageScrollMixin)(function (event) {
+ this.scrollTop = (event === null || event === void 0 ? void 0 : event.scrollTop) || 0;
+ this.onScroll();
+ }),
+ ],
+ data: {
+ activeAnchorIndex: null,
+ showSidebar: false,
+ },
+ created: function () {
+ this.scrollTop = 0;
+ },
+ methods: {
+ updateData: function () {
+ var _this = this;
+ wx.nextTick(function () {
+ if (_this.timer != null) {
+ clearTimeout(_this.timer);
+ }
+ _this.timer = setTimeout(function () {
+ _this.setData({
+ showSidebar: !!_this.children.length,
+ });
+ _this.setRect().then(function () {
+ _this.onScroll();
+ });
+ }, 0);
+ });
+ },
+ setRect: function () {
+ return Promise.all([
+ this.setAnchorsRect(),
+ this.setListRect(),
+ this.setSiderbarRect(),
+ ]);
+ },
+ setAnchorsRect: function () {
+ var _this = this;
+ return Promise.all(this.children.map(function (anchor) {
+ return (0, utils_1.getRect)(anchor, '.van-index-anchor-wrapper').then(function (rect) {
+ Object.assign(anchor, {
+ height: rect.height,
+ top: rect.top + _this.scrollTop,
+ });
+ });
+ }));
+ },
+ setListRect: function () {
+ var _this = this;
+ return (0, utils_1.getRect)(this, '.van-index-bar').then(function (rect) {
+ Object.assign(_this, {
+ height: rect.height,
+ top: rect.top + _this.scrollTop,
+ });
+ });
+ },
+ setSiderbarRect: function () {
+ var _this = this;
+ return (0, utils_1.getRect)(this, '.van-index-bar__sidebar').then(function (res) {
+ if (!(0, utils_1.isDef)(res)) {
+ return;
+ }
+ _this.sidebar = {
+ height: res.height,
+ top: res.top,
+ };
+ });
+ },
+ setDiffData: function (_a) {
+ var target = _a.target, data = _a.data;
+ var diffData = {};
+ Object.keys(data).forEach(function (key) {
+ if (target.data[key] !== data[key]) {
+ diffData[key] = data[key];
+ }
+ });
+ if (Object.keys(diffData).length) {
+ target.setData(diffData);
+ }
+ },
+ getAnchorRect: function (anchor) {
+ return (0, utils_1.getRect)(anchor, '.van-index-anchor-wrapper').then(function (rect) { return ({
+ height: rect.height,
+ top: rect.top,
+ }); });
+ },
+ getActiveAnchorIndex: function () {
+ var _a = this, children = _a.children, scrollTop = _a.scrollTop;
+ var _b = this.data, sticky = _b.sticky, stickyOffsetTop = _b.stickyOffsetTop;
+ for (var i = this.children.length - 1; i >= 0; i--) {
+ var preAnchorHeight = i > 0 ? children[i - 1].height : 0;
+ var reachTop = sticky ? preAnchorHeight + stickyOffsetTop : 0;
+ if (reachTop + scrollTop >= children[i].top) {
+ return i;
+ }
+ }
+ return -1;
+ },
+ onScroll: function () {
+ var _this = this;
+ var _a = this, _b = _a.children, children = _b === void 0 ? [] : _b, scrollTop = _a.scrollTop;
+ if (!children.length) {
+ return;
+ }
+ var _c = this.data, sticky = _c.sticky, stickyOffsetTop = _c.stickyOffsetTop, zIndex = _c.zIndex, highlightColor = _c.highlightColor;
+ var active = this.getActiveAnchorIndex();
+ this.setDiffData({
+ target: this,
+ data: {
+ activeAnchorIndex: active,
+ },
+ });
+ if (sticky) {
+ var isActiveAnchorSticky_1 = false;
+ if (active !== -1) {
+ isActiveAnchorSticky_1 =
+ children[active].top <= stickyOffsetTop + scrollTop;
+ }
+ children.forEach(function (item, index) {
+ if (index === active) {
+ var wrapperStyle = '';
+ var anchorStyle = "\n color: " + highlightColor + ";\n ";
+ if (isActiveAnchorSticky_1) {
+ wrapperStyle = "\n height: " + children[index].height + "px;\n ";
+ anchorStyle = "\n position: fixed;\n top: " + stickyOffsetTop + "px;\n z-index: " + zIndex + ";\n color: " + highlightColor + ";\n ";
+ }
+ _this.setDiffData({
+ target: item,
+ data: {
+ active: true,
+ anchorStyle: anchorStyle,
+ wrapperStyle: wrapperStyle,
+ },
+ });
+ }
+ else if (index === active - 1) {
+ var currentAnchor = children[index];
+ var currentOffsetTop = currentAnchor.top;
+ var targetOffsetTop = index === children.length - 1
+ ? _this.top
+ : children[index + 1].top;
+ var parentOffsetHeight = targetOffsetTop - currentOffsetTop;
+ var translateY = parentOffsetHeight - currentAnchor.height;
+ var anchorStyle = "\n position: relative;\n transform: translate3d(0, " + translateY + "px, 0);\n z-index: " + zIndex + ";\n color: " + highlightColor + ";\n ";
+ _this.setDiffData({
+ target: item,
+ data: {
+ active: true,
+ anchorStyle: anchorStyle,
+ },
+ });
+ }
+ else {
+ _this.setDiffData({
+ target: item,
+ data: {
+ active: false,
+ anchorStyle: '',
+ wrapperStyle: '',
+ },
+ });
+ }
+ });
+ }
+ },
+ onClick: function (event) {
+ this.scrollToAnchor(event.target.dataset.index);
+ },
+ onTouchMove: function (event) {
+ var sidebarLength = this.children.length;
+ var touch = event.touches[0];
+ var itemHeight = this.sidebar.height / sidebarLength;
+ var index = Math.floor((touch.clientY - this.sidebar.top) / itemHeight);
+ if (index < 0) {
+ index = 0;
+ }
+ else if (index > sidebarLength - 1) {
+ index = sidebarLength - 1;
+ }
+ this.scrollToAnchor(index);
+ },
+ onTouchStop: function () {
+ this.scrollToAnchorIndex = null;
+ },
+ scrollToAnchor: function (index) {
+ var _this = this;
+ if (typeof index !== 'number' || this.scrollToAnchorIndex === index) {
+ return;
+ }
+ this.scrollToAnchorIndex = index;
+ var anchor = this.children.find(function (item) { return item.data.index === _this.data.indexList[index]; });
+ if (anchor) {
+ anchor.scrollIntoView(this.scrollTop);
+ this.$emit('select', anchor.data.index);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-bar/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-bar/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-bar/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-bar/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-bar/index.wxml
new file mode 100644
index 0000000..19a59cf
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-bar/index.wxml
@@ -0,0 +1,22 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-bar/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-bar/index.wxss
new file mode 100644
index 0000000..8568801
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/index-bar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-index-bar{position:relative}.van-index-bar__sidebar{display:flex;flex-direction:column;position:fixed;right:0;text-align:center;top:50%;transform:translateY(-50%);-webkit-user-select:none;user-select:none}.van-index-bar__index{font-size:var(--index-bar-index-font-size,10px);font-weight:500;line-height:var(--index-bar-index-line-height,14px);padding:0 var(--padding-base,4px) 0 var(--padding-md,16px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/info/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/info/index.js
new file mode 100644
index 0000000..e61af73
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/info/index.js
@@ -0,0 +1,10 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ dot: Boolean,
+ info: null,
+ customStyle: String,
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/info/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/info/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/info/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/info/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/info/index.wxml
new file mode 100644
index 0000000..b39b524
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/info/index.wxml
@@ -0,0 +1,7 @@
+
+
+{{ dot ? '' : info }}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/info/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/info/index.wxss
new file mode 100644
index 0000000..375ed5a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/info/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-info{align-items:center;background-color:var(--info-background-color,#ee0a24);border:var(--info-border-width,1px) solid #fff;border-radius:var(--info-size,16px);box-sizing:border-box;color:var(--info-color,#fff);display:inline-flex;font-family:var(--info-font-family,-apple-system-font,Helvetica Neue,Arial,sans-serif);font-size:var(--info-font-size,12px);font-weight:var(--info-font-weight,500);height:var(--info-size,16px);justify-content:center;min-width:var(--info-size,16px);padding:var(--info-padding,0 3px);position:absolute;right:0;top:0;transform:translate(50%,-50%);transform-origin:100%;white-space:nowrap}.van-info--dot{background-color:var(--info-dot-color,#ee0a24);border-radius:100%;height:var(--info-dot-size,8px);min-width:0;width:var(--info-dot-size,8px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/loading/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/loading/index.js
new file mode 100644
index 0000000..be9c0ef
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/loading/index.js
@@ -0,0 +1,18 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ color: String,
+ vertical: Boolean,
+ type: {
+ type: String,
+ value: 'circular',
+ },
+ size: String,
+ textSize: String,
+ },
+ data: {
+ array12: Array.from({ length: 12 }),
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/loading/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/loading/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/loading/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/loading/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/loading/index.wxml
new file mode 100644
index 0000000..7d4a539
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/loading/index.wxml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/loading/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/loading/index.wxs
new file mode 100644
index 0000000..02a0b80
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/loading/index.wxs
@@ -0,0 +1,22 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function spinnerStyle(data) {
+ return style({
+ color: data.color,
+ width: addUnit(data.size),
+ height: addUnit(data.size),
+ });
+}
+
+function textStyle(data) {
+ return style({
+ 'font-size': addUnit(data.textSize),
+ });
+}
+
+module.exports = {
+ spinnerStyle: spinnerStyle,
+ textStyle: textStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/loading/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/loading/index.wxss
new file mode 100644
index 0000000..fc84e84
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/loading/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';:host{font-size:0;line-height:1}.van-loading{align-items:center;color:var(--loading-spinner-color,#c8c9cc);display:inline-flex;justify-content:center}.van-loading__spinner{animation:van-rotate var(--loading-spinner-animation-duration,.8s) linear infinite;box-sizing:border-box;height:var(--loading-spinner-size,30px);max-height:100%;max-width:100%;position:relative;width:var(--loading-spinner-size,30px)}.van-loading__spinner--spinner{animation-timing-function:steps(12)}.van-loading__spinner--circular{border:1px solid transparent;border-radius:100%;border-top-color:initial}.van-loading__text{color:var(--loading-text-color,#969799);font-size:var(--loading-text-font-size,14px);line-height:var(--loading-text-line-height,20px);margin-left:var(--padding-xs,8px)}.van-loading__text:empty{display:none}.van-loading--vertical{flex-direction:column}.van-loading--vertical .van-loading__text{margin:var(--padding-xs,8px) 0 0}.van-loading__dot{height:100%;left:0;position:absolute;top:0;width:100%}.van-loading__dot:before{background-color:currentColor;border-radius:40%;content:" ";display:block;height:25%;margin:0 auto;width:2px}.van-loading__dot:first-of-type{opacity:1;transform:rotate(30deg)}.van-loading__dot:nth-of-type(2){opacity:.9375;transform:rotate(60deg)}.van-loading__dot:nth-of-type(3){opacity:.875;transform:rotate(90deg)}.van-loading__dot:nth-of-type(4){opacity:.8125;transform:rotate(120deg)}.van-loading__dot:nth-of-type(5){opacity:.75;transform:rotate(150deg)}.van-loading__dot:nth-of-type(6){opacity:.6875;transform:rotate(180deg)}.van-loading__dot:nth-of-type(7){opacity:.625;transform:rotate(210deg)}.van-loading__dot:nth-of-type(8){opacity:.5625;transform:rotate(240deg)}.van-loading__dot:nth-of-type(9){opacity:.5;transform:rotate(270deg)}.van-loading__dot:nth-of-type(10){opacity:.4375;transform:rotate(300deg)}.van-loading__dot:nth-of-type(11){opacity:.375;transform:rotate(330deg)}.van-loading__dot:nth-of-type(12){opacity:.3125;transform:rotate(1turn)}@keyframes van-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/basic.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/basic.js
new file mode 100644
index 0000000..4373ad4
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/basic.js
@@ -0,0 +1,14 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.basic = void 0;
+exports.basic = Behavior({
+ methods: {
+ $emit: function (name, detail, options) {
+ this.triggerEvent(name, detail, options);
+ },
+ set: function (data) {
+ this.setData(data);
+ return new Promise(function (resolve) { return wx.nextTick(resolve); });
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/button.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/button.js
new file mode 100644
index 0000000..83640ce
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/button.js
@@ -0,0 +1,44 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.button = void 0;
+var version_1 = require("../common/version");
+exports.button = Behavior({
+ externalClasses: ['hover-class'],
+ properties: {
+ id: String,
+ lang: String,
+ businessId: Number,
+ sessionFrom: String,
+ sendMessageTitle: String,
+ sendMessagePath: String,
+ sendMessageImg: String,
+ showMessageCard: Boolean,
+ appParameter: String,
+ ariaLabel: String,
+ openType: String,
+ getUserProfileDesc: String,
+ },
+ data: {
+ canIUseGetUserProfile: (0, version_1.canIUseGetUserProfile)(),
+ },
+ methods: {
+ onGetUserInfo: function (event) {
+ this.triggerEvent('getuserinfo', event.detail);
+ },
+ onContact: function (event) {
+ this.triggerEvent('contact', event.detail);
+ },
+ onGetPhoneNumber: function (event) {
+ this.triggerEvent('getphonenumber', event.detail);
+ },
+ onError: function (event) {
+ this.triggerEvent('error', event.detail);
+ },
+ onLaunchApp: function (event) {
+ this.triggerEvent('launchapp', event.detail);
+ },
+ onOpenSetting: function (event) {
+ this.triggerEvent('opensetting', event.detail);
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/link.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/link.js
new file mode 100644
index 0000000..14cb7e8
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/link.js
@@ -0,0 +1,27 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.link = void 0;
+exports.link = Behavior({
+ properties: {
+ url: String,
+ linkType: {
+ type: String,
+ value: 'navigateTo',
+ },
+ },
+ methods: {
+ jumpLink: function (urlKey) {
+ if (urlKey === void 0) { urlKey = 'url'; }
+ var url = this.data[urlKey];
+ if (url) {
+ if (this.data.linkType === 'navigateTo' &&
+ getCurrentPages().length > 9) {
+ wx.redirectTo({ url: url });
+ }
+ else {
+ wx[this.data.linkType]({ url: url });
+ }
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/page-scroll.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/page-scroll.js
new file mode 100644
index 0000000..6857a97
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/page-scroll.js
@@ -0,0 +1,42 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.pageScrollMixin = void 0;
+var utils_1 = require("../common/utils");
+function onPageScroll(event) {
+ var _a = (0, utils_1.getCurrentPage)().vanPageScroller, vanPageScroller = _a === void 0 ? [] : _a;
+ vanPageScroller.forEach(function (scroller) {
+ if (typeof scroller === 'function') {
+ // @ts-ignore
+ scroller(event);
+ }
+ });
+}
+var pageScrollMixin = function (scroller) {
+ return Behavior({
+ attached: function () {
+ var page = (0, utils_1.getCurrentPage)();
+ if (!(0, utils_1.isDef)(page)) {
+ return;
+ }
+ if (Array.isArray(page.vanPageScroller)) {
+ page.vanPageScroller.push(scroller.bind(this));
+ }
+ else {
+ page.vanPageScroller =
+ typeof page.onPageScroll === 'function'
+ ? [page.onPageScroll.bind(page), scroller.bind(this)]
+ : [scroller.bind(this)];
+ }
+ page.onPageScroll = onPageScroll;
+ },
+ detached: function () {
+ var _a;
+ var page = (0, utils_1.getCurrentPage)();
+ if ((0, utils_1.isDef)(page)) {
+ page.vanPageScroller =
+ ((_a = page.vanPageScroller) === null || _a === void 0 ? void 0 : _a.filter(function (item) { return item !== scroller; })) || [];
+ }
+ },
+ });
+};
+exports.pageScrollMixin = pageScrollMixin;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/touch.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/touch.js
new file mode 100644
index 0000000..d762c2c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/touch.js
@@ -0,0 +1,40 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.touch = void 0;
+// @ts-nocheck
+var MIN_DISTANCE = 10;
+function getDirection(x, y) {
+ if (x > y && x > MIN_DISTANCE) {
+ return 'horizontal';
+ }
+ if (y > x && y > MIN_DISTANCE) {
+ return 'vertical';
+ }
+ return '';
+}
+exports.touch = Behavior({
+ methods: {
+ resetTouchStatus: function () {
+ this.direction = '';
+ this.deltaX = 0;
+ this.deltaY = 0;
+ this.offsetX = 0;
+ this.offsetY = 0;
+ },
+ touchStart: function (event) {
+ this.resetTouchStatus();
+ var touch = event.touches[0];
+ this.startX = touch.clientX;
+ this.startY = touch.clientY;
+ },
+ touchMove: function (event) {
+ var touch = event.touches[0];
+ this.deltaX = touch.clientX - this.startX;
+ this.deltaY = touch.clientY - this.startY;
+ this.offsetX = Math.abs(this.deltaX);
+ this.offsetY = Math.abs(this.deltaY);
+ this.direction =
+ this.direction || getDirection(this.offsetX, this.offsetY);
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/transition.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/transition.js
new file mode 100644
index 0000000..113ad2e
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/mixins/transition.js
@@ -0,0 +1,121 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.transition = void 0;
+// @ts-nocheck
+var utils_1 = require("../common/utils");
+var validator_1 = require("../common/validator");
+var getClassNames = function (name) { return ({
+ enter: "van-" + name + "-enter van-" + name + "-enter-active enter-class enter-active-class",
+ 'enter-to': "van-" + name + "-enter-to van-" + name + "-enter-active enter-to-class enter-active-class",
+ leave: "van-" + name + "-leave van-" + name + "-leave-active leave-class leave-active-class",
+ 'leave-to': "van-" + name + "-leave-to van-" + name + "-leave-active leave-to-class leave-active-class",
+}); };
+function transition(showDefaultValue) {
+ return Behavior({
+ properties: {
+ customStyle: String,
+ // @ts-ignore
+ show: {
+ type: Boolean,
+ value: showDefaultValue,
+ observer: 'observeShow',
+ },
+ // @ts-ignore
+ duration: {
+ type: null,
+ value: 300,
+ observer: 'observeDuration',
+ },
+ name: {
+ type: String,
+ value: 'fade',
+ },
+ },
+ data: {
+ type: '',
+ inited: false,
+ display: false,
+ },
+ ready: function () {
+ if (this.data.show === true) {
+ this.observeShow(true, false);
+ }
+ },
+ methods: {
+ observeShow: function (value, old) {
+ if (value === old) {
+ return;
+ }
+ value ? this.enter() : this.leave();
+ },
+ enter: function () {
+ var _this = this;
+ var _a = this.data, duration = _a.duration, name = _a.name;
+ var classNames = getClassNames(name);
+ var currentDuration = (0, validator_1.isObj)(duration) ? duration.enter : duration;
+ this.status = 'enter';
+ this.$emit('before-enter');
+ (0, utils_1.requestAnimationFrame)(function () {
+ if (_this.status !== 'enter') {
+ return;
+ }
+ _this.$emit('enter');
+ _this.setData({
+ inited: true,
+ display: true,
+ classes: classNames.enter,
+ currentDuration: currentDuration,
+ });
+ (0, utils_1.requestAnimationFrame)(function () {
+ if (_this.status !== 'enter') {
+ return;
+ }
+ _this.transitionEnded = false;
+ _this.setData({ classes: classNames['enter-to'] });
+ });
+ });
+ },
+ leave: function () {
+ var _this = this;
+ if (!this.data.display) {
+ return;
+ }
+ var _a = this.data, duration = _a.duration, name = _a.name;
+ var classNames = getClassNames(name);
+ var currentDuration = (0, validator_1.isObj)(duration) ? duration.leave : duration;
+ this.status = 'leave';
+ this.$emit('before-leave');
+ (0, utils_1.requestAnimationFrame)(function () {
+ if (_this.status !== 'leave') {
+ return;
+ }
+ _this.$emit('leave');
+ _this.setData({
+ classes: classNames.leave,
+ currentDuration: currentDuration,
+ });
+ (0, utils_1.requestAnimationFrame)(function () {
+ if (_this.status !== 'leave') {
+ return;
+ }
+ _this.transitionEnded = false;
+ setTimeout(function () { return _this.onTransitionEnd(); }, currentDuration);
+ _this.setData({ classes: classNames['leave-to'] });
+ });
+ });
+ },
+ onTransitionEnd: function () {
+ if (this.transitionEnded) {
+ return;
+ }
+ this.transitionEnded = true;
+ this.$emit("after-" + this.status);
+ var _a = this.data, show = _a.show, display = _a.display;
+ if (!show && display) {
+ this.setData({ display: false });
+ }
+ },
+ },
+ });
+}
+exports.transition = transition;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index.js
new file mode 100644
index 0000000..376b561
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index.js
@@ -0,0 +1,68 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var utils_1 = require("../common/utils");
+(0, component_1.VantComponent)({
+ classes: ['title-class'],
+ props: {
+ title: String,
+ fixed: {
+ type: Boolean,
+ observer: 'setHeight',
+ },
+ placeholder: {
+ type: Boolean,
+ observer: 'setHeight',
+ },
+ leftText: String,
+ rightText: String,
+ customStyle: String,
+ leftArrow: Boolean,
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ safeAreaInsetTop: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ height: 46,
+ },
+ created: function () {
+ var statusBarHeight = (0, utils_1.getSystemInfoSync)().statusBarHeight;
+ this.setData({
+ statusBarHeight: statusBarHeight,
+ height: 46 + statusBarHeight,
+ });
+ },
+ mounted: function () {
+ this.setHeight();
+ },
+ methods: {
+ onClickLeft: function () {
+ this.$emit('click-left');
+ },
+ onClickRight: function () {
+ this.$emit('click-right');
+ },
+ setHeight: function () {
+ var _this = this;
+ if (!this.data.fixed || !this.data.placeholder) {
+ return;
+ }
+ wx.nextTick(function () {
+ (0, utils_1.getRect)(_this, '.van-nav-bar').then(function (res) {
+ if (res && 'height' in res) {
+ _this.setData({ height: res.height });
+ }
+ });
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index.wxml
new file mode 100644
index 0000000..b6405fd
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index.wxml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+ {{ leftText }}
+
+
+
+
+ {{ title }}
+
+
+
+ {{ rightText }}
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index.wxs
new file mode 100644
index 0000000..55b4158
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index.wxs
@@ -0,0 +1,13 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+
+function barStyle(data) {
+ return style({
+ 'z-index': data.zIndex,
+ 'padding-top': data.safeAreaInsetTop ? data.statusBarHeight + 'px' : 0,
+ });
+}
+
+module.exports = {
+ barStyle: barStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index.wxss
new file mode 100644
index 0000000..94c5b44
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-nav-bar{background-color:var(--nav-bar-background-color,#fff);height:var(--nav-bar-height,46px);line-height:var(--nav-bar-height,46px);position:relative;text-align:center;-webkit-user-select:none;user-select:none}.van-nav-bar__content{height:100%;position:relative}.van-nav-bar__text{color:var(--nav-bar-text-color,#1989fa);display:inline-block;margin:0 calc(var(--padding-md, 16px)*-1);padding:0 var(--padding-md,16px);vertical-align:middle}.van-nav-bar__text--hover{background-color:#f2f3f5}.van-nav-bar__arrow{color:var(--nav-bar-icon-color,#1989fa)!important;font-size:var(--nav-bar-arrow-size,16px)!important;vertical-align:middle}.van-nav-bar__arrow+.van-nav-bar__text{margin-left:-20px;padding-left:25px}.van-nav-bar--fixed{left:0;position:fixed;top:0;width:100%}.van-nav-bar__title{color:var(--nav-bar-title-text-color,#323233);font-size:var(--nav-bar-title-font-size,16px);font-weight:var(--font-weight-bold,500);margin:0 auto;max-width:60%}.van-nav-bar__left,.van-nav-bar__right{align-items:center;bottom:0;display:flex;font-size:var(--font-size-md,14px);position:absolute;top:0}.van-nav-bar__left{left:var(--padding-md,16px)}.van-nav-bar__right{right:var(--padding-md,16px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/notice-bar/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notice-bar/index.js
new file mode 100644
index 0000000..9f2d84e
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notice-bar/index.js
@@ -0,0 +1,124 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var utils_1 = require("../common/utils");
+(0, component_1.VantComponent)({
+ props: {
+ text: {
+ type: String,
+ value: '',
+ observer: 'init',
+ },
+ mode: {
+ type: String,
+ value: '',
+ },
+ url: {
+ type: String,
+ value: '',
+ },
+ openType: {
+ type: String,
+ value: 'navigate',
+ },
+ delay: {
+ type: Number,
+ value: 1,
+ },
+ speed: {
+ type: Number,
+ value: 60,
+ observer: 'init',
+ },
+ scrollable: null,
+ leftIcon: {
+ type: String,
+ value: '',
+ },
+ color: String,
+ backgroundColor: String,
+ background: String,
+ wrapable: Boolean,
+ },
+ data: {
+ show: true,
+ },
+ created: function () {
+ this.resetAnimation = wx.createAnimation({
+ duration: 0,
+ timingFunction: 'linear',
+ });
+ },
+ destroyed: function () {
+ this.timer && clearTimeout(this.timer);
+ },
+ mounted: function () {
+ this.init();
+ },
+ methods: {
+ init: function () {
+ var _this = this;
+ (0, utils_1.requestAnimationFrame)(function () {
+ Promise.all([
+ (0, utils_1.getRect)(_this, '.van-notice-bar__content'),
+ (0, utils_1.getRect)(_this, '.van-notice-bar__wrap'),
+ ]).then(function (rects) {
+ var contentRect = rects[0], wrapRect = rects[1];
+ var _a = _this.data, speed = _a.speed, scrollable = _a.scrollable, delay = _a.delay;
+ if (contentRect == null ||
+ wrapRect == null ||
+ !contentRect.width ||
+ !wrapRect.width ||
+ scrollable === false) {
+ return;
+ }
+ if (scrollable || wrapRect.width < contentRect.width) {
+ var duration = ((wrapRect.width + contentRect.width) / speed) * 1000;
+ _this.wrapWidth = wrapRect.width;
+ _this.contentWidth = contentRect.width;
+ _this.duration = duration;
+ _this.animation = wx.createAnimation({
+ duration: duration,
+ timingFunction: 'linear',
+ delay: delay,
+ });
+ _this.scroll();
+ }
+ });
+ });
+ },
+ scroll: function () {
+ var _this = this;
+ this.timer && clearTimeout(this.timer);
+ this.timer = null;
+ this.setData({
+ animationData: this.resetAnimation
+ .translateX(this.wrapWidth)
+ .step()
+ .export(),
+ });
+ (0, utils_1.requestAnimationFrame)(function () {
+ _this.setData({
+ animationData: _this.animation
+ .translateX(-_this.contentWidth)
+ .step()
+ .export(),
+ });
+ });
+ this.timer = setTimeout(function () {
+ _this.scroll();
+ }, this.duration);
+ },
+ onClickIcon: function (event) {
+ if (this.data.mode === 'closeable') {
+ this.timer && clearTimeout(this.timer);
+ this.timer = null;
+ this.setData({ show: false });
+ this.$emit('close', event.detail);
+ }
+ },
+ onClick: function (event) {
+ this.$emit('click', event);
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/notice-bar/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notice-bar/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notice-bar/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/notice-bar/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notice-bar/index.wxml
new file mode 100644
index 0000000..9f6ee24
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notice-bar/index.wxml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+ {{ text }}
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/notice-bar/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notice-bar/index.wxs
new file mode 100644
index 0000000..11e6456
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notice-bar/index.wxs
@@ -0,0 +1,15 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ return style({
+ color: data.color,
+ 'background-color': data.backgroundColor,
+ background: data.background,
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/notice-bar/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notice-bar/index.wxss
new file mode 100644
index 0000000..497636c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notice-bar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-notice-bar{align-items:center;background-color:var(--notice-bar-background-color,#fffbe8);color:var(--notice-bar-text-color,#ed6a0c);display:flex;font-size:var(--notice-bar-font-size,14px);height:var(--notice-bar-height,40px);line-height:var(--notice-bar-line-height,24px);padding:var(--notice-bar-padding,0 16px)}.van-notice-bar--withicon{padding-right:40px;position:relative}.van-notice-bar--wrapable{height:auto;padding:var(--notice-bar-wrapable-padding,8px 16px)}.van-notice-bar--wrapable .van-notice-bar__wrap{height:auto}.van-notice-bar--wrapable .van-notice-bar__content{position:relative;white-space:normal}.van-notice-bar__left-icon{align-items:center;display:flex;margin-right:4px;vertical-align:middle}.van-notice-bar__left-icon,.van-notice-bar__right-icon{font-size:var(--notice-bar-icon-size,16px);min-width:var(--notice-bar-icon-min-width,22px)}.van-notice-bar__right-icon{position:absolute;right:15px;top:10px}.van-notice-bar__wrap{flex:1;height:var(--notice-bar-line-height,24px);overflow:hidden;position:relative}.van-notice-bar__content{position:absolute;white-space:nowrap}.van-notice-bar__content.van-ellipsis{max-width:100%}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/index.js
new file mode 100644
index 0000000..a9526aa
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/index.js
@@ -0,0 +1,68 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var color_1 = require("../common/color");
+var utils_1 = require("../common/utils");
+(0, component_1.VantComponent)({
+ props: {
+ message: String,
+ background: String,
+ type: {
+ type: String,
+ value: 'danger',
+ },
+ color: {
+ type: String,
+ value: color_1.WHITE,
+ },
+ duration: {
+ type: Number,
+ value: 3000,
+ },
+ zIndex: {
+ type: Number,
+ value: 110,
+ },
+ safeAreaInsetTop: {
+ type: Boolean,
+ value: false,
+ },
+ top: null,
+ },
+ data: {
+ show: false,
+ onOpened: null,
+ onClose: null,
+ onClick: null,
+ },
+ created: function () {
+ var statusBarHeight = (0, utils_1.getSystemInfoSync)().statusBarHeight;
+ this.setData({ statusBarHeight: statusBarHeight });
+ },
+ methods: {
+ show: function () {
+ var _this = this;
+ var _a = this.data, duration = _a.duration, onOpened = _a.onOpened;
+ clearTimeout(this.timer);
+ this.setData({ show: true });
+ wx.nextTick(onOpened);
+ if (duration > 0 && duration !== Infinity) {
+ this.timer = setTimeout(function () {
+ _this.hide();
+ }, duration);
+ }
+ },
+ hide: function () {
+ var onClose = this.data.onClose;
+ clearTimeout(this.timer);
+ this.setData({ show: false });
+ wx.nextTick(onClose);
+ },
+ onTap: function (event) {
+ var onClick = this.data.onClick;
+ if (onClick) {
+ onClick(event.detail);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/index.json
new file mode 100644
index 0000000..c14a65f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-transition": "../transition/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/index.wxml
new file mode 100644
index 0000000..42d913e
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/index.wxml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ {{ message }}
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/index.wxs
new file mode 100644
index 0000000..bbb94c2
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/index.wxs
@@ -0,0 +1,22 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ return style({
+ 'z-index': data.zIndex,
+ top: addUnit(data.top),
+ });
+}
+
+function notifyStyle(data) {
+ return style({
+ background: data.background,
+ color: data.color,
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+ notifyStyle: notifyStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/index.wxss
new file mode 100644
index 0000000..c030e9b
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-notify{word-wrap:break-word;font-size:var(--notify-font-size,14px);line-height:var(--notify-line-height,20px);padding:var(--notify-padding,6px 15px);text-align:center}.van-notify__container{box-sizing:border-box;left:0;position:fixed;top:0;width:100%}.van-notify--primary{background-color:var(--notify-primary-background-color,#1989fa)}.van-notify--success{background-color:var(--notify-success-background-color,#07c160)}.van-notify--danger{background-color:var(--notify-danger-background-color,#ee0a24)}.van-notify--warning{background-color:var(--notify-warning-background-color,#ff976a)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/notify.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/notify.js
new file mode 100644
index 0000000..1b57b1c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/notify/notify.js
@@ -0,0 +1,60 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var color_1 = require("../common/color");
+var defaultOptions = {
+ selector: '#van-notify',
+ type: 'danger',
+ message: '',
+ background: '',
+ duration: 3000,
+ zIndex: 110,
+ top: 0,
+ color: color_1.WHITE,
+ safeAreaInsetTop: false,
+ onClick: function () { },
+ onOpened: function () { },
+ onClose: function () { },
+};
+function parseOptions(message) {
+ if (message == null) {
+ return {};
+ }
+ return typeof message === 'string' ? { message: message } : message;
+}
+function getContext() {
+ var pages = getCurrentPages();
+ return pages[pages.length - 1];
+}
+function Notify(options) {
+ options = __assign(__assign({}, defaultOptions), parseOptions(options));
+ var context = options.context || getContext();
+ var notify = context.selectComponent(options.selector);
+ delete options.context;
+ delete options.selector;
+ if (notify) {
+ notify.setData(options);
+ notify.show();
+ return notify;
+ }
+ console.warn('未找到 van-notify 节点,请确认 selector 及 context 是否正确');
+}
+exports.default = Notify;
+Notify.clear = function (options) {
+ options = __assign(__assign({}, defaultOptions), parseOptions(options));
+ var context = options.context || getContext();
+ var notify = context.selectComponent(options.selector);
+ if (notify) {
+ notify.hide();
+ }
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/overlay/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/overlay/index.js
new file mode 100644
index 0000000..1828343
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/overlay/index.js
@@ -0,0 +1,28 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ show: Boolean,
+ customStyle: String,
+ duration: {
+ type: null,
+ value: 300,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ lockScroll: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ onClick: function () {
+ this.$emit('click');
+ },
+ // for prevent touchmove
+ noop: function () { },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/overlay/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/overlay/index.json
new file mode 100644
index 0000000..c14a65f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/overlay/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-transition": "../transition/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/overlay/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/overlay/index.wxml
new file mode 100644
index 0000000..92734a0
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/overlay/index.wxml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/overlay/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/overlay/index.wxss
new file mode 100644
index 0000000..d1ad81a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/overlay/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-overlay{background-color:var(--overlay-background-color,rgba(0,0,0,.7));height:100%;left:0;position:fixed;top:0;width:100%}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/panel/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/panel/index.js
new file mode 100644
index 0000000..818b8c5
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/panel/index.js
@@ -0,0 +1,11 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ classes: ['header-class', 'footer-class'],
+ props: {
+ desc: String,
+ title: String,
+ status: String,
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/panel/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/panel/index.json
new file mode 100644
index 0000000..0e5425c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/panel/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-cell": "../cell/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/panel/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/panel/index.wxml
new file mode 100644
index 0000000..1843703
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/panel/index.wxml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/panel/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/panel/index.wxss
new file mode 100644
index 0000000..485edcd
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/panel/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-panel{background:var(--panel-background-color,#fff)}.van-panel__header-value{color:var(--panel-header-value-color,#ee0a24)}.van-panel__footer{padding:var(--panel-footer-padding,8px 16px)}.van-panel__footer:empty{display:none}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker-column/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker-column/index.js
new file mode 100644
index 0000000..9dbf17c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker-column/index.js
@@ -0,0 +1,122 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var utils_1 = require("../common/utils");
+var validator_1 = require("../common/validator");
+var DEFAULT_DURATION = 200;
+(0, component_1.VantComponent)({
+ classes: ['active-class'],
+ props: {
+ valueKey: String,
+ className: String,
+ itemHeight: Number,
+ visibleItemCount: Number,
+ initialOptions: {
+ type: Array,
+ value: [],
+ },
+ defaultIndex: {
+ type: Number,
+ value: 0,
+ observer: function (value) {
+ this.setIndex(value);
+ },
+ },
+ },
+ data: {
+ startY: 0,
+ offset: 0,
+ duration: 0,
+ startOffset: 0,
+ options: [],
+ currentIndex: 0,
+ },
+ created: function () {
+ var _this = this;
+ var _a = this.data, defaultIndex = _a.defaultIndex, initialOptions = _a.initialOptions;
+ this.set({
+ currentIndex: defaultIndex,
+ options: initialOptions,
+ }).then(function () {
+ _this.setIndex(defaultIndex);
+ });
+ },
+ methods: {
+ getCount: function () {
+ return this.data.options.length;
+ },
+ onTouchStart: function (event) {
+ this.setData({
+ startY: event.touches[0].clientY,
+ startOffset: this.data.offset,
+ duration: 0,
+ });
+ },
+ onTouchMove: function (event) {
+ var data = this.data;
+ var deltaY = event.touches[0].clientY - data.startY;
+ this.setData({
+ offset: (0, utils_1.range)(data.startOffset + deltaY, -(this.getCount() * data.itemHeight), data.itemHeight),
+ });
+ },
+ onTouchEnd: function () {
+ var data = this.data;
+ if (data.offset !== data.startOffset) {
+ this.setData({ duration: DEFAULT_DURATION });
+ var index = (0, utils_1.range)(Math.round(-data.offset / data.itemHeight), 0, this.getCount() - 1);
+ this.setIndex(index, true);
+ }
+ },
+ onClickItem: function (event) {
+ var index = event.currentTarget.dataset.index;
+ this.setIndex(index, true);
+ },
+ adjustIndex: function (index) {
+ var data = this.data;
+ var count = this.getCount();
+ index = (0, utils_1.range)(index, 0, count);
+ for (var i = index; i < count; i++) {
+ if (!this.isDisabled(data.options[i]))
+ return i;
+ }
+ for (var i = index - 1; i >= 0; i--) {
+ if (!this.isDisabled(data.options[i]))
+ return i;
+ }
+ },
+ isDisabled: function (option) {
+ return (0, validator_1.isObj)(option) && option.disabled;
+ },
+ getOptionText: function (option) {
+ var data = this.data;
+ return (0, validator_1.isObj)(option) && data.valueKey in option
+ ? option[data.valueKey]
+ : option;
+ },
+ setIndex: function (index, userAction) {
+ var _this = this;
+ var data = this.data;
+ index = this.adjustIndex(index) || 0;
+ var offset = -index * data.itemHeight;
+ if (index !== data.currentIndex) {
+ return this.set({ offset: offset, currentIndex: index }).then(function () {
+ userAction && _this.$emit('change', index);
+ });
+ }
+ return this.set({ offset: offset });
+ },
+ setValue: function (value) {
+ var options = this.data.options;
+ for (var i = 0; i < options.length; i++) {
+ if (this.getOptionText(options[i]) === value) {
+ return this.setIndex(i);
+ }
+ }
+ return Promise.resolve();
+ },
+ getValue: function () {
+ var data = this.data;
+ return data.options[data.currentIndex];
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker-column/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker-column/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker-column/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker-column/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker-column/index.wxml
new file mode 100644
index 0000000..f2c8da2
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker-column/index.wxml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ {{ computed.optionText(option, valueKey) }}
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker-column/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker-column/index.wxs
new file mode 100644
index 0000000..2d5a611
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker-column/index.wxs
@@ -0,0 +1,36 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function isObj(x) {
+ var type = typeof x;
+ return x !== null && (type === 'object' || type === 'function');
+}
+
+function optionText(option, valueKey) {
+ return isObj(option) && option[valueKey] != null ? option[valueKey] : option;
+}
+
+function rootStyle(data) {
+ return style({
+ height: addUnit(data.itemHeight * data.visibleItemCount),
+ });
+}
+
+function wrapperStyle(data) {
+ var offset = addUnit(
+ data.offset + (data.itemHeight * (data.visibleItemCount - 1)) / 2
+ );
+
+ return style({
+ transition: 'transform ' + data.duration + 'ms',
+ 'line-height': addUnit(data.itemHeight),
+ transform: 'translate3d(0, ' + offset + ', 0)',
+ });
+}
+
+module.exports = {
+ optionText: optionText,
+ rootStyle: rootStyle,
+ wrapperStyle: wrapperStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker-column/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker-column/index.wxss
new file mode 100644
index 0000000..519a438
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker-column/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-picker-column{color:var(--picker-option-text-color,#000);font-size:var(--picker-option-font-size,16px);overflow:hidden;text-align:center}.van-picker-column__item{padding:0 5px}.van-picker-column__item--selected{color:var(--picker-option-selected-text-color,#323233);font-weight:var(--font-weight-bold,500)}.van-picker-column__item--disabled{opacity:var(--picker-option-disabled-opacity,.3)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/index.js
new file mode 100644
index 0000000..06d1826
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/index.js
@@ -0,0 +1,161 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var shared_1 = require("./shared");
+(0, component_1.VantComponent)({
+ classes: ['active-class', 'toolbar-class', 'column-class'],
+ props: __assign(__assign({}, shared_1.pickerProps), { valueKey: {
+ type: String,
+ value: 'text',
+ }, toolbarPosition: {
+ type: String,
+ value: 'top',
+ }, defaultIndex: {
+ type: Number,
+ value: 0,
+ }, columns: {
+ type: Array,
+ value: [],
+ observer: function (columns) {
+ if (columns === void 0) { columns = []; }
+ this.simple = columns.length && !columns[0].values;
+ if (Array.isArray(this.children) && this.children.length) {
+ this.setColumns().catch(function () { });
+ }
+ },
+ } }),
+ beforeCreate: function () {
+ var _this = this;
+ Object.defineProperty(this, 'children', {
+ get: function () { return _this.selectAllComponents('.van-picker__column') || []; },
+ });
+ },
+ methods: {
+ noop: function () { },
+ setColumns: function () {
+ var _this = this;
+ var data = this.data;
+ var columns = this.simple ? [{ values: data.columns }] : data.columns;
+ var stack = columns.map(function (column, index) {
+ return _this.setColumnValues(index, column.values);
+ });
+ return Promise.all(stack);
+ },
+ emit: function (event) {
+ var type = event.currentTarget.dataset.type;
+ if (this.simple) {
+ this.$emit(type, {
+ value: this.getColumnValue(0),
+ index: this.getColumnIndex(0),
+ });
+ }
+ else {
+ this.$emit(type, {
+ value: this.getValues(),
+ index: this.getIndexes(),
+ });
+ }
+ },
+ onChange: function (event) {
+ if (this.simple) {
+ this.$emit('change', {
+ picker: this,
+ value: this.getColumnValue(0),
+ index: this.getColumnIndex(0),
+ });
+ }
+ else {
+ this.$emit('change', {
+ picker: this,
+ value: this.getValues(),
+ index: event.currentTarget.dataset.index,
+ });
+ }
+ },
+ // get column instance by index
+ getColumn: function (index) {
+ return this.children[index];
+ },
+ // get column value by index
+ getColumnValue: function (index) {
+ var column = this.getColumn(index);
+ return column && column.getValue();
+ },
+ // set column value by index
+ setColumnValue: function (index, value) {
+ var column = this.getColumn(index);
+ if (column == null) {
+ return Promise.reject(new Error('setColumnValue: 对应列不存在'));
+ }
+ return column.setValue(value);
+ },
+ // get column option index by column index
+ getColumnIndex: function (columnIndex) {
+ return (this.getColumn(columnIndex) || {}).data.currentIndex;
+ },
+ // set column option index by column index
+ setColumnIndex: function (columnIndex, optionIndex) {
+ var column = this.getColumn(columnIndex);
+ if (column == null) {
+ return Promise.reject(new Error('setColumnIndex: 对应列不存在'));
+ }
+ return column.setIndex(optionIndex);
+ },
+ // get options of column by index
+ getColumnValues: function (index) {
+ return (this.children[index] || {}).data.options;
+ },
+ // set options of column by index
+ setColumnValues: function (index, options, needReset) {
+ if (needReset === void 0) { needReset = true; }
+ var column = this.children[index];
+ if (column == null) {
+ return Promise.reject(new Error('setColumnValues: 对应列不存在'));
+ }
+ var isSame = JSON.stringify(column.data.options) === JSON.stringify(options);
+ if (isSame) {
+ return Promise.resolve();
+ }
+ return column.set({ options: options }).then(function () {
+ if (needReset) {
+ column.setIndex(0);
+ }
+ });
+ },
+ // get values of all columns
+ getValues: function () {
+ return this.children.map(function (child) { return child.getValue(); });
+ },
+ // set values of all columns
+ setValues: function (values) {
+ var _this = this;
+ var stack = values.map(function (value, index) {
+ return _this.setColumnValue(index, value);
+ });
+ return Promise.all(stack);
+ },
+ // get indexes of all columns
+ getIndexes: function () {
+ return this.children.map(function (child) { return child.data.currentIndex; });
+ },
+ // set indexes of all columns
+ setIndexes: function (indexes) {
+ var _this = this;
+ var stack = indexes.map(function (optionIndex, columnIndex) {
+ return _this.setColumnIndex(columnIndex, optionIndex);
+ });
+ return Promise.all(stack);
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/index.json
new file mode 100644
index 0000000..2fcec89
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "picker-column": "../picker-column/index",
+ "loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/index.wxml
new file mode 100644
index 0000000..8564ccc
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/index.wxml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/index.wxs
new file mode 100644
index 0000000..0abbd10
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/index.wxs
@@ -0,0 +1,42 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+var array = require('../wxs/array.wxs');
+
+function columnsStyle(data) {
+ return style({
+ height: addUnit(data.itemHeight * data.visibleItemCount),
+ });
+}
+
+function maskStyle(data) {
+ return style({
+ 'background-size':
+ '100% ' + addUnit((data.itemHeight * (data.visibleItemCount - 1)) / 2),
+ });
+}
+
+function frameStyle(data) {
+ return style({
+ height: addUnit(data.itemHeight),
+ });
+}
+
+function columns(columns) {
+ if (!array.isArray(columns)) {
+ return [];
+ }
+
+ if (columns.length && !columns[0].values) {
+ return [{ values: columns }];
+ }
+
+ return columns;
+}
+
+module.exports = {
+ columnsStyle: columnsStyle,
+ frameStyle: frameStyle,
+ maskStyle: maskStyle,
+ columns: columns,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/index.wxss
new file mode 100644
index 0000000..d924abb
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-picker{-webkit-text-size-adjust:100%;background-color:var(--picker-background-color,#fff);overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.van-picker__toolbar{display:flex;height:var(--picker-toolbar-height,44px);justify-content:space-between;line-height:var(--picker-toolbar-height,44px)}.van-picker__cancel,.van-picker__confirm{font-size:var(--picker-action-font-size,14px);padding:var(--picker-action-padding,0 16px)}.van-picker__cancel--hover,.van-picker__confirm--hover{opacity:.7}.van-picker__confirm{color:var(--picker-confirm-action-color,#576b95)}.van-picker__cancel{color:var(--picker-cancel-action-color,#969799)}.van-picker__title{font-size:var(--picker-option-font-size,16px);font-weight:var(--font-weight-bold,500);max-width:50%;text-align:center}.van-picker__columns{display:flex;position:relative}.van-picker__column{flex:1 1;width:0}.van-picker__loading{align-items:center;background-color:var(--picker-loading-mask-color,hsla(0,0%,100%,.9));bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:4}.van-picker__mask{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-image:linear-gradient(180deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.4)),linear-gradient(0deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.4));background-position:top,bottom;background-repeat:no-repeat;height:100%;left:0;top:0;width:100%;z-index:2}.van-picker__frame,.van-picker__mask{pointer-events:none;position:absolute}.van-picker__frame{left:16px;right:16px;top:50%;transform:translateY(-50%);z-index:1}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/shared.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/shared.js
new file mode 100644
index 0000000..3d40a8c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/shared.js
@@ -0,0 +1,24 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.pickerProps = void 0;
+exports.pickerProps = {
+ title: String,
+ loading: Boolean,
+ showToolbar: Boolean,
+ cancelButtonText: {
+ type: String,
+ value: '取消',
+ },
+ confirmButtonText: {
+ type: String,
+ value: '确认',
+ },
+ visibleItemCount: {
+ type: Number,
+ value: 6,
+ },
+ itemHeight: {
+ type: Number,
+ value: 44,
+ },
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/toolbar.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/toolbar.wxml
new file mode 100644
index 0000000..414f612
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/picker/toolbar.wxml
@@ -0,0 +1,23 @@
+
+
+ {{ cancelButtonText }}
+
+ {{
+ title
+ }}
+
+ {{ confirmButtonText }}
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/popup/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/popup/index.js
new file mode 100644
index 0000000..56367a4
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/popup/index.js
@@ -0,0 +1,91 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var transition_1 = require("../mixins/transition");
+(0, component_1.VantComponent)({
+ classes: [
+ 'enter-class',
+ 'enter-active-class',
+ 'enter-to-class',
+ 'leave-class',
+ 'leave-active-class',
+ 'leave-to-class',
+ 'close-icon-class',
+ ],
+ mixins: [(0, transition_1.transition)(false)],
+ props: {
+ round: Boolean,
+ closeable: Boolean,
+ customStyle: String,
+ overlayStyle: String,
+ transition: {
+ type: String,
+ observer: 'observeClass',
+ },
+ zIndex: {
+ type: Number,
+ value: 100,
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ },
+ closeIcon: {
+ type: String,
+ value: 'cross',
+ },
+ closeIconPosition: {
+ type: String,
+ value: 'top-right',
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ },
+ position: {
+ type: String,
+ value: 'center',
+ observer: 'observeClass',
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ safeAreaInsetTop: {
+ type: Boolean,
+ value: false,
+ },
+ lockScroll: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ created: function () {
+ this.observeClass();
+ },
+ methods: {
+ onClickCloseIcon: function () {
+ this.$emit('close');
+ },
+ onClickOverlay: function () {
+ this.$emit('click-overlay');
+ if (this.data.closeOnClickOverlay) {
+ this.$emit('close');
+ }
+ },
+ observeClass: function () {
+ var _a = this.data, transition = _a.transition, position = _a.position, duration = _a.duration;
+ var updateData = {
+ name: transition || position,
+ };
+ if (transition === 'none') {
+ updateData.duration = 0;
+ this.originDuration = duration;
+ }
+ else if (this.originDuration != null) {
+ updateData.duration = this.originDuration;
+ }
+ this.setData(updateData);
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/popup/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/popup/index.json
new file mode 100644
index 0000000..88a6eab
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/popup/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-overlay": "../overlay/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/popup/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/popup/index.wxml
new file mode 100644
index 0000000..ea7d696
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/popup/index.wxml
@@ -0,0 +1,26 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/popup/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/popup/index.wxs
new file mode 100644
index 0000000..8d59f24
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/popup/index.wxs
@@ -0,0 +1,18 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+
+function popupStyle(data) {
+ return style([
+ {
+ 'z-index': data.zIndex,
+ '-webkit-transition-duration': data.currentDuration + 'ms',
+ 'transition-duration': data.currentDuration + 'ms',
+ },
+ data.display ? null : 'display: none',
+ data.customStyle,
+ ]);
+}
+
+module.exports = {
+ popupStyle: popupStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/popup/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/popup/index.wxss
new file mode 100644
index 0000000..a840541
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/popup/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-popup{-webkit-overflow-scrolling:touch;animation:ease both;background-color:var(--popup-background-color,#fff);box-sizing:border-box;max-height:100%;overflow-y:auto;position:fixed;transition-timing-function:ease}.van-popup--center{left:50%;top:50%;transform:translate3d(-50%,-50%,0)}.van-popup--center.van-popup--round{border-radius:var(--popup-round-border-radius,16px)}.van-popup--top{left:0;top:0;width:100%}.van-popup--top.van-popup--round{border-radius:0 0 var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) var(--popup-round-border-radius,var(--popup-round-border-radius,16px))}.van-popup--right{right:0;top:50%;transform:translate3d(0,-50%,0)}.van-popup--right.van-popup--round{border-radius:var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) 0 0 var(--popup-round-border-radius,var(--popup-round-border-radius,16px))}.van-popup--bottom{bottom:0;left:0;width:100%}.van-popup--bottom.van-popup--round{border-radius:var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) 0 0}.van-popup--left{left:0;top:50%;transform:translate3d(0,-50%,0)}.van-popup--left.van-popup--round{border-radius:0 var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) var(--popup-round-border-radius,var(--popup-round-border-radius,16px)) 0}.van-popup--bottom.van-popup--safe{padding-bottom:env(safe-area-inset-bottom)}.van-popup--safeTop{padding-top:env(safe-area-inset-top)}.van-popup__close-icon{color:var(--popup-close-icon-color,#969799);font-size:var(--popup-close-icon-size,18px);position:absolute;z-index:var(--popup-close-icon-z-index,1)}.van-popup__close-icon--top-left{left:var(--popup-close-icon-margin,16px);top:var(--popup-close-icon-margin,16px)}.van-popup__close-icon--top-right{right:var(--popup-close-icon-margin,16px);top:var(--popup-close-icon-margin,16px)}.van-popup__close-icon--bottom-left{bottom:var(--popup-close-icon-margin,16px);left:var(--popup-close-icon-margin,16px)}.van-popup__close-icon--bottom-right{bottom:var(--popup-close-icon-margin,16px);right:var(--popup-close-icon-margin,16px)}.van-popup__close-icon:active{opacity:.6}.van-scale-enter-active,.van-scale-leave-active{transition-property:opacity,transform}.van-scale-enter,.van-scale-leave-to{opacity:0;transform:translate3d(-50%,-50%,0) scale(.7)}.van-fade-enter-active,.van-fade-leave-active{transition-property:opacity}.van-fade-enter,.van-fade-leave-to{opacity:0}.van-center-enter-active,.van-center-leave-active{transition-property:opacity}.van-center-enter,.van-center-leave-to{opacity:0}.van-bottom-enter-active,.van-bottom-leave-active,.van-left-enter-active,.van-left-leave-active,.van-right-enter-active,.van-right-leave-active,.van-top-enter-active,.van-top-leave-active{transition-property:transform}.van-bottom-enter,.van-bottom-leave-to{transform:translate3d(0,100%,0)}.van-top-enter,.van-top-leave-to{transform:translate3d(0,-100%,0)}.van-left-enter,.van-left-leave-to{transform:translate3d(-100%,-50%,0)}.van-right-enter,.van-right-leave-to{transform:translate3d(100%,-50%,0)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/progress/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/progress/index.js
new file mode 100644
index 0000000..3bca928
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/progress/index.js
@@ -0,0 +1,55 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var color_1 = require("../common/color");
+var utils_1 = require("../common/utils");
+(0, component_1.VantComponent)({
+ props: {
+ inactive: Boolean,
+ percentage: {
+ type: Number,
+ observer: 'setLeft',
+ },
+ pivotText: String,
+ pivotColor: String,
+ trackColor: String,
+ showPivot: {
+ type: Boolean,
+ value: true,
+ },
+ color: {
+ type: String,
+ value: color_1.BLUE,
+ },
+ textColor: {
+ type: String,
+ value: '#fff',
+ },
+ strokeWidth: {
+ type: null,
+ value: 4,
+ },
+ },
+ data: {
+ right: 0,
+ },
+ mounted: function () {
+ this.setLeft();
+ },
+ methods: {
+ setLeft: function () {
+ var _this = this;
+ Promise.all([
+ (0, utils_1.getRect)(this, '.van-progress'),
+ (0, utils_1.getRect)(this, '.van-progress__pivot'),
+ ]).then(function (_a) {
+ var portion = _a[0], pivot = _a[1];
+ if (portion && pivot) {
+ _this.setData({
+ right: (pivot.width * (_this.data.percentage - 100)) / 100,
+ });
+ }
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/progress/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/progress/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/progress/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/progress/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/progress/index.wxml
new file mode 100644
index 0000000..e81514d
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/progress/index.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+ {{ computed.pivotText(pivotText, percentage) }}
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/progress/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/progress/index.wxs
new file mode 100644
index 0000000..5b1e8e6
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/progress/index.wxs
@@ -0,0 +1,36 @@
+/* eslint-disable */
+var utils = require('../wxs/utils.wxs');
+var style = require('../wxs/style.wxs');
+
+function pivotText(pivotText, percentage) {
+ return pivotText || percentage + '%';
+}
+
+function rootStyle(data) {
+ return style({
+ 'height': data.strokeWidth ? utils.addUnit(data.strokeWidth) : '',
+ 'background': data.trackColor,
+ });
+}
+
+function portionStyle(data) {
+ return style({
+ background: data.inactive ? '#cacaca' : data.color,
+ width: data.percentage ? data.percentage + '%' : '',
+ });
+}
+
+function pivotStyle(data) {
+ return style({
+ color: data.textColor,
+ right: data.right + 'px',
+ background: data.pivotColor ? data.pivotColor : data.inactive ? '#cacaca' : data.color,
+ });
+}
+
+module.exports = {
+ pivotText: pivotText,
+ rootStyle: rootStyle,
+ portionStyle: portionStyle,
+ pivotStyle: pivotStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/progress/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/progress/index.wxss
new file mode 100644
index 0000000..a08972a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/progress/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-progress{background:var(--progress-background-color,#ebedf0);border-radius:var(--progress-height,4px);height:var(--progress-height,4px);position:relative}.van-progress__portion{background:var(--progress-color,#1989fa);border-radius:inherit;height:100%;left:0;position:absolute}.van-progress__pivot{background-color:var(--progress-pivot-background-color,#1989fa);border-radius:1em;box-sizing:border-box;color:var(--progress-pivot-text-color,#fff);font-size:var(--progress-pivot-font-size,10px);line-height:var(--progress-pivot-line-height,1.6);min-width:3.6em;padding:var(--progress-pivot-padding,0 5px);position:absolute;text-align:center;top:50%;transform:translateY(-50%);word-break:keep-all}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio-group/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio-group/index.js
new file mode 100644
index 0000000..ddb2a60
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio-group/index.js
@@ -0,0 +1,24 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ field: true,
+ relation: (0, relation_1.useChildren)('radio'),
+ props: {
+ value: {
+ type: null,
+ observer: 'updateChildren',
+ },
+ direction: String,
+ disabled: {
+ type: Boolean,
+ observer: 'updateChildren',
+ },
+ },
+ methods: {
+ updateChildren: function () {
+ this.children.forEach(function (child) { return child.updateFromParent(); });
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio-group/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio-group/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio-group/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio-group/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio-group/index.wxml
new file mode 100644
index 0000000..0ab17af
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio-group/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio-group/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio-group/index.wxss
new file mode 100644
index 0000000..4e3b5d4
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio-group/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-radio-group--horizontal{display:flex;flex-wrap:wrap}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio/index.js
new file mode 100644
index 0000000..61a86d5
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio/index.js
@@ -0,0 +1,68 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var version_1 = require("../common/version");
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ field: true,
+ relation: (0, relation_1.useParent)('radio-group', function () {
+ this.updateFromParent();
+ }),
+ classes: ['icon-class', 'label-class'],
+ props: {
+ name: null,
+ value: null,
+ disabled: Boolean,
+ useIconSlot: Boolean,
+ checkedColor: String,
+ labelPosition: {
+ type: String,
+ value: 'right',
+ },
+ labelDisabled: Boolean,
+ shape: {
+ type: String,
+ value: 'round',
+ },
+ iconSize: {
+ type: null,
+ value: 20,
+ },
+ },
+ data: {
+ direction: '',
+ parentDisabled: false,
+ },
+ methods: {
+ updateFromParent: function () {
+ if (!this.parent) {
+ return;
+ }
+ var _a = this.parent.data, value = _a.value, parentDisabled = _a.disabled, direction = _a.direction;
+ this.setData({
+ value: value,
+ direction: direction,
+ parentDisabled: parentDisabled,
+ });
+ },
+ emitChange: function (value) {
+ var instance = this.parent || this;
+ instance.$emit('input', value);
+ instance.$emit('change', value);
+ if ((0, version_1.canIUseModel)()) {
+ instance.setData({ value: value });
+ }
+ },
+ onChange: function () {
+ if (!this.data.disabled && !this.data.parentDisabled) {
+ this.emitChange(this.data.name);
+ }
+ },
+ onClickLabel: function () {
+ var _a = this.data, disabled = _a.disabled, parentDisabled = _a.parentDisabled, labelDisabled = _a.labelDisabled, name = _a.name;
+ if (!(disabled || parentDisabled) && !labelDisabled) {
+ this.emitChange(name);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio/index.wxml
new file mode 100644
index 0000000..5f898c0
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio/index.wxml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio/index.wxs
new file mode 100644
index 0000000..a428aad
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio/index.wxs
@@ -0,0 +1,33 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function iconStyle(data) {
+ var styles = {
+ 'font-size': addUnit(data.iconSize),
+ };
+
+ if (
+ data.checkedColor &&
+ !(data.disabled || data.parentDisabled) &&
+ data.value === data.name
+ ) {
+ styles['border-color'] = data.checkedColor;
+ styles['background-color'] = data.checkedColor;
+ }
+
+ return style(styles);
+}
+
+function iconCustomStyle(data) {
+ return style({
+ 'line-height': addUnit(data.iconSize),
+ 'font-size': '.8em',
+ display: 'block',
+ });
+}
+
+module.exports = {
+ iconStyle: iconStyle,
+ iconCustomStyle: iconCustomStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio/index.wxss
new file mode 100644
index 0000000..257b0c7
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/radio/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-radio{align-items:center;display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.van-radio__icon-wrap{flex:none}.van-radio--horizontal{margin-right:var(--padding-sm,12px)}.van-radio__icon{align-items:center;border:1px solid var(--radio-border-color,#c8c9cc);box-sizing:border-box;color:transparent;display:flex;font-size:var(--radio-size,20px);height:1em;justify-content:center;text-align:center;transition-duration:var(--radio-transition-duration,.2s);transition-property:color,border-color,background-color;width:1em}.van-radio__icon--round{border-radius:100%}.van-radio__icon--checked{background-color:var(--radio-checked-icon-color,#1989fa);border-color:var(--radio-checked-icon-color,#1989fa);color:#fff}.van-radio__icon--disabled{background-color:var(--radio-disabled-background-color,#ebedf0);border-color:var(--radio-disabled-icon-color,#c8c9cc)}.van-radio__icon--disabled.van-radio__icon--checked{color:var(--radio-disabled-icon-color,#c8c9cc)}.van-radio__label{word-wrap:break-word;color:var(--radio-label-color,#323233);line-height:var(--radio-size,20px);padding-left:var(--radio-label-margin,10px)}.van-radio__label--left{float:left;margin:0 var(--radio-label-margin,10px) 0 0}.van-radio__label--disabled{color:var(--radio-disabled-label-color,#c8c9cc)}.van-radio__label:empty{margin:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/rate/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/rate/index.js
new file mode 100644
index 0000000..30a96de
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/rate/index.js
@@ -0,0 +1,93 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var utils_1 = require("../common/utils");
+var component_1 = require("../common/component");
+var version_1 = require("../common/version");
+(0, component_1.VantComponent)({
+ field: true,
+ classes: ['icon-class'],
+ props: {
+ value: {
+ type: Number,
+ observer: function (value) {
+ if (value !== this.data.innerValue) {
+ this.setData({ innerValue: value });
+ }
+ },
+ },
+ readonly: Boolean,
+ disabled: Boolean,
+ allowHalf: Boolean,
+ size: null,
+ icon: {
+ type: String,
+ value: 'star',
+ },
+ voidIcon: {
+ type: String,
+ value: 'star-o',
+ },
+ color: String,
+ voidColor: String,
+ disabledColor: String,
+ count: {
+ type: Number,
+ value: 5,
+ observer: function (value) {
+ this.setData({ innerCountArray: Array.from({ length: value }) });
+ },
+ },
+ gutter: null,
+ touchable: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ innerValue: 0,
+ innerCountArray: Array.from({ length: 5 }),
+ },
+ methods: {
+ onSelect: function (event) {
+ var _this = this;
+ var data = this.data;
+ var score = event.currentTarget.dataset.score;
+ if (!data.disabled && !data.readonly) {
+ this.setData({ innerValue: score + 1 });
+ if ((0, version_1.canIUseModel)()) {
+ this.setData({ value: score + 1 });
+ }
+ wx.nextTick(function () {
+ _this.$emit('input', score + 1);
+ _this.$emit('change', score + 1);
+ });
+ }
+ },
+ onTouchMove: function (event) {
+ var _this = this;
+ var touchable = this.data.touchable;
+ if (!touchable)
+ return;
+ var clientX = event.touches[0].clientX;
+ (0, utils_1.getAllRect)(this, '.van-rate__icon').then(function (list) {
+ var target = list
+ .sort(function (cur, next) { return cur.dataset.score - next.dataset.score; })
+ .find(function (item) { return clientX >= item.left && clientX <= item.right; });
+ if (target != null) {
+ _this.onSelect(__assign(__assign({}, event), { currentTarget: target }));
+ }
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/rate/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/rate/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/rate/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/rate/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/rate/index.wxml
new file mode 100644
index 0000000..049714c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/rate/index.wxml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/rate/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/rate/index.wxss
new file mode 100644
index 0000000..e2a517e
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/rate/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-rate{display:inline-flex;-webkit-user-select:none;user-select:none}.van-rate__item{padding:0 var(--rate-horizontal-padding,2px);position:relative}.van-rate__item:not(:last-child){padding-right:var(--rate-icon-gutter,4px)}.van-rate__icon{color:var(--rate-icon-void-color,#c8c9cc);display:block;font-size:var(--rate-icon-size,20px);height:1em}.van-rate__icon--half{left:var(--rate-horizontal-padding,2px);overflow:hidden;position:absolute;top:0;width:.5em}.van-rate__icon--full,.van-rate__icon--half{color:var(--rate-icon-full-color,#ee0a24)}.van-rate__icon--disabled{color:var(--rate-icon-disabled-color,#c8c9cc)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/row/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/row/index.js
new file mode 100644
index 0000000..c27acd6
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/row/index.js
@@ -0,0 +1,26 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useChildren)('col', function (target) {
+ var gutter = this.data.gutter;
+ if (gutter) {
+ target.setData({ gutter: gutter });
+ }
+ }),
+ props: {
+ gutter: {
+ type: Number,
+ observer: 'setGutter',
+ },
+ },
+ methods: {
+ setGutter: function () {
+ var _this = this;
+ this.children.forEach(function (col) {
+ col.setData(_this.data);
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/row/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/row/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/row/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/row/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/row/index.wxml
new file mode 100644
index 0000000..69a4359
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/row/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/row/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/row/index.wxs
new file mode 100644
index 0000000..f5c5958
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/row/index.wxs
@@ -0,0 +1,18 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ if (!data.gutter) {
+ return '';
+ }
+
+ return style({
+ 'margin-right': addUnit(-data.gutter / 2),
+ 'margin-left': addUnit(-data.gutter / 2),
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/row/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/row/index.wxss
new file mode 100644
index 0000000..bb8946b
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/row/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-row:after{clear:both;content:"";display:table}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/search/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/search/index.js
new file mode 100644
index 0000000..d954ca3
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/search/index.js
@@ -0,0 +1,92 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var version_1 = require("../common/version");
+(0, component_1.VantComponent)({
+ field: true,
+ classes: ['field-class', 'input-class', 'cancel-class'],
+ props: {
+ label: String,
+ focus: Boolean,
+ error: Boolean,
+ disabled: Boolean,
+ readonly: Boolean,
+ inputAlign: String,
+ showAction: Boolean,
+ useActionSlot: Boolean,
+ useLeftIconSlot: Boolean,
+ useRightIconSlot: Boolean,
+ leftIcon: {
+ type: String,
+ value: 'search',
+ },
+ rightIcon: String,
+ placeholder: String,
+ placeholderStyle: String,
+ actionText: {
+ type: String,
+ value: '取消',
+ },
+ background: {
+ type: String,
+ value: '#ffffff',
+ },
+ maxlength: {
+ type: Number,
+ value: -1,
+ },
+ shape: {
+ type: String,
+ value: 'square',
+ },
+ clearable: {
+ type: Boolean,
+ value: true,
+ },
+ clearTrigger: {
+ type: String,
+ value: 'focus',
+ },
+ clearIcon: {
+ type: String,
+ value: 'clear',
+ },
+ },
+ methods: {
+ onChange: function (event) {
+ if ((0, version_1.canIUseModel)()) {
+ this.setData({ value: event.detail });
+ }
+ this.$emit('change', event.detail);
+ },
+ onCancel: function () {
+ var _this = this;
+ /**
+ * 修复修改输入框值时,输入框失焦和赋值同时触发,赋值失效
+ * https://github.com/youzan/@vant/weapp/issues/1768
+ */
+ setTimeout(function () {
+ if ((0, version_1.canIUseModel)()) {
+ _this.setData({ value: '' });
+ }
+ _this.$emit('cancel');
+ _this.$emit('change', '');
+ }, 200);
+ },
+ onSearch: function (event) {
+ this.$emit('search', event.detail);
+ },
+ onFocus: function (event) {
+ this.$emit('focus', event.detail);
+ },
+ onBlur: function (event) {
+ this.$emit('blur', event.detail);
+ },
+ onClear: function (event) {
+ this.$emit('clear', event.detail);
+ },
+ onClickInput: function (event) {
+ this.$emit('click-input', event.detail);
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/search/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/search/index.json
new file mode 100644
index 0000000..b4cfe91
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/search/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-field": "../field/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/search/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/search/index.wxml
new file mode 100644
index 0000000..0068cfe
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/search/index.wxml
@@ -0,0 +1,53 @@
+
+
+
+
+ {{ label }}
+
+
+
+
+
+
+
+
+
+
+ {{ actionText }}
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/search/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/search/index.wxss
new file mode 100644
index 0000000..212f7aa
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/search/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-search{align-items:center;box-sizing:border-box;display:flex;padding:var(--search-padding,10px 12px)}.van-search__content{background-color:var(--search-background-color,#f7f8fa);border-radius:2px;display:flex;flex:1;padding-left:var(--padding-sm,12px)}.van-search__content--round{border-radius:999px}.van-search__label{color:var(--search-label-color,#323233);font-size:var(--search-label-font-size,14px);line-height:var(--search-input-height,34px);padding:var(--search-label-padding,0 5px)}.van-search__field{flex:1}.van-search__field__left-icon{color:var(--search-left-icon-color,#969799)}.van-search--withaction{padding-right:0}.van-search__action{color:var(--search-action-text-color,#323233);font-size:var(--search-action-font-size,14px);line-height:var(--search-input-height,34px);padding:var(--search-action-padding,0 8px)}.van-search__action--hover{background-color:#f2f3f5}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/index.js
new file mode 100644
index 0000000..669ca0d
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/index.js
@@ -0,0 +1,57 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ // whether to show popup
+ show: Boolean,
+ // overlay custom style
+ overlayStyle: String,
+ // z-index
+ zIndex: {
+ type: Number,
+ value: 100,
+ },
+ title: String,
+ cancelText: {
+ type: String,
+ value: '取消',
+ },
+ description: String,
+ options: {
+ type: Array,
+ value: [],
+ },
+ overlay: {
+ type: Boolean,
+ value: true,
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: true,
+ },
+ duration: {
+ type: null,
+ value: 300,
+ },
+ },
+ methods: {
+ onClickOverlay: function () {
+ this.$emit('click-overlay');
+ },
+ onCancel: function () {
+ this.onClose();
+ this.$emit('cancel');
+ },
+ onSelect: function (event) {
+ this.$emit('select', event.detail);
+ },
+ onClose: function () {
+ this.$emit('close');
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/index.json
new file mode 100644
index 0000000..15a7c22
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../popup/index",
+ "options": "./options"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/index.wxml
new file mode 100644
index 0000000..cefc3af
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/index.wxml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/index.wxs
new file mode 100644
index 0000000..2149ee9
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/index.wxs
@@ -0,0 +1,12 @@
+/* eslint-disable */
+function isMulti(options) {
+ if (options == null || options[0] == null) {
+ return false;
+ }
+
+ return "Array" === options.constructor && "Array" === options[0].constructor;
+}
+
+module.exports = {
+ isMulti: isMulti
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/index.wxss
new file mode 100644
index 0000000..e8d8dae
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-share-sheet__header{padding:12px 16px 4px;text-align:center}.van-share-sheet__title{color:#323233;font-size:14px;font-weight:400;line-height:20px;margin-top:8px}.van-share-sheet__title:empty,.van-share-sheet__title:not(:empty)+.van-share-sheet__title{display:none}.van-share-sheet__description{color:#969799;display:block;font-size:12px;line-height:16px;margin-top:8px}.van-share-sheet__description:empty,.van-share-sheet__description:not(:empty)+.van-share-sheet__description{display:none}.van-share-sheet__cancel{background:#fff;border:none;box-sizing:initial;display:block;font-size:16px;height:auto;line-height:48px;padding:0;text-align:center;width:100%}.van-share-sheet__cancel:before{background-color:#f7f8fa;content:" ";display:block;height:8px}.van-share-sheet__cancel:after{display:none}.van-share-sheet__cancel:active{background-color:#f2f3f5}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/options.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/options.js
new file mode 100644
index 0000000..0432d4f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/options.js
@@ -0,0 +1,27 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ options: Array,
+ showBorder: Boolean,
+ },
+ methods: {
+ onSelect: function (event) {
+ var index = event.currentTarget.dataset.index;
+ var option = this.data.options[index];
+ this.$emit('select', __assign(__assign({}, option), { index: index }));
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/options.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/options.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/options.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/options.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/options.wxml
new file mode 100644
index 0000000..cad6837
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/options.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+ {{ item.name }}
+
+ {{ item.description }}
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/options.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/options.wxs
new file mode 100644
index 0000000..a116d32
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/options.wxs
@@ -0,0 +1,14 @@
+/* eslint-disable */
+var PRESET_ICONS = ['qq', 'link', 'weibo', 'wechat', 'poster', 'qrcode', 'weapp-qrcode', 'wechat-moments'];
+
+function getIconURL(icon) {
+ if (PRESET_ICONS.indexOf(icon) !== -1) {
+ return 'https://img.yzcdn.cn/vant/share-sheet-' + icon + '.png';
+ }
+
+ return icon;
+}
+
+module.exports = {
+ getIconURL: getIconURL,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/options.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/options.wxss
new file mode 100644
index 0000000..b7f5455
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/share-sheet/options.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-share-sheet__options{-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto;overflow-y:visible;padding:16px 0 16px 8px;position:relative}.van-share-sheet__options--border:before{border-top:1px solid #ebedf0;box-sizing:border-box;content:" ";left:16px;pointer-events:none;position:absolute;right:0;top:0;transform:scaleY(.5);transform-origin:center}.van-share-sheet__options::-webkit-scrollbar{height:0}.van-share-sheet__option{align-items:center;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.van-share-sheet__option:active{opacity:.7}.van-share-sheet__button{background-color:initial;border:0;height:auto;line-height:inherit;padding:0}.van-share-sheet__button:after{border:0}.van-share-sheet__icon{height:48px;margin:0 16px;width:48px}.van-share-sheet__name{color:#646566;font-size:12px;margin-top:8px;padding:0 4px}.van-share-sheet__option-description{color:#c8c9cc;font-size:12px;padding:0 4px}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar-item/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar-item/index.js
new file mode 100644
index 0000000..eac568f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar-item/index.js
@@ -0,0 +1,32 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ classes: ['active-class', 'disabled-class'],
+ relation: (0, relation_1.useParent)('sidebar'),
+ props: {
+ dot: Boolean,
+ badge: null,
+ info: null,
+ title: String,
+ disabled: Boolean,
+ },
+ methods: {
+ onClick: function () {
+ var _this = this;
+ var parent = this.parent;
+ if (!parent || this.data.disabled) {
+ return;
+ }
+ var index = parent.children.indexOf(this);
+ parent.setActive(index).then(function () {
+ _this.$emit('click', index);
+ parent.$emit('change', index);
+ });
+ },
+ setActive: function (selected) {
+ return this.setData({ selected: selected });
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar-item/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar-item/index.json
new file mode 100644
index 0000000..bf0ebe0
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar-item/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-info": "../info/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar-item/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar-item/index.wxml
new file mode 100644
index 0000000..c5c08a6
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar-item/index.wxml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar-item/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar-item/index.wxss
new file mode 100644
index 0000000..f1ce421
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-sidebar-item{background-color:var(--sidebar-background-color,#f7f8fa);border-left:3px solid transparent;box-sizing:border-box;color:var(--sidebar-text-color,#323233);display:block;font-size:var(--sidebar-font-size,14px);line-height:var(--sidebar-line-height,20px);overflow:hidden;padding:var(--sidebar-padding,20px 12px 20px 8px);-webkit-user-select:none;user-select:none}.van-sidebar-item__text{display:inline-block;position:relative;word-break:break-all}.van-sidebar-item--hover:not(.van-sidebar-item--disabled){background-color:var(--sidebar-active-color,#f2f3f5)}.van-sidebar-item:after{border-bottom-width:1px}.van-sidebar-item--selected{border-color:var(--sidebar-selected-border-color,#ee0a24);color:var(--sidebar-selected-text-color,#323233);font-weight:var(--sidebar-selected-font-weight,500)}.van-sidebar-item--selected:after{border-right-width:1px}.van-sidebar-item--selected,.van-sidebar-item--selected.van-sidebar-item--hover{background-color:var(--sidebar-selected-background-color,#fff)}.van-sidebar-item--disabled{color:var(--sidebar-disabled-text-color,#c8c9cc)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar/index.js
new file mode 100644
index 0000000..f3e0a58
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar/index.js
@@ -0,0 +1,36 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useChildren)('sidebar-item', function () {
+ this.setActive(this.data.activeKey);
+ }),
+ props: {
+ activeKey: {
+ type: Number,
+ value: 0,
+ observer: 'setActive',
+ },
+ },
+ beforeCreate: function () {
+ this.currentActive = -1;
+ },
+ methods: {
+ setActive: function (activeKey) {
+ var _a = this, children = _a.children, currentActive = _a.currentActive;
+ if (!children.length) {
+ return Promise.resolve();
+ }
+ this.currentActive = activeKey;
+ var stack = [];
+ if (currentActive !== activeKey && children[currentActive]) {
+ stack.push(children[currentActive].setActive(false));
+ }
+ if (children[activeKey]) {
+ stack.push(children[activeKey].setActive(true));
+ }
+ return Promise.all(stack);
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar/index.wxml
new file mode 100644
index 0000000..96b11c7
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar/index.wxml
@@ -0,0 +1,3 @@
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar/index.wxss
new file mode 100644
index 0000000..5a2d44f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sidebar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-sidebar{width:var(--sidebar-width,80px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/skeleton/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/skeleton/index.js
new file mode 100644
index 0000000..2ab3175
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/skeleton/index.js
@@ -0,0 +1,48 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ classes: ['avatar-class', 'title-class', 'row-class'],
+ props: {
+ row: {
+ type: Number,
+ value: 0,
+ observer: function (value) {
+ this.setData({ rowArray: Array.from({ length: value }) });
+ },
+ },
+ title: Boolean,
+ avatar: Boolean,
+ loading: {
+ type: Boolean,
+ value: true,
+ },
+ animate: {
+ type: Boolean,
+ value: true,
+ },
+ avatarSize: {
+ type: String,
+ value: '32px',
+ },
+ avatarShape: {
+ type: String,
+ value: 'round',
+ },
+ titleWidth: {
+ type: String,
+ value: '40%',
+ },
+ rowWidth: {
+ type: null,
+ value: '100%',
+ observer: function (val) {
+ this.setData({ isArray: val instanceof Array });
+ },
+ },
+ },
+ data: {
+ isArray: false,
+ rowArray: [],
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/skeleton/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/skeleton/index.json
new file mode 100644
index 0000000..a89ef4d
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/skeleton/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/skeleton/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/skeleton/index.wxml
new file mode 100644
index 0000000..058e2ef
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/skeleton/index.wxml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/skeleton/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/skeleton/index.wxss
new file mode 100644
index 0000000..d59a5ed
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/skeleton/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-skeleton{box-sizing:border-box;display:flex;padding:var(--skeleton-padding,0 16px);width:100%}.van-skeleton__avatar{background-color:var(--skeleton-avatar-background-color,#f2f3f5);flex-shrink:0;margin-right:var(--padding-md,16px)}.van-skeleton__avatar--round{border-radius:100%}.van-skeleton__content{flex:1}.van-skeleton__avatar+.van-skeleton__content{padding-top:var(--padding-xs,8px)}.van-skeleton__row,.van-skeleton__title{background-color:var(--skeleton-row-background-color,#f2f3f5);height:var(--skeleton-row-height,16px)}.van-skeleton__title{margin:0}.van-skeleton__row:not(:first-child){margin-top:var(--skeleton-row-margin-top,12px)}.van-skeleton__title+.van-skeleton__row{margin-top:20px}.van-skeleton--animate{animation:van-skeleton-blink 1.2s ease-in-out infinite}@keyframes van-skeleton-blink{50%{opacity:.6}}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/slider/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/slider/index.js
new file mode 100644
index 0000000..1c307ab
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/slider/index.js
@@ -0,0 +1,189 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var touch_1 = require("../mixins/touch");
+var version_1 = require("../common/version");
+var utils_1 = require("../common/utils");
+(0, component_1.VantComponent)({
+ mixins: [touch_1.touch],
+ props: {
+ range: Boolean,
+ disabled: Boolean,
+ useButtonSlot: Boolean,
+ activeColor: String,
+ inactiveColor: String,
+ max: {
+ type: Number,
+ value: 100,
+ },
+ min: {
+ type: Number,
+ value: 0,
+ },
+ step: {
+ type: Number,
+ value: 1,
+ },
+ value: {
+ type: null,
+ value: 0,
+ observer: function (val) {
+ if (val !== this.value) {
+ this.updateValue(val);
+ }
+ },
+ },
+ vertical: Boolean,
+ barHeight: null,
+ },
+ created: function () {
+ this.updateValue(this.data.value);
+ },
+ methods: {
+ onTouchStart: function (event) {
+ var _this = this;
+ if (this.data.disabled)
+ return;
+ var index = event.currentTarget.dataset.index;
+ if (typeof index === 'number') {
+ this.buttonIndex = index;
+ }
+ this.touchStart(event);
+ this.startValue = this.format(this.value);
+ this.newValue = this.value;
+ if (this.isRange(this.newValue)) {
+ this.startValue = this.newValue.map(function (val) { return _this.format(val); });
+ }
+ else {
+ this.startValue = this.format(this.newValue);
+ }
+ this.dragStatus = 'start';
+ },
+ onTouchMove: function (event) {
+ var _this = this;
+ if (this.data.disabled)
+ return;
+ if (this.dragStatus === 'start') {
+ this.$emit('drag-start');
+ }
+ this.touchMove(event);
+ this.dragStatus = 'draging';
+ (0, utils_1.getRect)(this, '.van-slider').then(function (rect) {
+ var vertical = _this.data.vertical;
+ var delta = vertical ? _this.deltaY : _this.deltaX;
+ var total = vertical ? rect.height : rect.width;
+ var diff = (delta / total) * _this.getRange();
+ if (_this.isRange(_this.startValue)) {
+ _this.newValue[_this.buttonIndex] =
+ _this.startValue[_this.buttonIndex] + diff;
+ }
+ else {
+ _this.newValue = _this.startValue + diff;
+ }
+ _this.updateValue(_this.newValue, false, true);
+ });
+ },
+ onTouchEnd: function () {
+ if (this.data.disabled)
+ return;
+ if (this.dragStatus === 'draging') {
+ this.updateValue(this.newValue, true);
+ this.$emit('drag-end');
+ }
+ },
+ onClick: function (event) {
+ var _this = this;
+ if (this.data.disabled)
+ return;
+ var min = this.data.min;
+ (0, utils_1.getRect)(this, '.van-slider').then(function (rect) {
+ var vertical = _this.data.vertical;
+ var touch = event.touches[0];
+ var delta = vertical
+ ? touch.clientY - rect.top
+ : touch.clientX - rect.left;
+ var total = vertical ? rect.height : rect.width;
+ var value = Number(min) + (delta / total) * _this.getRange();
+ if (_this.isRange(_this.value)) {
+ var _a = _this.value, left = _a[0], right = _a[1];
+ var middle = (left + right) / 2;
+ if (value <= middle) {
+ _this.updateValue([value, right], true);
+ }
+ else {
+ _this.updateValue([left, value], true);
+ }
+ }
+ else {
+ _this.updateValue(value, true);
+ }
+ });
+ },
+ isRange: function (val) {
+ var range = this.data.range;
+ return range && Array.isArray(val);
+ },
+ handleOverlap: function (value) {
+ if (value[0] > value[1]) {
+ return value.slice(0).reverse();
+ }
+ return value;
+ },
+ updateValue: function (value, end, drag) {
+ var _this = this;
+ if (this.isRange(value)) {
+ value = this.handleOverlap(value).map(function (val) { return _this.format(val); });
+ }
+ else {
+ value = this.format(value);
+ }
+ this.value = value;
+ var vertical = this.data.vertical;
+ var mainAxis = vertical ? 'height' : 'width';
+ this.setData({
+ wrapperStyle: "\n background: " + (this.data.inactiveColor || '') + ";\n " + (vertical ? 'width' : 'height') + ": " + ((0, utils_1.addUnit)(this.data.barHeight) || '') + ";\n ",
+ barStyle: "\n " + mainAxis + ": " + this.calcMainAxis() + ";\n left: " + (vertical ? 0 : this.calcOffset()) + ";\n top: " + (vertical ? this.calcOffset() : 0) + ";\n " + (drag ? 'transition: none;' : '') + "\n ",
+ });
+ if (drag) {
+ this.$emit('drag', { value: value });
+ }
+ if (end) {
+ this.$emit('change', value);
+ }
+ if ((drag || end) && (0, version_1.canIUseModel)()) {
+ this.setData({ value: value });
+ }
+ },
+ getScope: function () {
+ return Number(this.data.max) - Number(this.data.min);
+ },
+ getRange: function () {
+ var _a = this.data, max = _a.max, min = _a.min;
+ return max - min;
+ },
+ // 计算选中条的长度百分比
+ calcMainAxis: function () {
+ var value = this.value;
+ var min = this.data.min;
+ var scope = this.getScope();
+ if (this.isRange(value)) {
+ return ((value[1] - value[0]) * 100) / scope + "%";
+ }
+ return ((value - Number(min)) * 100) / scope + "%";
+ },
+ // 计算选中条的开始位置的偏移量
+ calcOffset: function () {
+ var value = this.value;
+ var min = this.data.min;
+ var scope = this.getScope();
+ if (this.isRange(value)) {
+ return ((value[0] - Number(min)) * 100) / scope + "%";
+ }
+ return '0%';
+ },
+ format: function (value) {
+ var _a = this.data, max = _a.max, min = _a.min, step = _a.step;
+ return Math.round(Math.max(min, Math.min(value, max)) / step) * step;
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/slider/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/slider/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/slider/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/slider/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/slider/index.wxml
new file mode 100644
index 0000000..7c0184f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/slider/index.wxml
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/slider/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/slider/index.wxs
new file mode 100644
index 0000000..7c43e6e
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/slider/index.wxs
@@ -0,0 +1,14 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function barStyle(barHeight, activeColor) {
+ return style({
+ height: addUnit(barHeight),
+ background: activeColor,
+ });
+}
+
+module.exports = {
+ barStyle: barStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/slider/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/slider/index.wxss
new file mode 100644
index 0000000..d1587de
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/slider/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-slider{background-color:var(--slider-inactive-background-color,#ebedf0);border-radius:999px;height:var(--slider-bar-height,2px);position:relative}.van-slider:before{bottom:calc(var(--padding-xs, 8px)*-1);content:"";left:0;position:absolute;right:0;top:calc(var(--padding-xs, 8px)*-1)}.van-slider__bar{background-color:var(--slider-active-background-color,#1989fa);border-radius:inherit;height:100%;position:relative;transition:all .2s;width:100%}.van-slider__button{background-color:var(--slider-button-background-color,#fff);border-radius:var(--slider-button-border-radius,50%);box-shadow:var(--slider-button-box-shadow,0 1px 2px rgba(0,0,0,.5));height:var(--slider-button-height,24px);width:var(--slider-button-width,24px)}.van-slider__button-wrapper,.van-slider__button-wrapper-right{position:absolute;right:0;top:50%;transform:translate3d(50%,-50%,0)}.van-slider__button-wrapper-left{left:0;position:absolute;top:50%;transform:translate3d(-50%,-50%,0)}.van-slider--disabled{opacity:var(--slider-disabled-opacity,.5)}.van-slider--vertical{display:inline-block;height:100%;width:var(--slider-bar-height,2px)}.van-slider--vertical .van-slider__button-wrapper,.van-slider--vertical .van-slider__button-wrapper-right{bottom:0;right:50%;top:auto;transform:translate3d(50%,50%,0)}.van-slider--vertical .van-slider__button-wrapper-left{left:auto;right:50%;top:0;transform:translate3d(50%,-50%,0)}.van-slider--vertical:before{bottom:0;left:-8px;right:-8px;top:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/stepper/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/stepper/index.js
new file mode 100644
index 0000000..aef944e
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/stepper/index.js
@@ -0,0 +1,200 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var validator_1 = require("../common/validator");
+var LONG_PRESS_START_TIME = 600;
+var LONG_PRESS_INTERVAL = 200;
+// add num and avoid float number
+function add(num1, num2) {
+ var cardinal = Math.pow(10, 10);
+ return Math.round((num1 + num2) * cardinal) / cardinal;
+}
+function equal(value1, value2) {
+ return String(value1) === String(value2);
+}
+(0, component_1.VantComponent)({
+ field: true,
+ classes: ['input-class', 'plus-class', 'minus-class'],
+ props: {
+ value: {
+ type: null,
+ observer: 'observeValue',
+ },
+ integer: {
+ type: Boolean,
+ observer: 'check',
+ },
+ disabled: Boolean,
+ inputWidth: String,
+ buttonSize: String,
+ asyncChange: Boolean,
+ disableInput: Boolean,
+ decimalLength: {
+ type: Number,
+ value: null,
+ observer: 'check',
+ },
+ min: {
+ type: null,
+ value: 1,
+ observer: 'check',
+ },
+ max: {
+ type: null,
+ value: Number.MAX_SAFE_INTEGER,
+ observer: 'check',
+ },
+ step: {
+ type: null,
+ value: 1,
+ },
+ showPlus: {
+ type: Boolean,
+ value: true,
+ },
+ showMinus: {
+ type: Boolean,
+ value: true,
+ },
+ disablePlus: Boolean,
+ disableMinus: Boolean,
+ longPress: {
+ type: Boolean,
+ value: true,
+ },
+ theme: String,
+ alwaysEmbed: Boolean,
+ },
+ data: {
+ currentValue: '',
+ },
+ created: function () {
+ this.setData({
+ currentValue: this.format(this.data.value),
+ });
+ },
+ methods: {
+ observeValue: function () {
+ var _a = this.data, value = _a.value, currentValue = _a.currentValue;
+ if (!equal(value, currentValue)) {
+ this.setData({ currentValue: this.format(value) });
+ }
+ },
+ check: function () {
+ var val = this.format(this.data.currentValue);
+ if (!equal(val, this.data.currentValue)) {
+ this.setData({ currentValue: val });
+ }
+ },
+ isDisabled: function (type) {
+ var _a = this.data, disabled = _a.disabled, disablePlus = _a.disablePlus, disableMinus = _a.disableMinus, currentValue = _a.currentValue, max = _a.max, min = _a.min;
+ if (type === 'plus') {
+ return disabled || disablePlus || currentValue >= max;
+ }
+ return disabled || disableMinus || currentValue <= min;
+ },
+ onFocus: function (event) {
+ this.$emit('focus', event.detail);
+ },
+ onBlur: function (event) {
+ var value = this.format(event.detail.value);
+ this.emitChange(value);
+ this.$emit('blur', __assign(__assign({}, event.detail), { value: value }));
+ },
+ // filter illegal characters
+ filter: function (value) {
+ value = String(value).replace(/[^0-9.-]/g, '');
+ if (this.data.integer && value.indexOf('.') !== -1) {
+ value = value.split('.')[0];
+ }
+ return value;
+ },
+ // limit value range
+ format: function (value) {
+ value = this.filter(value);
+ // format range
+ value = value === '' ? 0 : +value;
+ value = Math.max(Math.min(this.data.max, value), this.data.min);
+ // format decimal
+ if ((0, validator_1.isDef)(this.data.decimalLength)) {
+ value = value.toFixed(this.data.decimalLength);
+ }
+ return value;
+ },
+ onInput: function (event) {
+ var _a = (event.detail || {}).value, value = _a === void 0 ? '' : _a;
+ // allow input to be empty
+ if (value === '') {
+ return;
+ }
+ var formatted = this.filter(value);
+ // limit max decimal length
+ if ((0, validator_1.isDef)(this.data.decimalLength) && formatted.indexOf('.') !== -1) {
+ var pair = formatted.split('.');
+ formatted = pair[0] + "." + pair[1].slice(0, this.data.decimalLength);
+ }
+ this.emitChange(formatted);
+ },
+ emitChange: function (value) {
+ if (!this.data.asyncChange) {
+ this.setData({ currentValue: value });
+ }
+ this.$emit('change', value);
+ },
+ onChange: function () {
+ var type = this.type;
+ if (this.isDisabled(type)) {
+ this.$emit('overlimit', type);
+ return;
+ }
+ var diff = type === 'minus' ? -this.data.step : +this.data.step;
+ var value = this.format(add(+this.data.currentValue, diff));
+ this.emitChange(value);
+ this.$emit(type);
+ },
+ longPressStep: function () {
+ var _this = this;
+ this.longPressTimer = setTimeout(function () {
+ _this.onChange();
+ _this.longPressStep();
+ }, LONG_PRESS_INTERVAL);
+ },
+ onTap: function (event) {
+ var type = event.currentTarget.dataset.type;
+ this.type = type;
+ this.onChange();
+ },
+ onTouchStart: function (event) {
+ var _this = this;
+ if (!this.data.longPress) {
+ return;
+ }
+ clearTimeout(this.longPressTimer);
+ var type = event.currentTarget.dataset.type;
+ this.type = type;
+ this.isLongPress = false;
+ this.longPressTimer = setTimeout(function () {
+ _this.isLongPress = true;
+ _this.onChange();
+ _this.longPressStep();
+ }, LONG_PRESS_START_TIME);
+ },
+ onTouchEnd: function () {
+ if (!this.data.longPress) {
+ return;
+ }
+ clearTimeout(this.longPressTimer);
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/stepper/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/stepper/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/stepper/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/stepper/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/stepper/index.wxml
new file mode 100644
index 0000000..6a58fd2
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/stepper/index.wxml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/stepper/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/stepper/index.wxs
new file mode 100644
index 0000000..a13e818
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/stepper/index.wxs
@@ -0,0 +1,22 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function buttonStyle(data) {
+ return style({
+ width: addUnit(data.buttonSize),
+ height: addUnit(data.buttonSize),
+ });
+}
+
+function inputStyle(data) {
+ return style({
+ width: addUnit(data.inputWidth),
+ height: addUnit(data.buttonSize),
+ });
+}
+
+module.exports = {
+ buttonStyle: buttonStyle,
+ inputStyle: inputStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/stepper/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/stepper/index.wxss
new file mode 100644
index 0000000..2561a7e
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/stepper/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-stepper{font-size:0}.van-stepper__minus,.van-stepper__plus{background-color:var(--stepper-background-color,#f2f3f5);border:0;box-sizing:border-box;color:var(--stepper-button-icon-color,#323233);display:inline-block;height:var(--stepper-input-height,28px);margin:1px;padding:var(--padding-base,4px);position:relative;vertical-align:middle;width:var(--stepper-input-height,28px)}.van-stepper__minus:before,.van-stepper__plus:before{height:1px;width:9px}.van-stepper__minus:after,.van-stepper__plus:after{height:9px;width:1px}.van-stepper__minus:empty.van-stepper__minus:after,.van-stepper__minus:empty.van-stepper__minus:before,.van-stepper__minus:empty.van-stepper__plus:after,.van-stepper__minus:empty.van-stepper__plus:before,.van-stepper__plus:empty.van-stepper__minus:after,.van-stepper__plus:empty.van-stepper__minus:before,.van-stepper__plus:empty.van-stepper__plus:after,.van-stepper__plus:empty.van-stepper__plus:before{background-color:currentColor;bottom:0;content:"";left:0;margin:auto;position:absolute;right:0;top:0}.van-stepper__minus--hover,.van-stepper__plus--hover{background-color:var(--stepper-active-color,#e8e8e8)}.van-stepper__minus--disabled,.van-stepper__plus--disabled{color:var(--stepper-button-disabled-icon-color,#c8c9cc)}.van-stepper__minus--disabled,.van-stepper__minus--disabled.van-stepper__minus--hover,.van-stepper__minus--disabled.van-stepper__plus--hover,.van-stepper__plus--disabled,.van-stepper__plus--disabled.van-stepper__minus--hover,.van-stepper__plus--disabled.van-stepper__plus--hover{background-color:var(--stepper-button-disabled-color,#f7f8fa)}.van-stepper__minus{border-radius:var(--stepper-border-radius,var(--stepper-border-radius,4px)) 0 0 var(--stepper-border-radius,var(--stepper-border-radius,4px))}.van-stepper__minus:after{display:none}.van-stepper__plus{border-radius:0 var(--stepper-border-radius,var(--stepper-border-radius,4px)) var(--stepper-border-radius,var(--stepper-border-radius,4px)) 0}.van-stepper--round .van-stepper__input{background-color:initial!important}.van-stepper--round .van-stepper__minus,.van-stepper--round .van-stepper__plus{border-radius:100%}.van-stepper--round .van-stepper__minus:active,.van-stepper--round .van-stepper__plus:active{opacity:.7}.van-stepper--round .van-stepper__minus--disabled,.van-stepper--round .van-stepper__minus--disabled:active,.van-stepper--round .van-stepper__plus--disabled,.van-stepper--round .van-stepper__plus--disabled:active{opacity:.3}.van-stepper--round .van-stepper__plus{background-color:#ee0a24;color:#fff}.van-stepper--round .van-stepper__minus{background-color:#fff;border:1px solid #ee0a24;color:#ee0a24}.van-stepper__input{-webkit-appearance:none;background-color:var(--stepper-background-color,#f2f3f5);border:0;border-radius:0;border-width:1px 0;box-sizing:border-box;color:var(--stepper-input-text-color,#323233);display:inline-block;font-size:var(--stepper-input-font-size,14px);height:var(--stepper-input-height,28px);margin:1px;min-height:0;padding:1px;text-align:center;vertical-align:middle;width:var(--stepper-input-width,32px)}.van-stepper__input--disabled{background-color:var(--stepper-input-disabled-background-color,#f2f3f5);color:var(--stepper-input-disabled-text-color,#c8c9cc)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/steps/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/steps/index.js
new file mode 100644
index 0000000..1a9986a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/steps/index.js
@@ -0,0 +1,35 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var color_1 = require("../common/color");
+(0, component_1.VantComponent)({
+ classes: ['desc-class'],
+ props: {
+ icon: String,
+ steps: Array,
+ active: Number,
+ direction: {
+ type: String,
+ value: 'horizontal',
+ },
+ activeColor: {
+ type: String,
+ value: color_1.GREEN,
+ },
+ inactiveColor: {
+ type: String,
+ value: color_1.GRAY_DARK,
+ },
+ activeIcon: {
+ type: String,
+ value: 'checked',
+ },
+ inactiveIcon: String,
+ },
+ methods: {
+ onClick: function (event) {
+ var index = event.currentTarget.dataset.index;
+ this.$emit('click-step', index);
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/steps/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/steps/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/steps/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/steps/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/steps/index.wxml
new file mode 100644
index 0000000..6180b41
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/steps/index.wxml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+ {{ item.text }}
+ {{ item.desc }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+function get(index, active) {
+ if (index < active) {
+ return 'finish';
+ } else if (index === active) {
+ return 'process';
+ }
+
+ return 'inactive';
+}
+
+module.exports = get;
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/steps/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/steps/index.wxss
new file mode 100644
index 0000000..48b7665
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/steps/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-steps{background-color:var(--steps-background-color,#fff);overflow:hidden}.van-steps--horizontal{padding:10px}.van-steps--horizontal .van-step__wrapper{display:flex;overflow:hidden;position:relative}.van-steps--vertical{padding-left:10px}.van-steps--vertical .van-step__wrapper{padding:0 0 0 20px}.van-step{color:var(--step-text-color,#969799);flex:1;font-size:var(--step-font-size,14px);position:relative}.van-step--finish{color:var(--step-finish-text-color,#323233)}.van-step__circle{background-color:var(--step-circle-color,#969799);border-radius:50%;height:var(--step-circle-size,5px);width:var(--step-circle-size,5px)}.van-step--horizontal{padding-bottom:14px}.van-step--horizontal:first-child .van-step__title{transform:none}.van-step--horizontal:first-child .van-step__circle-container{padding:0 8px 0 0;transform:translate3d(0,50%,0)}.van-step--horizontal:last-child{position:absolute;right:0;width:auto}.van-step--horizontal:last-child .van-step__title{text-align:right;transform:none}.van-step--horizontal:last-child .van-step__circle-container{padding:0 0 0 8px;right:0;transform:translate3d(0,50%,0)}.van-step--horizontal .van-step__circle-container{background-color:#fff;bottom:6px;padding:0 var(--padding-xs,8px);position:absolute;transform:translate3d(-50%,50%,0);z-index:1}.van-step--horizontal .van-step__title{display:inline-block;font-size:var(--step-horizontal-title-font-size,12px);transform:translate3d(-50%,0,0)}.van-step--horizontal .van-step__line{background-color:var(--step-line-color,#ebedf0);bottom:6px;height:1px;left:0;position:absolute;right:0;transform:translate3d(0,50%,0)}.van-step--horizontal.van-step--process{color:var(--step-process-text-color,#323233)}.van-step--horizontal.van-step--process .van-step__icon{display:block;font-size:var(--step-icon-size,12px);line-height:1}.van-step--vertical{line-height:18px;padding:10px 10px 10px 0}.van-step--vertical:after{border-bottom-width:1px}.van-step--vertical:last-child:after{border-bottom-width:none}.van-step--vertical:first-child:before{background-color:#fff;content:"";height:20px;left:-15px;position:absolute;top:0;width:1px;z-index:1}.van-step--vertical .van-step__circle,.van-step--vertical .van-step__icon,.van-step--vertical .van-step__line{left:-14px;position:absolute;top:19px;transform:translate3d(-50%,-50%,0);z-index:2}.van-step--vertical .van-step__icon{font-size:var(--step-icon-size,12px);line-height:1}.van-step--vertical .van-step__line{background-color:var(--step-line-color,#ebedf0);height:100%;transform:translate3d(-50%,0,0);width:1px;z-index:1}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/sticky/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sticky/index.js
new file mode 100644
index 0000000..6f50dd3
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sticky/index.js
@@ -0,0 +1,124 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var utils_1 = require("../common/utils");
+var component_1 = require("../common/component");
+var validator_1 = require("../common/validator");
+var page_scroll_1 = require("../mixins/page-scroll");
+var ROOT_ELEMENT = '.van-sticky';
+(0, component_1.VantComponent)({
+ props: {
+ zIndex: {
+ type: Number,
+ value: 99,
+ },
+ offsetTop: {
+ type: Number,
+ value: 0,
+ observer: 'onScroll',
+ },
+ disabled: {
+ type: Boolean,
+ observer: 'onScroll',
+ },
+ container: {
+ type: null,
+ observer: 'onScroll',
+ },
+ scrollTop: {
+ type: null,
+ observer: function (val) {
+ this.onScroll({ scrollTop: val });
+ },
+ },
+ },
+ mixins: [
+ (0, page_scroll_1.pageScrollMixin)(function (event) {
+ if (this.data.scrollTop != null) {
+ return;
+ }
+ this.onScroll(event);
+ }),
+ ],
+ data: {
+ height: 0,
+ fixed: false,
+ transform: 0,
+ },
+ mounted: function () {
+ this.onScroll();
+ },
+ methods: {
+ onScroll: function (_a) {
+ var _this = this;
+ var _b = _a === void 0 ? {} : _a, scrollTop = _b.scrollTop;
+ var _c = this.data, container = _c.container, offsetTop = _c.offsetTop, disabled = _c.disabled;
+ if (disabled) {
+ this.setDataAfterDiff({
+ fixed: false,
+ transform: 0,
+ });
+ return;
+ }
+ this.scrollTop = scrollTop || this.scrollTop;
+ if (typeof container === 'function') {
+ Promise.all([
+ (0, utils_1.getRect)(this, ROOT_ELEMENT),
+ this.getContainerRect(),
+ ]).then(function (_a) {
+ var root = _a[0], container = _a[1];
+ if (offsetTop + root.height > container.height + container.top) {
+ _this.setDataAfterDiff({
+ fixed: false,
+ transform: container.height - root.height,
+ });
+ }
+ else if (offsetTop >= root.top) {
+ _this.setDataAfterDiff({
+ fixed: true,
+ height: root.height,
+ transform: 0,
+ });
+ }
+ else {
+ _this.setDataAfterDiff({ fixed: false, transform: 0 });
+ }
+ });
+ return;
+ }
+ (0, utils_1.getRect)(this, ROOT_ELEMENT).then(function (root) {
+ if (!(0, validator_1.isDef)(root)) {
+ return;
+ }
+ if (offsetTop >= root.top) {
+ _this.setDataAfterDiff({ fixed: true, height: root.height });
+ _this.transform = 0;
+ }
+ else {
+ _this.setDataAfterDiff({ fixed: false });
+ }
+ });
+ },
+ setDataAfterDiff: function (data) {
+ var _this = this;
+ wx.nextTick(function () {
+ var diff = Object.keys(data).reduce(function (prev, key) {
+ if (data[key] !== _this.data[key]) {
+ prev[key] = data[key];
+ }
+ return prev;
+ }, {});
+ if (Object.keys(diff).length > 0) {
+ _this.setData(diff);
+ }
+ _this.$emit('scroll', {
+ scrollTop: _this.scrollTop,
+ isFixed: data.fixed || _this.data.fixed,
+ });
+ });
+ },
+ getContainerRect: function () {
+ var nodesRef = this.data.container();
+ return new Promise(function (resolve) { return nodesRef.boundingClientRect(resolve).exec(); });
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/sticky/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sticky/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sticky/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/sticky/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sticky/index.wxml
new file mode 100644
index 0000000..15e9f4a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sticky/index.wxml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/sticky/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sticky/index.wxs
new file mode 100644
index 0000000..be99d89
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sticky/index.wxs
@@ -0,0 +1,25 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function wrapStyle(data) {
+ return style({
+ transform: data.transform
+ ? 'translate3d(0, ' + data.transform + 'px, 0)'
+ : '',
+ top: data.fixed ? addUnit(data.offsetTop) : '',
+ 'z-index': data.zIndex,
+ });
+}
+
+function containerStyle(data) {
+ return style({
+ height: data.fixed ? addUnit(data.height) : '',
+ 'z-index': data.zIndex,
+ });
+}
+
+module.exports = {
+ wrapStyle: wrapStyle,
+ containerStyle: containerStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/sticky/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sticky/index.wxss
new file mode 100644
index 0000000..34d76aa
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/sticky/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-sticky{position:relative}.van-sticky-wrap--fixed{left:0;position:fixed;right:0}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/submit-bar/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/submit-bar/index.js
new file mode 100644
index 0000000..0cc076b
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/submit-bar/index.js
@@ -0,0 +1,58 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ classes: ['bar-class', 'price-class', 'button-class'],
+ props: {
+ tip: {
+ type: null,
+ observer: 'updateTip',
+ },
+ tipIcon: String,
+ type: Number,
+ price: {
+ type: null,
+ observer: 'updatePrice',
+ },
+ label: String,
+ loading: Boolean,
+ disabled: Boolean,
+ buttonText: String,
+ currency: {
+ type: String,
+ value: '¥',
+ },
+ buttonType: {
+ type: String,
+ value: 'danger',
+ },
+ decimalLength: {
+ type: Number,
+ value: 2,
+ observer: 'updatePrice',
+ },
+ suffixLabel: String,
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ methods: {
+ updatePrice: function () {
+ var _a = this.data, price = _a.price, decimalLength = _a.decimalLength;
+ var priceStrArr = typeof price === 'number' &&
+ (price / 100).toFixed(decimalLength).split('.');
+ this.setData({
+ hasPrice: typeof price === 'number',
+ integerStr: priceStrArr && priceStrArr[0],
+ decimalStr: decimalLength && priceStrArr ? "." + priceStrArr[1] : '',
+ });
+ },
+ updateTip: function () {
+ this.setData({ hasTip: typeof this.data.tip === 'string' });
+ },
+ onSubmit: function (event) {
+ this.$emit('submit', event.detail);
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/submit-bar/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/submit-bar/index.json
new file mode 100644
index 0000000..bda9b8d
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/submit-bar/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-button": "../button/index",
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/submit-bar/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/submit-bar/index.wxml
new file mode 100644
index 0000000..a56dd46
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/submit-bar/index.wxml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+ {{ tip }}
+
+
+
+
+
+
+
+ {{ label || '合计:' }}
+
+ {{ currency }}
+ {{ integerStr }}{{decimalStr}}
+
+ {{ suffixLabel }}
+
+
+ {{ loading ? '' : buttonText }}
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/submit-bar/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/submit-bar/index.wxss
new file mode 100644
index 0000000..8379a30
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/submit-bar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-submit-bar{background-color:var(--submit-bar-background-color,#fff);bottom:0;left:0;position:fixed;-webkit-user-select:none;user-select:none;width:100%;z-index:var(--submit-bar-z-index,100)}.van-submit-bar__tip{background-color:var(--submit-bar-tip-background-color,#fff7cc);color:var(--submit-bar-tip-color,#f56723);font-size:var(--submit-bar-tip-font-size,12px);line-height:var(--submit-bar-tip-line-height,1.5);padding:var(--submit-bar-tip-padding,10px)}.van-submit-bar__tip:empty{display:none}.van-submit-bar__tip-icon{margin-right:4px;vertical-align:middle}.van-submit-bar__tip-text{display:inline;vertical-align:middle}.van-submit-bar__bar{align-items:center;background-color:var(--submit-bar-background-color,#fff);display:flex;font-size:var(--submit-bar-text-font-size,14px);height:var(--submit-bar-height,50px);justify-content:flex-end;padding:var(--submit-bar-padding,0 16px)}.van-submit-bar__safe{height:constant(safe-area-inset-bottom);height:env(safe-area-inset-bottom)}.van-submit-bar__text{color:var(--submit-bar-text-color,#323233);flex:1;font-weight:var(--font-weight-bold,500);padding-right:var(--padding-sm,12px);text-align:right}.van-submit-bar__price{color:var(--submit-bar-price-color,#ee0a24);font-size:var(--submit-bar-price-font-size,12px);font-weight:var(--font-weight-bold,500)}.van-submit-bar__price-integer{font-family:Avenir-Heavy,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:20px}.van-submit-bar__currency{font-size:var(--submit-bar-currency-font-size,12px)}.van-submit-bar__suffix-label{margin-left:5px}.van-submit-bar__button{--button-default-height:var(--submit-bar-button-height,40px)!important;--button-line-height:var(--submit-bar-button-height,40px)!important;font-weight:var(--font-weight-bold,500);width:var(--submit-bar-button-width,110px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/swipe-cell/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/swipe-cell/index.js
new file mode 100644
index 0000000..8706110
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/swipe-cell/index.js
@@ -0,0 +1,135 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var touch_1 = require("../mixins/touch");
+var utils_1 = require("../common/utils");
+var THRESHOLD = 0.3;
+var ARRAY = [];
+(0, component_1.VantComponent)({
+ props: {
+ disabled: Boolean,
+ leftWidth: {
+ type: Number,
+ value: 0,
+ observer: function (leftWidth) {
+ if (leftWidth === void 0) { leftWidth = 0; }
+ if (this.offset > 0) {
+ this.swipeMove(leftWidth);
+ }
+ },
+ },
+ rightWidth: {
+ type: Number,
+ value: 0,
+ observer: function (rightWidth) {
+ if (rightWidth === void 0) { rightWidth = 0; }
+ if (this.offset < 0) {
+ this.swipeMove(-rightWidth);
+ }
+ },
+ },
+ asyncClose: Boolean,
+ name: {
+ type: null,
+ value: '',
+ },
+ },
+ mixins: [touch_1.touch],
+ data: {
+ catchMove: false,
+ wrapperStyle: '',
+ },
+ created: function () {
+ this.offset = 0;
+ ARRAY.push(this);
+ },
+ destroyed: function () {
+ var _this = this;
+ ARRAY = ARRAY.filter(function (item) { return item !== _this; });
+ },
+ methods: {
+ open: function (position) {
+ var _a = this.data, leftWidth = _a.leftWidth, rightWidth = _a.rightWidth;
+ var offset = position === 'left' ? leftWidth : -rightWidth;
+ this.swipeMove(offset);
+ this.$emit('open', {
+ position: position,
+ name: this.data.name,
+ });
+ },
+ close: function () {
+ this.swipeMove(0);
+ },
+ swipeMove: function (offset) {
+ if (offset === void 0) { offset = 0; }
+ this.offset = (0, utils_1.range)(offset, -this.data.rightWidth, this.data.leftWidth);
+ var transform = "translate3d(" + this.offset + "px, 0, 0)";
+ var transition = this.dragging
+ ? 'none'
+ : 'transform .6s cubic-bezier(0.18, 0.89, 0.32, 1)';
+ this.setData({
+ wrapperStyle: "\n -webkit-transform: " + transform + ";\n -webkit-transition: " + transition + ";\n transform: " + transform + ";\n transition: " + transition + ";\n ",
+ });
+ },
+ swipeLeaveTransition: function () {
+ var _a = this.data, leftWidth = _a.leftWidth, rightWidth = _a.rightWidth;
+ var offset = this.offset;
+ if (rightWidth > 0 && -offset > rightWidth * THRESHOLD) {
+ this.open('right');
+ }
+ else if (leftWidth > 0 && offset > leftWidth * THRESHOLD) {
+ this.open('left');
+ }
+ else {
+ this.swipeMove(0);
+ }
+ this.setData({ catchMove: false });
+ },
+ startDrag: function (event) {
+ if (this.data.disabled) {
+ return;
+ }
+ this.startOffset = this.offset;
+ this.touchStart(event);
+ },
+ noop: function () { },
+ onDrag: function (event) {
+ var _this = this;
+ if (this.data.disabled) {
+ return;
+ }
+ this.touchMove(event);
+ if (this.direction !== 'horizontal') {
+ return;
+ }
+ this.dragging = true;
+ ARRAY.filter(function (item) { return item !== _this && item.offset !== 0; }).forEach(function (item) { return item.close(); });
+ this.setData({ catchMove: true });
+ this.swipeMove(this.startOffset + this.deltaX);
+ },
+ endDrag: function () {
+ if (this.data.disabled) {
+ return;
+ }
+ this.dragging = false;
+ this.swipeLeaveTransition();
+ },
+ onClick: function (event) {
+ var _a = event.currentTarget.dataset.key, position = _a === void 0 ? 'outside' : _a;
+ this.$emit('click', position);
+ if (!this.offset) {
+ return;
+ }
+ if (this.data.asyncClose) {
+ this.$emit('close', {
+ position: position,
+ instance: this,
+ name: this.data.name,
+ });
+ }
+ else {
+ this.swipeMove(0);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/swipe-cell/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/swipe-cell/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/swipe-cell/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/swipe-cell/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/swipe-cell/index.wxml
new file mode 100644
index 0000000..3f7f726
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/swipe-cell/index.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/swipe-cell/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/swipe-cell/index.wxss
new file mode 100644
index 0000000..3a265bf
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/swipe-cell/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-swipe-cell{overflow:hidden;position:relative}.van-swipe-cell__left,.van-swipe-cell__right{height:100%;position:absolute;top:0}.van-swipe-cell__left{left:0;transform:translate3d(-100%,0,0)}.van-swipe-cell__right{right:0;transform:translate3d(100%,0,0)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/switch/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/switch/index.js
new file mode 100644
index 0000000..1d2317f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/switch/index.js
@@ -0,0 +1,38 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ field: true,
+ classes: ['node-class'],
+ props: {
+ checked: null,
+ loading: Boolean,
+ disabled: Boolean,
+ activeColor: String,
+ inactiveColor: String,
+ size: {
+ type: String,
+ value: '30',
+ },
+ activeValue: {
+ type: null,
+ value: true,
+ },
+ inactiveValue: {
+ type: null,
+ value: false,
+ },
+ },
+ methods: {
+ onClick: function () {
+ var _a = this.data, activeValue = _a.activeValue, inactiveValue = _a.inactiveValue, disabled = _a.disabled, loading = _a.loading;
+ if (disabled || loading) {
+ return;
+ }
+ var checked = this.data.checked === activeValue;
+ var value = checked ? inactiveValue : activeValue;
+ this.$emit('input', value);
+ this.$emit('change', value);
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/switch/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/switch/index.json
new file mode 100644
index 0000000..01077f5
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/switch/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/switch/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/switch/index.wxml
new file mode 100644
index 0000000..4e9789b
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/switch/index.wxml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/switch/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/switch/index.wxs
new file mode 100644
index 0000000..3ae387a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/switch/index.wxs
@@ -0,0 +1,26 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function rootStyle(data) {
+ var currentColor = data.checked === data.activeValue ? data.activeColor : data.inactiveColor;
+
+ return style({
+ 'font-size': addUnit(data.size),
+ 'background-color': currentColor,
+ });
+}
+
+var BLUE = '#1989fa';
+var GRAY_DARK = '#969799';
+
+function loadingColor(data) {
+ return data.checked === data.activeValue
+ ? data.activeColor || BLUE
+ : data.inactiveColor || GRAY_DARK;
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+ loadingColor: loadingColor,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/switch/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/switch/index.wxss
new file mode 100644
index 0000000..35929de
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/switch/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-switch{background-color:var(--switch-background-color,#fff);border:var(--switch-border,1px solid rgba(0,0,0,.1));border-radius:var(--switch-node-size,1em);box-sizing:initial;display:inline-block;height:var(--switch-height,1em);position:relative;transition:background-color var(--switch-transition-duration,.3s);width:var(--switch-width,2em)}.van-switch__node{background-color:var(--switch-node-background-color,#fff);border-radius:100%;box-shadow:var(--switch-node-box-shadow,0 3px 1px 0 rgba(0,0,0,.05),0 2px 2px 0 rgba(0,0,0,.1),0 3px 3px 0 rgba(0,0,0,.05));height:var(--switch-node-size,1em);left:0;position:absolute;top:0;transition:var(--switch-transition-duration,.3s) cubic-bezier(.3,1.05,.4,1.05);width:var(--switch-node-size,1em);z-index:var(--switch-node-z-index,1)}.van-switch__loading{height:50%;left:25%;position:absolute!important;top:25%;width:50%}.van-switch--on{background-color:var(--switch-on-background-color,#1989fa)}.van-switch--on .van-switch__node{transform:translateX(calc(var(--switch-width, 2em) - var(--switch-node-size, 1em)))}.van-switch--disabled{opacity:var(--switch-disabled-opacity,.4)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tab/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tab/index.js
new file mode 100644
index 0000000..ae4d06b
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tab/index.js
@@ -0,0 +1,58 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var relation_1 = require("../common/relation");
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useParent)('tabs'),
+ props: {
+ dot: {
+ type: Boolean,
+ observer: 'update',
+ },
+ info: {
+ type: null,
+ observer: 'update',
+ },
+ title: {
+ type: String,
+ observer: 'update',
+ },
+ disabled: {
+ type: Boolean,
+ observer: 'update',
+ },
+ titleStyle: {
+ type: String,
+ observer: 'update',
+ },
+ name: {
+ type: null,
+ value: '',
+ },
+ },
+ data: {
+ active: false,
+ },
+ methods: {
+ getComputedName: function () {
+ if (this.data.name !== '') {
+ return this.data.name;
+ }
+ return this.index;
+ },
+ updateRender: function (active, parent) {
+ var parentData = parent.data;
+ this.inited = this.inited || active;
+ this.setData({
+ active: active,
+ shouldRender: this.inited || !parentData.lazyRender,
+ shouldShow: active || parentData.animated,
+ });
+ },
+ update: function () {
+ if (this.parent) {
+ this.parent.updateTabs();
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tab/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tab/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tab/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tab/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tab/index.wxml
new file mode 100644
index 0000000..f5e99f2
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tab/index.wxml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tab/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tab/index.wxss
new file mode 100644
index 0000000..1c90c88
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tab/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';:host{box-sizing:border-box;flex-shrink:0;width:100%}.van-tab__pane{-webkit-overflow-scrolling:touch;box-sizing:border-box;overflow-y:auto}.van-tab__pane--active{height:auto}.van-tab__pane--inactive{height:0;overflow:visible}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar-item/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar-item/index.js
new file mode 100644
index 0000000..1a88d4e
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar-item/index.js
@@ -0,0 +1,58 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ props: {
+ info: null,
+ name: null,
+ icon: String,
+ dot: Boolean,
+ iconPrefix: {
+ type: String,
+ value: 'van-icon',
+ },
+ },
+ relation: (0, relation_1.useParent)('tabbar'),
+ data: {
+ active: false,
+ activeColor: '',
+ inactiveColor: '',
+ },
+ methods: {
+ onClick: function () {
+ var parent = this.parent;
+ if (parent) {
+ var index = parent.children.indexOf(this);
+ var active = this.data.name || index;
+ if (active !== this.data.active) {
+ parent.$emit('change', active);
+ }
+ }
+ this.$emit('click');
+ },
+ updateFromParent: function () {
+ var parent = this.parent;
+ if (!parent) {
+ return;
+ }
+ var index = parent.children.indexOf(this);
+ var parentData = parent.data;
+ var data = this.data;
+ var active = (data.name || index) === parentData.active;
+ var patch = {};
+ if (active !== data.active) {
+ patch.active = active;
+ }
+ if (parentData.activeColor !== data.activeColor) {
+ patch.activeColor = parentData.activeColor;
+ }
+ if (parentData.inactiveColor !== data.inactiveColor) {
+ patch.inactiveColor = parentData.inactiveColor;
+ }
+ if (Object.keys(patch).length > 0) {
+ this.setData(patch);
+ }
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar-item/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar-item/index.json
new file mode 100644
index 0000000..16f174c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar-item/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-info": "../info/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar-item/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar-item/index.wxml
new file mode 100644
index 0000000..524728f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar-item/index.wxml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar-item/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar-item/index.wxss
new file mode 100644
index 0000000..21ee224
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar-item/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';:host{flex:1}.van-tabbar-item{align-items:center;color:var(--tabbar-item-text-color,#646566);display:flex;flex-direction:column;font-size:var(--tabbar-item-font-size,12px);height:100%;justify-content:center;line-height:var(--tabbar-item-line-height,1)}.van-tabbar-item__icon{font-size:var(--tabbar-item-icon-size,22px);margin-bottom:var(--tabbar-item-margin-bottom,4px);position:relative}.van-tabbar-item__icon__inner{display:block;min-width:1em}.van-tabbar-item--active{color:var(--tabbar-item-active-color,#1989fa)}.van-tabbar-item__info{margin-top:2px}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar/index.js
new file mode 100644
index 0000000..3db793d
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar/index.js
@@ -0,0 +1,68 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var relation_1 = require("../common/relation");
+var utils_1 = require("../common/utils");
+(0, component_1.VantComponent)({
+ relation: (0, relation_1.useChildren)('tabbar-item', function () {
+ this.updateChildren();
+ }),
+ props: {
+ active: {
+ type: null,
+ observer: 'updateChildren',
+ },
+ activeColor: {
+ type: String,
+ observer: 'updateChildren',
+ },
+ inactiveColor: {
+ type: String,
+ observer: 'updateChildren',
+ },
+ fixed: {
+ type: Boolean,
+ value: true,
+ observer: 'setHeight',
+ },
+ placeholder: {
+ type: Boolean,
+ observer: 'setHeight',
+ },
+ border: {
+ type: Boolean,
+ value: true,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ height: 50,
+ },
+ methods: {
+ updateChildren: function () {
+ var children = this.children;
+ if (!Array.isArray(children) || !children.length) {
+ return;
+ }
+ children.forEach(function (child) { return child.updateFromParent(); });
+ },
+ setHeight: function () {
+ var _this = this;
+ if (!this.data.fixed || !this.data.placeholder) {
+ return;
+ }
+ wx.nextTick(function () {
+ (0, utils_1.getRect)(_this, '.van-tabbar').then(function (res) {
+ _this.setData({ height: res.height });
+ });
+ });
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar/index.wxml
new file mode 100644
index 0000000..43bb111
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar/index.wxml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar/index.wxss
new file mode 100644
index 0000000..42b6c1e
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabbar/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-tabbar{background-color:var(--tabbar-background-color,#fff);box-sizing:initial;display:flex;height:var(--tabbar-height,50px);width:100%}.van-tabbar--fixed{bottom:0;left:0;position:fixed}.van-tabbar--safe{padding-bottom:env(safe-area-inset-bottom)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabs/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabs/index.js
new file mode 100644
index 0000000..3173a7f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabs/index.js
@@ -0,0 +1,281 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var touch_1 = require("../mixins/touch");
+var utils_1 = require("../common/utils");
+var validator_1 = require("../common/validator");
+var relation_1 = require("../common/relation");
+(0, component_1.VantComponent)({
+ mixins: [touch_1.touch],
+ classes: ['nav-class', 'tab-class', 'tab-active-class', 'line-class'],
+ relation: (0, relation_1.useChildren)('tab', function () {
+ this.updateTabs();
+ }),
+ props: {
+ sticky: Boolean,
+ border: Boolean,
+ swipeable: Boolean,
+ titleActiveColor: String,
+ titleInactiveColor: String,
+ color: String,
+ animated: {
+ type: Boolean,
+ observer: function () {
+ var _this = this;
+ this.children.forEach(function (child, index) {
+ return child.updateRender(index === _this.data.currentIndex, _this);
+ });
+ },
+ },
+ lineWidth: {
+ type: null,
+ value: 40,
+ observer: 'resize',
+ },
+ lineHeight: {
+ type: null,
+ value: -1,
+ },
+ active: {
+ type: null,
+ value: 0,
+ observer: function (name) {
+ if (name !== this.getCurrentName()) {
+ this.setCurrentIndexByName(name);
+ }
+ },
+ },
+ type: {
+ type: String,
+ value: 'line',
+ },
+ ellipsis: {
+ type: Boolean,
+ value: true,
+ },
+ duration: {
+ type: Number,
+ value: 0.3,
+ },
+ zIndex: {
+ type: Number,
+ value: 1,
+ },
+ swipeThreshold: {
+ type: Number,
+ value: 5,
+ observer: function (value) {
+ this.setData({
+ scrollable: this.children.length > value || !this.data.ellipsis,
+ });
+ },
+ },
+ offsetTop: {
+ type: Number,
+ value: 0,
+ },
+ lazyRender: {
+ type: Boolean,
+ value: true,
+ },
+ },
+ data: {
+ tabs: [],
+ scrollLeft: 0,
+ scrollable: false,
+ currentIndex: 0,
+ container: null,
+ skipTransition: true,
+ scrollWithAnimation: false,
+ lineOffsetLeft: 0,
+ },
+ mounted: function () {
+ var _this = this;
+ (0, utils_1.requestAnimationFrame)(function () {
+ _this.swiping = true;
+ _this.setData({
+ container: function () { return _this.createSelectorQuery().select('.van-tabs'); },
+ });
+ _this.resize();
+ _this.scrollIntoView();
+ });
+ },
+ methods: {
+ updateTabs: function () {
+ var _a = this, _b = _a.children, children = _b === void 0 ? [] : _b, data = _a.data;
+ this.setData({
+ tabs: children.map(function (child) { return child.data; }),
+ scrollable: this.children.length > data.swipeThreshold || !data.ellipsis,
+ });
+ this.setCurrentIndexByName(data.active || this.getCurrentName());
+ },
+ trigger: function (eventName, child) {
+ var currentIndex = this.data.currentIndex;
+ var currentChild = child || this.children[currentIndex];
+ if (!(0, validator_1.isDef)(currentChild)) {
+ return;
+ }
+ this.$emit(eventName, {
+ index: currentChild.index,
+ name: currentChild.getComputedName(),
+ title: currentChild.data.title,
+ });
+ },
+ onTap: function (event) {
+ var _this = this;
+ var index = event.currentTarget.dataset.index;
+ var child = this.children[index];
+ if (child.data.disabled) {
+ this.trigger('disabled', child);
+ }
+ else {
+ this.setCurrentIndex(index);
+ (0, utils_1.nextTick)(function () {
+ _this.trigger('click');
+ });
+ }
+ },
+ // correct the index of active tab
+ setCurrentIndexByName: function (name) {
+ var _a = this.children, children = _a === void 0 ? [] : _a;
+ var matched = children.filter(function (child) { return child.getComputedName() === name; });
+ if (matched.length) {
+ this.setCurrentIndex(matched[0].index);
+ }
+ },
+ setCurrentIndex: function (currentIndex) {
+ var _this = this;
+ var _a = this, data = _a.data, _b = _a.children, children = _b === void 0 ? [] : _b;
+ if (!(0, validator_1.isDef)(currentIndex) ||
+ currentIndex >= children.length ||
+ currentIndex < 0) {
+ return;
+ }
+ (0, utils_1.groupSetData)(this, function () {
+ children.forEach(function (item, index) {
+ var active = index === currentIndex;
+ if (active !== item.data.active || !item.inited) {
+ item.updateRender(active, _this);
+ }
+ });
+ });
+ if (currentIndex === data.currentIndex) {
+ return;
+ }
+ var shouldEmitChange = data.currentIndex !== null;
+ this.setData({ currentIndex: currentIndex });
+ (0, utils_1.requestAnimationFrame)(function () {
+ _this.resize();
+ _this.scrollIntoView();
+ });
+ (0, utils_1.nextTick)(function () {
+ _this.trigger('input');
+ if (shouldEmitChange) {
+ _this.trigger('change');
+ }
+ });
+ },
+ getCurrentName: function () {
+ var activeTab = this.children[this.data.currentIndex];
+ if (activeTab) {
+ return activeTab.getComputedName();
+ }
+ },
+ resize: function () {
+ var _this = this;
+ if (this.data.type !== 'line') {
+ return;
+ }
+ var _a = this.data, currentIndex = _a.currentIndex, ellipsis = _a.ellipsis, skipTransition = _a.skipTransition;
+ Promise.all([
+ (0, utils_1.getAllRect)(this, '.van-tab'),
+ (0, utils_1.getRect)(this, '.van-tabs__line'),
+ ]).then(function (_a) {
+ var _b = _a[0], rects = _b === void 0 ? [] : _b, lineRect = _a[1];
+ var rect = rects[currentIndex];
+ if (rect == null) {
+ return;
+ }
+ var lineOffsetLeft = rects
+ .slice(0, currentIndex)
+ .reduce(function (prev, curr) { return prev + curr.width; }, 0);
+ lineOffsetLeft +=
+ (rect.width - lineRect.width) / 2 + (ellipsis ? 0 : 8);
+ _this.setData({ lineOffsetLeft: lineOffsetLeft });
+ _this.swiping = true;
+ if (skipTransition) {
+ (0, utils_1.nextTick)(function () {
+ _this.setData({ skipTransition: false });
+ });
+ }
+ });
+ },
+ // scroll active tab into view
+ scrollIntoView: function () {
+ var _this = this;
+ var _a = this.data, currentIndex = _a.currentIndex, scrollable = _a.scrollable, scrollWithAnimation = _a.scrollWithAnimation;
+ if (!scrollable) {
+ return;
+ }
+ Promise.all([
+ (0, utils_1.getAllRect)(this, '.van-tab'),
+ (0, utils_1.getRect)(this, '.van-tabs__nav'),
+ ]).then(function (_a) {
+ var tabRects = _a[0], navRect = _a[1];
+ var tabRect = tabRects[currentIndex];
+ var offsetLeft = tabRects
+ .slice(0, currentIndex)
+ .reduce(function (prev, curr) { return prev + curr.width; }, 0);
+ _this.setData({
+ scrollLeft: offsetLeft - (navRect.width - tabRect.width) / 2,
+ });
+ if (!scrollWithAnimation) {
+ (0, utils_1.nextTick)(function () {
+ _this.setData({ scrollWithAnimation: true });
+ });
+ }
+ });
+ },
+ onTouchScroll: function (event) {
+ this.$emit('scroll', event.detail);
+ },
+ onTouchStart: function (event) {
+ if (!this.data.swipeable)
+ return;
+ this.touchStart(event);
+ },
+ onTouchMove: function (event) {
+ if (!this.data.swipeable || !this.swiping)
+ return;
+ this.touchMove(event);
+ },
+ // watch swipe touch end
+ onTouchEnd: function () {
+ if (!this.data.swipeable || !this.swiping)
+ return;
+ var _a = this, direction = _a.direction, deltaX = _a.deltaX, offsetX = _a.offsetX;
+ var minSwipeDistance = 50;
+ if (direction === 'horizontal' && offsetX >= minSwipeDistance) {
+ var index = this.getAvaiableTab(deltaX);
+ if (index !== -1) {
+ this.setCurrentIndex(index);
+ }
+ }
+ this.swiping = false;
+ },
+ getAvaiableTab: function (direction) {
+ var _a = this.data, tabs = _a.tabs, currentIndex = _a.currentIndex;
+ var step = direction > 0 ? -1 : 1;
+ for (var i = step; currentIndex + i < tabs.length && currentIndex + i >= 0; i += step) {
+ var index = currentIndex + i;
+ if (index >= 0 &&
+ index < tabs.length &&
+ tabs[index] &&
+ !tabs[index].disabled) {
+ return index;
+ }
+ }
+ return -1;
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabs/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabs/index.json
new file mode 100644
index 0000000..19c0bc3
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabs/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-info": "../info/index",
+ "van-sticky": "../sticky/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabs/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabs/index.wxml
new file mode 100644
index 0000000..f76dd63
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabs/index.wxml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabs/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabs/index.wxs
new file mode 100644
index 0000000..a027c7b
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabs/index.wxs
@@ -0,0 +1,82 @@
+/* eslint-disable */
+var utils = require('../wxs/utils.wxs');
+var style = require('../wxs/style.wxs');
+
+function tabClass(active, ellipsis) {
+ var classes = ['tab-class'];
+
+ if (active) {
+ classes.push('tab-active-class');
+ }
+
+ if (ellipsis) {
+ classes.push('van-ellipsis');
+ }
+
+ return classes.join(' ');
+}
+
+function tabStyle(data) {
+ var titleColor = data.active
+ ? data.titleActiveColor
+ : data.titleInactiveColor;
+
+ var ellipsis = data.scrollable && data.ellipsis;
+
+ // card theme color
+ if (data.type === 'card') {
+ return style({
+ 'border-color': data.color,
+ 'background-color': !data.disabled && data.active ? data.color : null,
+ color: titleColor || (!data.disabled && !data.active ? data.color : null),
+ 'flex-basis': ellipsis ? 88 / data.swipeThreshold + '%' : null,
+ });
+ }
+
+ return style({
+ color: titleColor,
+ 'flex-basis': ellipsis ? 88 / data.swipeThreshold + '%' : null,
+ });
+}
+
+function navStyle(color, type) {
+ return style({
+ 'border-color': type === 'card' && color ? color : null,
+ });
+}
+
+function trackStyle(data) {
+ if (!data.animated) {
+ return '';
+ }
+
+ return style({
+ left: -100 * data.currentIndex + '%',
+ 'transition-duration': data.duration + 's',
+ '-webkit-transition-duration': data.duration + 's',
+ });
+}
+
+function lineStyle(data) {
+ return style({
+ width: utils.addUnit(data.lineWidth),
+ transform: 'translateX(' + data.lineOffsetLeft + 'px)',
+ '-webkit-transform': 'translateX(' + data.lineOffsetLeft + 'px)',
+ 'background-color': data.color,
+ height: data.lineHeight !== -1 ? utils.addUnit(data.lineHeight) : null,
+ 'border-radius':
+ data.lineHeight !== -1 ? utils.addUnit(data.lineHeight) : null,
+ 'transition-duration': !data.skipTransition ? data.duration + 's' : null,
+ '-webkit-transition-duration': !data.skipTransition
+ ? data.duration + 's'
+ : null,
+ });
+}
+
+module.exports = {
+ tabClass: tabClass,
+ tabStyle: tabStyle,
+ trackStyle: trackStyle,
+ lineStyle: lineStyle,
+ navStyle: navStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabs/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabs/index.wxss
new file mode 100644
index 0000000..bb592c3
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tabs/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-tabs{-webkit-tap-highlight-color:transparent;position:relative}.van-tabs__wrap{display:flex;overflow:hidden}.van-tabs__wrap--scrollable .van-tab{flex:0 0 22%}.van-tabs__wrap--scrollable .van-tab--complete{flex:1 0 auto!important;padding:0 12px}.van-tabs__wrap--scrollable .van-tabs__nav--complete{padding-left:8px;padding-right:8px}.van-tabs__scroll{background-color:var(--tabs-nav-background-color,#fff)}.van-tabs__scroll--line{box-sizing:initial;height:calc(100% + 15px)}.van-tabs__scroll--card{border:1px solid var(--tabs-default-color,#ee0a24);border-radius:2px;box-sizing:border-box;margin:0 var(--padding-md,16px);width:calc(100% - var(--padding-md, 16px)*2)}.van-tabs__scroll::-webkit-scrollbar{display:none}.van-tabs__nav{display:flex;position:relative;-webkit-user-select:none;user-select:none}.van-tabs__nav--card{box-sizing:border-box;height:var(--tabs-card-height,30px)}.van-tabs__nav--card .van-tab{border-right:1px solid var(--tabs-default-color,#ee0a24);color:var(--tabs-default-color,#ee0a24);line-height:calc(var(--tabs-card-height, 30px) - 2px)}.van-tabs__nav--card .van-tab:last-child{border-right:none}.van-tabs__nav--card .van-tab.van-tab--active{background-color:var(--tabs-default-color,#ee0a24);color:#fff}.van-tabs__nav--card .van-tab--disabled{color:var(--tab-disabled-text-color,#c8c9cc)}.van-tabs__line{background-color:var(--tabs-bottom-bar-color,#ee0a24);border-radius:var(--tabs-bottom-bar-height,3px);bottom:0;height:var(--tabs-bottom-bar-height,3px);left:0;position:absolute;z-index:1}.van-tabs__track{height:100%;position:relative;width:100%}.van-tabs__track--animated{display:flex;transition-property:left}.van-tabs__content{overflow:hidden}.van-tabs--line .van-tabs__wrap{height:var(--tabs-line-height,44px)}.van-tabs--card .van-tabs__wrap{height:var(--tabs-card-height,30px)}.van-tab{box-sizing:border-box;color:var(--tab-text-color,#646566);cursor:pointer;flex:1;font-size:var(--tab-font-size,14px);line-height:var(--tabs-line-height,44px);min-width:0;padding:0 5px;position:relative;text-align:center}.van-tab--active{color:var(--tab-active-text-color,#323233);font-weight:var(--font-weight-bold,500)}.van-tab--disabled{color:var(--tab-disabled-text-color,#c8c9cc)}.van-tab__title__info{display:inline-block;position:relative!important;top:-1px!important;transform:translateX(0)!important}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tag/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tag/index.js
new file mode 100644
index 0000000..ec4069a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tag/index.js
@@ -0,0 +1,23 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ size: String,
+ mark: Boolean,
+ color: String,
+ plain: Boolean,
+ round: Boolean,
+ textColor: String,
+ type: {
+ type: String,
+ value: 'default',
+ },
+ closeable: Boolean,
+ },
+ methods: {
+ onClose: function () {
+ this.$emit('close');
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tag/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tag/index.json
new file mode 100644
index 0000000..0a336c0
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tag/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tag/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tag/index.wxml
new file mode 100644
index 0000000..59352dd
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tag/index.wxml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tag/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tag/index.wxs
new file mode 100644
index 0000000..12d1668
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tag/index.wxs
@@ -0,0 +1,13 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+
+function rootStyle(data) {
+ return style({
+ 'background-color': data.plain ? '' : data.color,
+ color: data.textColor || data.plain ? data.textColor || data.color : '',
+ });
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tag/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tag/index.wxss
new file mode 100644
index 0000000..0f0cbae
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tag/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-tag{align-items:center;border-radius:var(--tag-border-radius,2px);color:var(--tag-text-color,#fff);display:inline-flex;font-size:var(--tag-font-size,12px);line-height:var(--tag-line-height,16px);padding:var(--tag-padding,0 4px);position:relative}.van-tag--default{background-color:var(--tag-default-color,#969799)}.van-tag--default.van-tag--plain{color:var(--tag-default-color,#969799)}.van-tag--danger{background-color:var(--tag-danger-color,#ee0a24)}.van-tag--danger.van-tag--plain{color:var(--tag-danger-color,#ee0a24)}.van-tag--primary{background-color:var(--tag-primary-color,#1989fa)}.van-tag--primary.van-tag--plain{color:var(--tag-primary-color,#1989fa)}.van-tag--success{background-color:var(--tag-success-color,#07c160)}.van-tag--success.van-tag--plain{color:var(--tag-success-color,#07c160)}.van-tag--warning{background-color:var(--tag-warning-color,#ff976a)}.van-tag--warning.van-tag--plain{color:var(--tag-warning-color,#ff976a)}.van-tag--plain{background-color:var(--tag-plain-background-color,#fff)}.van-tag--plain:before{border:1px solid;border-radius:inherit;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.van-tag--medium{padding:var(--tag-medium-padding,2px 6px)}.van-tag--large{border-radius:var(--tag-large-border-radius,4px);font-size:var(--tag-large-font-size,14px);padding:var(--tag-large-padding,4px 8px)}.van-tag--mark{border-radius:0 var(--tag-round-border-radius,var(--tag-round-border-radius,999px)) var(--tag-round-border-radius,var(--tag-round-border-radius,999px)) 0}.van-tag--mark:after{content:"";display:block;width:2px}.van-tag--round{border-radius:var(--tag-round-border-radius,999px)}.van-tag__close{margin-left:2px;min-width:1em}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/toast/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/toast/index.js
new file mode 100644
index 0000000..0c01366
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/toast/index.js
@@ -0,0 +1,31 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ props: {
+ show: Boolean,
+ mask: Boolean,
+ message: String,
+ forbidClick: Boolean,
+ zIndex: {
+ type: Number,
+ value: 1000,
+ },
+ type: {
+ type: String,
+ value: 'text',
+ },
+ loadingType: {
+ type: String,
+ value: 'circular',
+ },
+ position: {
+ type: String,
+ value: 'middle',
+ },
+ },
+ methods: {
+ // for prevent touchmove
+ noop: function () { },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/toast/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/toast/index.json
new file mode 100644
index 0000000..9b1b78c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/toast/index.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index",
+ "van-overlay": "../overlay/index",
+ "van-transition": "../transition/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/toast/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/toast/index.wxml
new file mode 100644
index 0000000..69f143e
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/toast/index.wxml
@@ -0,0 +1,36 @@
+
+
+
+
+ {{ message }}
+
+
+
+
+
+
+
+
+ {{ message }}
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/toast/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/toast/index.wxss
new file mode 100644
index 0000000..3b7a34e
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/toast/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-toast{word-wrap:break-word;align-items:center;background-color:var(--toast-background-color,rgba(0,0,0,.7));border-radius:var(--toast-border-radius,8px);box-sizing:initial;color:var(--toast-text-color,#fff);display:flex;flex-direction:column;font-size:var(--toast-font-size,14px);justify-content:center;line-height:var(--toast-line-height,20px);white-space:pre-wrap}.van-toast__container{left:50%;max-width:var(--toast-max-width,70%);position:fixed;top:50%;transform:translate(-50%,-50%);width:-webkit-fit-content;width:fit-content}.van-toast--text{min-width:var(--toast-text-min-width,96px);padding:var(--toast-text-padding,8px 12px)}.van-toast--icon{min-height:var(--toast-default-min-height,88px);padding:var(--toast-default-padding,16px);width:var(--toast-default-width,88px)}.van-toast--icon .van-toast__icon{font-size:var(--toast-icon-size,36px)}.van-toast--icon .van-toast__text{padding-top:8px}.van-toast__loading{margin:10px 0}.van-toast--top{transform:translateY(-30vh)}.van-toast--bottom{transform:translateY(30vh)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/toast/toast.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/toast/toast.js
new file mode 100644
index 0000000..4fdb2da
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/toast/toast.js
@@ -0,0 +1,81 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var validator_1 = require("../common/validator");
+var defaultOptions = {
+ type: 'text',
+ mask: false,
+ message: '',
+ show: true,
+ zIndex: 1000,
+ duration: 2000,
+ position: 'middle',
+ forbidClick: false,
+ loadingType: 'circular',
+ selector: '#van-toast',
+};
+var queue = [];
+var currentOptions = __assign({}, defaultOptions);
+function parseOptions(message) {
+ return (0, validator_1.isObj)(message) ? message : { message: message };
+}
+function getContext() {
+ var pages = getCurrentPages();
+ return pages[pages.length - 1];
+}
+function Toast(toastOptions) {
+ var options = __assign(__assign({}, currentOptions), parseOptions(toastOptions));
+ var context = options.context || getContext();
+ var toast = context.selectComponent(options.selector);
+ if (!toast) {
+ console.warn('未找到 van-toast 节点,请确认 selector 及 context 是否正确');
+ return;
+ }
+ delete options.context;
+ delete options.selector;
+ toast.clear = function () {
+ toast.setData({ show: false });
+ if (options.onClose) {
+ options.onClose();
+ }
+ };
+ queue.push(toast);
+ toast.setData(options);
+ clearTimeout(toast.timer);
+ if (options.duration != null && options.duration > 0) {
+ toast.timer = setTimeout(function () {
+ toast.clear();
+ queue = queue.filter(function (item) { return item !== toast; });
+ }, options.duration);
+ }
+ return toast;
+}
+var createMethod = function (type) { return function (options) {
+ return Toast(__assign({ type: type }, parseOptions(options)));
+}; };
+Toast.loading = createMethod('loading');
+Toast.success = createMethod('success');
+Toast.fail = createMethod('fail');
+Toast.clear = function () {
+ queue.forEach(function (toast) {
+ toast.clear();
+ });
+ queue = [];
+};
+Toast.setDefaultOptions = function (options) {
+ Object.assign(currentOptions, options);
+};
+Toast.resetDefaultOptions = function () {
+ currentOptions = __assign({}, defaultOptions);
+};
+exports.default = Toast;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/transition/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/transition/index.js
new file mode 100644
index 0000000..55fc8b8
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/transition/index.js
@@ -0,0 +1,15 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var transition_1 = require("../mixins/transition");
+(0, component_1.VantComponent)({
+ classes: [
+ 'enter-class',
+ 'enter-active-class',
+ 'enter-to-class',
+ 'leave-class',
+ 'leave-active-class',
+ 'leave-to-class',
+ ],
+ mixins: [(0, transition_1.transition)(true)],
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/transition/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/transition/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/transition/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/transition/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/transition/index.wxml
new file mode 100644
index 0000000..2743785
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/transition/index.wxml
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/transition/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/transition/index.wxs
new file mode 100644
index 0000000..e0babf6
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/transition/index.wxs
@@ -0,0 +1,17 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+
+function rootStyle(data) {
+ return style([
+ {
+ '-webkit-transition-duration': data.currentDuration + 'ms',
+ 'transition-duration': data.currentDuration + 'ms',
+ },
+ data.display ? null : 'display: none',
+ data.customStyle,
+ ]);
+}
+
+module.exports = {
+ rootStyle: rootStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/transition/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/transition/index.wxss
new file mode 100644
index 0000000..3a3d37f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/transition/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-transition{transition-timing-function:ease}.van-fade-enter-active,.van-fade-leave-active{transition-property:opacity}.van-fade-enter,.van-fade-leave-to{opacity:0}.van-fade-down-enter-active,.van-fade-down-leave-active,.van-fade-left-enter-active,.van-fade-left-leave-active,.van-fade-right-enter-active,.van-fade-right-leave-active,.van-fade-up-enter-active,.van-fade-up-leave-active{transition-property:opacity,transform}.van-fade-up-enter,.van-fade-up-leave-to{opacity:0;transform:translate3d(0,100%,0)}.van-fade-down-enter,.van-fade-down-leave-to{opacity:0;transform:translate3d(0,-100%,0)}.van-fade-left-enter,.van-fade-left-leave-to{opacity:0;transform:translate3d(-100%,0,0)}.van-fade-right-enter,.van-fade-right-leave-to{opacity:0;transform:translate3d(100%,0,0)}.van-slide-down-enter-active,.van-slide-down-leave-active,.van-slide-left-enter-active,.van-slide-left-leave-active,.van-slide-right-enter-active,.van-slide-right-leave-active,.van-slide-up-enter-active,.van-slide-up-leave-active{transition-property:transform}.van-slide-up-enter,.van-slide-up-leave-to{transform:translate3d(0,100%,0)}.van-slide-down-enter,.van-slide-down-leave-to{transform:translate3d(0,-100%,0)}.van-slide-left-enter,.van-slide-left-leave-to{transform:translate3d(-100%,0,0)}.van-slide-right-enter,.van-slide-right-leave-to{transform:translate3d(100%,0,0)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tree-select/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tree-select/index.js
new file mode 100644
index 0000000..b6f69b2
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tree-select/index.js
@@ -0,0 +1,70 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+(0, component_1.VantComponent)({
+ classes: [
+ 'main-item-class',
+ 'content-item-class',
+ 'main-active-class',
+ 'content-active-class',
+ 'main-disabled-class',
+ 'content-disabled-class',
+ ],
+ props: {
+ items: {
+ type: Array,
+ observer: 'updateSubItems',
+ },
+ activeId: null,
+ mainActiveIndex: {
+ type: Number,
+ value: 0,
+ observer: 'updateSubItems',
+ },
+ height: {
+ type: null,
+ value: 300,
+ },
+ max: {
+ type: Number,
+ value: Infinity,
+ },
+ selectedIcon: {
+ type: String,
+ value: 'success',
+ },
+ },
+ data: {
+ subItems: [],
+ },
+ methods: {
+ // 当一个子项被选择时
+ onSelectItem: function (event) {
+ var item = event.currentTarget.dataset.item;
+ var isArray = Array.isArray(this.data.activeId);
+ // 判断有没有超出右侧选择的最大数
+ var isOverMax = isArray && this.data.activeId.length >= this.data.max;
+ // 判断该项有没有被选中, 如果有被选中,则忽视是否超出的条件
+ var isSelected = isArray
+ ? this.data.activeId.indexOf(item.id) > -1
+ : this.data.activeId === item.id;
+ if (!item.disabled && (!isOverMax || isSelected)) {
+ this.$emit('click-item', item);
+ }
+ },
+ // 当一个导航被点击时
+ onClickNav: function (event) {
+ var index = event.detail;
+ var item = this.data.items[index];
+ if (!item.disabled) {
+ this.$emit('click-nav', { index: index });
+ }
+ },
+ // 更新子项列表
+ updateSubItems: function () {
+ var _a = this.data, items = _a.items, mainActiveIndex = _a.mainActiveIndex;
+ var _b = (items[mainActiveIndex] || {}).children, children = _b === void 0 ? [] : _b;
+ this.setData({ subItems: children });
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tree-select/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tree-select/index.json
new file mode 100644
index 0000000..42991a2
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tree-select/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-sidebar": "../sidebar/index",
+ "van-sidebar-item": "../sidebar-item/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tree-select/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tree-select/index.wxml
new file mode 100644
index 0000000..2663e52
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tree-select/index.wxml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.text }}
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tree-select/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tree-select/index.wxs
new file mode 100644
index 0000000..b1cbb39
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tree-select/index.wxs
@@ -0,0 +1,12 @@
+/* eslint-disable */
+var array = require('../wxs/array.wxs');
+
+function isActive (activeList, itemId) {
+ if (array.isArray(activeList)) {
+ return activeList.indexOf(itemId) > -1;
+ }
+
+ return activeList === itemId;
+}
+
+module.exports.isActive = isActive;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/tree-select/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tree-select/index.wxss
new file mode 100644
index 0000000..5bef0ac
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/tree-select/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-tree-select{display:flex;font-size:var(--tree-select-font-size,14px);position:relative;-webkit-user-select:none;user-select:none}.van-tree-select__nav{--sidebar-padding:12px 8px 12px 12px;background-color:var(--tree-select-nav-background-color,#f7f8fa);flex:1}.van-tree-select__nav__inner{height:100%;width:100%!important}.van-tree-select__content{background-color:var(--tree-select-content-background-color,#fff);flex:2}.van-tree-select__item{font-weight:700;line-height:var(--tree-select-item-height,44px);padding:0 32px 0 var(--padding-md,16px);position:relative}.van-tree-select__item--active{color:var(--tree-select-item-active-color,#ee0a24)}.van-tree-select__item--disabled{color:var(--tree-select-item-disabled-color,#c8c9cc)}.van-tree-select__selected{position:absolute;right:var(--padding-md,16px);top:50%;transform:translateY(-50%)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/index.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/index.js
new file mode 100644
index 0000000..3f1895f
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/index.js
@@ -0,0 +1,170 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var component_1 = require("../common/component");
+var utils_1 = require("./utils");
+var shared_1 = require("./shared");
+var validator_1 = require("../common/validator");
+(0, component_1.VantComponent)({
+ props: __assign(__assign({ disabled: Boolean, multiple: Boolean, uploadText: String, useBeforeRead: Boolean, afterRead: null, beforeRead: null, previewSize: {
+ type: null,
+ value: 80,
+ }, name: {
+ type: null,
+ value: '',
+ }, accept: {
+ type: String,
+ value: 'image',
+ }, fileList: {
+ type: Array,
+ value: [],
+ observer: 'formatFileList',
+ }, maxSize: {
+ type: Number,
+ value: Number.MAX_VALUE,
+ }, maxCount: {
+ type: Number,
+ value: 100,
+ }, deletable: {
+ type: Boolean,
+ value: true,
+ }, showUpload: {
+ type: Boolean,
+ value: true,
+ }, previewImage: {
+ type: Boolean,
+ value: true,
+ }, previewFullImage: {
+ type: Boolean,
+ value: true,
+ }, imageFit: {
+ type: String,
+ value: 'scaleToFill',
+ }, uploadIcon: {
+ type: String,
+ value: 'photograph',
+ } }, shared_1.chooseImageProps), shared_1.chooseVideoProps),
+ data: {
+ lists: [],
+ isInCount: true,
+ },
+ methods: {
+ formatFileList: function () {
+ var _a = this.data, _b = _a.fileList, fileList = _b === void 0 ? [] : _b, maxCount = _a.maxCount;
+ var lists = fileList.map(function (item) { return (__assign(__assign({}, item), { isImage: (0, utils_1.isImageFile)(item), isVideo: (0, utils_1.isVideoFile)(item), deletable: (0, validator_1.isBoolean)(item.deletable) ? item.deletable : true })); });
+ this.setData({ lists: lists, isInCount: lists.length < maxCount });
+ },
+ getDetail: function (index) {
+ return {
+ name: this.data.name,
+ index: index == null ? this.data.fileList.length : index,
+ };
+ },
+ startUpload: function () {
+ var _this = this;
+ var _a = this.data, maxCount = _a.maxCount, multiple = _a.multiple, lists = _a.lists, disabled = _a.disabled;
+ if (disabled)
+ return;
+ (0, utils_1.chooseFile)(__assign(__assign({}, this.data), { maxCount: maxCount - lists.length }))
+ .then(function (res) {
+ _this.onBeforeRead(multiple ? res : res[0]);
+ })
+ .catch(function (error) {
+ _this.$emit('error', error);
+ });
+ },
+ onBeforeRead: function (file) {
+ var _this = this;
+ var _a = this.data, beforeRead = _a.beforeRead, useBeforeRead = _a.useBeforeRead;
+ var res = true;
+ if (typeof beforeRead === 'function') {
+ res = beforeRead(file, this.getDetail());
+ }
+ if (useBeforeRead) {
+ res = new Promise(function (resolve, reject) {
+ _this.$emit('before-read', __assign(__assign({ file: file }, _this.getDetail()), { callback: function (ok) {
+ ok ? resolve() : reject();
+ } }));
+ });
+ }
+ if (!res) {
+ return;
+ }
+ if ((0, validator_1.isPromise)(res)) {
+ res.then(function (data) { return _this.onAfterRead(data || file); });
+ }
+ else {
+ this.onAfterRead(file);
+ }
+ },
+ onAfterRead: function (file) {
+ var _a = this.data, maxSize = _a.maxSize, afterRead = _a.afterRead;
+ var oversize = Array.isArray(file)
+ ? file.some(function (item) { return item.size > maxSize; })
+ : file.size > maxSize;
+ if (oversize) {
+ this.$emit('oversize', __assign({ file: file }, this.getDetail()));
+ return;
+ }
+ if (typeof afterRead === 'function') {
+ afterRead(file, this.getDetail());
+ }
+ this.$emit('after-read', __assign({ file: file }, this.getDetail()));
+ },
+ deleteItem: function (event) {
+ var index = event.currentTarget.dataset.index;
+ this.$emit('delete', __assign(__assign({}, this.getDetail(index)), { file: this.data.fileList[index] }));
+ },
+ onPreviewImage: function (event) {
+ if (!this.data.previewFullImage)
+ return;
+ var index = event.currentTarget.dataset.index;
+ var lists = this.data.lists;
+ var item = lists[index];
+ wx.previewImage({
+ urls: lists.filter(function (item) { return (0, utils_1.isImageFile)(item); }).map(function (item) { return item.url; }),
+ current: item.url,
+ fail: function () {
+ wx.showToast({ title: '预览图片失败', icon: 'none' });
+ },
+ });
+ },
+ onPreviewVideo: function (event) {
+ if (!this.data.previewFullImage)
+ return;
+ var index = event.currentTarget.dataset.index;
+ var lists = this.data.lists;
+ wx.previewMedia({
+ sources: lists
+ .filter(function (item) { return (0, utils_1.isVideoFile)(item); })
+ .map(function (item) { return (__assign(__assign({}, item), { type: 'video' })); }),
+ current: index,
+ fail: function () {
+ wx.showToast({ title: '预览视频失败', icon: 'none' });
+ },
+ });
+ },
+ onPreviewFile: function (event) {
+ var index = event.currentTarget.dataset.index;
+ wx.openDocument({
+ filePath: this.data.lists[index].url,
+ showMenu: true,
+ });
+ },
+ onClickPreview: function (event) {
+ var index = event.currentTarget.dataset.index;
+ var item = this.data.lists[index];
+ this.$emit('click-preview', __assign(__assign({}, item), this.getDetail(index)));
+ },
+ },
+});
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/index.json b/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/index.json
new file mode 100644
index 0000000..e00a588
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index"
+ }
+}
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/index.wxml b/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/index.wxml
new file mode 100644
index 0000000..50fb0c8
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/index.wxml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name || item.url }}
+
+
+
+
+ {{ item.message }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ uploadText }}
+
+
+
+
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/index.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/index.wxs
new file mode 100644
index 0000000..257c780
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/index.wxs
@@ -0,0 +1,14 @@
+/* eslint-disable */
+var style = require('../wxs/style.wxs');
+var addUnit = require('../wxs/add-unit.wxs');
+
+function sizeStyle(data) {
+ return style({
+ width: addUnit(data.previewSize),
+ height: addUnit(data.previewSize),
+ });
+}
+
+module.exports = {
+ sizeStyle: sizeStyle,
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/index.wxss b/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/index.wxss
new file mode 100644
index 0000000..11f8696
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/index.wxss
@@ -0,0 +1 @@
+@import '../common/index.wxss';.van-uploader{display:inline-block;position:relative}.van-uploader__wrapper{display:flex;flex-wrap:wrap}.van-uploader__slot:empty{display:none}.van-uploader__slot:not(:empty)+.van-uploader__upload{display:none!important}.van-uploader__upload{align-items:center;background-color:var(--uploader-upload-background-color,#f7f8fa);box-sizing:border-box;display:flex;flex-direction:column;height:var(--uploader-size,80px);justify-content:center;margin:0 8px 8px 0;position:relative;width:var(--uploader-size,80px)}.van-uploader__upload:active{background-color:var(--uploader-upload-active-color,#f2f3f5)}.van-uploader__upload-icon{color:var(--uploader-icon-color,#dcdee0);font-size:var(--uploader-icon-size,24px)}.van-uploader__upload-text{color:var(--uploader-text-color,#969799);font-size:var(--uploader-text-font-size,12px);margin-top:var(--padding-xs,8px)}.van-uploader__upload--disabled{opacity:var(--uploader-disabled-opacity,.5)}.van-uploader__preview{cursor:pointer;margin:0 8px 8px 0;position:relative}.van-uploader__preview-image{display:block;height:var(--uploader-size,80px);overflow:hidden;width:var(--uploader-size,80px)}.van-uploader__preview-delete,.van-uploader__preview-delete:after{height:var(--uploader-delete-icon-size,14px);position:absolute;right:0;top:0;width:var(--uploader-delete-icon-size,14px)}.van-uploader__preview-delete:after{background-color:var(--uploader-delete-background-color,rgba(0,0,0,.7));border-radius:0 0 0 12px;content:""}.van-uploader__preview-delete-icon{color:var(--uploader-delete-color,#fff);font-size:var(--uploader-delete-icon-size,14px);position:absolute;right:0;top:0;transform:scale(.7) translate(10%,-10%);z-index:1}.van-uploader__file{align-items:center;background-color:var(--uploader-file-background-color,#f7f8fa);display:flex;flex-direction:column;height:var(--uploader-size,80px);justify-content:center;width:var(--uploader-size,80px)}.van-uploader__file-icon{color:var(--uploader-file-icon-color,#646566);font-size:var(--uploader-file-icon-size,20px)}.van-uploader__file-name{box-sizing:border-box;color:var(--uploader-file-name-text-color,#646566);font-size:var(--uploader-file-name-font-size,12px);margin-top:var(--uploader-file-name-margin-top,8px);padding:var(--uploader-file-name-padding,0 4px);text-align:center;width:100%}.van-uploader__mask{align-items:center;background-color:var(--uploader-mask-background-color,rgba(50,50,51,.88));bottom:0;color:#fff;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0}.van-uploader__mask-icon{font-size:var(--uploader-mask-icon-size,22px)}.van-uploader__mask-message{font-size:var(--uploader-mask-message-font-size,12px);line-height:var(--uploader-mask-message-line-height,14px);margin-top:6px;padding:0 var(--padding-base,4px)}.van-uploader__loading{color:var(--uploader-loading-icon-color,#fff)!important;height:var(--uploader-loading-icon-size,22px);width:var(--uploader-loading-icon-size,22px)}
\ No newline at end of file
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/shared.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/shared.js
new file mode 100644
index 0000000..c5df55e
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/shared.js
@@ -0,0 +1,33 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.chooseVideoProps = exports.chooseImageProps = void 0;
+// props for choose image
+exports.chooseImageProps = {
+ sizeType: {
+ type: Array,
+ value: ['original', 'compressed'],
+ },
+ capture: {
+ type: Array,
+ value: ['album', 'camera'],
+ },
+};
+// props for choose video
+exports.chooseVideoProps = {
+ capture: {
+ type: Array,
+ value: ['album', 'camera'],
+ },
+ compressed: {
+ type: Boolean,
+ value: true,
+ },
+ maxDuration: {
+ type: Number,
+ value: 60,
+ },
+ camera: {
+ type: String,
+ value: 'back',
+ },
+};
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/utils.js b/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/utils.js
new file mode 100644
index 0000000..96291b0
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/uploader/utils.js
@@ -0,0 +1,102 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.chooseFile = exports.isVideoFile = exports.isImageFile = void 0;
+var utils_1 = require("../common/utils");
+var validator_1 = require("../common/validator");
+function isImageFile(item) {
+ if (item.isImage != null) {
+ return item.isImage;
+ }
+ if (item.type) {
+ return item.type === 'image';
+ }
+ if (item.url) {
+ return (0, validator_1.isImageUrl)(item.url);
+ }
+ return false;
+}
+exports.isImageFile = isImageFile;
+function isVideoFile(item) {
+ if (item.isVideo != null) {
+ return item.isVideo;
+ }
+ if (item.type) {
+ return item.type === 'video';
+ }
+ if (item.url) {
+ return (0, validator_1.isVideoUrl)(item.url);
+ }
+ return false;
+}
+exports.isVideoFile = isVideoFile;
+function formatImage(res) {
+ return res.tempFiles.map(function (item) { return (__assign(__assign({}, (0, utils_1.pickExclude)(item, ['path'])), { type: 'image', url: item.path, thumb: item.path })); });
+}
+function formatVideo(res) {
+ return [
+ __assign(__assign({}, (0, utils_1.pickExclude)(res, ['tempFilePath', 'thumbTempFilePath', 'errMsg'])), { type: 'video', url: res.tempFilePath, thumb: res.thumbTempFilePath }),
+ ];
+}
+function formatMedia(res) {
+ return res.tempFiles.map(function (item) { return (__assign(__assign({}, (0, utils_1.pickExclude)(item, ['fileType', 'thumbTempFilePath', 'tempFilePath'])), { type: res.type, url: item.tempFilePath, thumb: res.type === 'video' ? item.thumbTempFilePath : item.tempFilePath })); });
+}
+function formatFile(res) {
+ return res.tempFiles.map(function (item) { return (__assign(__assign({}, (0, utils_1.pickExclude)(item, ['path'])), { url: item.path })); });
+}
+function chooseFile(_a) {
+ var accept = _a.accept, multiple = _a.multiple, capture = _a.capture, compressed = _a.compressed, maxDuration = _a.maxDuration, sizeType = _a.sizeType, camera = _a.camera, maxCount = _a.maxCount;
+ return new Promise(function (resolve, reject) {
+ switch (accept) {
+ case 'image':
+ wx.chooseImage({
+ count: multiple ? Math.min(maxCount, 9) : 1,
+ sourceType: capture,
+ sizeType: sizeType,
+ success: function (res) { return resolve(formatImage(res)); },
+ fail: reject,
+ });
+ break;
+ case 'media':
+ wx.chooseMedia({
+ count: multiple ? Math.min(maxCount, 9) : 1,
+ sourceType: capture,
+ maxDuration: maxDuration,
+ sizeType: sizeType,
+ camera: camera,
+ success: function (res) { return resolve(formatMedia(res)); },
+ fail: reject,
+ });
+ break;
+ case 'video':
+ wx.chooseVideo({
+ sourceType: capture,
+ compressed: compressed,
+ maxDuration: maxDuration,
+ camera: camera,
+ success: function (res) { return resolve(formatVideo(res)); },
+ fail: reject,
+ });
+ break;
+ default:
+ wx.chooseMessageFile({
+ count: multiple ? maxCount : 1,
+ type: accept,
+ success: function (res) { return resolve(formatFile(res)); },
+ fail: reject,
+ });
+ break;
+ }
+ });
+}
+exports.chooseFile = chooseFile;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/add-unit.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/add-unit.wxs
new file mode 100644
index 0000000..4f33462
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/add-unit.wxs
@@ -0,0 +1,12 @@
+/* eslint-disable */
+var REGEXP = getRegExp('^-?\d+(\.\d+)?$');
+
+function addUnit(value) {
+ if (value == null) {
+ return undefined;
+ }
+
+ return REGEXP.test('' + value) ? value + 'px' : value;
+}
+
+module.exports = addUnit;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/array.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/array.wxs
new file mode 100644
index 0000000..610089c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/array.wxs
@@ -0,0 +1,5 @@
+function isArray(array) {
+ return array && array.constructor === 'Array';
+}
+
+module.exports.isArray = isArray;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/bem.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/bem.wxs
new file mode 100644
index 0000000..1efa129
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/bem.wxs
@@ -0,0 +1,39 @@
+/* eslint-disable */
+var array = require('./array.wxs');
+var object = require('./object.wxs');
+var PREFIX = 'van-';
+
+function join(name, mods) {
+ name = PREFIX + name;
+ mods = mods.map(function(mod) {
+ return name + '--' + mod;
+ });
+ mods.unshift(name);
+ return mods.join(' ');
+}
+
+function traversing(mods, conf) {
+ if (!conf) {
+ return;
+ }
+
+ if (typeof conf === 'string' || typeof conf === 'number') {
+ mods.push(conf);
+ } else if (array.isArray(conf)) {
+ conf.forEach(function(item) {
+ traversing(mods, item);
+ });
+ } else if (typeof conf === 'object') {
+ object.keys(conf).forEach(function(key) {
+ conf[key] && mods.push(key);
+ });
+ }
+}
+
+function bem(name, conf) {
+ var mods = [];
+ traversing(mods, conf);
+ return join(name, mods);
+}
+
+module.exports = bem;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/memoize.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/memoize.wxs
new file mode 100644
index 0000000..8f7f46d
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/memoize.wxs
@@ -0,0 +1,55 @@
+/**
+ * Simple memoize
+ * wxs doesn't support fn.apply, so this memoize only support up to 2 args
+ */
+/* eslint-disable */
+
+function isPrimitive(value) {
+ var type = typeof value;
+ return (
+ type === 'boolean' ||
+ type === 'number' ||
+ type === 'string' ||
+ type === 'undefined' ||
+ value === null
+ );
+}
+
+// mock simple fn.call in wxs
+function call(fn, args) {
+ if (args.length === 2) {
+ return fn(args[0], args[1]);
+ }
+
+ if (args.length === 1) {
+ return fn(args[0]);
+ }
+
+ return fn();
+}
+
+function serializer(args) {
+ if (args.length === 1 && isPrimitive(args[0])) {
+ return args[0];
+ }
+ var obj = {};
+ for (var i = 0; i < args.length; i++) {
+ obj['key' + i] = args[i];
+ }
+ return JSON.stringify(obj);
+}
+
+function memoize(fn) {
+ var cache = {};
+
+ return function() {
+ var key = serializer(arguments);
+ if (cache[key] === undefined) {
+ cache[key] = call(fn, arguments);
+ }
+
+ return cache[key];
+ };
+}
+
+module.exports = memoize;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/object.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/object.wxs
new file mode 100644
index 0000000..e077107
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/object.wxs
@@ -0,0 +1,13 @@
+/* eslint-disable */
+var REGEXP = getRegExp('{|}|"', 'g');
+
+function keys(obj) {
+ return JSON.stringify(obj)
+ .replace(REGEXP, '')
+ .split(',')
+ .map(function(item) {
+ return item.split(':')[0];
+ });
+}
+
+module.exports.keys = keys;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/style.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/style.wxs
new file mode 100644
index 0000000..d88ca7c
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/style.wxs
@@ -0,0 +1,42 @@
+/* eslint-disable */
+var object = require('./object.wxs');
+var array = require('./array.wxs');
+
+function kebabCase(word) {
+ var newWord = word
+ .replace(getRegExp("[A-Z]", 'g'), function (i) {
+ return '-' + i;
+ })
+ .toLowerCase()
+
+ return newWord;
+}
+
+function style(styles) {
+ if (array.isArray(styles)) {
+ return styles
+ .filter(function (item) {
+ return item != null && item !== '';
+ })
+ .map(function (item) {
+ return style(item);
+ })
+ .join(';');
+ }
+
+ if ('Object' === styles.constructor) {
+ return object
+ .keys(styles)
+ .filter(function (key) {
+ return styles[key] != null && styles[key] !== '';
+ })
+ .map(function (key) {
+ return [kebabCase(key), [styles[key]]].join(':');
+ })
+ .join(';');
+ }
+
+ return styles;
+}
+
+module.exports = style;
diff --git a/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/utils.wxs b/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/utils.wxs
new file mode 100644
index 0000000..f66d33a
--- /dev/null
+++ b/coupon/miniprogram/miniprogram_npm/@vant/weapp/wxs/utils.wxs
@@ -0,0 +1,10 @@
+/* eslint-disable */
+var bem = require('./bem.wxs');
+var memoize = require('./memoize.wxs');
+var addUnit = require('./add-unit.wxs');
+
+module.exports = {
+ bem: memoize(bem),
+ memoize: memoize,
+ addUnit: addUnit
+};
diff --git a/coupon/package-lock.json b/coupon/package-lock.json
new file mode 100644
index 0000000..43234be
--- /dev/null
+++ b/coupon/package-lock.json
@@ -0,0 +1,13 @@
+{
+ "name": "coupon",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@vant/weapp": {
+ "version": "1.10.0",
+ "resolved": "https://repo.huaweicloud.com/repository/npm/@vant/weapp/-/weapp-1.10.0.tgz",
+ "integrity": "sha512-cNW2U98GlYwh8t4loEASyvukITlPohJM9HkAF8/dRSJrKm2689nqE8eeASFkWADdhqayGvy08cWoJhqMNh6ZXA=="
+ }
+ }
+}
diff --git a/coupon/package.json b/coupon/package.json
new file mode 100644
index 0000000..8cb86b1
--- /dev/null
+++ b/coupon/package.json
@@ -0,0 +1,18 @@
+{
+ "name": "coupon",
+ "version": "1.0.0",
+ "description": "",
+ "main": "app.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://gitee.com/fang_hoo/coupon.git"
+ },
+ "author": "",
+ "license": "ISC",
+ "dependencies": {
+ "@vant/weapp": "^1.10.0"
+ }
+}
diff --git a/coupon/pages/guanyu/guanyu.js b/coupon/pages/guanyu/guanyu.js
new file mode 100644
index 0000000..dd919e2
--- /dev/null
+++ b/coupon/pages/guanyu/guanyu.js
@@ -0,0 +1,149 @@
+const app = getApp()
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ bindNameInput: function (e) {
+ this.setData({
+ name: e.detail.value
+ })
+ },
+ bindPhoneInput: function (e) {
+ this.setData({
+ jzphone: e.detail.value
+ })
+ },
+ bindAdressInput: function (e) {
+ this.setData({
+ address: e.detail.value
+ })
+ },
+
+ // 确认支付
+ confirm_payy: async function () {
+ // wx.showToast({
+ // title: '点击了',
+ // icon: 'none'
+ // });
+ var that = this;
+ if (!this.data.is_ok_click) {
+ that.setData({
+ is_ok_click: true
+ })
+ //你要执行的操作
+ this.payment()
+ setTimeout(function () {
+ that.setData({
+ is_ok_click: false
+ })
+ }, 10000) //阻止一秒点击多次
+ } else {
+ // wx.showToast({ title:'请勿重复操作!', icon: 'none' });
+ }
+ },
+
+ onClose() {
+ this.setData({
+ show: false
+ });
+ },
+
+ xieyi(e){
+ wx.navigateTo({
+ url: "/pages/webpage/webpage?url=" + 'http:www.baidu.com' // 解码
+ })
+ },
+
+ // goDoc(e){
+ // const staticDoc = {
+ // "aa": "https://xxxx.com/aa.html?type=bb"
+ // }
+ // let doc = e.currentTarget.dataset.doc;
+ // wx.navigateTo({
+ // url: "/pages/webview/index?url=" + encodeURIComponent(staticDoc[doc]) // 解码
+ // })
+ // }
+
+
+
+ bindDateChange: function (e) {
+ this.setData({
+ seckill_start: e.detail.value
+ })
+ },
+
+ onClickLeft() {
+ wx.navigateBack()
+ },
+ onChange(e) {
+ this.setData({
+ timeData: e.detail,
+ });
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (e) {
+ var statusBarHeight = wx.getSystemInfoSync().statusBarHeight;
+ this.setData({
+ statusBarHeight: statusBarHeight,
+ height: 46 + statusBarHeight,
+ });
+
+
+ },
+
+
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+
+
+})
\ No newline at end of file
diff --git a/coupon/pages/guanyu/guanyu.json b/coupon/pages/guanyu/guanyu.json
new file mode 100644
index 0000000..a55c847
--- /dev/null
+++ b/coupon/pages/guanyu/guanyu.json
@@ -0,0 +1,13 @@
+{
+ "usingComponents": {
+ "van-count-down": "/miniprogram/miniprogram_npm/@vant/weapp/count-down/index",
+ "van-switch": "/miniprogram/miniprogram_npm/@vant/weapp/switch/index",
+ "van-button": "/miniprogram/miniprogram_npm/@vant/weapp/button/index",
+ "van-calendar": "/miniprogram/miniprogram_npm/@vant/weapp/calendar/index",
+ "van-cell": "/miniprogram/miniprogram_npm/@vant/weapp/cell/index",
+ "van-action-sheet": "/miniprogram/miniprogram_npm/@vant/weapp/action-sheet/index",
+ "van-nav-bar":"/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index",
+ "van-field": "/miniprogram/miniprogram_npm/@vant/weapp/field/index"
+ },
+ "navigationBarTitleText": "下单"
+}
\ No newline at end of file
diff --git a/coupon/pages/guanyu/guanyu.wxml b/coupon/pages/guanyu/guanyu.wxml
new file mode 100644
index 0000000..b4425b5
--- /dev/null
+++ b/coupon/pages/guanyu/guanyu.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+ 当前版本
+
+ 1.0.0
+
+
+
+ 隐私协议
+
+
+
+
+
+ 西安瑞来兹提供技术支持
+
+
\ No newline at end of file
diff --git a/coupon/pages/guanyu/guanyu.wxss b/coupon/pages/guanyu/guanyu.wxss
new file mode 100644
index 0000000..abdae62
--- /dev/null
+++ b/coupon/pages/guanyu/guanyu.wxss
@@ -0,0 +1,169 @@
+/* pages/goddess/goddess.wxss */
+
+page{
+ background: #F8F8F8;
+}
+image {
+ width: 100%;
+ height: 100%;
+
+}
+
+.Category {
+ display: flex;
+}
+
+.Category .Price {
+ width: 449rpx;
+ height: 107rpx;
+ background: #FF4C00;
+ display: flex;
+}
+.card_cont{
+ display: flex;
+ flex-direction: column;
+ background: #fff;
+ width: 85%;
+ margin: 0 auto;
+ margin-top: 0rpx;
+ box-shadow: 0px 0px 6px rgba(152, 152, 152, 0.16);
+ border-radius: 10rpx;
+ padding: 20rpx;
+}
+
+.card_con{
+ display: flex;
+ flex-direction: column;
+ background: #fff;
+ border-radius: 10rpx;
+ margin-left: 40rpx;
+ margin-right: 40rpx;
+}
+.card_cont_top{
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: center;
+}
+.card_top_left{
+ color: #E54F54;
+ font-size: 36rpx;
+}
+.card_top_left text:first-child{
+ font-size: 55rpx;
+ padding: 0 20rpx 0 0;
+ /* border: 1px solid red; */
+}
+.card_top_left text:last-child{
+ font-size: 24rpx;
+}
+.Price .Price-left {
+ margin: 8rpx 0 0 32rpx;
+}
+
+.Price .Price-left text:nth-child(1) {
+ font-size: 34rpx;
+ color: #FFFFFF;
+ font-weight: 700;
+ line-height: 48rpx;
+}
+
+.Price .Price-left text:nth-child(2) {
+ font-size: 24rpx;
+ color: #FFFFFF;
+ text-decoration: line-through;
+ margin-left: 5rpx;
+}
+
+/* 销售 */
+.Category .Price .sale {
+ font-size: 26rpx;
+ color: #FFFFFF;
+}
+
+/* 库存 */
+.Category .Price .stock {
+ font-size: 24rpx;
+ color: #FFFFFF;
+ margin: 16rpx 0 0 33rpx;
+}
+
+
+
+
+ .content .tejia .Price2 {
+ font-size: 30rpx;
+ color: #666666;
+ line-height: 41rpx;
+ margin-right: 23rpx;
+ }
+
+ .peisong-way{
+ width: 640rpx;
+ height: 128rpx;
+ background: #F6F6F6;
+ margin-right: 31rpx;
+ opacity: 1;
+ border-radius: 0px
+ }
+
+
+ .row-wrap .label{
+ width: 200rpx;
+ color: #000;
+ margin-left: 6rpx;
+ }
+ .row-wrap .label-right{
+ width: 500rpx;
+ height: 88rpx;
+ line-height: 88rpx;
+ text-align: right;
+ }
+ .row-wrap{
+ width: 100%;
+ height: 100rpx;
+ line-height: 88rpx;
+ margin-left: 0rpx;
+ border-bottom: 1rpx solid #eee;
+ display: flex;
+ font-size: 28rpx;
+ /*justify-content: space-between;*/
+ }
+ .row-wrap{
+ width: 100%;
+ height: 100rpx;
+ line-height: 88rpx;
+ margin-left: 0rpx;
+ border-bottom: 1rpx solid #eee;
+ display: flex;
+ font-size: 28rpx;
+ /*justify-content: space-between;*/
+ }
+ .row-wrap .label-right input{
+ height: 100%;
+ font-size: 28rpx;
+ padding-right: 30rpx;
+ }
+
+
+ /*选择器 */
+.section__title{
+ margin-bottom: 20rpx;
+}
+.section{
+ margin: 50rpx 0;
+ font-size: 30rpx;
+}
+
+
+.copyright {
+ width: 100%;
+ font-size: 28rpx;
+ color: #999;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ padding: 30rpx 0 25rpx 0rpx;
+ text-align: center;
+}
\ No newline at end of file
diff --git a/coupon/pages/image/Bargain.png b/coupon/pages/image/Bargain.png
new file mode 100644
index 0000000..ded1d9f
Binary files /dev/null and b/coupon/pages/image/Bargain.png differ
diff --git a/coupon/pages/image/Collage.png b/coupon/pages/image/Collage.png
new file mode 100644
index 0000000..ed356e7
Binary files /dev/null and b/coupon/pages/image/Collage.png differ
diff --git a/coupon/pages/image/Collection.png b/coupon/pages/image/Collection.png
new file mode 100644
index 0000000..b263d55
Binary files /dev/null and b/coupon/pages/image/Collection.png differ
diff --git a/coupon/pages/image/Star.png b/coupon/pages/image/Star.png
new file mode 100644
index 0000000..568b559
Binary files /dev/null and b/coupon/pages/image/Star.png differ
diff --git a/coupon/pages/image/abc.png b/coupon/pages/image/abc.png
new file mode 100644
index 0000000..7bb66f4
Binary files /dev/null and b/coupon/pages/image/abc.png differ
diff --git a/coupon/pages/image/address.png b/coupon/pages/image/address.png
new file mode 100644
index 0000000..988bc8f
Binary files /dev/null and b/coupon/pages/image/address.png differ
diff --git a/coupon/pages/image/caitiao.png b/coupon/pages/image/caitiao.png
new file mode 100644
index 0000000..e8f7bf6
Binary files /dev/null and b/coupon/pages/image/caitiao.png differ
diff --git a/coupon/pages/image/cardbag.png b/coupon/pages/image/cardbag.png
new file mode 100644
index 0000000..6ff9960
Binary files /dev/null and b/coupon/pages/image/cardbag.png differ
diff --git a/coupon/pages/image/cardbag_a.png b/coupon/pages/image/cardbag_a.png
new file mode 100644
index 0000000..6c4c088
Binary files /dev/null and b/coupon/pages/image/cardbag_a.png differ
diff --git a/coupon/pages/image/clock.png b/coupon/pages/image/clock.png
new file mode 100644
index 0000000..4301b29
Binary files /dev/null and b/coupon/pages/image/clock.png differ
diff --git a/coupon/pages/image/colleme.png b/coupon/pages/image/colleme.png
new file mode 100644
index 0000000..a211aed
Binary files /dev/null and b/coupon/pages/image/colleme.png differ
diff --git a/coupon/pages/image/dingdan.png b/coupon/pages/image/dingdan.png
new file mode 100644
index 0000000..0f20967
Binary files /dev/null and b/coupon/pages/image/dingdan.png differ
diff --git a/coupon/pages/image/dingdanl.png b/coupon/pages/image/dingdanl.png
new file mode 100644
index 0000000..ae4fae3
Binary files /dev/null and b/coupon/pages/image/dingdanl.png differ
diff --git a/coupon/pages/image/empty.png b/coupon/pages/image/empty.png
new file mode 100644
index 0000000..45acb55
Binary files /dev/null and b/coupon/pages/image/empty.png differ
diff --git a/coupon/pages/image/home/.DS_Store b/coupon/pages/image/home/.DS_Store
new file mode 100644
index 0000000..5008ddf
Binary files /dev/null and b/coupon/pages/image/home/.DS_Store differ
diff --git a/coupon/pages/image/home/home-banner.png b/coupon/pages/image/home/home-banner.png
new file mode 100644
index 0000000..118e6bb
Binary files /dev/null and b/coupon/pages/image/home/home-banner.png differ
diff --git a/coupon/pages/image/home/home-head.png b/coupon/pages/image/home/home-head.png
new file mode 100644
index 0000000..ae79678
Binary files /dev/null and b/coupon/pages/image/home/home-head.png differ
diff --git a/coupon/pages/image/home/代办买药.png b/coupon/pages/image/home/代办买药.png
new file mode 100644
index 0000000..429eddf
Binary files /dev/null and b/coupon/pages/image/home/代办买药.png differ
diff --git a/coupon/pages/image/home/代办问诊.png b/coupon/pages/image/home/代办问诊.png
new file mode 100644
index 0000000..3ad6b5a
Binary files /dev/null and b/coupon/pages/image/home/代办问诊.png differ
diff --git a/coupon/pages/image/home/全程陪诊.png b/coupon/pages/image/home/全程陪诊.png
new file mode 100644
index 0000000..139eecc
Binary files /dev/null and b/coupon/pages/image/home/全程陪诊.png differ
diff --git a/coupon/pages/image/home/出入院办理.png b/coupon/pages/image/home/出入院办理.png
new file mode 100644
index 0000000..86e7749
Binary files /dev/null and b/coupon/pages/image/home/出入院办理.png differ
diff --git a/coupon/pages/image/home/取送结果.png b/coupon/pages/image/home/取送结果.png
new file mode 100644
index 0000000..3142e74
Binary files /dev/null and b/coupon/pages/image/home/取送结果.png differ
diff --git a/coupon/pages/image/home/就医陪诊-back.png b/coupon/pages/image/home/就医陪诊-back.png
new file mode 100644
index 0000000..6e3d789
Binary files /dev/null and b/coupon/pages/image/home/就医陪诊-back.png differ
diff --git a/coupon/pages/image/home/诊前约号.png b/coupon/pages/image/home/诊前约号.png
new file mode 100644
index 0000000..701aa3f
Binary files /dev/null and b/coupon/pages/image/home/诊前约号.png differ
diff --git a/coupon/pages/image/home/院内陪护-back.png b/coupon/pages/image/home/院内陪护-back.png
new file mode 100644
index 0000000..f33298b
Binary files /dev/null and b/coupon/pages/image/home/院内陪护-back.png differ
diff --git a/coupon/pages/image/home_bj.png b/coupon/pages/image/home_bj.png
new file mode 100644
index 0000000..b2ea3af
Binary files /dev/null and b/coupon/pages/image/home_bj.png differ
diff --git a/coupon/pages/image/income.png b/coupon/pages/image/income.png
new file mode 100644
index 0000000..0a1c73d
Binary files /dev/null and b/coupon/pages/image/income.png differ
diff --git a/coupon/pages/image/income_a.png b/coupon/pages/image/income_a.png
new file mode 100644
index 0000000..4c9124f
Binary files /dev/null and b/coupon/pages/image/income_a.png differ
diff --git a/coupon/pages/image/left.png b/coupon/pages/image/left.png
new file mode 100644
index 0000000..376179c
Binary files /dev/null and b/coupon/pages/image/left.png differ
diff --git a/coupon/pages/image/max.png b/coupon/pages/image/max.png
new file mode 100644
index 0000000..83b25a2
Binary files /dev/null and b/coupon/pages/image/max.png differ
diff --git a/coupon/pages/image/max_a.png b/coupon/pages/image/max_a.png
new file mode 100644
index 0000000..919ba23
Binary files /dev/null and b/coupon/pages/image/max_a.png differ
diff --git a/coupon/pages/image/money.png b/coupon/pages/image/money.png
new file mode 100644
index 0000000..3b1e73f
Binary files /dev/null and b/coupon/pages/image/money.png differ
diff --git a/coupon/pages/image/my.png b/coupon/pages/image/my.png
new file mode 100644
index 0000000..76572aa
Binary files /dev/null and b/coupon/pages/image/my.png differ
diff --git a/coupon/pages/image/my_a.png b/coupon/pages/image/my_a.png
new file mode 100644
index 0000000..519cf02
Binary files /dev/null and b/coupon/pages/image/my_a.png differ
diff --git a/coupon/pages/image/notice.png b/coupon/pages/image/notice.png
new file mode 100644
index 0000000..390dac6
Binary files /dev/null and b/coupon/pages/image/notice.png differ
diff --git a/coupon/pages/image/one.png b/coupon/pages/image/one.png
new file mode 100644
index 0000000..49c2efb
Binary files /dev/null and b/coupon/pages/image/one.png differ
diff --git a/coupon/pages/image/order.png b/coupon/pages/image/order.png
new file mode 100644
index 0000000..74fe6f5
Binary files /dev/null and b/coupon/pages/image/order.png differ
diff --git a/coupon/pages/image/order_a.png b/coupon/pages/image/order_a.png
new file mode 100644
index 0000000..e72baac
Binary files /dev/null and b/coupon/pages/image/order_a.png differ
diff --git a/coupon/pages/image/phone.png b/coupon/pages/image/phone.png
new file mode 100644
index 0000000..a14ca83
Binary files /dev/null and b/coupon/pages/image/phone.png differ
diff --git a/coupon/pages/image/right.png b/coupon/pages/image/right.png
new file mode 100644
index 0000000..3a5a115
Binary files /dev/null and b/coupon/pages/image/right.png differ
diff --git a/coupon/pages/image/right1.png b/coupon/pages/image/right1.png
new file mode 100644
index 0000000..fd606c6
Binary files /dev/null and b/coupon/pages/image/right1.png differ
diff --git a/coupon/pages/image/save.png b/coupon/pages/image/save.png
new file mode 100644
index 0000000..56cc946
Binary files /dev/null and b/coupon/pages/image/save.png differ
diff --git a/coupon/pages/image/service.png b/coupon/pages/image/service.png
new file mode 100644
index 0000000..67feddc
Binary files /dev/null and b/coupon/pages/image/service.png differ
diff --git a/coupon/pages/image/shoucang.png b/coupon/pages/image/shoucang.png
new file mode 100644
index 0000000..83575ad
Binary files /dev/null and b/coupon/pages/image/shoucang.png differ
diff --git a/coupon/pages/image/site.png b/coupon/pages/image/site.png
new file mode 100644
index 0000000..d3926a7
Binary files /dev/null and b/coupon/pages/image/site.png differ
diff --git a/coupon/pages/image/success.png b/coupon/pages/image/success.png
new file mode 100644
index 0000000..56a0d6c
Binary files /dev/null and b/coupon/pages/image/success.png differ
diff --git a/coupon/pages/image/userimg.png b/coupon/pages/image/userimg.png
new file mode 100644
index 0000000..0cbfd55
Binary files /dev/null and b/coupon/pages/image/userimg.png differ
diff --git a/coupon/pages/image/wallet.png b/coupon/pages/image/wallet.png
new file mode 100644
index 0000000..0992738
Binary files /dev/null and b/coupon/pages/image/wallet.png differ
diff --git a/coupon/pages/index/index.js b/coupon/pages/index/index.js
new file mode 100644
index 0000000..edd76ab
--- /dev/null
+++ b/coupon/pages/index/index.js
@@ -0,0 +1,245 @@
+//获取应用实例
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据00
+ */
+ data: {
+ order_list: [],
+ bannerdata: [
+ "home-banner",
+ "home-banner",
+ "home-banner"
+ ],
+ itemView: [{
+ icon: "全程陪诊",
+ title: "全程陪诊",
+ price: "200",
+ describe: "服务内容:排队 预约 挂号 缴费 取药 记录医嘱",
+ ordertype: "1"
+ },
+ {
+ icon: "诊前约号",
+ title: "诊前约号",
+ price: "20",
+ describe: "服务内容:协助办理完成挂号",
+ ordertype: "2"
+ },
+ // {
+ // icon: "代办买药",
+ // title: "代办买药",
+ // price:"30",
+ // describe:"服务内容:协助代理买药"
+ // },
+ {
+ icon: "代办问诊",
+ title: "代办问诊",
+ price: "100",
+ describe: "服务内容:使用病人或者家属取检查报告化验单向医生问明情况",
+ ordertype: "4"
+ },
+ {
+ icon: "取送结果",
+ title: "取送结果",
+ price: "50",
+ describe: "服务内容:包括给病人或者家属取检查报告化验单等",
+ ordertype: "3"
+ },
+ // {
+ // icon: "出入院办理",
+ // title: "出入院办理",
+ // price:"100",
+ // describe:"协助办理出入院手续"
+ // }
+ ],
+ hospitalData: [{
+ img: "https://bkimg.cdn.bcebos.com/pic/8326cffc1e178a828fa58d64f303738da877e85d?x-bce-process=image/resize,m_lfit,w_536,limit_1",
+ name: "西安市高新医院",
+ grade: "三甲",
+ genre: "综合医院",
+ skiled: "消化内科、心血管内科",
+ address: "高新区高新六路",
+ id: "1"
+ }, {
+ img: "https://bkimg.cdn.bcebos.com/pic/8326cffc1e178a828fa58d64f303738da877e85d?x-bce-process=image/resize,m_lfit,w_536,limit_1",
+ name: "第四军医大学西京医院",
+ grade: "三甲",
+ genre: "综合医院",
+ skiled: "消化内科、心血管内科",
+ address: "莲湖区康复路",
+ id: "2"
+ }, {
+ img: "https://bkimg.cdn.bcebos.com/pic/8326cffc1e178a828fa58d64f303738da877e85d?x-bce-process=image/resize,m_lfit,w_536,limit_1",
+ name: "陕西省人民医院",
+ grade: "三甲",
+ genre: "综合医院",
+ skiled: "消化内科、心血管内科",
+ address: "碑林区友谊西路",
+ id: "3"
+ }]
+ },
+
+ /**
+ * 诊前约号、代办买药、取送结果、出入院办理、就医陪诊、园内护理
+ */
+ itemClick(options) {
+
+ if (wx.getStorageSync('phone') == '') {
+ wx.setStorageSync('uidFlag', false);
+ console.log('请登录')
+ this.isdenglu()
+ } else {
+ // console.log(options.currentTarget.dataset.id)
+ let item = JSON.stringify(options.currentTarget.dataset.item);
+ // console.log("传递的item" + item);
+ console.log("传递的item" + item);
+ wx.navigateTo({
+ // url: "/pages/peizhen/peizhendetail?servername=" + options.currentTarget.dataset.id,
+ url: "/pages/peizhen/peizhendetail?item=" + item,
+ });
+ }
+ },
+
+ go_peizhen() {
+ if (wx.getStorageSync('phone') == '') {
+ wx.setStorageSync('uidFlag', false);
+ console.log('请登录')
+ this.isdenglu()
+ } else {
+ wx.navigateTo({
+ url: '/pages/peizhen/peizhen',
+ })
+ }
+ },
+
+ go_peihu() {
+ if (wx.getStorageSync('phone') == '') {
+ wx.setStorageSync('uidFlag', false);
+ console.log('请登录')
+ this.isdenglu()
+ } else {
+ wx.navigateTo({
+ url: '/pages/peihu/peihu?' + "hospitalId=" + "",
+ })
+ }
+ },
+ //获取医院列表
+ getHospitalList: function () {
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/hospital/list',
+ header: app.getRequestHeader(),
+ method: 'GET',
+ data: {},
+ success: (res) => {
+ var resp = res.data;
+ console.log("resp==" + resp)
+ if (res.data.code == 200) {
+ if (this.data.pageNum == 1) {
+ that.setData({
+ order_list: resp.data,
+ pageNum: this.data.pageNum + 1
+ });
+
+ } else {
+ that.setData({
+ order_list: resp.data,
+
+ });
+ }
+ }
+ }
+ });
+ },
+ /**
+ * 医院列表
+ */
+ listItemTap(options) {
+ // console.log(options.currentTarget.dataset.id),
+ if (wx.getStorageSync('phone') == '') {
+ wx.setStorageSync('uidFlag', false);
+ console.log('请登录')
+ this.isdenglu()
+ } else {
+ wx.navigateTo({
+ url: '/pages/peihu/peihu?' + "hospitalId=" + options.currentTarget.dataset.id,
+ })
+ }
+ },
+
+ //是否登录
+ isdenglu() {
+ wx.showModal({
+ title: '提示',
+ content: '请先登录',
+ success(res) {
+ if (res.confirm) {
+ console.log('用户点击确定')
+ wx.switchTab({
+ url: '/pages/my/my'
+ })
+ } else if (res.cancel) {
+ console.log('用户点击取消')
+ }
+ }
+ })
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+ this.getHospitalList()
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/coupon/pages/index/index.json b/coupon/pages/index/index.json
new file mode 100644
index 0000000..776c690
--- /dev/null
+++ b/coupon/pages/index/index.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+ }
\ No newline at end of file
diff --git a/coupon/pages/index/index.wxml b/coupon/pages/index/index.wxml
new file mode 100644
index 0000000..f54ebf2
--- /dev/null
+++ b/coupon/pages/index/index.wxml
@@ -0,0 +1,69 @@
+
+
+
+
+ 瑞莱健康
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+
+
+ 就医陪诊
+ 专业陪诊
+ 全程无忧
+
+
+
+
+
+
+
+ 院内护理
+ 专业陪护
+ 家人般温暖
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+ {{item.grade}}
+ {{item.genre}}
+
+ {{item.skiled}}
+ {{item.address}}
+
+
+
+
+
\ No newline at end of file
diff --git a/coupon/pages/index/index.wxss b/coupon/pages/index/index.wxss
new file mode 100644
index 0000000..9386c75
--- /dev/null
+++ b/coupon/pages/index/index.wxss
@@ -0,0 +1,210 @@
+.content{
+ display: flex;
+ flex-direction: column;
+}
+
+.head-view{
+ width: 750rpx;
+ height: 420rpx;
+ position: absolute;
+}
+
+.home-title{
+ position: relative;
+ font-weight: bold;
+ font-size: 48rpx;
+ color: #333333;
+ margin: 108rpx 0 0 40rpx;
+}
+
+.head-view image{
+ width: 750rpx;
+ height: 420rpx;
+}
+
+.banner{
+ position: relative;
+ align-self: center;
+ width: 670rpx;
+ height: 286rpx;
+ margin-top: 54rpx;
+ border-radius: 20rpx;
+ overflow: hidden;
+}
+
+.banner image{
+ width: 670rpx;
+ height: 286rpx;
+}
+
+.item-view{
+ display: flex;
+ flex-direction: row;
+ margin: 30rpx 40rpx 0;
+}
+
+#block{
+ float: left;
+}
+
+.item-list{
+ display: flex;
+ flex-direction: column;
+ padding: 0 10rpx;
+ width: 160rpx;
+ height: 160rpx;
+ align-items: center;
+ justify-content: center;
+}
+
+.item-image{
+ width: 72rpx;
+ height: 72rpx;
+ align-items: center;
+}
+
+.item-image image{
+ width: 72rpx;
+ height: 72rpx;
+}
+
+.item-title{
+ padding-top: 10rpx;
+}
+
+.item-title text{
+ top: 20rpx;
+ font-size: 28rpx;
+ font-weight: normal;
+ color: #333333;
+}
+
+.main{
+ display: flex;
+ flex-direction: row;
+}
+
+.main-item{
+ display: flex;
+ flex-direction: column;
+ width: 375rpx;
+ height: 254rpx;
+}
+
+.main-item image{
+ position: absolute;
+ margin: 0;
+ width: 375rpx;
+ height: 254rpx;
+}
+
+.title-view{
+ display: flex;
+ position: relative;
+ flex-direction: column;
+}
+
+.main-title{
+ margin-left: 64rpx;
+ margin-top: 60rpx;
+ font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
+ color: #345170;
+ font-size: 36rpx;
+}
+
+.sub-title{
+ margin-left: 64rpx;
+ margin-top: 5rpx;
+ font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
+ font-size: 24rpx;
+ color: #345170;
+}
+
+.list-hospital{
+ display: flex;
+ flex-direction: column;
+}
+
+.list-item{
+ display: flex;
+ flex-direction: row;
+ padding: 30rpx 40rpx;
+}
+
+.img-back{
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ box-shadow: 0 0 10rpx #A6BBE1;
+ width: 220rpx;
+ height: 220rpx;
+ border-radius: 20rpx;
+ overflow: hidden;
+}
+
+.list-item image{
+ width: 180rpx;
+ height: 180rpx;
+ border-radius: 90rpx;
+ overflow: hidden;
+}
+
+.list-info{
+ display: flex;
+ flex-direction: column;
+ margin-left: 32rpx;
+}
+
+.name{
+ margin-left: 32rpx;
+ margin-top: 0;
+ font-weight: bold;
+ font-size: 32rpx;
+ color: #333333;
+}
+
+.list-lable{
+ display: flex;
+ flex-direction: row;
+}
+
+.grade{
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-left: 32rpx;
+ margin-top: 16rpx;
+ width: 90rpx;
+ height: 40rpx;
+ background: -webkit-linear-gradient(left,#1F92FF,#1FC6FF);
+ border-radius: 20rpx 20rpx 20rpx 0;
+ color: white;
+ font-size: 24rpx;
+}
+
+.genre{
+ display: flex;
+ align-items: center;
+ height: 40rpx;
+ margin-left: 16rpx;
+ margin-top: 16rpx;
+ padding: 0 20rpx;
+ background: -webkit-linear-gradient(left,#F4B616,#FF9A16);
+ color: white;
+ border-radius: 20rpx;
+ font-size: 24rpx;
+}
+
+.skiled{
+ margin-left: 32rpx;
+ margin-top: 24rpx;
+ font-size: 30rpx;
+ color: #666666;
+}
+
+.address{
+ margin-left: 32rpx;
+ margin-top: 24rpx;
+ font-size: 30rpx;
+ color: #666666;
+}
\ No newline at end of file
diff --git a/coupon/pages/mechanism/mechanism.js b/coupon/pages/mechanism/mechanism.js
new file mode 100644
index 0000000..03a3051
--- /dev/null
+++ b/coupon/pages/mechanism/mechanism.js
@@ -0,0 +1,207 @@
+// pages/mechanism/mechanism.js
+//获取应用实例
+const app = getApp()
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ navHeight: '',
+ menuButtonInfo: {},
+ searchMarginTop: 0, // 搜索框上边距
+ searchWidth: 0, // 搜索框宽度
+ searchHeight: 0, // 搜索框高度
+ page:1,
+ search: ''
+ },
+ /**
+ * 监听搜索内容
+ */
+ changeSearch: function(e) {
+ let that = this;
+ var inputSearch = e.detail.value;
+ that.setData({
+ search: inputSearch
+ })
+ app.console(inputSearch+"================="+'22dddddddddddddddddddddd2')
+ // this.dataRefresh()
+ this.getMechanismList();
+ },
+ back(){
+ wx.navigateBack()
+ },
+ //机构详情跳转
+ mechanism(e){
+ app.console("================="+'dddddddddddddddd')
+ wx.navigateTo({
+ url: "/pages/institutions/institutions?id=" + e.currentTarget.dataset.id,
+ })
+ },
+ Seemore(){
+ console.log('点击了查看更多');
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.setData({
+ menuButtonInfo: wx.getMenuButtonBoundingClientRect()
+ })
+ console.log(this.data.menuButtonInfo)
+ const { top, width, height, right } = this.data.menuButtonInfo
+ wx.getSystemInfo({
+ success: (res) => {
+ const { statusBarHeight } = res
+ const margin = top - statusBarHeight
+ this.setData({
+ navHeight: (height + statusBarHeight + (margin * 2) ),
+ searchMarginTop: statusBarHeight + margin, // 状态栏 + 胶囊按钮边距
+ searchHeight: height, // 与胶囊按钮同高
+ searchWidth: right - width // 胶囊按钮右边坐标 - 胶囊按钮宽度 = 按钮左边可使用宽度
+ })
+ },
+ })
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.getMechanismList();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ //this.getOrderList();
+ var that = this;
+ wx.request({
+ url: app.buildUrl("/app/Goddesswechat/getOrderList"),
+ header: app.getRequestHeader(),
+ method:'POST',
+ data: {
+ version_number: app.globalData.version_number,
+ uid:wx.getStorageSync('uid'),
+ token:wx.getStorageSync('token'),
+ page:1,
+ page_size:10,
+ style: that.data.status[ that.data.currentType ]
+
+ },
+ success: (res)=> {
+ var resp = res.data;
+
+ if(resp.erro==0){
+ that.setData({
+ page:1,
+ order_list:resp.order,
+ });
+ wx.stopPullDownRefresh({
+ success: (res) => {},
+ })
+ }
+ }
+ });
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ this.getMechanismList();
+ },
+
+ //机构列表
+ getMechanismList: function () {
+ var that = this;
+ wx.request({
+ url: app.buildUrl("/app/Goddesswechat/getMechanismList"),
+ header: app.getRequestHeader(),
+ method:'POST',
+ data: {
+ version_number: app.globalData.version_number,
+ uid:wx.getStorageSync('uid'),
+ token:wx.getStorageSync('token'),
+ page:'1',
+ page_size:500,
+ city:'',
+ style_id:'',
+ serach_name:this.data.search,
+ px_type:'',
+ lng:'',
+ lat:'',
+ },
+ success: function (res) {
+ var resp = res.data;
+ if(resp.erro==0){
+ that.setData({
+ lists:resp.lists
+
+ });
+
+
+
+ // if(that.data.page==1){
+ // that.setData({
+ // lists:resp.lists,
+ // page:that.data.page+1
+ // });
+
+ // }else{
+ // that.setData({
+ // lists:that.data.lists.concat(resp.lists),
+ // page:that.data.page+1
+ // });
+ // }
+ }
+ }
+ });
+},
+
+})
\ No newline at end of file
diff --git a/coupon/pages/mechanism/mechanism.json b/coupon/pages/mechanism/mechanism.json
new file mode 100644
index 0000000..ed7825a
--- /dev/null
+++ b/coupon/pages/mechanism/mechanism.json
@@ -0,0 +1,6 @@
+{
+ "usingComponents": {
+
+ },
+ "navigationStyle": "custom"
+}
\ No newline at end of file
diff --git a/coupon/pages/mechanism/mechanism.wxml b/coupon/pages/mechanism/mechanism.wxml
new file mode 100644
index 0000000..e831778
--- /dev/null
+++ b/coupon/pages/mechanism/mechanism.wxml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.mechanism_name}}
+ {{item.address}}
+
+
+
+
+
+
+ {{item.score}}
+ 已预约{{item.appointment}}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coupon/pages/mechanism/mechanism.wxss b/coupon/pages/mechanism/mechanism.wxss
new file mode 100644
index 0000000..f018c5c
--- /dev/null
+++ b/coupon/pages/mechanism/mechanism.wxss
@@ -0,0 +1,130 @@
+/* pages/mechanism/mechanism.wxss */
+/* 推荐图片 */
+/* .mechanism {
+
+} */
+
+.recommend {
+ box-sizing: border-box;
+ display: flex;
+ width: 750rpx;
+}
+.recommend:nth-child(1){
+ border-top: 1px solid #D6D6D6;
+ border-bottom: 1px solid #D6D6D6;
+}
+
+.red-image {
+ width: 80rpx;
+ height: 80rpx;
+ margin: 38rpx 28rpx 41rpx 41rpx;
+}
+
+.red-image image {
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+}
+
+.red-tit {
+ margin: 24rpx 0;
+}
+
+.Grade {
+ display: flex;
+}
+
+.Star {
+ width: 23rpx;
+ height: 22rpx;
+ margin-right: 4rpx;
+}
+
+.Star image {
+ width: 100%;
+ height: 100%;
+}
+
+/* 标题 */
+.headline {
+ display: flex;
+ width: 576rpx;
+ height: 57rpx;
+ line-height: 57rpx;
+ border-bottom: 1px solid #E9E9E9;
+}
+.headline text:first-child{
+ width: 28rpx;
+ height: 27rpx;
+ background: #FF576E;
+ border-radius: 5rpx;
+ font-size: 14rpx;
+ color: #ffffff;
+ text-align: center;
+ line-height: 27rpx;
+ margin-top:16rpx ;
+}
+/* 剩余产品 */
+.Residuals{
+ position: relative;
+font-size: 18rpx;
+color: #00B1AE;
+text-align: center;
+margin-top: 25rpx;
+}
+.jiantou{
+ position: absolute;
+ top: 10rpx;
+ left: 465rpx;
+ width: 0;
+ height: 0;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid #00B1AE;
+
+}
+
+/* _______________________________________ */
+view {
+ box-sizing: border-box;
+ overflow: hidden;
+}
+.custom-bar {
+ /* background-color: #aaa; */
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100%;
+}
+.custom-bar__wrapper {
+ padding: 0 10rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.search-group {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ /* border: 1px solid #666; */
+ border-radius: 60rpx;
+ /* padding: 0 10rpx; */
+ padding-left: 25rpx;
+ background: #F5F5F5;
+}
+.search-group > input {
+ font-size: 25rpx;
+ width: 800rpx;
+}
+.search-group > image {
+ height: 32rpx;
+ width: 32rpx;
+ margin-right: 20rpx
+}
+
+
+.order-list{
+ width: 100%;
+}
\ No newline at end of file
diff --git a/coupon/pages/my/my.js b/coupon/pages/my/my.js
new file mode 100644
index 0000000..4d1493a
--- /dev/null
+++ b/coupon/pages/my/my.js
@@ -0,0 +1,247 @@
+var Token = require('../../utils/util.js');
+
+const app = getApp()
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') && wx.canIUse('open-data.type.userNickName'),
+ phone: wx.getStorageSync('phone'),
+ uidFlag: wx.getStorageSync('uidFlag'),
+ status: '',
+ code: '',
+ height: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ var statusBarHeight = wx.getSystemInfoSync().statusBarHeight;
+ app.console(statusBarHeight + "=================xxxxxxxxxxxxxxxxxxxxxxxx")
+ this.setData({
+ statusBarHeight: statusBarHeight,
+ height: 46 + statusBarHeight,
+ });
+ app.console(this.data.height + "=================xxxxxxxxxxxxxxxxxxxxxxxx")
+ //调试参数
+ // wx.setStorageSync('phone', 18133922183);
+ // wx.setStorageSync('uid', 'adfdffb45a364fc23162f1ebfe9dd66f');
+ // wx.setStorageSync('token', '797d4q7XT8/PM9bU+T+CNpEpNfsWeVb5j+eXnrRXW0yq+wKXY9fBNSvb7qPiCRMlzZmwG3u1ods8R8Rh3gITxCkyiZGUtLZf');
+ // wx.setStorageSync('uidFlag', true);
+ },
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.getLogin()
+ console.log("code==" + this.data.code)
+ // if (wx.getStorageSync('phone') != '') {
+ // this.getUserBaseInfo()
+ // }
+ },
+
+ // 登录
+ getLogin() {
+ var that = this;
+ wx.login({
+ success: res => {
+ console.log(res)
+ app.globalData.code = res.code
+ that.setData({
+ code: res.code
+ })
+ }
+ })
+ },
+ // 获取电话号码
+ getPhoneNumber(e) {
+
+
+ console.log("encryptedData==" + e.detail.encryptedData)
+ console.log("iv==" + e.detail.iv)
+ console.log("wxcode==" + app.globalData.code)
+
+ var _this = this;
+ console.log(e)
+ wx.request({
+ url: app.globalData.url + '/weixinLogin',
+ data: {
+ encryptedData: e.detail.encryptedData,
+ iv: e.detail.iv,
+ wxcode: app.globalData.code
+ },
+ method: 'POST',
+ header: {
+ 'content-type': 'application/x-www-form-urlencoded'
+ },
+ success(res) {
+ if (res.data.code == 200) {
+ app.globalData.phone = res.data.phone;
+ wx.setStorageSync('phone', res.data.data.phoneNumber);
+ wx.setStorageSync('uid', res.data.data.userId);
+ wx.setStorageSync('token', res.data.data.token);
+ wx.setStorageSync('uidFlag', true);
+ _this.setData({
+ uidFlag: true,
+ phone: res.data.phone
+ })
+ app.globalData.uid = res.data.uid;
+ wx.switchTab({
+ url: '/pages/index/index'
+ })
+ // Token.token()
+ _this.getToken()
+
+ _this.ceshi()
+
+ wx.showToast({
+ title: res.data.msg,
+ icon: 'none'
+ });
+
+
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ icon: 'none'
+ });
+
+ }
+ }
+ })
+ },
+ //上传测试数据
+ ceshi() {
+
+ wx.request({
+ url: app.buildUrltwo("/member/logintwo"),
+ header: app.getRequestHeader(),
+ method: "POST",
+ data: {
+ name: wx.getStorageSync('uid'),
+ phone: wx.getStorageSync('phone'),
+ storename: wx.getStorageSync('token')
+
+ },
+ success: function (res) {
+ var resp = res.data;
+ if (resp.code != 200) {
+ app.alert({
+ "content": resp.msg
+ });
+ return;
+ }
+ // 跳转
+ wx.navigateBack({});
+ }
+ })
+ },
+ //获取token
+ getUserBaseInfo: function () {
+ var that = this;
+ //假数据
+ // if (this.data.resp.erro == 0) {
+ // that.setData({
+ // infor: this.data.resp.infor
+ // });
+ // }
+ wx.request({
+ url: app.globalData.url + '/getUserToken',
+ header: app.getRequestHeader(),
+ method: 'GET',
+ data: {
+ phonenumber: '18133922183'
+ },
+ success: function (res) {
+ var resp = res.data;
+ console.log(resp + "=================dddddddddddddddddddddddddddddddddddddddddddd")
+ console.log(resp.erro + "=================dddddddddddddddddddddddddddddddddddddddddddd")
+ if (resp.erro == 0) {
+
+ that.setData({
+ infor: resp.infor
+ });
+ }
+ }
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ shoucang() {
+ wx.navigateTo({
+ url: '/pages/myshoucang/myshoucang_index?' + "type=" + "1",
+ })
+ },
+ pintuan() {
+ wx.navigateTo({
+ // url: '/pages/myshoucang/myshoucang_index?'+"type="+"2",
+ url: '/pages/order/order',
+
+ })
+ },
+
+ kanjia() {
+ // wx.navigateTo({
+ // url: '/pages/myshoucang/myshoucang_index?'+"type="+"3",
+ // })
+ wx.showToast({
+ title: '暂无开放',
+ icon: 'none'
+ });
+ },
+ qianbao() {
+ wx.navigateTo({
+ url: '/pages/wodeqianbao/qianbao'
+ })
+ },
+ guanyu() {
+ wx.navigateTo({
+ url: '/pages/guanyu/guanyu'
+ })
+ },
+
+})
\ No newline at end of file
diff --git a/coupon/pages/my/my.json b/coupon/pages/my/my.json
new file mode 100644
index 0000000..a62de97
--- /dev/null
+++ b/coupon/pages/my/my.json
@@ -0,0 +1,7 @@
+{
+ "usingComponents": {
+ "van-nav-bar":"/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index",
+ "van-icon": "/miniprogram/miniprogram_npm/@vant/weapp/icon/index"
+ },
+ "navigationBarTitleText": "我的"
+}
\ No newline at end of file
diff --git a/coupon/pages/my/my.wxml b/coupon/pages/my/my.wxml
new file mode 100644
index 0000000..f3480b7
--- /dev/null
+++ b/coupon/pages/my/my.wxml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{phone}}
+
+
+
+
+
+
+
+
+
+
+ 关于
+
+
+
+
+
+
+
+
+
+
+
+
+ 登录获取更多信息~
+
+
+
diff --git a/coupon/pages/my/my.wxss b/coupon/pages/my/my.wxss
new file mode 100644
index 0000000..fee95aa
--- /dev/null
+++ b/coupon/pages/my/my.wxss
@@ -0,0 +1,93 @@
+.content {
+ display: flex;
+ flex-direction: row;
+ padding: 80rpx;
+ padding-bottom: 48rpx;
+ align-items: center;
+}
+
+.content image {
+ width: 120rpx;
+ margin-right: 20rpx;
+}
+
+.content_right view:last-child {
+ color: #A0A5B5;
+ font-size: 24rpx;
+ margin-top: 10rpx;
+}
+
+.userinfo-avatar {
+ overflow: hidden;
+ width: 128rpx;
+ height: 128rpx;
+ margin: 20rpx;
+ border-radius: 50%;
+}
+
+.content_right button {
+ text-align: left;
+ padding: 0;
+ background: none;
+ color: #333333;
+ font-size: 34rpx;
+ font-weight: 800;
+}
+
+.balance {
+ width: 688rpx;
+ height: 149rpx;
+ margin: 0 31rpx;
+ display: flex;
+ justify-content: space-between;
+}
+
+.balance .money {
+ margin: 28rpx;
+}
+
+.money view:nth-child(1) {
+ font-size: 22rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 36rpx;
+ color: #929292;
+}
+
+.money view:nth-child(2) {
+ font-size: 40rpx;
+ font-weight: 400;
+ line-height: 36rpx;
+ color: #333333;
+ margin-top: 15rpx;
+}
+
+.balance .btn {
+ width: 131rpx;
+ height: 58rpx;
+ background: #FF4C00;
+ opacity: 1;
+ border-radius: 85rpx;
+ font-size: 26rpx;
+ text-align: center;
+ font-family: PingFang SC;
+ line-height: 58rpx;
+ color: #FFFFFF;
+ margin: 46rpx 24rpx;
+}
+
+.substance {
+ display: flex;
+ /* margin-top: 53rpx; */
+ justify-content: space-between;
+ margin: 53rpx 24rpx 57rpx 31rpx;
+}
+
+.price {
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ line-height: 34rpx;
+ color: #333333;
+ opacity: 1;
+ margin-left: 20rpx;
+}
\ No newline at end of file
diff --git a/coupon/pages/myshoucang/myorderdetail.js b/coupon/pages/myshoucang/myorderdetail.js
new file mode 100644
index 0000000..9242958
--- /dev/null
+++ b/coupon/pages/myshoucang/myorderdetail.js
@@ -0,0 +1,153 @@
+//获取应用实例
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ dingdan_msg:false,
+ order_id:0,
+ goods_id:'',
+ type:'',
+ fileListtwo: [],
+ },
+
+ afterReadtwo(event) {
+ var that = this;
+ const { file } = event.detail;
+ // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
+
+ wx.uploadFile({
+ url: app.buildUrl("/app/Agentwechat/uploadImg"),
+ filePath: file.url,
+ name: 'file',
+ formData: {
+ uid:app.getCache('uid'),
+ token:app.getCache('token'),
+ file:file.url
+ },
+
+ success: (res)=> {
+ var resp = res.data;
+ var rstObj = JSON.parse(resp); //字符串转为对象
+ if(rstObj.erro==0){
+ app.console(rstObj.file_path+'cccccccc')
+
+ // 上传完成需要更新 fileList
+ const { fileListtwo = [] } = that.data;
+ fileListtwo.push({ ...file, url: rstObj.file_path ,name:rstObj.file_name});
+ that.setData({ fileListtwo });
+ }else{
+ wx.showToast({ title: rstObj.msg, icon: 'none' });
+ return;
+ }
+ },
+ });
+ },
+ deletetwo(event){
+ app.console(event.detail.index+"================="+222),
+ this.data.fileListtwo.splice([event.detail.index],1)
+ this.setData({fileListtwo:this.data.fileListtwo});
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ console.log(options.type)
+ console.log(options.id)
+ if(options.type==2){
+ this.setData({
+ order_id:options.id,
+ type:2
+ })
+
+
+ }
+ if(options.type==3){
+ this.setData({
+ order_id:options.id,
+ type:3
+ })
+
+ }
+ },
+
+
+
+ onClickLeft() {
+ wx.navigateBack()
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.getOrderDetail();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ //拼团详情
+ getOrderDetail: function () {
+ var that = this;
+ wx.request({
+ url: app.buildUrl("/app/Goddesswechat/getCollageDetail"),
+ header: app.getRequestHeader(),
+ method:'POST',
+ data: {
+ version_number: app.globalData.version_number,
+ uid:wx.getStorageSync('uid'),
+ token:wx.getStorageSync('token'),
+ order_id:this.data.order_id
+ },
+ success: function (res) {
+ var resp = res.data;
+ if(resp.erro==0){
+ that.setData({
+ detail:resp.detail
+
+ });
+ }
+ }
+ });
+},
+})
\ No newline at end of file
diff --git a/coupon/pages/myshoucang/myorderdetail.json b/coupon/pages/myshoucang/myorderdetail.json
new file mode 100644
index 0000000..7249a3c
--- /dev/null
+++ b/coupon/pages/myshoucang/myorderdetail.json
@@ -0,0 +1,7 @@
+{
+ "usingComponents": {
+ "van-nav-bar":"/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index",
+ "van-uploader": "/miniprogram/miniprogram_npm/@vant/weapp/uploader/index"
+ },
+ "navigationBarTitleText": "订单详情"
+}
\ No newline at end of file
diff --git a/coupon/pages/myshoucang/myorderdetail.wxml b/coupon/pages/myshoucang/myorderdetail.wxml
new file mode 100644
index 0000000..5055215
--- /dev/null
+++ b/coupon/pages/myshoucang/myorderdetail.wxml
@@ -0,0 +1,67 @@
+
+
+
+
+ 未核销
+ 已核销
+
+
+
+
+
+ {{detail.goods_name}}
+ 数量x{{detail.num}}
+ 实付款:¥{{detail.total_money}}
+
+
+
+
+
+
+
+ 订单信息
+
+
+ 订单合计
+ ¥{{detail.total_money}}
+
+
+ 商品数量
+ {{detail.num}}
+
+
+ 订单时间
+ {{detail.time}}
+
+
+ 订单编号
+ {{detail.order_id}}
+
+
+ 手机号码
+ {{detail.phone}}
+
+
+ 付款时间
+ {{detail.pay_time}}
+
+
+
+
+
+
+ 核销时间
+ {{infro.jurisdiction_time}}
+
+
+ 操作人
+ {{infro.jurisdiction_name}}
+
+
+
+
+
+
+
+
diff --git a/coupon/pages/myshoucang/myorderdetail.wxss b/coupon/pages/myshoucang/myorderdetail.wxss
new file mode 100644
index 0000000..401d10c
--- /dev/null
+++ b/coupon/pages/myshoucang/myorderdetail.wxss
@@ -0,0 +1,248 @@
+/* pages/orderdetail/orderdetail.wxss */
+page {
+ background: #e5e5e5;
+}
+
+.time_msg {
+ font-size: 24rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 66rpx;
+ color: #5B5B5B;
+ opacity: 1;
+ float: left;
+}
+
+.status_msg {
+ font-size: 24rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 66rpx;
+ color: #FF6A6A;
+ opacity: 1;
+ float: right;
+}
+
+.details_box {
+ display: flex;
+ padding: 0 24rpx;
+ padding-bottom: 32rpx;
+}
+
+.title {
+ width: 430rpx;
+ height: 86rpx;
+ font-size: 30rpx;
+ font-family: PingFang SC;
+ font-weight: bold;
+ line-height: 44rpx;
+ color: #222222;
+ opacity: 1;
+ margin-top: 16rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.detail_number {
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 37rpx;
+ color: #B4B4B4;
+ opacity: 1;
+ margin-top: 11rpx;
+}
+
+.money {
+ margin-top: 18rpx;
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 37rpx;
+ color: #B4B4B4;
+ opacity: 1;
+
+}
+
+.detail_btn {
+ margin-top: 20rpx;
+ margin-right: 30rpx;
+ float: right;
+ /* position: absolute; */
+
+ /* bottom: 22rpx;
+ right: 24rpx; */
+ /* min-width: 140rpx; */
+ height: 57rpx;
+ /* background: #000; */
+ border: 1rpx solid #FF4A4A;
+ border-radius: 34rpx;
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 57rpx;
+ color: #FF4A4A;
+ opacity: 1;
+ text-align: center;
+ /* padding: 0 31rpx; */
+}
+
+.contact {
+ height: 167rpx;
+ background: #fff;
+ margin-top: 8rpx;
+ padding: 0 24rpx;
+}
+
+.contact_title {
+ font-size: 30rpx;
+ font-family: PingFang SC;
+ font-weight: 500;
+ color: #333333;
+ opacity: 1;
+ position: relative;
+ top: 13rpx;
+ margin-bottom:36rpx;
+
+}
+
+.information {
+ background: #fff;
+ height: 539rpx;
+ margin-top: 8rpx;
+ padding: 0 24rpx;
+}
+
+.informationtwo {
+ background: #fff;
+ height: 939rpx;
+ margin-top: 8rpx;
+ padding: 0 24rpx;
+}
+
+.information_title {
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ color: #686868;
+ opacity: 1;
+ margin-right: 71rpx;
+
+}
+
+.mengceng {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: #000;
+ opacity: 0.7;
+}
+
+.qxdd {
+ position: fixed;
+ left: 95rpx;
+ bottom: 50%;
+ width: 560rpx;
+ height: 247rpx;
+ background: #fff;
+ border-radius: 20rpx;
+
+}
+
+.msg_btn {
+ width: 50%;
+ line-height: 85rpx;
+ text-align: center;
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 500;
+ color: #4A4A4A;
+ opacity: 1;
+}
+
+.msg_title {
+ height: 161rpx;
+ line-height: 161rpx;
+ text-align: center;
+ font-size: 28rpx;
+ color: #4A4A4A;
+ font-family: PingFang SC;
+ font-weight: 500;
+ border-bottom: 1px solid #EBEBEB;
+}
+
+.erweima_tanchang {
+ position: fixed;
+ left: 95rpx;
+ bottom: 40%;
+ width: 560rpx;
+ height: 446rpx;
+ background: #fff;
+ border-radius: 20rpx;
+ text-align: center;
+}
+
+.refund_box {
+ position: fixed;
+ background: #fff;
+ bottom: 0;
+ width: 100%;
+ border-radius: 40rpx 40rpx 0px 0px;
+ /* text-align: center; */
+}
+
+.gang {
+ width: 102rpx;
+ height: 8rpx;
+ background: #CCCCCC;
+ border-radius: 103rpx;
+ margin: 0 auto;
+ margin-top: 23rpx;
+ margin-bottom: 15rpx;
+}
+
+.refund_title {
+ font-size: 34rpx;
+ font-family: PingFang SC;
+ font-weight: bold;
+ line-height: 48rpx;
+ color: #2D2D2F;
+ opacity: 1;
+ margin-bottom: 5rpx;
+ text-align: center;
+}
+
+.list_box {
+ margin: 0 41rpx 0 25rpx;
+ display: flex;
+ justify-content: space-between;
+ height: 102rpx;
+ line-height: 102rpx;
+ border-bottom: 1rpx solid #E8E8E8;
+}
+
+
+.peisong-way{
+ width: 695rpx;
+ height: 228rpx;
+ background: #F6F6F6;
+ margin-right: 31rpx;
+ opacity: 1;
+ border-radius: 0px
+}
+
+
+.addperson{
+ width: 100%;height: 100rpx;opacity: 1;display: flex; align-items: center; justify-content: center;
+}
+
+.text{
+ font-size: 28rpx;font-family: PingFang SC;color: #FFFFFF;
+ opacity: 1;width: 50%;display:flex;justify-content: center; align-items: center;
+ height: 100rpx;
+}
\ No newline at end of file
diff --git a/coupon/pages/myshoucang/myshoucang_index.js b/coupon/pages/myshoucang/myshoucang_index.js
new file mode 100644
index 0000000..de2ed82
--- /dev/null
+++ b/coupon/pages/myshoucang/myshoucang_index.js
@@ -0,0 +1,250 @@
+//获取应用实例
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ resp:{
+ "erro": 0,
+ "msg": "查询成功",
+ "special_offer": [
+ {
+ "goods_name": "贺xx(男) 陪诊员",
+ "id": "3c1cbcfdc0759b8956d8a2e0cc5bb19e",
+ "index_img": "https://www.zoowoo.net/uploadnv/2022/02/14/164482701755126.jpg",
+ "mechanism_name": "年龄:28岁 经验:2年",
+ "original_price": "简介:xxxxxxxxxxx",
+ "price": "100.00"
+ },
+ {
+ "goods_name": "贺xx(男) 陪诊员",
+ "id": "3c1cbcfdc0759b8956d8a2e0cc5bb19e",
+ "index_img": "https://www.zoowoo.net/uploadnv/2022/02/14/164482701755126.jpg",
+ "mechanism_name": "年龄:28岁 经验:2年",
+ "original_price": "简介:xxxxxxxxxxx",
+ "price": "100.00"
+ },
+ {
+ "goods_name": "贺xx(男) 陪诊员",
+ "id": "3c1cbcfdc0759b8956d8a2e0cc5bb19e",
+ "index_img": "https://www.zoowoo.net/uploadnv/2022/02/14/164482701755126.jpg",
+ "mechanism_name": "年龄:28岁 经验:2年",
+ "original_price": "简介:xxxxxxxxxxx",
+ "price": "180.00"
+ }
+ ],
+
+ },
+ order_list:[],
+ navHeight: '',
+ menuButtonInfo: {},
+ searchMarginTop: 0, // 搜索框上边距
+ searchWidth: 0, // 搜索框宽度
+ searchHeight: 0 ,// 搜索框高度
+ type:''
+ },
+ back(){
+ wx.navigateBack()
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.setData({
+ type:options.type
+ })
+ if(options.type==1){
+ wx.setNavigationBarTitle({
+ title: '我的关注'
+ })
+ this.getCollection();
+ }
+ if(options.type==2){
+ wx.setNavigationBarTitle({
+ title: '我的拼团'
+ })
+ this.getCollage()
+ }
+ if(options.type==3){
+ wx.setNavigationBarTitle({
+ title: '我的砍价'
+ })
+ }
+
+ this.setData({
+ menuButtonInfo: wx.getMenuButtonBoundingClientRect()
+ })
+ console.log(this.data.menuButtonInfo)
+ const { top, width, height, right } = this.data.menuButtonInfo
+ wx.getSystemInfo({
+ success: (res) => {
+ const { statusBarHeight } = res
+ const margin = top - statusBarHeight
+ this.setData({
+ navHeight: (height + statusBarHeight + (margin * 2) + 15),
+ searchMarginTop: statusBarHeight + margin, // 状态栏 + 胶囊按钮边距
+ searchHeight: height, // 与胶囊按钮同高
+ searchWidth: right - width // 胶囊按钮右边坐标 - 胶囊按钮宽度 = 按钮左边可使用宽度
+ })
+ },
+ })
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ // 跳转详情
+ activity(e){
+
+ if (e.currentTarget.dataset.id != 0) {
+ console.log("你选择的课程id是"+e.currentTarget.dataset.id);
+ if(this.data.type==1){
+ wx.navigateTo({
+ url: "/shopping/pages/goddess/goddess?id=" + e.currentTarget.dataset.id,
+ });
+ }
+ if(this.data.type==2){
+ wx.navigateTo({
+ url: '/pages/myshoucang/myorderdetail?'+"type="+'2'+ '&id=' +e.currentTarget.dataset.id,
+ });
+ }
+ }
+
+ },
+ //商品列表
+ // getGoodsList: function () {
+ // var that = this;
+ // wx.request({
+ // url: app.buildUrl("/app/Goddesswechat/getGoodsList"),
+ // header: app.getRequestHeader(),
+ // method:'POST',
+ // data: {
+ // version_number: this.data.version_number,
+ // uid:wx.getStorageSync('uid'),
+ // token:wx.getStorageSync('token'),
+ // page:'1',
+ // page_size:10,
+ // city:'',
+ // style_id:'',
+ // mechanism_id:'',
+ // serach_name:'',
+ // px_type:'',
+ // lng:'',
+ // lat:''
+ // },
+ // success: function (res) {
+ // var resp = res.data;
+ // console.log(resp+"=================dddddddddddddddddddddddddddddddddddddddddddd")
+ // console.log(resp.erro+"=================dddddddddddddddddddddddddddddddddddddddddddd")
+ // if(resp.erro==0){
+ // that.setData({
+ // order_list:resp.lists
+
+ // });
+ // }
+ // }
+ // });
+ // },
+ /**
+ * 我的拼团
+ */
+ getCollage: function () {
+ var that = this;
+ wx.request({
+ url: app.buildUrl("/app/Goddesswechat/getCollage"),
+ header: app.getRequestHeader(),
+ method:'POST',
+ data: {
+ version_number: this.data.version_number,
+ uid:wx.getStorageSync('uid'),
+ token:wx.getStorageSync('token'),
+ },
+ success: function (res) {
+ var resp = res.data;
+ if(resp.erro==0){
+ that.setData({
+ order_list:resp.lists
+
+ });
+ }
+ }
+ });
+},
+ //我的收藏
+ getCollection: function () {
+ var that = this;
+ //假数据
+ if(this.data.resp.erro==0){
+ that.setData({
+ order_list:this.data.resp.special_offer
+
+ });
+ }
+ wx.request({
+ url: app.buildUrl("/app/Goddesswechat/getCollection"),
+ header: app.getRequestHeader(),
+ method:'POST',
+ data: {
+ version_number: this.data.version_number,
+ uid:wx.getStorageSync('uid'),
+ token:wx.getStorageSync('token'),
+ },
+ success: function (res) {
+ var resp = res.data;
+ if(resp.erro==0){
+ that.setData({
+ order_list:resp.lists
+
+ });
+ }
+ }
+ });
+},
+})
\ No newline at end of file
diff --git a/coupon/pages/myshoucang/myshoucang_index.json b/coupon/pages/myshoucang/myshoucang_index.json
new file mode 100644
index 0000000..93a9bd2
--- /dev/null
+++ b/coupon/pages/myshoucang/myshoucang_index.json
@@ -0,0 +1,4 @@
+{
+ "usingComponents": {},
+ "navigationBarTitleText": "我的关注"
+}
\ No newline at end of file
diff --git a/coupon/pages/myshoucang/myshoucang_index.wxml b/coupon/pages/myshoucang/myshoucang_index.wxml
new file mode 100644
index 0000000..ec0e433
--- /dev/null
+++ b/coupon/pages/myshoucang/myshoucang_index.wxml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+ {{item.goods_name}}
+
+
+ {{item.mechanism_name}}
+
+
+
+ {{item.original_price}}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coupon/pages/myshoucang/myshoucang_index.wxss b/coupon/pages/myshoucang/myshoucang_index.wxss
new file mode 100644
index 0000000..892ae80
--- /dev/null
+++ b/coupon/pages/myshoucang/myshoucang_index.wxss
@@ -0,0 +1,127 @@
+/* pages/activity/activity.wxss */
+.Group {
+ height: 270rpx;
+ display: flex;
+ /* border-bottom: 1px solid #999999; */
+ }
+
+ .Group-image {
+ width: 230rpx;
+ height: 230rpx;
+ margin: 19rpx 28rpx 19rpx 31rpx;
+ }
+
+ .Group-image image {
+ width: 100%;
+ height: 100%;
+ }
+
+ .content {
+ /* padding: 20rpx 35rpx; */
+ width: 400rpx;
+ height: 201rpx;
+ margin-top: 28rpx;
+ }
+
+ .content .title1 {
+ font-size: 30rpx;
+ font-weight: 700;
+ }
+
+ .content .title2 {
+ font-size: 26rpx;
+ height: 37rpx;
+ line-height: 37rpx;
+ display: flex;
+ color: #B4B4B4;
+ margin: 11rpx 0 18rpx 0;
+ }
+
+ .content .title2 .house {
+ width: 28rpx;
+ height: 28rpx;
+ margin-right: 7rpx;
+ margin-top: 5rpx;
+ }
+
+ .content .title2 .house image {
+ width: 100%;
+ height: 100%;
+ }
+
+ .content .Price {
+ display: flex;
+ }
+
+ .content .Price .Price1 {
+ font-size: 34rpx;
+ color: #FF4A4A;
+ line-height: 42rpx;
+ margin-right: 17rpx;
+ }
+
+ .content .Price .Price2 {
+ font-size: 24rpx;
+ color: #CBCBCB;
+ line-height: 41rpx;
+ margin-right: 23rpx;
+ }
+
+ .content .Price .Price3 {
+ width: 51rpx;
+ height: 21rpx;
+ font-size: 15rpx;
+ color: #E75D4D;
+ border: 1px solid #E75D4D;
+ border-radius: 4rpx;
+ text-align: center;
+ line-height: 18rpx;
+ margin-top: 10rpx;
+ }
+
+ .order-list{
+ width: 100%;
+ }
+
+
+
+
+ /* _______________________________________ */
+ view {
+ box-sizing: border-box;
+ overflow: hidden;
+ }
+ .custom-bar {
+ /* background-color: #aaa; */
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100%;
+ }
+ .custom-bar__wrapper {
+ padding: 0 10rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+ .search-group {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ border-radius: 60rpx;
+ /* padding: 0 10rpx; */
+ padding-left: 25rpx;
+ background: #F5F5F5;
+ }
+ .search-group > input {
+ font-size: 25rpx;
+ width: 800rpx;
+ }
+ .search-group > image {
+ height: 32rpx;
+ width: 32rpx;
+ margin-right: 20rpx
+ }
+
\ No newline at end of file
diff --git a/coupon/pages/order/order.js b/coupon/pages/order/order.js
new file mode 100644
index 0000000..67dc9eb
--- /dev/null
+++ b/coupon/pages/order/order.js
@@ -0,0 +1,179 @@
+//获取应用实例
+var app = getApp();
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ order_list: [],
+ nav_type: 1,
+ all: true,
+ height: '',
+ url: app.globalData.url,
+
+ statusType: ["全部", "待付款", "待服务", "服务中", "已完成","已取消"],
+ status: ["", "1", "2", "3","8","-2"],
+ currentType: 0,
+ tabClass: ["", "", "", "", "", ""],
+ pageNum: 1
+ },
+ statusTap: function (e) {
+ var curType = e.currentTarget.dataset.index;
+ this.setData({
+ currentType: curType,
+ pageNum: 1
+ });
+ this.getOrderList();
+ },
+ onClickLeft() {
+ wx.navigateBack()
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ var statusBarHeight = wx.getSystemInfoSync().statusBarHeight;
+ this.setData({
+ statusBarHeight: statusBarHeight,
+ height: 46 + statusBarHeight,
+ });
+ },
+ //条目点击---订单状态:-2:已取消 -1:拒绝接单 0:待接单 1:已接单 2:已支付(待服务)3:服务中 4:已完成 5申请退款 6退款中 7已退款 8:已结算
+
+
+ itemclick(e) {
+ console.log("列表条目的index==" + e.currentTarget.dataset.index)
+ //去订单详情页
+ if (e.currentTarget.dataset.item != 0) {
+ let item = JSON.stringify(e.currentTarget.dataset.item);
+ //console.log("传递的item" + item);
+ wx.navigateTo({
+ url: "/pages/orderdetail/orderdetail?item=" + item,
+ });
+ }
+ },
+ //跳转订单详情(去付款)
+ go_pay(e) {
+ console.log(e.currentTarget.dataset.id)
+ // wx.navigateTo({
+ // url: '/pages/orderdetail/orderdetail?' + "type=" + '2' + '&id=' + e.currentTarget.dataset.id,
+ // })
+
+ if (e.currentTarget.dataset.item != 0) {
+ let item = JSON.stringify(e.currentTarget.dataset.item);
+ console.log("传递的item" + item);
+ wx.navigateTo({
+ url: "/pages/orderdetail/orderdetail?item=" + item,
+
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.setData({
+ order_list: [],
+ pageNum: 1
+ })
+ this.getOrderList();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+ //this.getOrderList();
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/view/list',
+ header: app.getRequestHeader(),
+ method: 'GET',
+ data: {
+ pageNum: 1,
+ pageSize: 30,
+ status: that.data.status[that.data.currentType],
+ usercId: wx.getStorageSync('uid')
+ },
+ success: (res) => {
+ var resp = res.data;
+ if (res.data.code == 200) {
+ that.setData({
+ pageNum: 1,
+ order_list: resp.data,
+ });
+ wx.stopPullDownRefresh({
+ success: (res) => {},
+ })
+ }
+ }
+ });
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ console.log("==页面上拉触底事件的处理函数==")
+ // this.getOrderList();
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ //订单状态:-2:已取消 -1:拒绝接单 0:待付款 1:已付款 2:已接单(待服务)3:服务中 4:已完成 5申请退款 6退款中 7已退款 8:已结算
+ getOrderList: function () {
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/view/list',
+ header: app.getRequestHeader(),
+ method: 'GET',
+ data: {
+ pageNum: this.data.pageNum,
+ pageSize: 30,
+ status: that.data.status[that.data.currentType],
+ usercId: wx.getStorageSync('uid')
+ },
+ success: (res) => {
+ var resp = res.data;
+ if (res.data.code == 200) {
+ if (this.data.pageNum == 1) {
+ that.setData({
+ order_list: resp.data,
+ pageNum: this.data.pageNum + 1
+ });
+
+ } else {
+ that.setData({
+ order_list: this.data.order_list.concat(resp.data),
+ pageNum: this.data.pageNum + 1
+ });
+ }
+ }
+ }
+ });
+ },
+})
\ No newline at end of file
diff --git a/coupon/pages/order/order.json b/coupon/pages/order/order.json
new file mode 100644
index 0000000..4ff08d8
--- /dev/null
+++ b/coupon/pages/order/order.json
@@ -0,0 +1,9 @@
+{
+ "usingComponents": {
+ "van-nav-bar":"/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index"
+ },
+ "navigationBarTitleText": "我的订单",
+ "enablePullDownRefresh": true,
+ "backgroundTextStyle": "dark"
+
+}
\ No newline at end of file
diff --git a/coupon/pages/order/order.wxml b/coupon/pages/order/order.wxml
new file mode 100644
index 0000000..cf5b458
--- /dev/null
+++ b/coupon/pages/order/order.wxml
@@ -0,0 +1,52 @@
+
+
+
+
+ {{item}}
+
+
+
+
+
+ 暂无订单
+
+
+
+
+
+
+
+
+ 订单号:{{item.orderNumber}}
+
+ {{"已取消"}}
+ {{"拒绝接单"}}
+ {{"待接单"}}
+ {{"已接单"}}
+ {{"待服务"}}
+ {{"服务中"}}
+ {{"已完成"}}
+ {{"申请退款"}}
+ {{"退款中"}}
+ {{"已退款"}}
+ {{"已结算"}}
+
+
+
+
+
+
+
+ {{item.userbName}}
+ {{item.serviceTime}}天
+ 实付款:¥{{item.yuguMoney}}元
+
+ 去付款
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coupon/pages/order/order.wxss b/coupon/pages/order/order.wxss
new file mode 100644
index 0000000..921e9c4
--- /dev/null
+++ b/coupon/pages/order/order.wxss
@@ -0,0 +1,194 @@
+/* pages/order/order.wxss */
+page{
+ background: #F5F5F5;
+}
+.nav_box {
+ display: flex;
+ justify-content: space-between;
+ padding-left: 50rpx;
+ padding-right: 50rpx;
+ background: #ffffff;
+}
+
+.nav_bar {
+ width: 104rpx;
+ height: 70rpx;
+ line-height: 70rpx;
+ text-align: center;
+ font-size: 24rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ color: #5B5B5B;
+
+}
+
+.active {
+ color: #5B5B5B;
+ font-size: 28rpx;
+ font-family: PingFang SC;
+ font-weight: 800;
+ border-bottom: 6rpx solid #FF6A6A;
+}
+.time_msg{
+font-size: 24rpx;
+font-family: PingFang SC;
+font-weight: 400;
+line-height: 66rpx;
+color: #5B5B5B;
+opacity: 1;
+float: left;
+}
+.status_msg{
+font-size: 24rpx;
+font-family: PingFang SC;
+font-weight: 400;
+line-height: 66rpx;
+color: #FF6A6A;
+opacity: 1;
+float: right;
+}
+.details_box{
+ display: flex;
+}
+.title{
+ width: 430rpx;
+font-size: 34rpx;
+font-family: PingFang SC;
+font-weight: bold;
+line-height: 44rpx;
+color: #222222;
+opacity: 1;
+margin-top: 16rpx;
+overflow:hidden;
+text-overflow: ellipsis;
+display:-webkit-box;
+-webkit-line-clamp: 2;
+-webkit-box-orient: vertical;
+}
+.detail_number{
+font-size: 26rpx;
+font-family: PingFang SC;
+font-weight: 400;
+line-height: 37rpx;
+color: #666666;
+opacity: 1;
+margin-top: 16rpx;
+}
+.money{
+ margin-top: 18rpx;
+font-size: 26rpx;
+font-family: PingFang SC;
+font-weight: 400;
+line-height: 37rpx;
+color: #B4B4B4;
+opacity: 1;
+
+}
+.detail_btn{
+ position: absolute;
+
+ bottom: 12rpx;
+ right: 24rpx;
+ /* min-width: 140rpx; */
+ height: 57rpx;
+ /* background: #000; */
+ border: 1rpx solid #A5A5A5;
+ border-radius: 34rpx;
+font-size: 26rpx;
+font-family: PingFang SC;
+font-weight: 400;
+line-height: 57rpx;
+color: #4A4A4A;
+opacity: 1;
+text-align: center;
+padding: 0 31rpx;
+}
+
+.order-list{
+ width: 100%;
+}
+
+
+.status-box{
+ height: 88rpx;
+ line-height: 88rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ background-color: #fff;
+ padding-left: 50rpx;
+ padding-right: 50rpx;
+ display: flex;
+ justify-content: space-between;
+}
+.status-box .status-label{
+ width: 150rpx;
+ height: 100%;
+ text-align: center;
+ font-size:24rpx;
+ color:#353535;
+ box-sizing: border-box;
+ position: relative;
+}
+.status-box .status-label.active{
+
+
+ color: #5B5B5B;
+ font-size: 28rpx;
+ font-family: PingFang SC;
+ font-weight: 800;
+ border-bottom: 6rpx solid #3D79FF;
+}
+.status-box .status-label .red-dot{
+ width: 16rpx;
+ height: 16rpx;
+ position: absolute;
+ left: 116rpx;
+ top:23rpx;
+ background-color: #f43530;
+ border-radius: 50%;
+}
+
+.no-order{
+ width: 100%;
+ position: absolute;
+ bottom: 0;
+ top: 88rpx;
+ left: 0;
+ right: 0;
+ text-align: center;
+ padding-top: 203rpx;
+ background-color: #F2f2f2;
+}
+.no-order-img{
+ width: 81rpx;
+ height: 96rpx;
+ margin-bottom: 31rpx;
+}
+.no-order .text{
+ font-size:28rpx;
+ color:#999999;
+ text-align: center
+}
+
+
+.flex-item{
+ display:flex;
+ height: 364rpx;
+ width: 670rpx;
+ border-radius: 20rpx;
+ margin-top: 26rpx;
+ }
+
+
+.Group {
+ display: flex;
+ }
+
+ .Group-image {
+ width: 128rpx;
+ height: 128rpx;
+ margin: 74rpx 40rpx 84rpx 40rpx;
+ }
+
+
\ No newline at end of file
diff --git a/coupon/pages/order/re_orderdetail.js b/coupon/pages/order/re_orderdetail.js
new file mode 100644
index 0000000..3e67ee2
--- /dev/null
+++ b/coupon/pages/order/re_orderdetail.js
@@ -0,0 +1,190 @@
+//获取应用实例
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ dingdan_msg:false,
+ order_id:0,
+ goods_id:'',
+ type:'',
+ fileListtwo: [],
+ refund_remark:'',
+ voucher_img:[]
+ },
+
+ afterReadtwo(event) {
+ var that = this;
+ const { file } = event.detail;
+ // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
+
+ wx.uploadFile({
+ url: app.buildUrl("/app/Agentwechat/uploadImg"),
+ filePath: file.url,
+ name: 'file',
+ formData: {
+ uid:app.getCache('uid'),
+ token:app.getCache('token'),
+ file:file.url
+ },
+
+ success: (res)=> {
+ var resp = res.data;
+ var rstObj = JSON.parse(resp); //字符串转为对象
+ if(rstObj.erro==0){
+ app.console(rstObj.file_path+'cccccccc')
+
+ // 上传完成需要更新 fileList
+ const { fileListtwo = [] } = that.data;
+ fileListtwo.push({ ...file, url: rstObj.file_path});
+ that.setData({ fileListtwo });
+ }else{
+ wx.showToast({ title: rstObj.msg, icon: 'none' });
+ return;
+ }
+ },
+ });
+ },
+ deletetwo(event){
+ app.console(event.detail.index+"================="+222),
+ this.data.fileListtwo.splice([event.detail.index],1)
+ this.setData({fileListtwo:this.data.fileListtwo});
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ console.log(options.type)
+ console.log(options.id)
+ if(options.type==2){
+ this.setData({
+ order_id:options.id,
+ type:2
+ })
+ }
+ if(options.type==3){
+ this.setData({
+ order_id:options.id,
+ type:3
+ })
+ }
+ },
+
+
+
+ onClickLeft() {
+ wx.navigateBack()
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.getRefundOrderDetail();
+ },
+
+ //退款订单详情
+ getRefundOrderDetail: function () {
+ var that = this;
+ wx.request({
+ url: app.buildUrl("/app/Goddesswechat/getOrderDetail"),
+ header: app.getRequestHeader(),
+ method:'POST',
+ data: {
+ version_number: this.data.version_number,
+ uid:wx.getStorageSync('uid'),
+ token:wx.getStorageSync('token'),
+ order_id:this.data.order_id
+ },
+ success: function (res) {
+ var resp = res.data;
+ if(resp.erro==0){
+ that.setData({
+ detail:resp.detail,
+ order:resp.order,
+ goods_id:resp.detail.goods_id,
+ id:resp.detail.id,
+ refund:resp.detail.refund,
+ charge_phone:resp.detail.charge_phone
+
+ });
+
+ console.log("上传的图片路径================="+that.data.voucher_img)
+ if(that.data.voucher_img.length>0){
+ that.data.voucher_img.forEach(item => {
+ app.console('长度=item================'+item)
+ const { fileListtwo = [] } = that.data;
+ fileListtwo.push({ url: item });
+ that.setData({ fileListtwo });
+ })
+ }
+ }
+ }
+ });
+},
+
+tongyi(){
+this.handleRefundOrder()
+},
+jujue(){
+ this.handleRefundOrderr()
+},
+ //退款审核
+ handleRefundOrder: function () {
+ var that = this;
+ wx.request({
+ url: app.buildUrl("/app/Agentwechat/handleRefundOrder"),
+ header: app.getRequestHeader(),
+ method:'POST',
+ data: {
+ version_number: app.globalData.version_number,
+ uid:wx.getStorageSync('uid'),
+ token:wx.getStorageSync('token'),
+ id:this.data.order_id,
+ status:1,
+ reject:''
+ },
+ success: function (res) {
+ var resp = res.data;
+ if(resp.erro==0){
+ wx.showToast({ title: resp.msg, icon: 'none' });
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack()
+ }, 2000) //延迟时间 这里是2秒
+ }
+ }
+ });
+},
+ //退款审核
+ handleRefundOrderr: function () {
+ var that = this;
+ wx.request({
+ url: app.buildUrl("/app/Agentwechat/handleRefundOrder"),
+ header: app.getRequestHeader(),
+ method:'POST',
+ data: {
+ version_number: this.data.version_number,
+ uid:wx.getStorageSync('uid'),
+ token:wx.getStorageSync('token'),
+ id:this.data.order_id,
+ status:2,
+ reject:''
+ },
+ success: function (res) {
+ var resp = res.data;
+ if(resp.erro==0){
+ wx.showToast({ title: resp.msg, icon: 'none' });
+ }
+ }
+ });
+},
+})
\ No newline at end of file
diff --git a/coupon/pages/order/re_orderdetail.json b/coupon/pages/order/re_orderdetail.json
new file mode 100644
index 0000000..7249a3c
--- /dev/null
+++ b/coupon/pages/order/re_orderdetail.json
@@ -0,0 +1,7 @@
+{
+ "usingComponents": {
+ "van-nav-bar":"/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index",
+ "van-uploader": "/miniprogram/miniprogram_npm/@vant/weapp/uploader/index"
+ },
+ "navigationBarTitleText": "订单详情"
+}
\ No newline at end of file
diff --git a/coupon/pages/order/re_orderdetail.wxml b/coupon/pages/order/re_orderdetail.wxml
new file mode 100644
index 0000000..07212db
--- /dev/null
+++ b/coupon/pages/order/re_orderdetail.wxml
@@ -0,0 +1,96 @@
+
+
+
+
+ 待退款
+ 退款成功
+ 申请驳回
+
+
+
+
+ {{detail.goods_name}}
+ 数量x{{detail.num}}
+ 实付款:¥{{detail.total_money}}
+
+
+
+
+
+
+
+ 订单信息
+
+
+ 订单合计
+ ¥{{order.total_money}}
+
+
+ 商品数量
+ {{order.num}}
+
+
+ 订单时间
+ {{order.time}}
+
+
+ 订单编号
+ {{order.order_id}}
+
+
+ 手机号码
+ {{order.phone}}
+
+
+ 付款时间
+ {{order.time}}
+
+
+
+
+
+
+
+
+
+
+
+ 退款信息
+
+
+
+ 退款原因:
+ {{refund_infro.refund_reason}}
+
+
+
+ 退款金额:
+ ¥{{refund_infro.refund_money}}
+
+
+ 不可修改,最多¥99
+
+
+
+ 退款说明:
+ 选填
+
+
+
+
+
+
+
+
+ 上传凭证
+
+
+
+
+
+
+
+拒绝退款
+同意退款
+
diff --git a/coupon/pages/order/re_orderdetail.wxss b/coupon/pages/order/re_orderdetail.wxss
new file mode 100644
index 0000000..401d10c
--- /dev/null
+++ b/coupon/pages/order/re_orderdetail.wxss
@@ -0,0 +1,248 @@
+/* pages/orderdetail/orderdetail.wxss */
+page {
+ background: #e5e5e5;
+}
+
+.time_msg {
+ font-size: 24rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 66rpx;
+ color: #5B5B5B;
+ opacity: 1;
+ float: left;
+}
+
+.status_msg {
+ font-size: 24rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 66rpx;
+ color: #FF6A6A;
+ opacity: 1;
+ float: right;
+}
+
+.details_box {
+ display: flex;
+ padding: 0 24rpx;
+ padding-bottom: 32rpx;
+}
+
+.title {
+ width: 430rpx;
+ height: 86rpx;
+ font-size: 30rpx;
+ font-family: PingFang SC;
+ font-weight: bold;
+ line-height: 44rpx;
+ color: #222222;
+ opacity: 1;
+ margin-top: 16rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.detail_number {
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 37rpx;
+ color: #B4B4B4;
+ opacity: 1;
+ margin-top: 11rpx;
+}
+
+.money {
+ margin-top: 18rpx;
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 37rpx;
+ color: #B4B4B4;
+ opacity: 1;
+
+}
+
+.detail_btn {
+ margin-top: 20rpx;
+ margin-right: 30rpx;
+ float: right;
+ /* position: absolute; */
+
+ /* bottom: 22rpx;
+ right: 24rpx; */
+ /* min-width: 140rpx; */
+ height: 57rpx;
+ /* background: #000; */
+ border: 1rpx solid #FF4A4A;
+ border-radius: 34rpx;
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 57rpx;
+ color: #FF4A4A;
+ opacity: 1;
+ text-align: center;
+ /* padding: 0 31rpx; */
+}
+
+.contact {
+ height: 167rpx;
+ background: #fff;
+ margin-top: 8rpx;
+ padding: 0 24rpx;
+}
+
+.contact_title {
+ font-size: 30rpx;
+ font-family: PingFang SC;
+ font-weight: 500;
+ color: #333333;
+ opacity: 1;
+ position: relative;
+ top: 13rpx;
+ margin-bottom:36rpx;
+
+}
+
+.information {
+ background: #fff;
+ height: 539rpx;
+ margin-top: 8rpx;
+ padding: 0 24rpx;
+}
+
+.informationtwo {
+ background: #fff;
+ height: 939rpx;
+ margin-top: 8rpx;
+ padding: 0 24rpx;
+}
+
+.information_title {
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ color: #686868;
+ opacity: 1;
+ margin-right: 71rpx;
+
+}
+
+.mengceng {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: #000;
+ opacity: 0.7;
+}
+
+.qxdd {
+ position: fixed;
+ left: 95rpx;
+ bottom: 50%;
+ width: 560rpx;
+ height: 247rpx;
+ background: #fff;
+ border-radius: 20rpx;
+
+}
+
+.msg_btn {
+ width: 50%;
+ line-height: 85rpx;
+ text-align: center;
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 500;
+ color: #4A4A4A;
+ opacity: 1;
+}
+
+.msg_title {
+ height: 161rpx;
+ line-height: 161rpx;
+ text-align: center;
+ font-size: 28rpx;
+ color: #4A4A4A;
+ font-family: PingFang SC;
+ font-weight: 500;
+ border-bottom: 1px solid #EBEBEB;
+}
+
+.erweima_tanchang {
+ position: fixed;
+ left: 95rpx;
+ bottom: 40%;
+ width: 560rpx;
+ height: 446rpx;
+ background: #fff;
+ border-radius: 20rpx;
+ text-align: center;
+}
+
+.refund_box {
+ position: fixed;
+ background: #fff;
+ bottom: 0;
+ width: 100%;
+ border-radius: 40rpx 40rpx 0px 0px;
+ /* text-align: center; */
+}
+
+.gang {
+ width: 102rpx;
+ height: 8rpx;
+ background: #CCCCCC;
+ border-radius: 103rpx;
+ margin: 0 auto;
+ margin-top: 23rpx;
+ margin-bottom: 15rpx;
+}
+
+.refund_title {
+ font-size: 34rpx;
+ font-family: PingFang SC;
+ font-weight: bold;
+ line-height: 48rpx;
+ color: #2D2D2F;
+ opacity: 1;
+ margin-bottom: 5rpx;
+ text-align: center;
+}
+
+.list_box {
+ margin: 0 41rpx 0 25rpx;
+ display: flex;
+ justify-content: space-between;
+ height: 102rpx;
+ line-height: 102rpx;
+ border-bottom: 1rpx solid #E8E8E8;
+}
+
+
+.peisong-way{
+ width: 695rpx;
+ height: 228rpx;
+ background: #F6F6F6;
+ margin-right: 31rpx;
+ opacity: 1;
+ border-radius: 0px
+}
+
+
+.addperson{
+ width: 100%;height: 100rpx;opacity: 1;display: flex; align-items: center; justify-content: center;
+}
+
+.text{
+ font-size: 28rpx;font-family: PingFang SC;color: #FFFFFF;
+ opacity: 1;width: 50%;display:flex;justify-content: center; align-items: center;
+ height: 100rpx;
+}
\ No newline at end of file
diff --git a/coupon/pages/orderdetail/orderdetail.js b/coupon/pages/orderdetail/orderdetail.js
new file mode 100644
index 0000000..5825a97
--- /dev/null
+++ b/coupon/pages/orderdetail/orderdetail.js
@@ -0,0 +1,444 @@
+//获取应用实例
+var app = getApp();
+// pages/peihu.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ dingdan_msg: false,
+ ewm_msg: false,
+ mengceng: false,
+ order_id: 0,
+ goods_id: '',
+ btn1: '',
+ qrcode: '',
+ id: '',
+ item: {},
+ url: app.globalData.url,
+ refund: '',
+ charge_phone: '',
+ refund_box: false,
+ list: [{
+ text: '不喜欢/不想要',
+ },
+ {
+ text: '商品信息与描述不符'
+ },
+ {
+ text: '买多/买错/计划有变'
+ },
+ {
+ text: '更换其他项目、购买了其他项目'
+ },
+ {
+ text: '没有时间/个人原因'
+ },
+ {
+ text: '其他原因'
+ }
+ ],
+ show: false,
+ height: ''
+ },
+ // 确认支付
+ confirm_pay: async function () {
+ var that = this;
+ if (!this.data.is_ok_click) {
+ that.setData({
+ is_ok_click: true
+ })
+
+
+ //你要执行的操作
+ this.godetail()
+ setTimeout(function () {
+ that.setData({
+ is_ok_click: false
+ })
+ }, 10000) //阻止一秒点击多次
+ } else {
+ // wx.showToast({
+ // title: '请勿重复操作!',
+ // })
+ }
+ },
+
+ godetail() {
+ console.log('点击了去付款');
+ var _this = this;
+ console.log(this.data.id + 'tttttttttttttttttttttttttttttttttt')
+ wx.request({
+ // url: app.globalData.url + '/system/weixinPayNew/12345666',
+ //order_id为8位数字
+ url: app.globalData.url + '/system/order/weixinPay/' + this.data.order_id,
+ header: app.getRequestHeader(),
+ method: 'GET',
+ data: {
+
+ },
+ success(res) {
+ if (res.data.code == 200) {
+ console.log('timeStamp==' + res.data.data.timeStamp)
+ console.log('nonceStr==' + res.data.data.nonceStr)
+ console.log('package==' + res.data.data.package)
+ console.log('signType==' + res.data.data.signType)
+ console.log('paySign==' + res.data.data.paySign)
+ wx.requestPayment({
+ timeStamp: res.data.data.timeStamp,
+ nonceStr: res.data.data.nonceStr,
+ package: res.data.data.package,
+ signType: res.data.data.signType,
+ paySign: res.data.data.paySign,
+ success(res) {
+ console.log('支付成功');
+ wx.navigateTo({
+ url: '/shopping/pages/paysuccess/paysuccess',
+ })
+ },
+ fail(res) {
+ console.log('支付失败');
+ }
+ })
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ icon: 'error',
+ duration: 2000
+ })
+ }
+ }
+ })
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (e) {
+ var statusBarHeight = wx.getSystemInfoSync().statusBarHeight;
+ this.setData({
+ statusBarHeight: statusBarHeight,
+ height: 46 + statusBarHeight,
+ });
+ //从下单成功后的查看详情进入详情页
+ this.setData({
+ order_id: e.id
+ })
+ //从下单成功后的查看详情进入详情页,调取接口获取详情页数据,除外都是通过列表传参的方式展示详情页数据。
+ console.log('e.type' + e.type);
+ if (e.type == 3) {
+ this.getOrderDetail();
+ return
+ }
+
+
+ var that = this;
+ let item = JSON.parse(e.item);
+ that.setData({
+ item: item,
+ charge_phone: 18133233292,
+ order_id: item.orderId
+ });
+ console.log("进入订单详情的status==" + that.data.item.status)
+ console.log("进入订单详情的orderId==" + that.data.item.orderId)
+ console.log("进入订单详情的orderNumber==" + that.data.item.orderNumber)
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+ onClickLeft() {
+ wx.navigateBack()
+ },
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+ //订单详情
+ getOrderDetail: function () {
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/view/getInfo',
+ header: app.getRequestHeader(),
+ method: 'get',
+ data: {
+ orderId: this.data.order_id
+ },
+ success: function (res) {
+ var resp = res.data;
+ if (res.data.code == 200) {
+ that.setData({
+ item: res.data.data
+ });
+ }
+ }
+ });
+ },
+ /**
+ * 订单状态:0:待接单 1:已接单 时候的取消订单
+ */
+ cancelOrder() {
+ this.setData({
+ dingdan_msg: true,
+ mengceng: true
+ })
+ },
+ /**
+ * 订单状态:2:待服务 时候的取消订单
+ */
+ cancelOrderdfw() {
+ this.setData({
+ dingdan_msg: true,
+ mengceng: true
+ })
+ },
+ /**
+ * 订单状态:3:服务中 时候的取消订单
+ */
+ cancelOrderfwz() {
+
+
+ this.completeService()
+
+ // console.log('点击了取消订单')
+ // this.setData({
+ // dingdan_msgfwz: true,
+ // mengceng: true
+ // })
+ },
+ okcancel() {
+ console.log('点击了联系客服取消订单')
+ var that = this;
+ this.setData({
+ dingdan_msgfwz: false,
+ mengceng: false
+ })
+ },
+ /**
+ * 待接单/已接单时被坚持取消订单
+ */
+ cancelok() {
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/order/concelOrder/' + this.data.order_id,
+ header: app.getRequestHeader(),
+ method: 'GET',
+ data: {
+ // id: this.data.item.orderId,
+ },
+ success: (res) => {
+ if (res.data.code == 200) {
+ wx.showToast({
+ title: res.data.msg,
+ icon: 'none'
+ });
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack()
+ }, 2000) //延迟时间 这里是2秒
+ }
+ }
+ });
+ this.setData({
+ dingdan_msg: false,
+ mengceng: false
+ })
+ },
+ mengceng() {
+ this.setData({
+ dingdan_msg: false,
+ ewm_msg: false,
+ mengceng: false,
+ refund_box: false
+ })
+ },
+ mengcengfwz() {
+ this.setData({
+ dingdan_msgfwz: false,
+ mengcengfwz: false,
+ refund_box: false
+ })
+ },
+ //确认开始服务
+ startService() {
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/view/startServiceWithOrder',
+ header: app.getRequestHeader(),
+ method: 'post',
+ data: {
+ orderId: that.data.order_id
+ },
+ success: function (res) {
+ var resp = res.data;
+ if (res.data.code == 200) {
+ wx.showToast({
+ title: res.data.msg,
+ })
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack()
+ }, 2000) //延迟时间 这里是2秒
+ }
+ }
+ });
+
+ },
+ //确认完成服务
+ completeService() {
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/view/completeOrder',
+ header: app.getRequestHeader(),
+ method: 'post',
+ data: {
+ orderId: that.data.order_id
+ },
+ success: function (res) {
+ var resp = res.data;
+ if (res.data.code == 200) {
+ wx.showToast({
+ title: res.data.msg,
+ })
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack()
+ }, 2000) //延迟时间 这里是2秒
+ }
+ }
+ });
+ },
+ /**
+ * 待服务时被坚持取消订单
+ */
+ cancelokdfw() {
+ //关闭服务人员正在赶来弹框
+ this.setData({
+ dingdan_msg: false,
+ mengceng: false
+ })
+ //打开退款原因弹框
+ this.setData({
+ refund_box: true,
+ mengceng: true
+ })
+ },
+ /**
+ * 填写原因开始退款
+ */
+ isok() {
+ this.refund()
+ },
+ /**
+ * 退款
+ */
+ refund() {
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/order/refundOrder/' + this.data.order_id,
+ header: app.getRequestHeader(),
+ method: 'GET',
+ data: {
+ // id: this.data.item.orderId,
+ },
+ success: (res) => {
+ var resp = res.data;
+ if (res.data.code == 200) {
+ wx.showToast({
+ title: '退款申请成功',
+ })
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack()
+ }, 2000) //延迟时间 这里是2秒
+ }
+ }
+ });
+
+ this.setData({
+ refund_box: false,
+ mengceng: false
+ })
+ },
+ nocancel() {
+ this.setData({
+ dingdan_msg: false,
+ dingdan_msgfwz: false,
+ mengceng: false
+ })
+ },
+ gang() {
+ this.setData({
+ refund_box: false,
+ mengceng: false
+ })
+ },
+ /**
+ * 拨打电话
+ */
+ callphone() {
+ wx.makePhoneCall({
+ phoneNumber: this.data.charge_phone,
+ })
+ },
+ //订单详情
+ getOrderDetail: function () {
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/view/getInfo/',
+ header: app.getRequestHeader(),
+ method: 'get',
+ data: {
+ orderId: this.data.order_id
+ },
+ success: function (res) {
+ var resp = res.data;
+ if (res.data.code == 200) {
+ that.setData({
+ item: res.data.data
+ });
+ }
+ }
+ });
+ },
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/coupon/pages/orderdetail/orderdetail.json b/coupon/pages/orderdetail/orderdetail.json
new file mode 100644
index 0000000..d9de12a
--- /dev/null
+++ b/coupon/pages/orderdetail/orderdetail.json
@@ -0,0 +1,7 @@
+{
+ "usingComponents": {
+ "van-nav-bar":"/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index",
+ "van-overlay": "/miniprogram/miniprogram_npm/@vant/weapp/overlay/index"
+ },
+ "navigationBarTitleText": "订单详情"
+}
\ No newline at end of file
diff --git a/coupon/pages/orderdetail/orderdetail.wxml b/coupon/pages/orderdetail/orderdetail.wxml
new file mode 100644
index 0000000..7efb5db
--- /dev/null
+++ b/coupon/pages/orderdetail/orderdetail.wxml
@@ -0,0 +1,186 @@
+
+
+
+
+
+
+
+ {{"已取消"}}
+ {{"拒绝接单"}}
+ {{"待接单"}}
+ {{"已接单"}}
+ {{"待服务"}}
+ {{"服务中"}}
+ {{"已完成"}}
+ {{"申请退款"}}
+ {{"退款中"}}
+ {{"已退款"}}
+ {{"已结算"}}
+
+
+
+
+ 专业陪护服务({{item.userbName}})
+
+ 实付款:¥{{item.yuguMoney}}
+
+
+
+
+
+
+
+ 取消订单
+
+
+
+
+
+
+ 付款
+
+
+ 取消订单
+
+
+
+
+
+
+ 确认开始服务
+
+
+ 取消订单并退款
+
+
+
+
+
+
+ 确认服务完成
+
+
+
+
+
+ 联系信息
+
+
+
+
+ {{item.userbName}}
+
+ 地址:{{item.hospitalAddress+item.hospitalName}}
+
+
+
+
+
+
+
+
+ 订单信息
+
+
+ 订单合计
+ ¥{{item.yuguMoney}}
+
+
+
+ 订单时间
+ {{item.startTime}}
+
+
+ 订单编号
+ {{item.orderNumber}}
+
+
+ 手机号码
+ {{item.usercPhonenumber}}
+
+
+
+
+
+
+
+
+
+ 商品很抢手哦,确定要取消订单吗?
+
+
+ 我在想想
+ 坚持取消
+
+
+
+
+
+
+
+
+ 订单结束后按实际服务时间进行结算
+
+
+ 我在想想
+ 确认结束服务
+
+
+
+
+
+
+
+
+
+ 服务人员正在赶来,确定要取消订单吗?
+
+
+ 我在想想
+ 坚持取消
+
+
+
+
+
+
+
+
+ 退款原因
+
+
+
+ {{item.text}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 退款原因
+
+
+
+ {{item.text}}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coupon/pages/orderdetail/orderdetail.wxss b/coupon/pages/orderdetail/orderdetail.wxss
new file mode 100644
index 0000000..6168a74
--- /dev/null
+++ b/coupon/pages/orderdetail/orderdetail.wxss
@@ -0,0 +1,517 @@
+/* pages/orderdetail/orderdetail.wxss */
+page {
+ background: #e5e5e5;
+}
+
+.time_msg {
+ font-size: 24rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 66rpx;
+ color: #5B5B5B;
+ opacity: 1;
+ float: left;
+}
+
+.status_msg {
+ font-size: 24rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 66rpx;
+ color: #FF6A6A;
+ opacity: 1;
+ float: right;
+}
+
+.details_box {
+ display: flex;
+ border-bottom: 1px solid #e2e2e2;
+ padding: 0 24rpx;
+ padding-bottom: 32rpx;
+}
+
+.title {
+ width: 430rpx;
+ height: 86rpx;
+ font-size: 30rpx;
+ font-family: PingFang SC;
+ font-weight: bold;
+ line-height: 44rpx;
+ color: #222222;
+ opacity: 1;
+ margin-top: 16rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.detail_number {
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 37rpx;
+ color: #B4B4B4;
+ opacity: 1;
+ margin-top: 11rpx;
+}
+
+.money {
+ margin-top: 18rpx;
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 37rpx;
+ color: #B4B4B4;
+ opacity: 1;
+
+}
+
+.detail_btn {
+ margin-top: 20rpx;
+ margin-right: 30rpx;
+ float: right;
+
+ height: 57rpx;
+
+ border: 1rpx solid #FF4A4A;
+ border-radius: 34rpx;
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 57rpx;
+ color: #FF4A4A;
+ opacity: 1;
+ text-align: center;
+ right:200rpx;color:#4A4A4A;border: 1rpx solid #4A4A4A;padding:0 30rpx
+}
+
+.contact {
+ height: 219rpx;
+ background: #fff;
+ margin-top: 8rpx;
+ padding: 0 24rpx;
+}
+
+.contact_title {
+ font-size: 30rpx;
+ font-family: PingFang SC;
+ font-weight: 500;
+ line-height: 70rpx;
+ color: #333333;
+ opacity: 1;
+ margin-bottom: 10rpx;
+
+}
+
+.information {
+ margin-top: 8rpx;
+ background: #fff;
+ height: 458rpx;
+ padding: 0 24rpx;
+}
+
+.information_title {
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 36rpx;
+ color: #686868;
+ opacity: 1;
+ margin-right: 71rpx;
+
+}
+
+.mengceng {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: #000;
+ opacity: 0.7;
+}
+
+.qxdd {
+ position: fixed;
+ left: 95rpx;
+ bottom: 50%;
+ width: 560rpx;
+ height: 247rpx;
+ background: #fff;
+ border-radius: 20rpx;
+
+}
+
+.msg_btn {
+ width: 50%;
+ line-height: 85rpx;
+ text-align: center;
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 500;
+ color: #4A4A4A;
+ opacity: 1;
+}
+
+.msg_title {
+ height: 161rpx;
+ line-height: 161rpx;
+ text-align: center;
+ font-size: 28rpx;
+ color: #4A4A4A;
+ font-family: PingFang SC;
+ font-weight: 500;
+ border-bottom: 1px solid #EBEBEB;
+}
+
+.erweima_tanchang {
+ position: fixed;
+ left: 95rpx;
+ bottom: 40%;
+ width: 560rpx;
+ height: 446rpx;
+ background: #fff;
+ border-radius: 20rpx;
+ text-align: center;
+}
+
+.refund_box {
+ position: fixed;
+ background: #fff;
+ bottom: 0;
+ width: 100%;
+ border-radius: 40rpx 40rpx 0px 0px;
+
+}
+
+.gang {
+ width: 102rpx;
+ height: 8rpx;
+ background: #CCCCCC;
+ border-radius: 103rpx;
+ margin: 0 auto;
+ margin-top: 23rpx;
+ margin-bottom: 15rpx;
+}
+
+.refund_title {
+ font-size: 34rpx;
+ font-family: PingFang SC;
+ font-weight: bold;
+ line-height: 48rpx;
+ color: #2D2D2F;
+ opacity: 1;
+ margin-bottom: 5rpx;
+ text-align: center;
+}
+
+.list_box {
+ margin: 0 41rpx 0 25rpx;
+ display: flex;
+ justify-content: space-between;
+ height: 102rpx;
+ line-height: 102rpx;
+ border-bottom: 1rpx solid #E8E8E8;
+}
+
+.opt_view {
+ height:105rpx;position: relative;background: #ffffff;margin-top:4rpx;
+}
+
+.opt_bt_view {
+ right:200rpx;color:#4A4A4A;border: 1rpx solid #4A4A4A;padding:0 30rpx
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+.wrapper {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+}
+
+.block {
+ width: 676rpx;
+ height: 1125rpx;
+ background-color: #fff;
+ border-radius: 20rpx;
+}
+
+.select-wrap {
+ width: 300rpx;
+ margin-left: 116rpx;
+}
+
+.pinGroup {
+ height: 270rpx;
+ display: flex;
+ border-bottom: 1px solid #999999;
+}
+.Groupone {
+ height: 161rpx;
+ display: flex;
+ border-bottom: 1px solid #999999;
+}
+.Group-image {
+ width: 230rpx;
+ height: 230rpx;
+ margin: 19rpx 28rpx 19rpx 31rpx;
+}
+
+.Group-image image {
+ width: 100%;
+ height: 100%;
+}
+
+.pincontent {
+
+ width: 400rpx;
+ height: 201rpx;
+ margin-top: 28rpx;
+}
+
+.pincontent .title1 {
+ font-size: 30rpx;
+ font-weight: 700;
+}
+
+.pincontent .title2 {
+ font-size: 26rpx;
+ height: 37rpx;
+ line-height: 37rpx;
+ display: flex;
+ color: #B4B4B4;
+ margin: 11rpx 0 18rpx 0;
+}
+
+.pincontent .title2 .house {
+ width: 28rpx;
+ height: 28rpx;
+ margin-right: 7rpx;
+ margin-top: 5rpx;
+}
+
+
+.pincontent .title2 .house image {
+ width: 100%;
+ height: 100%;
+}
+
+.pincontent .Price {
+ display: flex;
+}
+
+.pincontent .Price .Price1 {
+ font-size: 34rpx;
+ color: #FF4A4A;
+ line-height: 42rpx;
+ margin-right: 17rpx;
+}
+
+.pincontent .Price .Price2 {
+ font-size: 24rpx;
+ color: #CBCBCB;
+ line-height: 41rpx;
+ margin-right: 23rpx;
+ text-decoration:line-through;
+}
+
+.pincontent .Price .Price3 {
+ width: 51rpx;
+ height: 21rpx;
+ font-size: 15rpx;
+ color: #E75D4D;
+ border: 1px solid #E75D4D;
+ border-radius: 4rpx;
+ text-align: center;
+ line-height: 18rpx;
+ margin-top: 10rpx;
+}
+
+.order-list{
+ width: 100%;
+}
+
+.custom-bar {
+
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100%;
+}
+.custom-bar__wrapper {
+ padding: 0 10rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.search-group {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ border-radius: 60rpx;
+
+ padding-left: 25rpx;
+ background: #F5F5F5;
+}
+.search-group > input {
+ font-size: 25rpx;
+ width: 800rpx;
+}
+.search-group > image {
+ height: 32rpx;
+ width: 32rpx;
+ margin-right: 20rpx
+}
+
+.buttonsty{
+ width: 244rpx;
+ height: 80rpx;
+ text-align: center;
+ font-size: 25rpx;
+ background: #F5F5F5;
+ border-radius: 310rpx;
+ align-items: center;
+ justify-content: center;
+ display: flex ;
+}
+
+
+.Distit {
+ width: 685rpx;
+ display: flex;
+ margin-top: 26rpx;
+ justify-content: space-between;
+}
+.textone{
+ background: #FF4C00;
+ border-radius: 50%;
+ width: 29rpx;
+ height: 29rpx;
+ align-items: center;
+ font-size: 17rpx;
+ color: #FFFFFF;
+ text-align:center;
+}
+
+.viewone{
+ display: flex;flex-direction:column;align-items: center; margin-left: 56rpx;
+}
+
+.yaotext{
+ font-size: 60rpx;text-shadow: 0rpx 3rpx 5rpx rgba(250, 37, 61, 0.59);
+ color: #FFF433;
+ display: flex;
+ position: relative;
+ top: -228rpx;
+ justify-content: center;
+ font-family: FZChaoCuHei-M10S;
+
+}
+.yaotexttwo{
+ font-size: 60rpx;
+ font-family: YouSheBiaoTiHei;
+ color: #FFFFFF;
+ text-shadow: 0rpx 3rpx 6rpx #FE424C;
+ display: flex;
+ position: relative;
+ top: -200rpx;
+ justify-content: center;
+}
+
+
+.imageone{
+ width: 90rpx;
+height: 90rpx;
+border: 2rpx solid #FF4C00;
+border-style:dashed;
+border-radius: 50%;
+}
+.texttwo{
+ background: #FF4C00;
+ width: 57rpx;
+ height: 27rpx;
+ align-items: center;
+ font-size: 17rpx;
+ color: #FFFFFF;
+ text-align:center;
+}
+.imagetwo{}
+
+
+
+.status-box{
+ height: 88rpx;
+ line-height: 88rpx;
+ display: flex;
+ position: absolute;
+ z-index: 1;
+ margin-top: 0rpx;
+ justify-content: space-between;
+ align-items: center;
+ background-color:#ffffff;
+ margin-left: 220rpx;
+ margin-right: 220rpx;
+ justify-content: space-between;
+
+}
+.status-box .status-label{
+ width: 150rpx;
+ height: 100%;
+ text-align: center;
+ font-size:24rpx;
+ color:#353535;
+ box-sizing: border-box;
+ position: relative;
+}
+.status-box .status-label.active{
+
+
+ color: #5B5B5B;
+ font-size: 28rpx;
+ font-family: PingFang SC;
+ font-weight: 800;
+ border-bottom: 6rpx solid #FF6A6A;
+}
+.status-box .status-label .red-dot{
+ width: 16rpx;
+ height: 16rpx;
+ position: absolute;
+ left: 116rpx;
+ top:23rpx;
+ background-color: #f43530;
+ border-radius: 50%;
+}
diff --git a/coupon/pages/orderdetail/orderdetailbeifen.js b/coupon/pages/orderdetail/orderdetailbeifen.js
new file mode 100644
index 0000000..f0f9e40
--- /dev/null
+++ b/coupon/pages/orderdetail/orderdetailbeifen.js
@@ -0,0 +1,437 @@
+//获取应用实例
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ dingdan_msg: false,
+ ewm_msg: false,
+ mengceng: false,
+ order_id: 0,
+ goods_id: '',
+ btn1: '',
+ qrcode: '',
+ id: '',
+ item: {},
+ url: app.globalData.url,
+ refund: '',
+ charge_phone: '',
+ refund_box: false,
+ list: [{
+ text: '不喜欢/不想要',
+ },
+ {
+ text: '商品信息与描述不符'
+ },
+ {
+ text: '买多/买错/计划有变'
+ },
+ {
+ text: '更换其他项目、购买了其他项目'
+ },
+ {
+ text: '没有时间/个人原因'
+ },
+ {
+ text: '其他原因'
+ }
+ ],
+ show: false,
+ statusType: ["拼团"],
+ status: ["0"],
+ currentType: 0,
+ nav_type: 0,
+ is_ok_click: false,
+ height: ''
+ },
+
+ onClickShow() {
+ this.setData({
+ show: true
+ });
+ },
+
+ onClickHide() {
+ this.setData({
+ show: false
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (e) {
+ var statusBarHeight = wx.getSystemInfoSync().statusBarHeight;
+ this.setData({
+ statusBarHeight: statusBarHeight,
+ height: 46 + statusBarHeight,
+ });
+ //条目点击进入详情页
+ this.setData({
+ order_id: e.id
+ })
+ //条目点击进入详情页,调取接口获取详情页数据,除外都是通过列表传参的方式展示详情页数据。
+ if(e.type=3){
+ this.getOrderDetail();
+ }
+
+ var that = this;
+ let item = JSON.parse(e.item);
+ that.setData({
+ item: item,
+ charge_phone: 18133233292,
+ order_id: item.orderId
+ });
+ app.console("order_id=================" + this.data.order_id)
+ },
+ mengceng() {
+ this.setData({
+ dingdan_msg: false,
+ ewm_msg: false,
+ mengceng: false,
+ refund_box: false
+ })
+ },
+ mengcengfwz() {
+ this.setData({
+ dingdan_msgfwz: false,
+ ewm_msg: false,
+ mengcengfwz: false,
+ refund_box: false
+ })
+ },
+ //确认开始服务
+ startService() {
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/view/startServiceWithOrder',
+ header: app.getRequestHeader(),
+ method: 'post',
+ data: {
+ orderId: that.data.order_id
+ },
+ success: function (res) {
+ var resp = res.data;
+ if (res.data.code == 200) {
+ // that.setData({
+ // item : res.data.data
+ // });
+ }
+ }
+ });
+
+ },
+
+ cancelOrder() {
+ console.log('点击了取消订单')
+ this.setData({
+ dingdan_msg: true,
+ mengceng: true
+ })
+ },
+ cancelOrderfwz() {
+ console.log('点击了取消订单')
+ this.setData({
+ dingdan_msgfwz: true,
+ mengcengfwz: true
+ })
+ },
+ okcancel() {
+ var that = this;
+ wx.request({
+ // url: app.globalData.url + '/system/order/concelOrder/' + this.data.item.orderId,
+ url: app.globalData.url + '/system/order/refundOrder/' + this.data.item.orderId,
+ header: app.getRequestHeader(),
+ method: 'GET',
+ data: {
+ // id: this.data.item.orderId,
+ },
+ success: (res) => {
+ var resp = res.data;
+ if (res.data.code == 200) {
+ wx.showToast({
+ title: res.data.msg,
+ icon: 'none'
+ });
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack()
+ }, 2000) //延迟时间 这里是2秒
+ }
+ }
+ });
+
+ console.log('点击了坚持取消');
+ // var _this=this;
+ // wx.request({
+ // url: app.globalData.url + '/app/Goddesswechat/cancelOrder',
+ // data: {
+ // version_number: app.globalData.version_number,
+ // uid: wx.getStorageSync('uid'),
+ // token:wx.getStorageSync('token'),
+ // order_id:this.data.order_id
+ // },
+ // method: 'POST',
+ // header: { 'content-type': 'application/x-www-form-urlencoded' },
+ // success(res) {
+ // console.log(1111111)
+ // console.log(res)
+ // if (res.data.erro == 0) {
+ // wx.showToast({ title: res.data.msg, icon: 'none' });
+ // }else{
+
+ // }
+ // }
+ // }
+ // )
+
+
+ this.setData({
+ dingdan_msg: false,
+ mengceng: false
+ })
+ },
+ nocancel() {
+ this.setData({
+ dingdan_msg: false,
+ mengceng: false
+ })
+ },
+ /**
+ * 拨打电话
+ */
+ callphone() {
+ wx.makePhoneCall({
+
+ phoneNumber: this.data.charge_phone,
+
+ })
+ },
+ /**
+ * 发起拼团
+ */
+ pintuan() {
+ this.setData({
+ show: true
+ });
+ },
+ tiaoguo() {
+ this.setData({
+ show: false
+ });
+ },
+ /**
+ * 同意发起
+ */
+ tongyifaqi() {
+ this.confirmCollage()
+ },
+
+ refund() {
+
+ var that = this;
+ wx.request({
+ // url: app.globalData.url + '/system/order/concelOrder/' + this.data.item.orderId,
+ url: app.globalData.url + '/system/order/refundOrder/' + this.data.item.orderId,
+ header: app.getRequestHeader(),
+ method: 'GET',
+ data: {
+ // id: this.data.item.orderId,
+ },
+ success: (res) => {
+ var resp = res.data;
+ if (res.data.code == 200) {
+ wx.showToast({
+ title: res.data.msg,
+ icon: 'none'
+ });
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack()
+ }, 2000) //延迟时间 这里是2秒
+ }
+ }
+ });
+
+
+
+
+
+
+
+ if (this.data.refund == 0) {
+ app.tip({
+ content: '该订单不支持退款'
+ });
+ return
+ }
+
+ wx.navigateTo({
+ url: '/pages/reforderdetail/reforderdetail?' + "type=" + '3' + '&id=' + this.data.id,
+ })
+
+ // this.setData({
+ // refund_box:true,
+ // mengceng:true
+ // })
+ },
+ gang() {
+ this.setData({
+ refund_box: false,
+ mengceng: false
+ })
+ },
+ // 确认支付
+ confirm_pay: async function () {
+ var that = this;
+ if (!this.data.is_ok_click) {
+ that.setData({
+ is_ok_click: true
+ })
+
+
+ //你要执行的操作
+ this.godetail()
+ setTimeout(function () {
+ that.setData({
+ is_ok_click: false
+ })
+ }, 10000) //阻止一秒点击多次
+ } else {
+ // wx.showToast({
+ // title: '请勿重复操作!',
+ // })
+ }
+ },
+
+ godetail() {
+ console.log('点击了去付款');
+ var _this = this;
+ console.log(this.data.id + 'tttttttttttttttttttttttttttttttttt')
+ wx.request({
+ // url: app.globalData.url + '/system/weixinPayNew/12345666',
+ //order_id为8位数字
+ url: app.globalData.url + '/system/order/weixinPay/' + this.data.item.orderId,
+ header: app.getRequestHeader(),
+ method: 'GET',
+ data: {
+
+ },
+ success(res) {
+ if (res.data.code == 200) {
+ console.log('timeStamp==' + res.data.data.timeStamp)
+ console.log('nonceStr==' + res.data.data.nonceStr)
+ console.log('package==' + res.data.data.package)
+ console.log('signType==' + res.data.data.signType)
+ console.log('paySign==' + res.data.data.paySign)
+ wx.requestPayment({
+ timeStamp: res.data.data.timeStamp,
+ nonceStr: res.data.data.nonceStr,
+ package: res.data.data.package,
+ signType: res.data.data.signType,
+ paySign: res.data.data.paySign,
+ success(res) {
+ console.log('支付成功');
+ wx.navigateTo({
+ url: '/shopping/pages/paysuccess/paysuccess',
+ })
+ },
+ fail(res) {
+ console.log('支付失败');
+ }
+ })
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ icon: 'error',
+ duration: 2000
+ })
+ }
+ }
+ })
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ // this.getOrderDetail();
+ //假数据
+ var that = this;
+ if (this.data.resp.erro == 0) {
+ that.setData({
+ detail: this.data.resp.detail,
+ order: this.data.resp.order,
+ goods_id: this.data.resp.detail.goods_id,
+ id: this.data.resp.detail.id,
+ refund: this.data.resp.detail.refund,
+ charge_phone: this.data.resp.detail.charge_phone
+ });
+ }
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+ onClickLeft() {
+ wx.navigateBack()
+ },
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ //订单详情
+ getOrderDetail: function () {
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/view/getInfo',
+ header: app.getRequestHeader(),
+ method: 'get',
+ data: {
+ orderId: this.data.order_id
+ },
+ success: function (res) {
+ var resp = res.data;
+ if (res.data.code == 200) {
+ that.setData({
+ item: res.data.data
+ });
+ }
+ }
+ });
+ },
+})
\ No newline at end of file
diff --git a/coupon/pages/orderdetail/orderdetailbeifen.wxml b/coupon/pages/orderdetail/orderdetailbeifen.wxml
new file mode 100644
index 0000000..63a056e
--- /dev/null
+++ b/coupon/pages/orderdetail/orderdetailbeifen.wxml
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+ {{"已取消"}}
+ {{"拒绝接单"}}
+ {{"待接单"}}
+ {{"已接单"}}
+ {{"待服务"}}
+ {{"服务中"}}
+ {{"已完成"}}
+ {{"申请退款"}}
+ {{"退款中"}}
+ {{"已退款"}}
+ {{"已结算"}}
+
+
+
+
+ 专业陪护服务({{item.userbName}})
+
+ 实付款:¥{{item.yuguMoney}}
+
+
+
+
+
+
+
+
+
+
+
+ 取消订单
+
+
+
+
+
+ 退款
+
+
+
+
+
+
+
+
+
+ 付款
+
+
+ 取消订单
+
+
+
+
+
+
+
+
+
+
+
+ 确认开始服务
+
+
+ 退款
+
+
+
+
+
+
+
+
+ 取消订单
+
+
+
+
+
+
+ 联系信息
+
+
+
+
+ {{item.usercName}}
+
+ 地址:{{item.hospitalAddress}}
+
+
+
+
+
+
+ 订单信息
+
+
+ 订单合计
+ ¥{{item.yuguMoney}}
+
+
+
+ 订单时间
+ {{item.startTime}}
+
+
+ 订单编号
+ {{item.orderNumber}}
+
+
+ 手机号码
+ {{123456789}}
+
+
+
+
+
+
+
+ 商品很抢手哦,确定要取消订单吗?
+
+
+ 我在想想
+ 坚持取消
+
+
+
+
+
+
+
+
+ 请联系客服
+
+
+ 我在想想
+ 坚持取消
+
+
+
+
+
+
+
+
+ 退款原因
+
+
+
+ {{item.text}}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coupon/pages/peihu/peihu.js b/coupon/pages/peihu/peihu.js
new file mode 100644
index 0000000..768963f
--- /dev/null
+++ b/coupon/pages/peihu/peihu.js
@@ -0,0 +1,92 @@
+//获取应用实例
+var app = getApp();
+Page({
+ data: {
+ option1: [{
+ text: '切换医院',
+ value: 0
+ },
+ {
+ text: '西安市高新医院',
+ value: 1
+ },
+ {
+ text: '第四军医大学西京医院',
+ value: 2
+ },
+ {
+ text: '陕西省人民医院',
+ value: 3
+ },
+ ],
+ value1: 0,
+ version_number: '1.0',
+ height: '',
+ url: app.globalData.url,
+ hospitalId:''
+ },
+
+ shuChange: function (e) {
+ console.log(e.detail);
+
+ this.setData({
+ hospitalId: e.detail
+ })
+ this.getBannerAndCat();
+ },
+
+ //生命周期回调——监听小程序启动或切前台。
+ onShow: function () {
+ this.getBannerAndCat();
+ },
+ //首页信息
+ getBannerAndCat: function () {
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/hospitalUserView/list',
+ header: app.getRequestHeader(),
+ method: 'GET',
+ data: {
+ hospitalId:this.data.hospitalId
+ },
+ success: (res) => {
+ var resp = res.data;
+ if (res.data.code == 200) {
+ that.setData({
+ special_offer: resp.data,
+ });
+ }
+ }
+ });
+ },
+
+ // 跳转详情
+ details(e) {
+ if (e.currentTarget.dataset.item != 0) {
+ let item = JSON.stringify(e.currentTarget.dataset.item);
+ console.log("传递的item" + item);
+ wx.navigateTo({
+ url: "/shopping/pages/goddess/goddess?item=" + item,
+ });
+ }
+ },
+ back(e){
+ wx.navigateBack()
+ },
+ onLoad: function (e) {
+ var statusBarHeight = wx.getSystemInfoSync().statusBarHeight;
+ this.setData({
+ statusBarHeight: statusBarHeight,
+ height: 46 + statusBarHeight,
+ });
+ console.log('e.hospitalId' + e.hospitalId);
+ this.setData({
+ hospitalId: e.hospitalId
+ })
+ },
+ changeDateTime1(e) {
+ this.setData({
+ dateTime1: e.detail.value
+ });
+ },
+})
\ No newline at end of file
diff --git a/coupon/pages/peihu/peihu.json b/coupon/pages/peihu/peihu.json
new file mode 100644
index 0000000..ede1a4a
--- /dev/null
+++ b/coupon/pages/peihu/peihu.json
@@ -0,0 +1,12 @@
+{
+ "usingComponents": {
+ "van-count-down": "/miniprogram/miniprogram_npm/@vant/weapp/count-down/index",
+ "van-dropdown-menu": "/miniprogram/miniprogram_npm/@vant/weapp/dropdown-menu/index",
+ "van-dropdown-item": "/miniprogram/miniprogram_npm/@vant/weapp/dropdown-item/index",
+ "van-calendar": "/miniprogram/miniprogram_npm/@vant/weapp/calendar/index",
+ "van-cell": "/miniprogram/miniprogram_npm/@vant/weapp/cell/index",
+ "van-nav-bar":"/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index"
+ },
+ "navigationBarTitleText": "服务列表"
+
+}
diff --git a/coupon/pages/peihu/peihu.wxml b/coupon/pages/peihu/peihu.wxml
new file mode 100644
index 0000000..de32a38
--- /dev/null
+++ b/coupon/pages/peihu/peihu.wxml
@@ -0,0 +1,47 @@
+
+
+
+
+
+ {{"服务列表"}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.nickName}}
+ ({{"陪护"}})
+ {{"男"}}
+ {{"女"}}
+ {{item.experience}}经验
+
+
+ {{item.introduce}}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coupon/pages/peihu/peihu.wxss b/coupon/pages/peihu/peihu.wxss
new file mode 100644
index 0000000..1033cd6
--- /dev/null
+++ b/coupon/pages/peihu/peihu.wxss
@@ -0,0 +1,119 @@
+@import "../../component/picker/picker.wxss";
+
+page{
+ background: #F8F8F8;
+ }
+
+
+.flex-item{
+ display:flex;
+ height: 270rpx;
+ width: 670rpx;
+ border-radius: 20rpx;
+ margin-top: 20rpx;
+ }
+.Discount {
+ margin-left: 40rpx;
+ margin-right: 40rpx;
+
+}
+
+.Group {
+ display: flex;
+ }
+
+ .Group-image {
+ width: 128rpx;
+ height: 128rpx;
+ margin: 84rpx 40rpx 84rpx 40rpx;
+ }
+
+ .Group-image image {
+ width: 100%;
+ height: 100%;
+ }
+
+
+ .content {
+
+ width: auto;
+ height: 201rpx;
+ margin-top: 48rpx;
+
+ }
+
+
+ .content .title1 {
+ font-size: 36rpx;
+ font-weight: 700;
+ }
+ .content .title2 {
+ font-size: 30rpx;
+ font-weight: 700;
+ }
+ .content .title3 {
+ font-size: 32rpx;
+ margin-left: 24rpx;
+ }
+ .content .title4 {
+ font-size: 28rpx;
+ color: #228BFE;
+ width: 132rpx;
+ height: 40rpx;
+ text-align: center;
+ background-color: #A5BBE0;
+ border-radius: 20rpx;
+ margin-left: 24rpx;
+ }
+
+ /* .content .title2 {
+ font-size: 26rpx;
+ display: flex;
+ color: #B4B4B4;
+ margin: 11rpx 0 18rpx 0;
+ } */
+
+ .content .title2 .house {
+ width: 24rpx;
+ height: 24rpx;
+ margin-right: 7rpx;
+ }
+
+ .content .title2 .house image {
+ width: 100%;
+ height: 100%;
+ }
+
+ .content .tejia {
+ display: flex;
+ width: 446rpx;
+ margin-top: 24rpx;
+ }
+
+
+ .content .tejia .Price2 {
+ font-size: 30rpx;
+ color: #666666;
+ line-height: 41rpx;
+ margin-right: 23rpx;
+ }
+
+ .area {
+ display: relative;
+ flex-direction: column;
+ align-items: center;
+ height: 300rpx;
+ }
+ .area1 {
+ height: 300rpx;
+ width: 100%;
+ }
+
+ .van-nav-bar {
+ background-color: #228BFE;
+ }
+
+
+
+
+
diff --git a/coupon/pages/peizhen/peizhen.js b/coupon/pages/peizhen/peizhen.js
new file mode 100644
index 0000000..fe37ceb
--- /dev/null
+++ b/coupon/pages/peizhen/peizhen.js
@@ -0,0 +1,120 @@
+//获取应用实例
+var app = getApp();
+Page({
+ data: {
+ option1: [{
+ text: '全部医院',
+ value: 0
+ },
+ {
+ text: '西京医院',
+ value: 1
+ },
+ {
+ text: '陕西省人民医院',
+ value: 2
+ },
+ {
+ text: '陕西省人民医院1',
+ value: 5
+ },
+ ],
+ value1: 0,
+ version_number: '1.0',
+ height: '',
+ url: app.globalData.url,
+ itemView: [
+ {
+ icon: "诊前约号",
+ title: "全程陪诊",
+ price:"200",
+ describe:"服务内容:排队 预约 挂号 缴费 取药 记录医嘱"
+ },
+ {
+ icon: "诊前约号",
+ title: "诊前约号",
+ price:"20",
+ describe:"服务内容:协助办理完成挂号"
+ },
+ // {
+ // icon: "代办买药",
+ // title: "代办买药",
+ // price:"30",
+ // describe:"服务内容:协助代理买药"
+ // },
+ {
+ icon: "取送结果",
+ title: "代办问诊",
+ price:"50",
+ describe:"服务内容:使用病人或者家属取检查报告化验单向医生问明情况"
+ },
+ {
+ icon: "取送结果",
+ title: "取送结果",
+ price:"50",
+ describe:"服务内容:包括给病人或者家属取检查报告化验单等"
+ },
+ // {
+ // icon: "出入院办理",
+ // title: "出入院办理",
+ // price:"100",
+ // describe:"协助办理出入院手续"
+ // }
+ ],
+ },
+ onChange(e) {
+ this.setData({
+ timeData: e.detail,
+ });
+ },
+ //生命周期回调——监听小程序启动或切前台。
+ onShow: function () {
+ this.getBannerAndCat();
+ },
+ //首页信息
+ getBannerAndCat: function () {
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/hospitalUserView/list',
+ header: app.getRequestHeader(),
+ method: 'GET',
+ data: {
+
+ },
+ success: (res) => {
+ var resp = res.data;
+ if (res.data.code == 200) {
+ that.setData({
+ special_offer: resp.data,
+ });
+ }
+ }
+ });
+ },
+
+ // 跳转详情
+ details(e) {
+ if (e.currentTarget.dataset.item != 0) {
+ let item = JSON.stringify(e.currentTarget.dataset.item);
+ console.log("传递的item" + item);
+ wx.navigateTo({
+ url: "/pages/peizhen/peizhendetail?item=" + item,
+ });
+ }
+ },
+ back(e){
+ wx.navigateBack()
+ },
+ onLoad() {
+ var statusBarHeight = wx.getSystemInfoSync().statusBarHeight;
+ this.setData({
+ statusBarHeight: statusBarHeight,
+ height: 46 + statusBarHeight,
+ });
+ },
+ changeDateTime1(e) {
+ this.setData({
+ dateTime1: e.detail.value
+ });
+ },
+})
\ No newline at end of file
diff --git a/coupon/pages/peizhen/peizhen.json b/coupon/pages/peizhen/peizhen.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/coupon/pages/peizhen/peizhen.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/coupon/pages/peizhen/peizhen.wxml b/coupon/pages/peizhen/peizhen.wxml
new file mode 100644
index 0000000..535060b
--- /dev/null
+++ b/coupon/pages/peizhen/peizhen.wxml
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+ {{"套餐列表"}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+ {{"男"}}
+ {{"女"}}
+ {{item.price}}元
+
+
+ {{item.describe}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/pages/peizhen/peizhen.wxss b/coupon/pages/peizhen/peizhen.wxss
new file mode 100644
index 0000000..1033cd6
--- /dev/null
+++ b/coupon/pages/peizhen/peizhen.wxss
@@ -0,0 +1,119 @@
+@import "../../component/picker/picker.wxss";
+
+page{
+ background: #F8F8F8;
+ }
+
+
+.flex-item{
+ display:flex;
+ height: 270rpx;
+ width: 670rpx;
+ border-radius: 20rpx;
+ margin-top: 20rpx;
+ }
+.Discount {
+ margin-left: 40rpx;
+ margin-right: 40rpx;
+
+}
+
+.Group {
+ display: flex;
+ }
+
+ .Group-image {
+ width: 128rpx;
+ height: 128rpx;
+ margin: 84rpx 40rpx 84rpx 40rpx;
+ }
+
+ .Group-image image {
+ width: 100%;
+ height: 100%;
+ }
+
+
+ .content {
+
+ width: auto;
+ height: 201rpx;
+ margin-top: 48rpx;
+
+ }
+
+
+ .content .title1 {
+ font-size: 36rpx;
+ font-weight: 700;
+ }
+ .content .title2 {
+ font-size: 30rpx;
+ font-weight: 700;
+ }
+ .content .title3 {
+ font-size: 32rpx;
+ margin-left: 24rpx;
+ }
+ .content .title4 {
+ font-size: 28rpx;
+ color: #228BFE;
+ width: 132rpx;
+ height: 40rpx;
+ text-align: center;
+ background-color: #A5BBE0;
+ border-radius: 20rpx;
+ margin-left: 24rpx;
+ }
+
+ /* .content .title2 {
+ font-size: 26rpx;
+ display: flex;
+ color: #B4B4B4;
+ margin: 11rpx 0 18rpx 0;
+ } */
+
+ .content .title2 .house {
+ width: 24rpx;
+ height: 24rpx;
+ margin-right: 7rpx;
+ }
+
+ .content .title2 .house image {
+ width: 100%;
+ height: 100%;
+ }
+
+ .content .tejia {
+ display: flex;
+ width: 446rpx;
+ margin-top: 24rpx;
+ }
+
+
+ .content .tejia .Price2 {
+ font-size: 30rpx;
+ color: #666666;
+ line-height: 41rpx;
+ margin-right: 23rpx;
+ }
+
+ .area {
+ display: relative;
+ flex-direction: column;
+ align-items: center;
+ height: 300rpx;
+ }
+ .area1 {
+ height: 300rpx;
+ width: 100%;
+ }
+
+ .van-nav-bar {
+ background-color: #228BFE;
+ }
+
+
+
+
+
diff --git a/coupon/pages/peizhen/peizhendetail.js b/coupon/pages/peizhen/peizhendetail.js
new file mode 100644
index 0000000..72bbfe8
--- /dev/null
+++ b/coupon/pages/peizhen/peizhendetail.js
@@ -0,0 +1,377 @@
+const app = getApp()
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ task: {
+ phone: '',
+ phonedisplay: false,
+ placeholder: '请输入联系方式'
+ },
+ //普通选择器:(普通数组)
+ // array: ['请选择医院', '西京医院', '省人民医院', '红会医院'],
+ objectArray: [{
+ text: '请选择医院',
+ value: 10
+ },
+ {
+ text: '第四军医大学西京医院',
+ value: 2
+ },
+ {
+ text: '陕西省人民医院',
+ value: 3
+ },
+ {
+ text: '西安市高新医院',
+ value: 1
+ },
+ ],
+ objectIndex: 0, //默认显示位置
+ show: true,
+ height: '',
+ seckill_start: '请输入开始日期',
+ time: 30 * 60 * 60 * 1000,
+ timeflag: 0,
+ userInfo: {},
+ item: {},
+ hasUserInfo: false,
+ date: '',
+ paymoney: 0,
+ phone: wx.getStorageSync('phone'),
+ uidFlag: wx.getStorageSync('uidFlag'),
+ goods_detail_img: [],
+ indicatorDots: true,
+ autoplay: true,
+ interval: 5000,
+ duration: 1300,
+ id: 0,
+ order_id: '',
+ timeData: {},
+ Height: "", //这是swiper要动态设置的高度属性
+ charge_phone: '',
+ is_ok_click: false,
+ clock: '',
+ address: '',
+ danjia: 0.01, //单位为元
+ beizhu: '',
+ name: '',
+ jzphone: ''
+
+ },
+ inputtaskphone(e) {
+ if (e.detail.value != '') {
+ if (!(/^1[3456789]\d{9}$/.test(e.detail.value))) {
+ this.setData({
+ phonedisplay: true,
+ placeholder: '',
+ 'task.phone': ''
+ })
+ }
+ }
+ },
+ focus() {
+ this.setData({
+ phonedisplay: false,
+ placeholder: '请输入联系方式',
+ 'task.phone': ''
+ })
+ },
+
+ bindNameInput: function (e) {
+ this.setData({
+ name: e.detail.value
+ })
+ },
+ bindPhoneInput: function (e) {
+ this.setData({
+ jzphone: e.detail.value
+ })
+ },
+ bindAdressInput: function (e) {
+ this.setData({
+ address: e.detail.value
+ })
+ },
+
+ // 确认支付
+ confirm_payy: async function () {
+ // wx.showToast({
+ // title: '点击了',
+ // icon: 'none'
+ // });
+ var that = this;
+ if (!this.data.is_ok_click) {
+ that.setData({
+ is_ok_click: true
+ })
+ //你要执行的操作
+ this.payment()
+ setTimeout(function () {
+ that.setData({
+ is_ok_click: false
+ })
+ }, 10000) //阻止一秒点击多次
+ } else {
+ // wx.showToast({ title:'请勿重复操作!', icon: 'none' });
+ }
+ },
+ //获取单价
+ getprice: function () {
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/config/configKey/price',
+ header: app.getRequestHeader(),
+ method: 'GET',
+ data: {},
+ success: (res) => {
+ var resp = res.data;
+ if (res.data.code == 200) {
+ that.setData({
+ special_offer: resp.data,
+ });
+ }
+ }
+ });
+ },
+ //获取类型
+ getpriceType: function () {
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/config/configKey/priceType',
+ header: app.getRequestHeader(),
+ method: 'GET',
+ data: {},
+ success: (res) => {
+ var resp = res.data;
+ if (res.data.code == 200) {
+ that.setData({
+ special_offer: resp.data,
+ });
+ }
+ }
+ });
+ },
+ onClose() {
+ this.setData({
+ show: false
+ });
+ },
+
+ onSelect(event) {
+ console.log(event.detail);
+ },
+
+ isPhone(value) {
+ if (!/^1(3|4|5|7|8)\d{9}$/.test(value)) {
+ return false
+ } else {
+ return true
+ }
+ },
+ payment() {
+
+ if (this.data.objectIndex == 0) {
+ wx.showToast({
+ title: '请输选择医院',
+ icon: 'none'
+ });
+ return
+ }
+ if (this.data.jzphone == '') {
+ wx.showToast({
+ title: '请输入就诊人电话',
+ icon: 'none'
+ });
+ return
+ }
+
+
+ var regtel = new RegExp('(^1[3|4|5|7|8][0-9]{9}$)', 'g');
+ if (!regtel.exec(this.data.jzphone )) {
+ wx.showToast({
+ title: '手机号码格式不正确!',
+ icon: 'none'
+ });
+ return
+ }
+
+ if (this.data.seckill_start == "请输入开始日期") {
+ wx.showToast({
+ title: '请输入开始日期',
+ icon: 'none'
+ });
+ return
+ }
+
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/order/insertOrderPz',
+ data: {
+ bId: "104", //陪护人员id
+ cId: wx.getStorageSync('uid'), //患者id
+ yuguMoney: this.data.item.price, //金额
+ yuliu9: "2", //订单大类1-陪护 2-陪诊
+ yuliu10: this.data.item.ordertype, //订单类型1-全程陪诊,2-诊前约号3-送取报告4-待办问诊
+ hospitalId: this.data.objectArray[this.data.objectIndex].value,
+ startTime: this.data.seckill_start,
+ yuliu11: this.data.jzphone, //患者电话
+ yuliu12: this.data.beizhu, //特殊要求
+ yuliu13: this.data.address, //送达地址
+ yuliu14: "610526198701180018" //患者身份证号
+ },
+ method: 'POST',
+ header: {
+ 'content-type': 'application/json',
+ 'Authorization': 'Bearer ' + app.getCache("token")
+ },
+ success(res) {
+ if (res.data.code == 200) {
+ that.setData({
+ order_id: res.data.data.orderId,
+ })
+ console.log('order_id==' + res.data.data.orderId)
+ app.console(that.data.order_id + "======要传的order_id")
+ wx.navigateTo({
+ url: '/shopping/pages/paysuccess/paysuccess?' + "order_id=" + that.data.order_id,
+ });
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ icon: 'error',
+ duration: 2000
+ })
+ }
+ }
+ })
+ },
+
+ bindDateChange: function (e) {
+ this.setData({
+ seckill_start: e.detail.value
+ })
+ },
+
+ checkDate: function () {
+ //日期格式化
+ var start_date = new Date(this.data.seckill_start.replace(/-/g, "/"));
+ var end_date = new Date(this.data.seckill_endx.replace(/-/g, "/"));
+ //转成毫秒数,两个日期相减
+ var ms = end_date.getTime() - start_date.getTime();
+ //转换成天数
+ var day = parseInt(ms / (1000 * 60 * 60 * 24));
+ //do something
+ console.log("day = ", day);
+ return day + 1
+ },
+ onClickLeft() {
+ wx.navigateBack()
+ },
+ onChange(e) {
+ this.setData({
+ timeData: e.detail,
+ });
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (e) {
+ var statusBarHeight = wx.getSystemInfoSync().statusBarHeight;
+ this.setData({
+ statusBarHeight: statusBarHeight,
+ height: 46 + statusBarHeight,
+ });
+ // var that = this;
+ // this.setData({
+ // servername: e.servername
+ // })
+ // console.log('servername==' + this.data.servername)
+
+
+ var that = this;
+ let item = JSON.parse(e.item);
+ that.setData({
+ item: item
+ });
+ console.log("进入订单详情的title==" + that.data.item.title)
+
+
+ },
+ /**
+ * 拨打电话
+ */
+ callphone() {
+ wx.makePhoneCall({
+ phoneNumber: this.data.charge_phone,
+ })
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ var that = this;
+ this.getprice();
+ this.getpriceType();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ login: function (e) {
+
+ },
+ //普通选择器2:
+ bindPickerChange2: function (e) {
+ console.log('picker发送选择改变,携带值为', e.detail.value)
+ this.setData({
+ objectIndex: e.detail.value
+ })
+ console.log('picker发送选择改变,医院的id值为', this.data.objectArray[this.data.objectIndex].value)
+ },
+
+})
\ No newline at end of file
diff --git a/coupon/pages/peizhen/peizhendetail.json b/coupon/pages/peizhen/peizhendetail.json
new file mode 100644
index 0000000..a55c847
--- /dev/null
+++ b/coupon/pages/peizhen/peizhendetail.json
@@ -0,0 +1,13 @@
+{
+ "usingComponents": {
+ "van-count-down": "/miniprogram/miniprogram_npm/@vant/weapp/count-down/index",
+ "van-switch": "/miniprogram/miniprogram_npm/@vant/weapp/switch/index",
+ "van-button": "/miniprogram/miniprogram_npm/@vant/weapp/button/index",
+ "van-calendar": "/miniprogram/miniprogram_npm/@vant/weapp/calendar/index",
+ "van-cell": "/miniprogram/miniprogram_npm/@vant/weapp/cell/index",
+ "van-action-sheet": "/miniprogram/miniprogram_npm/@vant/weapp/action-sheet/index",
+ "van-nav-bar":"/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index",
+ "van-field": "/miniprogram/miniprogram_npm/@vant/weapp/field/index"
+ },
+ "navigationBarTitleText": "下单"
+}
\ No newline at end of file
diff --git a/coupon/pages/peizhen/peizhendetail.wxml b/coupon/pages/peizhen/peizhendetail.wxml
new file mode 100644
index 0000000..b6bd8b0
--- /dev/null
+++ b/coupon/pages/peizhen/peizhendetail.wxml
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+ {{"男"}}
+ {{"女"}}
+ {{item.price}}元/次
+
+
+ {{item.describe}}
+
+
+
+
+
+
+
+
+
+
+
+ {{"完善信息"}}
+
+
+
+
+ *
+ 就诊医院
+
+
+
+
+ {{objectArray[objectIndex].text}} >
+
+
+
+
+
+
+
+
+
+ *
+ 就诊人电话
+
+
+
+
+
+
+
+
+ 报告收件地址
+
+
+
+
+
+
+
+
+
+
+
+
+ 服务时间
+
+
+
+ {{seckill_start}}
+
+
+
+
+
+
+
+
+ {{"特别需求"}}
+
+
+
+
+
+
+
+
+
+
+ 计费说明:陪同客户完成当天全部的诊疗流程,服务按次收费。
+
+
+
+
+
+ 总计金额:
+ {{item.price}}
+ 元
+
+ 购买服务
+
+
\ No newline at end of file
diff --git a/coupon/pages/peizhen/peizhendetail.wxss b/coupon/pages/peizhen/peizhendetail.wxss
new file mode 100644
index 0000000..f36ad6d
--- /dev/null
+++ b/coupon/pages/peizhen/peizhendetail.wxss
@@ -0,0 +1,415 @@
+/* pages/goddess/goddess.wxss */
+
+page{
+ background: #F8F8F8;
+}
+image {
+ width: 100%;
+ height: 100%;
+
+}
+
+.Category {
+ display: flex;
+}
+
+.Category .Price {
+ width: 449rpx;
+ height: 107rpx;
+ background: #FF4C00;
+ display: flex;
+}
+.card_cont{
+ display: flex;
+ flex-direction: column;
+ background: #fff;
+ width: 85%;
+ margin: 0 auto;
+ margin-top: 0rpx;
+ box-shadow: 0px 0px 6px rgba(152, 152, 152, 0.16);
+ border-radius: 10rpx;
+ padding: 20rpx;
+}
+
+.card_con{
+ display: flex;
+ flex-direction: column;
+ background: #fff;
+ border-radius: 10rpx;
+ margin-left: 40rpx;
+ margin-right: 40rpx;
+}
+.card_cont_top{
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: center;
+}
+.card_top_left{
+ color: #E54F54;
+ font-size: 36rpx;
+}
+.card_top_left text:first-child{
+ font-size: 55rpx;
+ padding: 0 20rpx 0 0;
+ /* border: 1px solid red; */
+}
+.card_top_left text:last-child{
+ font-size: 24rpx;
+}
+.Price .Price-left {
+ margin: 8rpx 0 0 32rpx;
+}
+
+.Price .Price-left text:nth-child(1) {
+ font-size: 34rpx;
+ color: #FFFFFF;
+ font-weight: 700;
+ line-height: 48rpx;
+}
+
+.Price .Price-left text:nth-child(2) {
+ font-size: 24rpx;
+ color: #FFFFFF;
+ text-decoration: line-through;
+ margin-left: 5rpx;
+}
+
+/* 销售 */
+.Category .Price .sale {
+ font-size: 26rpx;
+ color: #FFFFFF;
+}
+
+/* 库存 */
+.Category .Price .stock {
+ font-size: 24rpx;
+ color: #FFFFFF;
+ margin: 16rpx 0 0 33rpx;
+}
+
+.triangle {
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-width: 15rpx;
+ border-style: solid;
+ border-color: transparent #00B39B transparent transparent;
+ left: -28rpx;
+ top: 40rpx;
+}
+
+.Category .limit {
+ position: relative;
+ width: 301rpx;
+ height: 107rpx;
+ background: #00B39B;
+}
+
+.limit .seckill {
+ display: flex;
+ font-size: 24rpx;
+ margin: 16rpx 86rpx 8rpx 86rpx;
+ color: #FFFFFF;
+}
+
+/* 倒计时 */
+.limit .count {
+ text-align: center;
+ color: #FFFFFF;
+}
+
+/* 文字标题 */
+.title {
+ padding: 27rpx;
+ display: flex;
+}
+.substance {
+ /* margin-top: 53rpx; */
+ justify-content: space-between;
+ margin: 10rpx 24rpx 0rpx 31rpx;
+}
+ .details_box {
+ display: flex;
+ border-bottom: 1px solid #e2e2e2;
+ padding: 0 24rpx;
+ padding-bottom: 32rpx;
+ }
+ .contact {
+ height: 219rpx;
+ background: #fff;
+ margin-top: 8rpx;
+ padding: 0 24rpx;
+ }
+
+ .contact_title {
+ font-size: 30rpx;
+ font-family: PingFang SC;
+ font-weight: 500;
+ line-height: 70rpx;
+ color: #333333;
+ opacity: 1;
+ margin-bottom: 10rpx;
+
+ }
+
+.detail_number {
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 37rpx;
+ color: #B4B4B4;
+ opacity: 1;
+ margin-top: 11rpx;
+ }
+
+ .money {
+ margin-top: 18rpx;
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 37rpx;
+ color: #B4B4B4;
+ opacity: 1;
+
+ }
+
+.title-left {
+ width: 544rpx;
+ height: 70rpx;
+ font-size: 34rpx;
+ color: #333333;
+ font-weight: 700;
+ margin-top: 12rpx;
+}
+
+.title-right {
+ margin-left: 48rpx;
+ border-left: 1px solid #D5D5D5;
+ color: #BBBBBB;
+ display: flex;
+ align-items: center;
+ flex-direction:column;
+ padding-left: 21rpx;
+
+}
+
+.Collection {
+ width: 40rpx;
+ height: 36rpx;
+}
+
+.Collection image {
+ width: 100%;
+ height: 100%;
+}
+
+
+
+/* 联系地址 */
+.address {
+ padding: 30rpx;
+ display: flex;
+}
+
+.hospital {
+ width: 94rpx;
+ height: 94rpx;
+}
+
+.position {
+ margin-left: 28rpx;
+}
+
+.position view:nth-child(1) {
+ font-size: 28rpx;
+ color: #333333;
+ margin-bottom: 8rpx;
+}
+
+.position view:nth-child(2) {
+ font-size: 24rpx;
+ color: #ABABAB;
+}
+
+.phone {
+ width: 26px;
+ height: 26px;
+ border-left: 1px solid #D5D5D5;
+ margin-left: 20rpx;
+ margin-top: 30rpx;
+}
+
+/* 详情列表 */
+.details {
+ width: 750rpx;
+ margin-bottom: 73px;
+}
+
+.payment {
+ padding: 27rpx;
+ display: flex;
+ justify-content: space-between;
+ position: fixed;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ background: #FFFFFF;
+
+}
+.order-list{
+ width: 100%;
+ }
+.immediately {
+ width: 230rpx;
+ height: 81rpx;
+ background: #2D7AFF;
+ border-radius: 207rpx;
+ font-size: 28rpx;
+ color: #FFFFFF;
+ text-align: center;
+ line-height: 82rpx;
+}
+.countitem {
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ margin-right: 5px;
+ color: #fff;
+ font-size: 24rpx;
+ text-align: center;
+ background-color: #2EC9B5;
+ border-radius: 2px;
+ }
+ .countitemm {
+
+ position: absolute;
+ color: #fff;
+ font-size: 24rpx;
+ text-align: center;
+
+
+ }
+
+ .Group {
+ display: flex;
+ }
+
+ .Group-image {
+ width: 128rpx;
+ height: 128rpx;
+ margin: 84rpx 40rpx 84rpx 20rpx;
+ }
+
+
+ .content {
+
+ width: auto;
+ height: 201rpx;
+ margin-top: 48rpx;
+
+ }
+
+
+ .content .title1 {
+ font-size: 36rpx;
+ font-weight: 700;
+ }
+ .content .title2 {
+ font-size: 30rpx;
+ font-weight: 700;
+ }
+ .content .title3 {
+ font-size: 32rpx;
+ margin-left: 24rpx;
+ }
+ .content .title4 {
+ font-size: 28rpx;
+ color: #228BFE;
+ width: 132rpx;
+ height: 40rpx;
+ text-align: center;
+ background-color: #A5BBE0;
+ border-radius: 20rpx;
+ margin-left: 24rpx;
+ }
+
+ /* .flex-item{
+ display:flex;
+ height: 270rpx;
+ width: 670rpx;
+ border-radius: 20rpx;
+ margin-top: 20rpx;
+ } */
+
+ .content .tejia {
+ display: flex;
+ width: 446rpx;
+ margin-top: 24rpx;
+ }
+
+
+ .content .tejia .Price2 {
+ font-size: 30rpx;
+ color: #666666;
+ line-height: 41rpx;
+ margin-right: 23rpx;
+ }
+
+ .peisong-way{
+ width: 640rpx;
+ height: 128rpx;
+ background: #F6F6F6;
+ margin-right: 31rpx;
+ opacity: 1;
+ border-radius: 0px
+ }
+
+
+ .row-wrap .label{
+ width: 200rpx;
+ color: #000;
+ margin-left: 6rpx;
+ }
+ .row-wrap .label-right{
+ width: 500rpx;
+ height: 88rpx;
+ line-height: 88rpx;
+ text-align: right;
+ }
+ .row-wrap{
+ width: 100%;
+ height: 100rpx;
+ line-height: 88rpx;
+ margin-left: 0rpx;
+ border-bottom: 1rpx solid #eee;
+ display: flex;
+ font-size: 28rpx;
+ /*justify-content: space-between;*/
+ }
+ .row-wrap{
+ width: 100%;
+ height: 100rpx;
+ line-height: 88rpx;
+ margin-left: 0rpx;
+ border-bottom: 1rpx solid #eee;
+ display: flex;
+ font-size: 28rpx;
+ /*justify-content: space-between;*/
+ }
+ .row-wrap .label-right input{
+ height: 100%;
+ font-size: 28rpx;
+ padding-right: 30rpx;
+ }
+
+
+ /*选择器 */
+.section__title{
+ margin-bottom: 20rpx;
+}
+.section{
+ margin: 50rpx 0;
+ font-size: 30rpx;
+}
+
\ No newline at end of file
diff --git a/coupon/pages/reforderdetail/reforderdetail.js b/coupon/pages/reforderdetail/reforderdetail.js
new file mode 100644
index 0000000..b3fa049
--- /dev/null
+++ b/coupon/pages/reforderdetail/reforderdetail.js
@@ -0,0 +1,455 @@
+//获取应用实例
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ resp:{
+ "erro": 0,
+ "infro": {
+ "address": "陕西省西安市雁塔区长延居底商2层",
+ "charge_phone": "13772530001",
+ "goods_name": "【十亿补贴】【水光补水】嗨体水光【水光套餐】5ml 抗衰美白 嫩肤补水",
+ "id": "19fdf93c85c2f9f393a59bb8d64c3948",
+ "index_img": "https://www.zoowoo.net/uploadnv/2022/02/09/164437226246602.png",
+ "mechanism_name": "西安蜜芽购科技有限公司",
+ "num": "1",
+ "order_id": "2022021514543285003305",
+ "total_money": "0.01",
+ "wechat_logo": "https://www.zoowoo.net/uploadnv/2022/02/08/164430729380625.png"
+ },
+ "msg": "查询成功",
+ "refund": {}
+ },
+ dingdan_msg:false,
+ goods_id:'',
+ type:'',
+ fileListtwo: [],
+ reason:[],
+ id:'',
+ refund_remark:'',
+ voucher_img:'',
+ mengceng:false,
+ refund_box:false,
+ refund_id:'',
+ refund_name:'请选择',
+ goods_img:[],
+ list:[
+ {
+ text:'不喜欢/不想要',
+ },
+ {
+ text:'商品信息与描述不符'
+ },
+ {
+ text:'买多/买错/计划有变'
+ },
+ {
+ text:'更换其他项目、购买了其他项目'
+ },
+ {
+ text:'没有时间/个人原因'
+ },
+ {
+ text:'其他原因'
+ }
+ ]
+ },
+
+ afterReadtwo(event) {
+ var that = this;
+ const { file } = event.detail;
+ // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
+
+ wx.uploadFile({
+ url: app.buildUrl("/app/Goddesswechat/uploadImg"),
+ filePath: file.url,
+ name: 'file',
+ formData: {
+ uid:app.getCache('uid'),
+ token:app.getCache('token'),
+ file:file.url
+ },
+
+ success: (res)=> {
+ var resp = res.data;
+ var rstObj = JSON.parse(resp); //字符串转为对象
+ if(rstObj.erro==0){
+ app.console(rstObj.file_path+'cccccccc')
+
+ // 上传完成需要更新 fileList
+ const { fileListtwo = [] } = that.data;
+ fileListtwo.push({ ...file, url: rstObj.file_path ,name:rstObj.file_name});
+ that.setData({
+ fileListtwo,
+ voucher_img:rstObj.file_path
+ });
+ }else{
+ wx.showToast({ title: rstObj.msg, icon: 'none' });
+ return;
+ }
+ },
+ });
+ },
+ deletetwo(event){
+ app.console(event.detail.index+"================="+222),
+ this.data.fileListtwo.splice([event.detail.index],1)
+ this.setData({fileListtwo:this.data.fileListtwo});
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ console.log(options.type)
+ console.log(options.id)
+ //详情显示
+ if(options.type==2){
+ this.setData({
+ id:options.id,
+ type:2
+ })
+ this.refundOderInfor()
+ }
+ //退款编辑
+ if(options.type==3){
+ this.setData({
+ id:options.id,
+ type:3
+ })
+ this.refundOderInfor()
+ }
+ //退款驳回
+ if(options.type==1){
+ this.setData({
+ id:options.id,
+ type:1
+ })
+ this.refundOderInfor()
+ }
+ //待退款
+ if(options.type==4){
+ this.setData({
+ id:options.id,
+ type:4
+ })
+ this.refundOderInfor()
+ }
+ this.getRefundReason()
+ },
+ select(){
+ this.setData({
+ refund_box:true,
+ mengceng:true
+ })
+ },
+ mengceng(){
+ this.isok()
+ },
+ isok(){
+ this.setData({
+ refund_box:false,
+ mengceng:false
+ })
+},
+commit(){
+
+ //假逻辑
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.switchTab({
+ url: '/pages/order/order',
+ });
+ }, 2000) //延迟时间 这里是2秒
+
+ var that = this;
+ that.data.fileListtwo.forEach(item => {
+ app.console('长度=item================'+item)
+ const { goods_img = [] } = that.data;
+ goods_img.push(item.url);
+ that.setData({ goods_img });
+ }),
+ wx.request({
+ url: app.buildUrl("/app/Goddesswechat/submitRefund"),
+ header: app.getRequestHeader(),
+ method:'POST',
+ data: {
+ version_number: app.globalData.version_number,
+ uid:wx.getStorageSync('uid'),
+ token:wx.getStorageSync('token'),
+ id:this.data.id,
+ refund_id:this.data.refund_id,
+ refund_remark:this.data.refund_remark,
+ voucher_img:that.data.goods_img,
+ },
+ success: function (res) {
+ var resp = res.data;
+ console.log(resp+"=================dddddddddddddddddddddddddddddddddddddddddddd")
+ if(resp.erro==0){
+ wx.showToast({ title: resp.msg, icon: 'none' });
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.switchTab({
+ url: '/pages/order/order',
+ });
+ }, 2000) //延迟时间 这里是2秒
+ }else{
+ wx.showToast({ title: resp.msg, icon: 'none' });
+ }
+ }
+ });
+
+},
+ onClickLeft() {
+ wx.navigateBack()
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ // this.refundOderInfor();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ //退款订单详情
+ refundOderInfor: function () {
+ var that = this;
+ wx.request({
+ url: app.buildUrl("/app/Goddesswechat/refundOderInfor"),
+ header: app.getRequestHeader(),
+ method:'POST',
+ data: {
+ version_number: this.data.version_number,
+ uid:wx.getStorageSync('uid'),
+ token:wx.getStorageSync('token'),
+ id:this.data.id
+ },
+ success: function (res) {
+ var resp = res.data;
+ console.log(resp+"=================dddddddddddddddddddddddddddddddddddddddddddd")
+ console.log(resp.erro+"=================dddddddddddddddddddddddddddddddddddddddddddd")
+ if(resp.erro==0){
+ that.setData({
+ infro:resp.infro
+
+ });
+ }
+ }
+ });
+},
+
+radioChange(e) {
+ console.log('radio发生change事件,携带value值为:', e.detail.value)
+ this.setData({
+ refund_id:e.detail.value
+ })
+ const reason = this.data.reason
+ for (let i = 0, len = reason.length; i < len; ++i) {
+ reason[i].checked = reason[i].value === e.detail.value
+ }
+ this.setData({
+ reason
+ })
+
+ this.data.reason.forEach(item => {
+ if(this.data.refund_id==item.id){
+ this.setData({ refund_name:item.reason });
+ }
+ })
+ console.log('radio发生change事件,携带value值为:', this.data.refund_name)
+ this.isok()
+},
+//后台设置的退款原因
+getRefundReason: function () {
+ var that = this;
+ //假数据
+ var resp = {
+ "erro": 0,
+ "msg": "查询成功",
+ "reason": [
+ {
+ "id": "2",
+ "reason": "预约不到"
+ },
+ {
+ "id": "4",
+ "reason": "商品信息与描述不符"
+ },
+ {
+ "id": "6",
+ "reason": "以各种理由拒绝服务"
+ },
+ {
+ "id": "8",
+ "reason": "服务态度差,不友好"
+ },
+ {
+ "id": "9",
+ "reason": "没有时间"
+ },
+ {
+ "id": "10",
+ "reason": "买多/买错/计划有变"
+ },
+ {
+ "id": "12",
+ "reason": "更换其他项目/购买了其他项目"
+ },
+ {
+ "id": "13",
+ "reason": "其他原因"
+ }
+ ]
+};
+ console.log(resp+"=================dddddddddddddddddddddddddddddddddddddddddddd")
+ if(resp.erro==0){
+ that.setData({
+ reason:resp.reason
+
+ });
+ }
+// wx.request({
+// url: app.buildUrl("/app/Goddesswechat/getRefundReason"),
+// header: app.getRequestHeader(),
+// method:'POST',
+// data: {
+// version_number: app.globalData.version_number,
+// uid:wx.getStorageSync('uid'),
+// token:wx.getStorageSync('token'),
+// },
+// success: function (res) {
+// var resp = res.data;
+// console.log(resp+"=================dddddddddddddddddddddddddddddddddddddddddddd")
+// if(resp.erro==0){
+// that.setData({
+// reason:resp.reason
+
+// });
+// }
+// }
+// });
+},
+
+//退款订单信息
+refundOderInfor: function () {
+ var that = this;
+
+ if(this.data.resp.erro==0){
+ if(that.data.type==3){
+ that.setData({
+ infro:this.data.resp.infro,
+ });
+ }else{
+ that.setData({
+ infro:this.data.resp.infro,
+ refund:this.data.resp.refund,
+ refund_remark:this.data.resp.refund.refund_remark,
+ goods_img:this.data.resp.refund.voucher_img,
+ refund_id:this.data.resp.refund.refund_id
+ });
+ }
+ that.data.reason.forEach(item => {
+ if(that.data.refund_id==item.id){
+ that.setData({ refund_name:item.reason });
+ }
+ })
+ if(that.data.goods_img.length>0){
+ that.data.goods_img.forEach(item => {
+ app.console('长度=item================'+item)
+ const { fileListtwo = [] } = that.data;
+ fileListtwo.push({ url: item });
+ that.setData({ fileListtwo });
+ })
+ that.setData({
+ goods_img:[]
+ })
+ }
+ }
+// wx.request({
+// url: app.buildUrl("/app/Goddesswechat/refundOderInfor"),
+// header: app.getRequestHeader(),
+// method:'POST',
+// data: {
+// version_number: app.globalData.version_number,
+// uid:wx.getStorageSync('uid'),
+// token:wx.getStorageSync('token'),
+// id:this.data.id
+// },
+// success: function (res) {
+// var resp = res.data;
+// if(resp.erro==0){
+// if(that.data.type==3){
+// that.setData({
+// infro:resp.infro,
+// });
+// }else{
+// that.setData({
+// infro:resp.infro,
+// refund:resp.refund,
+// refund_remark:resp.refund.refund_remark,
+// goods_img:resp.refund.voucher_img,
+// refund_id:resp.refund.refund_id
+// });
+// }
+// that.data.reason.forEach(item => {
+// if(that.data.refund_id==item.id){
+// that.setData({ refund_name:item.reason });
+// }
+// })
+// if(that.data.goods_img.length>0){
+// that.data.goods_img.forEach(item => {
+// app.console('长度=item================'+item)
+// const { fileListtwo = [] } = that.data;
+// fileListtwo.push({ url: item });
+// that.setData({ fileListtwo });
+// })
+// that.setData({
+// goods_img:[]
+// })
+// }
+// }
+// }
+// });
+},
+})
\ No newline at end of file
diff --git a/coupon/pages/reforderdetail/reforderdetail.json b/coupon/pages/reforderdetail/reforderdetail.json
new file mode 100644
index 0000000..7249a3c
--- /dev/null
+++ b/coupon/pages/reforderdetail/reforderdetail.json
@@ -0,0 +1,7 @@
+{
+ "usingComponents": {
+ "van-nav-bar":"/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index",
+ "van-uploader": "/miniprogram/miniprogram_npm/@vant/weapp/uploader/index"
+ },
+ "navigationBarTitleText": "订单详情"
+}
\ No newline at end of file
diff --git a/coupon/pages/reforderdetail/reforderdetail.wxml b/coupon/pages/reforderdetail/reforderdetail.wxml
new file mode 100644
index 0000000..bbe0560
--- /dev/null
+++ b/coupon/pages/reforderdetail/reforderdetail.wxml
@@ -0,0 +1,142 @@
+
+
+
+
+ 未核销
+ 已核销
+
+
+
+
+ {{"专业陪护服务"}}
+ 数量x{{infro.num}}
+ 实付款:¥{{infro.total_money}}
+
+
+
+
+
+
+
+
+
+ 核销时间
+ {{infro.jurisdiction_time}}
+
+
+ 操作人
+ {{infro.jurisdiction_name}}
+
+
+
+
+
+
+ 退款成功
+
+
+ 退款金额已原路返回
+
+
+
+
+
+ 退款失败,请修改申请
+
+
+ 失败原因:请重新填写您的退款申请
+
+
+
+
+
+
+
+ 退款原因:
+ {{refund_name}}
+ 请选择>
+
+
+
+ 退款金额:
+ ¥{{infro.total_money}}
+
+
+ 不可修改,最多¥99
+
+
+
+ 退款说明:
+ 选填
+
+
+
+
+
+
+
+
+
+
+
+
+ 申请时间:
+ {{refund.check_time}}
+
+
+
+
+退款申请提交后,支付款项将原路退回
+退款时间1-5个工作日
+
+
+提交申请
+
+
+
+修改申请
+
+
+
+
+
+
+
+
+
+
+ 退款原因
+
+
+
+ {{item.reason}}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coupon/pages/reforderdetail/reforderdetail.wxss b/coupon/pages/reforderdetail/reforderdetail.wxss
new file mode 100644
index 0000000..0d32768
--- /dev/null
+++ b/coupon/pages/reforderdetail/reforderdetail.wxss
@@ -0,0 +1,271 @@
+/* pages/orderdetail/orderdetail.wxss */
+page {
+ background: #e5e5e5;
+}
+
+.time_msg {
+ font-size: 24rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 66rpx;
+ color: #5B5B5B;
+ opacity: 1;
+ float: left;
+}
+
+.status_msg {
+ font-size: 24rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 66rpx;
+ color: #FF6A6A;
+ opacity: 1;
+ float: right;
+}
+
+.details_box {
+ display: flex;
+ padding: 0 24rpx;
+ padding-bottom: 32rpx;
+}
+
+.title {
+ width: 430rpx;
+ height: 86rpx;
+ font-size: 30rpx;
+ font-family: PingFang SC;
+ font-weight: bold;
+ line-height: 44rpx;
+ color: #222222;
+ opacity: 1;
+ margin-top: 16rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.detail_number {
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 37rpx;
+ color: #B4B4B4;
+ opacity: 1;
+ margin-top: 11rpx;
+}
+
+.money {
+ margin-top: 18rpx;
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 37rpx;
+ color: #B4B4B4;
+ opacity: 1;
+
+}
+
+.detail_btn {
+ margin-top: 20rpx;
+ margin-right: 30rpx;
+ float: right;
+ /* position: absolute; */
+
+ /* bottom: 22rpx;
+ right: 24rpx; */
+ /* min-width: 140rpx; */
+ height: 57rpx;
+ /* background: #000; */
+ border: 1rpx solid #FF4A4A;
+ border-radius: 34rpx;
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 57rpx;
+ color: #FF4A4A;
+ opacity: 1;
+ text-align: center;
+ /* padding: 0 31rpx; */
+}
+
+.contact {
+ height: 167rpx;
+ background: #fff;
+ margin-top: 8rpx;
+ padding: 0 24rpx;
+}
+
+.contact_title {
+ font-size: 30rpx;
+ font-family: PingFang SC;
+ font-weight: 500;
+ color: #333333;
+ opacity: 1;
+ position: relative;
+ top: 13rpx;
+ margin-bottom:36rpx;
+
+}
+
+.information {
+ background: #fff;
+ height: 539rpx;
+ margin-top: 8rpx;
+ padding: 0 24rpx;
+}
+
+.informationtwo {
+ background: #fff;
+ height: 1050rpx;
+ margin-top: 8rpx;
+ padding: 0 24rpx;
+}
+
+.information_title {
+ font-size: 26rpx;
+ color: #686868;
+}
+.information_titlee {
+ font-size: 26rpx;
+ color: #686868;
+ position: absolute;right: 24rpx;
+
+}
+.mengceng {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: #000;
+ opacity: 0.7;
+}
+
+.qxdd {
+ position: fixed;
+ left: 95rpx;
+ bottom: 50%;
+ width: 560rpx;
+ height: 247rpx;
+ background: #fff;
+ border-radius: 20rpx;
+
+}
+
+.msg_btn {
+ width: 50%;
+ line-height: 85rpx;
+ text-align: center;
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 500;
+ color: #4A4A4A;
+ opacity: 1;
+}
+
+.msg_title {
+ height: 161rpx;
+ line-height: 161rpx;
+ text-align: center;
+ font-size: 28rpx;
+ color: #4A4A4A;
+ font-family: PingFang SC;
+ font-weight: 500;
+ border-bottom: 1px solid #EBEBEB;
+}
+
+.erweima_tanchang {
+ position: fixed;
+ left: 95rpx;
+ bottom: 40%;
+ width: 560rpx;
+ height: 446rpx;
+ background: #fff;
+ border-radius: 20rpx;
+ text-align: center;
+}
+
+.refund_box {
+ position: fixed;
+ background: #fff;
+ bottom: 0;
+ width: 100%;
+ border-radius: 40rpx 40rpx 0px 0px;
+ /* text-align: center; */
+}
+
+.gang {
+ width: 102rpx;
+ height: 8rpx;
+ background: #CCCCCC;
+ border-radius: 103rpx;
+ margin: 0 auto;
+ margin-top: 23rpx;
+ margin-bottom: 15rpx;
+}
+
+.refund_title {
+ font-size: 34rpx;
+ font-family: PingFang SC;
+ font-weight: bold;
+ line-height: 48rpx;
+ color: #2D2D2F;
+ opacity: 1;
+ margin-bottom: 5rpx;
+ text-align: center;
+}
+
+.list_box {
+ margin: 0 41rpx 0 25rpx;
+ display: flex;
+ justify-content: space-between;
+ height: 102rpx;
+ line-height: 102rpx;
+ border-bottom: 1rpx solid #E8E8E8;
+}
+
+
+.peisong-way{
+ width: 695rpx;
+ height: 228rpx;
+ background: #F6F6F6;
+ margin-right: 31rpx;
+ opacity: 1;
+ border-radius: 0px
+}
+
+
+.addperson{
+ width: 100%;height: 100rpx;opacity: 1;display: flex; align-items: center; justify-content: center;
+}
+
+.text{
+ font-size: 28rpx;font-family: PingFang SC;color: #FFFFFF;
+ opacity: 1;width: 50%;display:flex;justify-content: center; align-items: center;
+ height: 100rpx;
+}
+.mengceng {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: #000;
+ opacity: 0.7;
+}
+
+.textarea-wrp {
+ padding: 0 0rpx;
+ background-color: #fff;
+ height: 228rpx;
+}
+.page-section{
+ width: 100%;
+ margin-bottom: 60rpx;
+}
+textarea {
+ width: 700rpx;
+ padding: 25rpx 0;
+}
diff --git a/coupon/pages/tuiguang/extensionInfor.js b/coupon/pages/tuiguang/extensionInfor.js
new file mode 100644
index 0000000..c9f4e39
--- /dev/null
+++ b/coupon/pages/tuiguang/extensionInfor.js
@@ -0,0 +1,66 @@
+// pages/tuiguang/extensionInfor.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/coupon/pages/tuiguang/extensionInfor.wxml b/coupon/pages/tuiguang/extensionInfor.wxml
new file mode 100644
index 0000000..43182da
--- /dev/null
+++ b/coupon/pages/tuiguang/extensionInfor.wxml
@@ -0,0 +1,2 @@
+
+pages/tuiguang/extensionInfor.wxml
diff --git a/coupon/pages/webpage/webpage.js b/coupon/pages/webpage/webpage.js
new file mode 100644
index 0000000..f207fdd
--- /dev/null
+++ b/coupon/pages/webpage/webpage.js
@@ -0,0 +1,15 @@
+// pages/webview/index.js
+Page({
+ data: {
+ url: ""
+ },
+ onLoad(options) {
+
+ console.log("列表条目的index==" + options.url)
+ if(options.url){
+ this.setData({
+ url: decodeURIComponent(options.url) // 如果url后面还有参数需要转码一下否则会丢失
+ })
+ }
+ }
+})
diff --git a/coupon/pages/webpage/webpage.json b/coupon/pages/webpage/webpage.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/coupon/pages/webpage/webpage.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/coupon/pages/webpage/webpage.wxml b/coupon/pages/webpage/webpage.wxml
new file mode 100644
index 0000000..89e85a1
--- /dev/null
+++ b/coupon/pages/webpage/webpage.wxml
@@ -0,0 +1,2 @@
+
+
diff --git a/coupon/pages/webpage/webpage.wxss b/coupon/pages/webpage/webpage.wxss
new file mode 100644
index 0000000..fbcaffe
--- /dev/null
+++ b/coupon/pages/webpage/webpage.wxss
@@ -0,0 +1 @@
+/* pages/webpage/webpage.wxss */
\ No newline at end of file
diff --git a/coupon/pages/wodeqianbao/qianbao.js b/coupon/pages/wodeqianbao/qianbao.js
new file mode 100644
index 0000000..a3ab275
--- /dev/null
+++ b/coupon/pages/wodeqianbao/qianbao.js
@@ -0,0 +1,194 @@
+//获取应用实例
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ resp:{
+ "currentPage": 1,
+ "detail": [
+ {
+ "account_type_name": "微信提现",
+ "money": "-5.79",
+ "time": "2022-02-24 10:40:03",
+ "type": "-1"
+ },
+ {
+ "account_type_name": "订单退款",
+ "money": "0.01",
+ "time": "2022-02-23 15:22:05",
+ "type": "1"
+ },
+ {
+ "account_type_name": "购买商品",
+ "money": "-0.01",
+ "time": "2022-02-23 09:27:31",
+ "type": "-1"
+ },
+ {
+ "account_type_name": "购买商品",
+ "money": "-0.10",
+ "time": "2022-02-22 11:48:20",
+ "type": "-1"
+ },
+ {
+ "account_type_name": "订单退款",
+ "money": "0.01",
+ "time": "2022-02-18 16:31:09",
+ "type": "1"
+ },
+ {
+ "account_type_name": "订单退款",
+ "money": "0.01",
+ "time": "2022-02-17 11:06:04",
+ "type": "1"
+ },
+ {
+ "account_type_name": "订单退款",
+ "money": "2.00",
+ "time": "2022-02-17 10:59:13",
+ "type": "1"
+ },
+ {
+ "account_type_name": "购买商品",
+ "money": "-2.00",
+ "time": "2022-02-16 10:31:46",
+ "type": "-1"
+ },
+ {
+ "account_type_name": "订单退款",
+ "money": "2.00",
+ "time": "2022-02-16 10:25:33",
+ "type": "1"
+ },
+ {
+ "account_type_name": "购买商品",
+ "money": "-2.00",
+ "time": "2022-02-16 10:01:25",
+ "type": "-1"
+ }
+ ],
+ "erro": 0,
+ "lastPage": 6,
+ "msg": "获取数据成功",
+ "total": 52
+ },
+ order_list:[],
+ navHeight: '',
+ menuButtonInfo: {},
+ searchMarginTop: 0, // 搜索框上边距
+ searchWidth: 0, // 搜索框宽度
+ searchHeight: 0 // 搜索框高度
+ },
+ back(){
+ wx.navigateBack()
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ wx.setNavigationBarTitle({
+ title: '我的钱包'
+ })
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ this.getGoodsList();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ // 跳转详情
+ activity(e){
+
+ if (e.currentTarget.dataset.id != 0) {
+ console.log("你选择的课程id是"+e.currentTarget.dataset.id);
+ wx.navigateTo({
+ url: "/shopping/pages/goddess/goddess?id=" + e.currentTarget.dataset.id,
+ });
+ }
+
+ },
+ //商品列表
+ getGoodsList: function () {
+ var that = this;
+
+
+ //假数据
+ if(this.data.resp.erro==0){
+ that.setData({
+ order_list:this.data.resp.detail
+ });
+ }
+
+
+ wx.request({
+ url: app.buildUrl("/app/Goddesswechat/getCapitalDetails"),
+ header: app.getRequestHeader(),
+ method:'POST',
+ data: {
+ version_number: this.data.version_number,
+ uid:wx.getStorageSync('uid'),
+ token:wx.getStorageSync('token'),
+ page:'1',
+ page_size:10,
+ },
+ success: function (res) {
+ var resp = res.data;
+ console.log(resp+"=================dddddddddddddddddddddddddddddddddddddddddddd")
+ console.log(resp.erro+"=================dddddddddddddddddddddddddddddddddddddddddddd")
+ if(resp.erro==0){
+ that.setData({
+ order_list:resp.detail
+ });
+ }
+ }
+ });
+ },
+
+})
\ No newline at end of file
diff --git a/coupon/pages/wodeqianbao/qianbao.json b/coupon/pages/wodeqianbao/qianbao.json
new file mode 100644
index 0000000..21582e1
--- /dev/null
+++ b/coupon/pages/wodeqianbao/qianbao.json
@@ -0,0 +1,4 @@
+{
+ "usingComponents": {},
+ "navigationBarTitleText": "我的收藏"
+}
\ No newline at end of file
diff --git a/coupon/pages/wodeqianbao/qianbao.wxml b/coupon/pages/wodeqianbao/qianbao.wxml
new file mode 100644
index 0000000..0c01c26
--- /dev/null
+++ b/coupon/pages/wodeqianbao/qianbao.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+ 退款到账
+ 提现
+ {{item.time}}
+
+
+
+
+ ¥{{item.money}}
+
+
+
+
+
\ No newline at end of file
diff --git a/coupon/pages/wodeqianbao/qianbao.wxss b/coupon/pages/wodeqianbao/qianbao.wxss
new file mode 100644
index 0000000..3b6b16b
--- /dev/null
+++ b/coupon/pages/wodeqianbao/qianbao.wxss
@@ -0,0 +1,116 @@
+/* pages/activity/activity.wxss */
+.Group {
+ height: 120rpx;
+ display: flex;
+ border-bottom: 1px solid #f5f5f5;
+ align-items: center;
+ }
+
+
+
+ .Group-image image {
+ width: 100%;
+ height: 100%;
+ }
+
+
+
+ .title1 {
+ font-size: 28rpx;
+ color: #3D3D3D;
+ }
+
+ .title2 {
+ font-size: 26rpx;
+ color: #A8A8A8;
+ margin-top: 8rpx;
+ }
+
+ .content .title2 .house {
+ width: 28rpx;
+ height: 28rpx;
+ margin-right: 7rpx;
+ margin-top: 5rpx;
+ }
+
+ .content .title2 .house image {
+ width: 100%;
+ height: 100%;
+ }
+
+
+
+ .Price1 {
+ display: flex;
+ font-size: 28rpx;
+ color: #FF4A4A;
+ line-height: 42rpx;
+ margin-right: 17rpx;
+ }
+
+ .content .Price .Price2 {
+ font-size: 24rpx;
+ color: #CBCBCB;
+ line-height: 41rpx;
+ margin-right: 23rpx;
+ text-decoration:line-through;
+ }
+
+ .content .Price .Price3 {
+ width: 51rpx;
+ height: 21rpx;
+ font-size: 15rpx;
+ color: #E75D4D;
+ border: 1px solid #E75D4D;
+ border-radius: 4rpx;
+ text-align: center;
+ line-height: 18rpx;
+ margin-top: 10rpx;
+ }
+
+ .order-list{
+ width: 100%;
+ }
+
+
+
+
+ /* _______________________________________ */
+ view {
+ box-sizing: border-box;
+ overflow: hidden;
+ }
+ .custom-bar {
+ /* background-color: #aaa; */
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100%;
+ }
+ .custom-bar__wrapper {
+ padding: 0 10rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+ .search-group {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ border-radius: 60rpx;
+ /* padding: 0 10rpx; */
+ padding-left: 25rpx;
+ background: #F5F5F5;
+ }
+ .search-group > input {
+ font-size: 25rpx;
+ width: 800rpx;
+ }
+ .search-group > image {
+ height: 32rpx;
+ width: 32rpx;
+ margin-right: 20rpx
+ }
+
\ No newline at end of file
diff --git a/coupon/project.config.json b/coupon/project.config.json
new file mode 100644
index 0000000..4a19c28
--- /dev/null
+++ b/coupon/project.config.json
@@ -0,0 +1,80 @@
+{
+ "description": "项目配置文件",
+ "packOptions": {
+ "ignore": [],
+ "include": []
+ },
+ "setting": {
+ "urlCheck": false,
+ "es6": true,
+ "enhance": true,
+ "postcss": true,
+ "preloadBackgroundData": false,
+ "minified": true,
+ "newFeature": false,
+ "coverView": true,
+ "nodeModules": true,
+ "autoAudits": false,
+ "showShadowRootInWxmlPanel": true,
+ "scopeDataCheck": false,
+ "uglifyFileName": false,
+ "checkInvalidKey": true,
+ "checkSiteMap": false,
+ "uploadWithSourceMap": true,
+ "compileHotReLoad": false,
+ "lazyloadPlaceholderEnable": false,
+ "useMultiFrameRuntime": true,
+ "useApiHook": true,
+ "useApiHostProcess": true,
+ "babelSetting": {
+ "ignore": [],
+ "disablePlugins": [],
+ "outputPath": ""
+ },
+ "enableEngineNative": false,
+ "useIsolateContext": false,
+ "userConfirmedBundleSwitch": false,
+ "packNpmManually": true,
+ "packNpmRelationList": [
+ {
+ "packageJsonPath": "./package.json",
+ "miniprogramNpmDistDir": "./miniprogram/"
+ }
+ ],
+ "minifyWXSS": true,
+ "disableUseStrict": false,
+ "minifyWXML": true,
+ "showES6CompileOption": false,
+ "useCompilerPlugins": false,
+ "condition": false,
+ "ignoreUploadUnusedFiles": true
+ },
+ "compileType": "miniprogram",
+ "libVersion": "2.21.0",
+ "appid": "wx2d5ca40a16ebd1b3",
+ "projectname": "coupon",
+ "condition": {
+ "search": {
+ "list": []
+ },
+ "conversation": {
+ "list": []
+ },
+ "game": {
+ "list": []
+ },
+ "plugin": {
+ "list": []
+ },
+ "gamePlugin": {
+ "list": []
+ },
+ "miniprogram": {
+ "list": []
+ }
+ },
+ "editorSetting": {
+ "tabIndent": "insertSpaces",
+ "tabSize": 2
+ }
+}
\ No newline at end of file
diff --git a/coupon/project.private.config.json b/coupon/project.private.config.json
new file mode 100644
index 0000000..24f561b
--- /dev/null
+++ b/coupon/project.private.config.json
@@ -0,0 +1,103 @@
+{
+ "setting": {
+ "compileHotReLoad": true
+ },
+ "condition": {
+ "miniprogram": {
+ "list": [
+ {
+ "name": "pages/my/my",
+ "pathName": "pages/my/my",
+ "query": "",
+ "scene": null
+ },
+ {
+ "name": "pages/cardBag/cardBag",
+ "pathName": "pages/cardBag/cardBag",
+ "query": "",
+ "scene": null
+ },
+ {
+ "name": "pages/activity/activity",
+ "pathName": "pages/activity/activity",
+ "query": "id=c3f25473cecb3046a6eeb2c65972e598",
+ "scene": null
+ },
+ {
+ "name": "pages/appointmentDetails/appointmentDetails",
+ "pathName": "pages/appointmentDetails/appointmentDetails",
+ "query": "id=e0634114eff75b1acb6e8a21add8092f",
+ "scene": null
+ },
+ {
+ "name": "pages/appointmentDetails/appointmentDetails",
+ "pathName": "pages/appointmentDetails/appointmentDetails",
+ "query": "id=deba7d0fabab08e2328763a519942645",
+ "scene": null
+ },
+ {
+ "name": "pages/appointmentDetails/appointmentDetails",
+ "pathName": "pages/appointmentDetails/appointmentDetails",
+ "query": "id=50344c7b7445319cdc575e939e21e037",
+ "scene": null
+ },
+ {
+ "name": "pages/cardBag/cardBag",
+ "pathName": "pages/cardBag/cardBag",
+ "query": "",
+ "scene": null
+ },
+ {
+ "name": "团购",
+ "pathName": "pages/index/index",
+ "query": "",
+ "scene": null
+ },
+ {
+ "name": "pages/goddess/goddess",
+ "pathName": "pages/goddess/goddess",
+ "query": "",
+ "scene": null
+ },
+ {
+ "name": "pages/mechanism/mechanism",
+ "pathName": "pages/mechanism/mechanism",
+ "query": "",
+ "scene": null
+ },
+ {
+ "name": "pages/index/index",
+ "pathName": "pages/index/index",
+ "query": "",
+ "scene": null
+ },
+ {
+ "name": "pages/order/order",
+ "pathName": "pages/order/order",
+ "query": "",
+ "scene": null
+ },
+ {
+ "name": "pages/institutions/institutions",
+ "pathName": "pages/institutions/institutions",
+ "query": "",
+ "scene": null
+ },
+ {
+ "name": "shopping/pages/paysuccess/paysuccess",
+ "pathName": "shopping/pages/paysuccess/paysuccess",
+ "query": "",
+ "scene": null
+ },
+ {
+ "name": "shopping/pages/withdrawal/withdrawal",
+ "pathName": "shopping/pages/withdrawal/withdrawal",
+ "query": "",
+ "scene": null
+ }
+ ]
+ }
+ },
+ "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
+ "projectname": "coupon"
+}
\ No newline at end of file
diff --git a/coupon/shopping/image/Alipay.png b/coupon/shopping/image/Alipay.png
new file mode 100644
index 0000000..7fa906a
Binary files /dev/null and b/coupon/shopping/image/Alipay.png differ
diff --git a/coupon/shopping/image/WeChat.png b/coupon/shopping/image/WeChat.png
new file mode 100644
index 0000000..3a11d2a
Binary files /dev/null and b/coupon/shopping/image/WeChat.png differ
diff --git a/coupon/shopping/image/back_home.png b/coupon/shopping/image/back_home.png
new file mode 100644
index 0000000..a9d91d8
Binary files /dev/null and b/coupon/shopping/image/back_home.png differ
diff --git a/coupon/shopping/image/userimg.png b/coupon/shopping/image/userimg.png
new file mode 100644
index 0000000..0cbfd55
Binary files /dev/null and b/coupon/shopping/image/userimg.png differ
diff --git a/coupon/shopping/pages/goddess/goddess.js b/coupon/shopping/pages/goddess/goddess.js
new file mode 100644
index 0000000..de9413b
--- /dev/null
+++ b/coupon/shopping/pages/goddess/goddess.js
@@ -0,0 +1,288 @@
+const app = getApp()
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ height: '',
+ seckill_start: '请输入开始日期',
+ seckill_endx: '请输入结束日期',
+ time: 30 * 60 * 60 * 1000,
+ timeflag: 0,
+ userInfo: {},
+ item: {},
+ hasUserInfo: false,
+ date: '',
+ paymoney: 0,
+ phone: wx.getStorageSync('phone'),
+ uidFlag: wx.getStorageSync('uidFlag'),
+ goods_detail_img: [],
+ indicatorDots: true,
+ autoplay: true,
+ interval: 5000,
+ duration: 1300,
+ id: 0,
+ order_id: '',
+ timeData: {},
+ Height: "", //这是swiper要动态设置的高度属性
+ charge_phone: '',
+ is_ok_click: false,
+ clock: '',
+ address: '',
+ danjia: 0.01,//单位为元
+ beizhu: '',
+ },
+
+
+ // 确认支付
+ confirm_pay: async function () {
+ var that = this;
+ if (!this.data.is_ok_click) {
+ that.setData({
+ is_ok_click: true
+ })
+ //你要执行的操作
+ this.payment()
+ setTimeout(function () {
+ that.setData({
+ is_ok_click: false
+ })
+ }, 10000) //阻止一秒点击多次
+ } else {
+ // wx.showToast({ title:'请勿重复操作!', icon: 'none' });
+ }
+ },
+ //获取单价
+ getprice: function () {
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/config/configKey/price',
+ header: app.getRequestHeader(),
+ method: 'GET',
+ data: {},
+ success: (res) => {
+ var resp = res.data;
+ if (res.data.code == 200) {
+ that.setData({
+ special_offer: resp.data,
+ });
+ }
+ }
+ });
+ },
+ //获取类型
+ getpriceType: function () {
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/config/configKey/priceType',
+ header: app.getRequestHeader(),
+ method: 'GET',
+ data: {},
+ success: (res) => {
+ var resp = res.data;
+ if (res.data.code == 200) {
+ that.setData({
+ special_offer: resp.data,
+ });
+ }
+ }
+ });
+ },
+ payment() {
+ if (this.data.seckill_start == "请输入开始日期") {
+ wx.showToast({
+ title: '请输入开始日期',
+ icon: 'none'
+ });
+ return
+ }
+ if (this.data.seckill_endx == "请输入结束日期") {
+ wx.showToast({
+ title: '请输入结束日期',
+ icon: 'none'
+ });
+ return
+ }
+ var that = this;
+ wx.request({
+ url: app.globalData.url + '/system/order',
+ data: {
+ startTime: this.data.seckill_start,
+ endTime: this.data.seckill_endx,
+ bId: this.data.item.userId,
+ yuguMoney: this.data.paymoney,
+ price: this.data.danjia,//
+ priceType: "1",//1是按天
+ hospitalId: this.data.item.hospitalId,
+ cId: wx.getStorageSync('uid'),
+ remark: this.data.beizhu,
+ },
+ method: 'POST',
+ header: {
+ 'content-type': 'application/json',
+ 'Authorization': 'Bearer ' + app.getCache("token")
+ },
+ success(res) {
+ if (res.data.code == 200) {
+ that.setData({
+ order_id: res.data.data.orderId,
+ })
+ console.log('order_id==' + res.data.data.orderId)
+ app.console(that.data.order_id + "======要传的order_id")
+ wx.navigateTo({
+ url: '/shopping/pages/paysuccess/paysuccess?' + "order_id=" + that.data.order_id,
+ });
+ // console.log('timeStamp==' + res.data.data.timeStamp)
+ // console.log('nonceStr==' + res.data.data.nonceStr)
+ // console.log('package==' + res.data.data.package)
+ // console.log('signType==' + res.data.data.signType)
+ // console.log('paySign==' + res.data.data.paySign)
+ // wx.requestPayment({
+ // timeStamp: res.data.data.timeStamp,
+ // nonceStr: res.data.data.nonceStr,
+ // package: res.data.data.package,
+ // signType: res.data.data.signType,
+ // paySign: res.data.data.paySign,
+ // success(res) {
+ // console.log('支付成功');
+ // app.console(that.data.order_id + "======要传的order_id")
+ // wx.navigateTo({
+ // url: '/shopping/pages/paysuccess/paysuccess?' + "order_id=" + that.data.order_id,
+ // });
+ // },
+ // fail(res) {
+ // console.log('支付失败');
+ // }
+ // })
+
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ icon: 'error',
+ duration: 2000
+ })
+ }
+ }
+ })
+ },
+
+ bindDateChange: function (e) {
+ this.setData({
+ seckill_start: e.detail.value
+ })
+ },
+ bindDateChangetwo: function (e) {
+ this.setData({
+ seckill_endx: e.detail.value,
+ })
+ var day = this.checkDate()
+ var totalmoney = this.data.danjia* day;
+ var money = totalmoney.toFixed(2)
+ this.setData({
+ paymoney: money
+ })
+ },
+ checkDate: function () {
+ //日期格式化
+ var start_date = new Date(this.data.seckill_start.replace(/-/g, "/"));
+ var end_date = new Date(this.data.seckill_endx.replace(/-/g, "/"));
+ //转成毫秒数,两个日期相减
+ var ms = end_date.getTime() - start_date.getTime();
+ //转换成天数
+ var day = parseInt(ms / (1000 * 60 * 60 * 24));
+ //do something
+ console.log("day = ", day);
+ return day + 1
+ },
+ onClickLeft() {
+ wx.navigateBack()
+ },
+ onChange(e) {
+ this.setData({
+ timeData: e.detail,
+ });
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (e) {
+ var statusBarHeight = wx.getSystemInfoSync().statusBarHeight;
+ this.setData({
+ statusBarHeight: statusBarHeight,
+ height: 46 + statusBarHeight,
+ });
+ var that = this;
+ let item = JSON.parse(e.item);
+ that.setData({
+ item: item
+ });
+ },
+ /**
+ * 拨打电话
+ */
+ callphone() {
+ wx.makePhoneCall({
+ phoneNumber: this.data.charge_phone,
+ })
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ var that = this;
+ this.getprice();
+ this.getpriceType();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ login: function (e) {
+
+ },
+
+})
\ No newline at end of file
diff --git a/coupon/shopping/pages/goddess/goddess.json b/coupon/shopping/pages/goddess/goddess.json
new file mode 100644
index 0000000..673f641
--- /dev/null
+++ b/coupon/shopping/pages/goddess/goddess.json
@@ -0,0 +1,11 @@
+{
+ "usingComponents": {
+ "van-count-down": "/miniprogram/miniprogram_npm/@vant/weapp/count-down/index",
+ "van-switch": "/miniprogram/miniprogram_npm/@vant/weapp/switch/index",
+ "van-button": "/miniprogram/miniprogram_npm/@vant/weapp/button/index",
+ "van-calendar": "/miniprogram/miniprogram_npm/@vant/weapp/calendar/index",
+ "van-cell": "/miniprogram/miniprogram_npm/@vant/weapp/cell/index",
+ "van-nav-bar":"/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index"
+ },
+ "navigationBarTitleText": "下单"
+}
\ No newline at end of file
diff --git a/coupon/shopping/pages/goddess/goddess.wxml b/coupon/shopping/pages/goddess/goddess.wxml
new file mode 100644
index 0000000..e245917
--- /dev/null
+++ b/coupon/shopping/pages/goddess/goddess.wxml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.nickName}}
+ ({{"陪护员"}})
+ {{"男"}}
+ {{"女"}}
+ {{item.experience}}经验
+
+
+ {{"简介:从事陪诊服务2年,服务细心,热情周到,有耐心、责任心强。"}}
+
+
+
+
+
+
+
+
+ 电话:{{item.phonenumber}}
+
+
+
+ 地址:{{item.address}}
+
+
+
+
+ {{"陪护时间选择"}}
+
+
+
+
+ 开始日期
+
+
+
+ {{seckill_start}}
+
+
+
+
+
+ 结束日期
+
+
+
+ {{seckill_endx}}
+
+
+
+
+
+
+
+
+
+ {{"备注"}}
+
+
+
+
+
+
+
+
+
+
+ 计费说明:一小时50元,服务时间(上午8:30-12:30下午14:00-18:00)
+
+
+
+
+
+
+ 预计金额:
+ {{paymoney}}
+ 元
+
+ 提交订单
+
+
\ No newline at end of file
diff --git a/coupon/shopping/pages/goddess/goddess.wxss b/coupon/shopping/pages/goddess/goddess.wxss
new file mode 100644
index 0000000..d79ac53
--- /dev/null
+++ b/coupon/shopping/pages/goddess/goddess.wxss
@@ -0,0 +1,390 @@
+/* pages/goddess/goddess.wxss */
+
+page{
+ background: #F8F8F8;
+}
+image {
+ width: 100%;
+ height: 100%;
+
+}
+
+.Category {
+ display: flex;
+}
+
+.Category .Price {
+ width: 449rpx;
+ height: 107rpx;
+ background: #FF4C00;
+ display: flex;
+}
+.card_cont{
+ display: flex;
+ flex-direction: column;
+ background: #fff;
+ width: 85%;
+ margin: 0 auto;
+ margin-top: 0rpx;
+ box-shadow: 0px 0px 6px rgba(152, 152, 152, 0.16);
+ border-radius: 10rpx;
+ padding: 20rpx;
+}
+
+.card_con{
+ display: flex;
+ flex-direction: column;
+ background: #fff;
+ border-radius: 10rpx;
+ margin-left: 40rpx;
+ margin-right: 40rpx;
+}
+.card_cont_top{
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: center;
+}
+.card_top_left{
+ color: #E54F54;
+ font-size: 36rpx;
+}
+.card_top_left text:first-child{
+ font-size: 55rpx;
+ padding: 0 20rpx 0 0;
+ /* border: 1px solid red; */
+}
+.card_top_left text:last-child{
+ font-size: 24rpx;
+}
+.Price .Price-left {
+ margin: 8rpx 0 0 32rpx;
+}
+
+.Price .Price-left text:nth-child(1) {
+ font-size: 34rpx;
+ color: #FFFFFF;
+ font-weight: 700;
+ line-height: 48rpx;
+}
+
+.Price .Price-left text:nth-child(2) {
+ font-size: 24rpx;
+ color: #FFFFFF;
+ text-decoration: line-through;
+ margin-left: 5rpx;
+}
+
+/* 销售 */
+.Category .Price .sale {
+ font-size: 26rpx;
+ color: #FFFFFF;
+}
+
+/* 库存 */
+.Category .Price .stock {
+ font-size: 24rpx;
+ color: #FFFFFF;
+ margin: 16rpx 0 0 33rpx;
+}
+
+.triangle {
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-width: 15rpx;
+ border-style: solid;
+ border-color: transparent #00B39B transparent transparent;
+ left: -28rpx;
+ top: 40rpx;
+}
+
+.Category .limit {
+ position: relative;
+ width: 301rpx;
+ height: 107rpx;
+ background: #00B39B;
+}
+
+.limit .seckill {
+ display: flex;
+ font-size: 24rpx;
+ margin: 16rpx 86rpx 8rpx 86rpx;
+ color: #FFFFFF;
+}
+
+/* 倒计时 */
+.limit .count {
+ text-align: center;
+ color: #FFFFFF;
+}
+
+/* 文字标题 */
+.title {
+ padding: 27rpx;
+ display: flex;
+}
+.substance {
+ /* margin-top: 53rpx; */
+ justify-content: space-between;
+ margin: 10rpx 24rpx 0rpx 31rpx;
+}
+ .details_box {
+ display: flex;
+ border-bottom: 1px solid #e2e2e2;
+ padding: 0 24rpx;
+ padding-bottom: 32rpx;
+ }
+ .contact {
+ height: 219rpx;
+ background: #fff;
+ margin-top: 8rpx;
+ padding: 0 24rpx;
+ }
+
+ .contact_title {
+ font-size: 30rpx;
+ font-family: PingFang SC;
+ font-weight: 500;
+ line-height: 70rpx;
+ color: #333333;
+ opacity: 1;
+ margin-bottom: 10rpx;
+
+ }
+
+.detail_number {
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 37rpx;
+ color: #B4B4B4;
+ opacity: 1;
+ margin-top: 11rpx;
+ }
+
+ .money {
+ margin-top: 18rpx;
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 37rpx;
+ color: #B4B4B4;
+ opacity: 1;
+
+ }
+
+.title-left {
+ width: 544rpx;
+ height: 70rpx;
+ font-size: 34rpx;
+ color: #333333;
+ font-weight: 700;
+ margin-top: 12rpx;
+}
+
+.title-right {
+ margin-left: 48rpx;
+ border-left: 1px solid #D5D5D5;
+ color: #BBBBBB;
+ display: flex;
+ align-items: center;
+ flex-direction:column;
+ padding-left: 21rpx;
+
+}
+
+.Collection {
+ width: 40rpx;
+ height: 36rpx;
+}
+
+.Collection image {
+ width: 100%;
+ height: 100%;
+}
+
+
+
+/* 联系地址 */
+.address {
+ padding: 30rpx;
+ display: flex;
+}
+
+.hospital {
+ width: 94rpx;
+ height: 94rpx;
+}
+
+.position {
+ margin-left: 28rpx;
+}
+
+.position view:nth-child(1) {
+ font-size: 28rpx;
+ color: #333333;
+ margin-bottom: 8rpx;
+}
+
+.position view:nth-child(2) {
+ font-size: 24rpx;
+ color: #ABABAB;
+}
+
+.phone {
+ width: 26px;
+ height: 26px;
+ border-left: 1px solid #D5D5D5;
+ margin-left: 20rpx;
+ margin-top: 30rpx;
+}
+
+/* 详情列表 */
+.details {
+ width: 750rpx;
+ margin-bottom: 73px;
+}
+
+.payment {
+ padding: 27rpx;
+ display: flex;
+ justify-content: space-between;
+ position: fixed;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ background: #FFFFFF;
+
+}
+.order-list{
+ width: 100%;
+ }
+.immediately {
+ width: 230rpx;
+ height: 81rpx;
+ background: #2D7AFF;
+ border-radius: 207rpx;
+ font-size: 28rpx;
+ color: #FFFFFF;
+ text-align: center;
+ line-height: 82rpx;
+}
+.countitem {
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ margin-right: 5px;
+ color: #fff;
+ font-size: 24rpx;
+ text-align: center;
+ background-color: #2EC9B5;
+ border-radius: 2px;
+ }
+ .countitemm {
+
+ position: absolute;
+ color: #fff;
+ font-size: 24rpx;
+ text-align: center;
+
+
+ }
+
+ .Group {
+ display: flex;
+ }
+
+ .Group-image {
+ width: 128rpx;
+ height: 128rpx;
+ margin: 84rpx 40rpx 84rpx 20rpx;
+ }
+
+
+ .content {
+
+ width: auto;
+ height: 201rpx;
+ margin-top: 48rpx;
+
+ }
+
+
+ .content .title1 {
+ font-size: 36rpx;
+ font-weight: 700;
+ }
+ .content .title2 {
+ font-size: 30rpx;
+ font-weight: 700;
+ }
+ .content .title3 {
+ font-size: 32rpx;
+ margin-left: 24rpx;
+ }
+ .content .title4 {
+ font-size: 28rpx;
+ color: #228BFE;
+ width: 132rpx;
+ height: 40rpx;
+ text-align: center;
+ background-color: #A5BBE0;
+ border-radius: 20rpx;
+ margin-left: 24rpx;
+ }
+
+ /* .flex-item{
+ display:flex;
+ height: 270rpx;
+ width: 670rpx;
+ border-radius: 20rpx;
+ margin-top: 20rpx;
+ } */
+
+ .content .tejia {
+ display: flex;
+ width: 446rpx;
+ margin-top: 24rpx;
+ }
+
+
+ .content .tejia .Price2 {
+ font-size: 30rpx;
+ color: #666666;
+ line-height: 41rpx;
+ margin-right: 23rpx;
+ }
+
+ .peisong-way{
+ width: 640rpx;
+ height: 128rpx;
+ background: #F6F6F6;
+ margin-right: 31rpx;
+ opacity: 1;
+ border-radius: 0px
+ }
+
+
+ .row-wrap .label{
+ width: 200rpx;
+ color: #000;
+ margin-left: 6rpx;
+ }
+ .row-wrap .label-right{
+ width: 500rpx;
+ height: 88rpx;
+ line-height: 88rpx;
+ text-align: right;
+ }
+
+ .row-wrap{
+ width: 100%;
+ height: 100rpx;
+ line-height: 88rpx;
+ margin-left: 0rpx;
+ border-bottom: 1rpx solid #eee;
+ display: flex;
+ font-size: 28rpx;
+ /*justify-content: space-between;*/
+ }
\ No newline at end of file
diff --git a/coupon/shopping/pages/payment/payment.js b/coupon/shopping/pages/payment/payment.js
new file mode 100644
index 0000000..3698150
--- /dev/null
+++ b/coupon/shopping/pages/payment/payment.js
@@ -0,0 +1,75 @@
+// shopping/pages/payment/payment.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+ withdrawal(){
+ wx.navigateTo({
+ url: '../withdrawal/withdrawal',
+ })
+ },
+ cancel(){
+ wx.switchTab({
+ url: '/pages/my/my',
+ })
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ }
+})
\ No newline at end of file
diff --git a/coupon/shopping/pages/payment/payment.json b/coupon/shopping/pages/payment/payment.json
new file mode 100644
index 0000000..cb26d02
--- /dev/null
+++ b/coupon/shopping/pages/payment/payment.json
@@ -0,0 +1,4 @@
+{
+ "usingComponents": {},
+ "navigationBarTitleText": "提现"
+}
\ No newline at end of file
diff --git a/coupon/shopping/pages/payment/payment.wxml b/coupon/shopping/pages/payment/payment.wxml
new file mode 100644
index 0000000..df06219
--- /dev/null
+++ b/coupon/shopping/pages/payment/payment.wxml
@@ -0,0 +1,36 @@
+
+
+
+ 提现至:
+
+ 支付宝
+
+
+
+
+ 到账支付宝
+
+
+
+
+ 姓名
+
+
+
+ 可提现金额: 128.56元
+
+ ¥
+
+ 全部
+
+ 最低提现金额10元
+ 将提现到已绑定的微信中,提现金额将在2小时内到账
+
+
+
+
+ 微信
+
+
+
+
\ No newline at end of file
diff --git a/coupon/shopping/pages/payment/payment.wxss b/coupon/shopping/pages/payment/payment.wxss
new file mode 100644
index 0000000..43b91b7
--- /dev/null
+++ b/coupon/shopping/pages/payment/payment.wxss
@@ -0,0 +1,124 @@
+/* shopping/pages/withdrawal/withdrawal.wxss */
+.direction {
+ display: flex;
+}
+
+.direction text:nth-child(1) {
+ margin: 30rpx 60rpx;
+ font-size: 28rpx;
+ font-family: PingFang SC;
+ color: #606060;
+}
+
+.img1 {
+ width: 60rpx;
+ height: 60rpx;
+ margin: 20rpx;
+ margin-left: 0rpx;
+}
+
+.txt {
+ font-size: 28rpx;
+ color: #2D2D2D;
+ margin: 30rpx;
+ margin-left: 0rpx;
+}
+
+.img2 {
+ width: 15rpx;
+ height: 28rpx;
+ margin: 35rpx 0 35rpx 300rpx;
+}
+
+/* 支付宝信息 */
+.stance {
+ height: 212rpx;
+ margin: 14rpx 0;
+}
+
+.stance1 {
+ display: flex;
+}
+
+.stance1 text {
+ font-size: 28rpx;
+ color: #4D4D4D;
+ margin: 34rpx 68rpx 66rpx 54rpx;
+}
+
+.stance1 input {
+ margin-top: 34rpx;
+ font-size: 28rpx;
+}
+
+.stance2 {
+ display: flex;
+}
+
+.stance2 text {
+ margin-left: 54rpx;
+ margin-right: 152rpx;
+ font-size: 28rpx;
+ color: #4D4D4D;
+}
+
+.tixian {
+ font-size: 28rpx;
+ font-family: PingFang SC;
+ color: #3A3A3A;
+ margin-left: 52rpx;
+}
+
+.entry {
+ display: flex;
+}
+
+.entry text:nth-child(1) {
+ font-size: 64rpx;
+ font-family: Alibaba PuHuiTi;
+ color: #414141;
+ margin: 23rpx 25rpx 35rpx 44rpx;
+}
+
+.entry input {
+ margin: 44rpx 0;
+}
+
+.words {
+ font-size: 28rpx;
+ font-family: PingFang SC;
+ color: #BCBCBC;
+ margin-left: 42rpx;
+}
+
+.btn {
+ width: 600rpx !important;
+ height: 85rpx;
+ color: #ffffff;
+ background: #FF4C00;
+ opacity: 1;
+ border-radius: 85rpx;
+}
+
+.mode {
+ height: 240rpx;
+ margin-top: 263rpx;
+}
+
+.mode .zhi {
+ display: flex;
+ margin: 37rpx 32rpx 68rpx 288rpx;
+}
+
+.mode .zhifubao {
+ font-size: 28rpx;
+ line-height: 55rpx;
+ margin-left: 32rpx;
+ color: #464646;
+}
+
+.mode text {
+ font-size: 28rpx;
+ font-family: PingFang SC;
+ color: #464646;
+}
\ No newline at end of file
diff --git a/coupon/shopping/pages/paysuccess/paysuccess.js b/coupon/shopping/pages/paysuccess/paysuccess.js
new file mode 100644
index 0000000..996bc0c
--- /dev/null
+++ b/coupon/shopping/pages/paysuccess/paysuccess.js
@@ -0,0 +1,188 @@
+
+var app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ order_id:0,
+ id:'',
+ show: false,
+ statusType: ["拼团"],
+ status:[ "0"],
+ currentType: 0,
+ nav_type:0,
+ height:''
+ },
+ statusTap: function (e) {
+ var curType = e.currentTarget.dataset.index;
+ this.setData({
+ currentType: curType,
+ nav_type:curType
+ });
+
+ app.console("================="+curType)
+ },
+ onClickShow() {
+ this.setData({ show: true });
+ },
+
+ onClickHide() {
+ this.setData({ show: false });
+ },
+ onClickLeft() {
+ wx.navigateBack()
+ },
+ noop() {},
+ //返回首页
+ index(){
+ wx.switchTab({
+ url: '/pages/index/index',
+ })
+ },
+ //订单详情
+ godetail(){
+ wx.navigateTo({
+ url: '/pages/orderdetail/orderdetail?'+"type="+'3'+ '&id=' +this.data.order_id,
+ })
+ },
+ //条目点击跳转
+ itemgodetail(e){
+ wx.navigateTo({
+ url: "/shopping/pages/goddess/goddess?id=" + e.currentTarget.dataset.id,
+ });
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ var statusBarHeight = wx.getSystemInfoSync().statusBarHeight;
+ this.setData({
+ statusBarHeight: statusBarHeight,
+ height: 46 + statusBarHeight,
+ });
+
+ this.setData({
+ order_id:options.order_id
+ })
+ app.console(this.data.order_id+"======传来的order_id")
+ this.paySuccess()
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+ //支付成功
+ paySuccess: function () {
+ var that = this;
+ wx.request({
+ url: app.buildUrl("/app/Goddesswechat/paySuccess"),
+ header: app.getRequestHeader(),
+ method:'POST',
+ data: {
+ version_number: this.data.version_number,
+ uid:wx.getStorageSync('uid'),
+ token:wx.getStorageSync('token'),
+ order_id:this.data.order_id
+ },
+ success: function (res) {
+ var resp = res.data;
+ console.log(resp+"=================dddddddddddddddddddddddddddddddddddddddddddd")
+ if(resp.erro==0){
+ that.setData({
+ tg_kj_status:resp.goods_infor.tg_kj_status,
+ id:resp.goods_infor.id,
+ goods_infor:resp.goods_infor,
+ goods:resp.goods
+ });
+ app.console(that.data.tg_kj_status+"=================状态值")
+ if(that.data.tg_kj_status==1){
+ wx.showToast({ title: '弹出拼团弹框', icon: 'none' });
+ this.setData({ show: true });
+ }
+ }
+ }
+ });
+ },
+ /**
+ * 跳过
+ */
+ tiaoguo(){
+ this.setData({ show: false });
+ },
+ /**
+ * 同意发起
+ */
+ tongyifaqi(){
+ this.confirmCollage()
+ },
+ //确认发起团购/砍价
+ confirmCollage: function () {
+ var that = this;
+ wx.request({
+ url: app.buildUrl("/app/Goddesswechat/confirmCollage"),
+ header: app.getRequestHeader(),
+ method:'POST',
+ data: {
+ version_number: this.data.version_number,
+ uid:wx.getStorageSync('uid'),
+ token:wx.getStorageSync('token'),
+ order_id:this.data.order_id
+ },
+ success: function (res) {
+ var resp = res.data;
+ console.log(resp+"=================dddddddddddddddddddddddddddddddddddddddddddd")
+ if(resp.erro==0){
+ wx.showToast({ title: resp.msg, icon: 'none' });
+ that.setData({ show: false });
+ }
+ }
+ });
+ },
+})
\ No newline at end of file
diff --git a/coupon/shopping/pages/paysuccess/paysuccess.json b/coupon/shopping/pages/paysuccess/paysuccess.json
new file mode 100644
index 0000000..bc0aabf
--- /dev/null
+++ b/coupon/shopping/pages/paysuccess/paysuccess.json
@@ -0,0 +1,7 @@
+{
+ "usingComponents": {
+ "van-overlay": "/miniprogram/miniprogram_npm/@vant/weapp/overlay/index",
+ "van-nav-bar":"/miniprogram/miniprogram_npm/@vant/weapp/nav-bar/index"
+ },
+ "navigationBarTitleText": "支付成功"
+}
\ No newline at end of file
diff --git a/coupon/shopping/pages/paysuccess/paysuccess.wxml b/coupon/shopping/pages/paysuccess/paysuccess.wxml
new file mode 100644
index 0000000..e8482d9
--- /dev/null
+++ b/coupon/shopping/pages/paysuccess/paysuccess.wxml
@@ -0,0 +1,235 @@
+
+
+
+
+
+
+
+ 提交成功
+ 可在个人中心“我的订单”中查看
+
+
+
+
+
+
+
+ {{item.goods_name}}
+
+
+ {{item.mechanism_name}}
+
+
+ ¥{{item.price}}
+
+ 已售{{item.sold}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+邀请好友拼团
+拼团成功会返现哦~
+
+
+
+
+
+
+
+ {{item}}
+
+
+
+
+
+
+
+
+
+ 拼团规则
+
+
+
+
+ 1
+
+ 支付
+ 开团/参团
+
+
+ >
+
+ 2
+
+ 邀请
+ 好友参团
+
+
+
+ >
+
+ 3
+
+ 返现
+ 拼团成功返现
+
+
+
+
+
+
+ 拼团详情
+
+
+
+
+
+
+
+ {{goods_infor.goods_name}}
+
+
+
+
+ {{goods_infor.mechanism_name}}
+
+
+ ¥{{goods_infor.price}}
+ ¥{{goods_infor.original_price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 团长
+
+
+
+ ?
+
+
+
+
+
+
+
+ 跳过
+ 同意发起拼团
+
+
+
+
+
+
+
+
+ 砍价规则
+
+
+
+
+ 1
+
+ 好友参团
+ 开团/参团
+
+
+ >
+
+ 1
+
+ 好友参团
+ 开团/参团
+
+
+
+ >
+
+ 1
+
+ 好友参团
+ 开团/参团
+
+
+
+
+
+
+ 特价商品
+
+
+
+
+
+
+
+ 除皱瘦脸 韩国进口标准装瘦咬肌速美小V脸
+
+
+
+
+ {{item.mechanism_name}}
+
+
+ ¥{{item.price}}
+ ¥{{item.original_price}}
+
+
+
+
+
+
+
+
+
+
+
+ 跳过
+ 同意发起砍价
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/coupon/shopping/pages/paysuccess/paysuccess.wxss b/coupon/shopping/pages/paysuccess/paysuccess.wxss
new file mode 100644
index 0000000..28705ea
--- /dev/null
+++ b/coupon/shopping/pages/paysuccess/paysuccess.wxss
@@ -0,0 +1,593 @@
+/* shopping/pages/paysuccess/paysuccess.wxss */
+.success {
+ margin: 91rpx 275rpx 40rpx 275rpx;
+ width: 200rpx;
+ height: 200rpx;
+}
+
+.success image {
+ width: 100%;
+ height: 100%;
+}
+
+.news1 {
+ font-size: 34rpx;
+ font-family: PingFang SC;
+ text-align: center;
+ color: #333333;
+}
+
+.news2 {
+ font-size: 28rpx;
+ font-family: PingFang SC;
+ color: #8D8D8D;
+ text-align: center;
+ margin-top: 13rpx;
+ margin-bottom: 67rpx;
+}
+
+.title1 {
+ width: 329rpx;
+ height: 56rx;
+ font-size: 20rpx;
+ font-family: PingFang SC;
+ font-weight: 500;
+ color: #414141;
+ opacity: 1;
+ text-overflow: -o-ellipsis-lastline;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.dianpu {
+ font-size: 20rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 18rpx;
+ color: #B4B4B4;
+ opacity: 1;
+ margin-left: 6rpx;
+}
+
+.btn1 {
+ /* width: 244rpx;
+ height: 80rpx;
+ background: #8D8D8D;
+ border-radius: 310rpx;
+ font-size: 28rpx;
+ color: #fff; */
+ font-weight: 300;
+ width: 152rpx;
+ height: 80rpx;
+ border-radius: 310rpx;
+ font-size: 30rpx;
+ border: 1px solid;
+
+
+}
+
+/* .btn2 {
+ width: 244rpx;
+ height: 80rpx;
+ border-radius: 310rpx;
+ background-color: #FF4C00;
+ font-size: 28rpx;
+ color: #fff;
+ font-weight: 400;
+} */
+
+.btn2 {
+ font-weight: 300;
+ width: 244rpx;
+ height: 80rpx;
+ border-radius: 310rpx;
+ font-size: 30rpx;
+ color: #fff;
+ background: linear-gradient(312deg, #1B56FF 0%, #2D7AFF 0%, #00DBFC 100%);
+}
+
+.btn1 {
+ font-weight: 300;
+ width: 244rpx;
+ height: 80rpx;
+ border-radius: 310rpx;
+ font-size: 30rpx;
+ color: rgb(4, 59, 240);
+ background: linear-gradient(312deg, #eeeff3 0%, #fff 0%, #e6edee 100%);
+}
+
+.price {
+ display: flex;
+ margin-top: 8rpx;
+}
+
+.price view:nth-child(1) {
+ line-height: 44rpx;
+ font-size: 20rpx;
+ font-weight: 700;
+ color: #E75D4D;
+}
+
+.price view:nth-child(2) {
+ width: 51rpx;
+ height: 21rpx;
+ border: 1px solid #E75D4D;
+ border-radius: 4rpx;
+ font-size: 15rpx;
+ font-weight: 400;
+ color: #e75d4d;
+ text-align: center;
+ margin: 11rpx ;
+}
+.price view:nth-child(3){
+ font-size: 20rpx;
+ line-height: 44rpx;
+ font-weight: 400;
+ color: #B4B4B4;
+ margin-left: 121rpx;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+.nav_box {
+ display: flex;
+ justify-content: space-between;
+ padding-left: 50rpx;
+ padding-right: 50rpx;
+ background: #ffffff;
+ }
+
+ .nav_bar {
+ width: 104rpx;
+ height: 70rpx;
+ line-height: 70rpx;
+ text-align: center;
+ font-size: 24rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ color: #5B5B5B;
+
+ }
+
+ .active {
+ color: #5B5B5B;
+ font-size: 28rpx;
+ font-family: PingFang SC;
+ font-weight: 800;
+ border-bottom: 6rpx solid #FF6A6A;
+ }
+ .time_msg{
+ font-size: 24rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 66rpx;
+ color: #5B5B5B;
+ opacity: 1;
+ float: left;
+ }
+ .status_msg{
+ font-size: 24rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 66rpx;
+ color: #FF6A6A;
+ opacity: 1;
+ float: right;
+ }
+ .details_box{
+ display: flex;
+ }
+ .title{
+ width: 430rpx;
+ height: 86rpx;
+ font-size: 30rpx;
+ font-family: PingFang SC;
+ font-weight: bold;
+ line-height: 44rpx;
+ color: #222222;
+ opacity: 1;
+ margin-top: 16rpx;
+ overflow:hidden;
+ text-overflow: ellipsis;
+ display:-webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ }
+ .detail_number{
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 37rpx;
+ color: #B4B4B4;
+ opacity: 1;
+ margin-top: 11rpx;
+ }
+ .money{
+ margin-top: 18rpx;
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 37rpx;
+ color: #B4B4B4;
+ opacity: 1;
+
+ }
+ .detail_btn{
+ position: absolute;
+
+ bottom: 12rpx;
+ right: 24rpx;
+ /* min-width: 140rpx; */
+ height: 57rpx;
+ /* background: #000; */
+ border: 1rpx solid #A5A5A5;
+ border-radius: 34rpx;
+ font-size: 26rpx;
+ font-family: PingFang SC;
+ font-weight: 400;
+ line-height: 57rpx;
+ color: #4A4A4A;
+ opacity: 1;
+ text-align: center;
+ padding: 0 31rpx;
+ }
+
+ .order-list{
+ width: 100%;
+ }
+
+
+ .status-box{
+ height: 88rpx;
+ line-height: 88rpx;
+ display: flex;
+ position: absolute;
+ z-index: 1;
+ margin-top: 0rpx;
+ justify-content: space-between;
+ align-items: center;
+ background-color:#ffffff;
+ margin-left: 220rpx;
+ margin-right: 220rpx;
+ justify-content: space-between;
+
+ }
+ .status-box .status-label{
+ width: 150rpx;
+ height: 100%;
+ text-align: center;
+ font-size:24rpx;
+ color:#353535;
+ box-sizing: border-box;
+ position: relative;
+ }
+ .status-box .status-label.active{
+
+
+ color: #5B5B5B;
+ font-size: 28rpx;
+ font-family: PingFang SC;
+ font-weight: 800;
+ border-bottom: 6rpx solid #FF6A6A;
+ }
+ .status-box .status-label .red-dot{
+ width: 16rpx;
+ height: 16rpx;
+ position: absolute;
+ left: 116rpx;
+ top:23rpx;
+ background-color: #f43530;
+ border-radius: 50%;
+ }
+
+ .no-order{
+ width: 100%;
+ position: absolute;
+ bottom: 0;
+ top: 252rpx;
+ left: 0;
+ right: 0;
+ text-align: center;
+ padding-top: 203rpx;
+ background-color: #F2f2f2;
+ }
+ .no-order-img{
+ width: 81rpx;
+ height: 96rpx;
+ margin-bottom: 31rpx;
+ }
+ .no-order .text{
+ font-size:28rpx;
+ color:#999999;
+ text-align: center
+ }
+
+ .row-wrapxs{
+ width: 100%;
+ height: 130rpx;
+ border-bottom: 1rpx solid #eee;
+ display: flex;
+ /*justify-content: space-between;*/
+ }
+ .tankuang{
+ border-radius: 30rpx 30rpx 0px 0px;
+ width: 100%;
+ height:567rpx;
+ background: #ffffff;
+ opacity: 1;
+ display: flex;
+ position:fixed;
+ bottom:100rpx;
+ flex-direction:column;
+ align-items: center;
+ z-index: 3;
+ }
+ .qtankuang{
+ border-radius: 30rpx 30rpx 0px 0px;
+ width: 100%;
+ height:367rpx;
+ background: #ffffff;
+ opacity: 1;
+ display: flex;
+ position:fixed;
+ bottom:100rpx;
+ flex-direction:column;
+ align-items: center;
+ z-index: 3;
+ }
+
+ .row-wrap{
+ width: 100%;
+ height: 100rpx;
+ margin-left: 0rpx;
+ border-bottom: 1rpx solid rgb(238, 238, 238);
+ display: flex;
+ font-size: 28rpx;
+ background-color: #ffffff;
+ align-items: center;
+ }
+
+
+ .row-wrap .label{
+
+ margin-left: 33rpx;
+ }
+ .row-wrap .label-right{
+ text-align: right;
+
+ }
+ .wrapper {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+ }
+
+ .block {
+ width: 676rpx;
+ height: 1125rpx;
+ background-color: #fff;
+ border-radius: 20rpx;
+ }
+
+ .select-wrap {
+ width: 300rpx;
+ margin-left: 116rpx;
+ }
+
+ .Group {
+ height: 270rpx;
+ display: flex;
+ border-bottom: 1px solid #999999;
+ }
+ .Groupone {
+ height: 161rpx;
+ display: flex;
+ border-bottom: 1px solid #999999;
+ }
+ .Group-image {
+ width: 230rpx;
+ height: 230rpx;
+ margin: 19rpx 28rpx 19rpx 31rpx;
+ }
+
+ .Group-image image {
+ width: 100%;
+ height: 100%;
+ }
+
+ .content {
+ /* padding: 20rpx 35rpx; */
+ width: 400rpx;
+ height: 201rpx;
+ margin-top: 28rpx;
+ }
+
+ .content .title1 {
+ font-size: 30rpx;
+ font-weight: 700;
+ }
+
+ .content .title2 {
+ font-size: 26rpx;
+ height: 37rpx;
+ line-height: 37rpx;
+ display: flex;
+ color: #B4B4B4;
+ margin: 11rpx 0 18rpx 0;
+ }
+
+ .content .title2 .house {
+ width: 28rpx;
+ height: 28rpx;
+ margin-right: 7rpx;
+ margin-top: 5rpx;
+ }
+
+
+ .content .title2 .house image {
+ width: 100%;
+ height: 100%;
+ }
+
+ .content .Price {
+ display: flex;
+ }
+
+ .content .Price .Price1 {
+ font-size: 34rpx;
+ color: #FF4A4A;
+ line-height: 42rpx;
+ margin-right: 17rpx;
+ }
+
+ .content .Price .Price2 {
+ font-size: 24rpx;
+ color: #CBCBCB;
+ line-height: 41rpx;
+ margin-right: 23rpx;
+ text-decoration:line-through;
+ }
+
+ .content .Price .Price3 {
+ width: 51rpx;
+ height: 21rpx;
+ font-size: 15rpx;
+ color: #E75D4D;
+ border: 1px solid #E75D4D;
+ border-radius: 4rpx;
+ text-align: center;
+ line-height: 18rpx;
+ margin-top: 10rpx;
+ }
+
+ .order-list{
+ width: 100%;
+ }
+
+
+ .custom-bar {
+ /* background-color: #aaa; */
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100%;
+ }
+ .custom-bar__wrapper {
+ padding: 0 10rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+ .search-group {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ border-radius: 60rpx;
+ /* padding: 0 10rpx; */
+ padding-left: 25rpx;
+ background: #F5F5F5;
+ }
+ .search-group > input {
+ font-size: 25rpx;
+ width: 800rpx;
+ }
+ .search-group > image {
+ height: 32rpx;
+ width: 32rpx;
+ margin-right: 20rpx
+ }
+
+ .buttonsty{
+ width: 244rpx;
+ height: 80rpx;
+ text-align: center;
+ font-size: 25rpx;
+ background: #F5F5F5;
+ border-radius: 310rpx;
+ align-items: center;
+ justify-content: center;
+ display: flex ;
+ }
+
+ /* 优惠活动文字 */
+ .Distit {
+ width: 685rpx;
+ display: flex;
+ margin-top: 26rpx;
+ justify-content: space-between;
+ }
+ .textone{
+ background: #FF4C00;
+ border-radius: 50%;
+ width: 29rpx;
+ height: 29rpx;
+ align-items: center;
+ font-size: 17rpx;
+ color: #FFFFFF;
+ text-align:center;
+ }
+
+ .viewone{
+ display: flex;flex-direction:column;align-items: center; margin-left: 56rpx;
+ }
+
+ .yaotext{
+ font-size: 60rpx;text-shadow: 0rpx 3rpx 5rpx rgba(250, 37, 61, 0.59);
+ color: #FFF433;
+ display: flex;
+ position: relative;
+ top: -228rpx;
+ justify-content: center;
+ font-family: FZChaoCuHei-M10S;
+
+ }
+ .yaotexttwo{
+ font-size: 60rpx;
+ font-family: YouSheBiaoTiHei;
+ color: #FFFFFF;
+ text-shadow: 0rpx 3rpx 6rpx #FE424C;
+ display: flex;
+ position: relative;
+ top: -200rpx;
+ justify-content: center;
+ }
+
+
+ .imageone{
+ width: 90rpx;
+ height: 90rpx;
+ border: 2rpx solid #FF4C00;
+ border-style:dashed;
+ border-radius: 50%;
+ }
+ .texttwo{
+ background: #FF4C00;
+ width: 57rpx;
+ height: 27rpx;
+ align-items: center;
+ font-size: 17rpx;
+ color: #FFFFFF;
+ text-align:center;
+ }
+ .imagetwo{}
+
+
+
+
\ No newline at end of file
diff --git a/coupon/shopping/pages/withdrawal/withdrawal.js b/coupon/shopping/pages/withdrawal/withdrawal.js
new file mode 100644
index 0000000..9ca0c74
--- /dev/null
+++ b/coupon/shopping/pages/withdrawal/withdrawal.js
@@ -0,0 +1,258 @@
+// shopping/pages/withdrawal/withdrawal.js
+// 获取应用实例
+const app = getApp()
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ pingtainame:'微信',
+ pingtaiimage:'/shopping/image/WeChat.png',
+ second:'',
+ money:'',
+ allmoney:'',
+ show: false,
+ type:1,//1为微信,2为支付宝
+ name:'',
+ alipay_no:'',
+ is_ok_click:false,
+ actions: [
+ { name: '支付宝',color: '#464646;',imagesrc:'/shopping/image/Alipay.png'},
+ ],
+ },
+ onClose() {
+ // wx.showToast({ title: '点击成功', icon: 'none' });
+ this.setData({ show: false });
+ },
+ onCancel(){
+ // wx.showToast({ title: '点击成功', icon: 'none' });
+ this.setData({ show: false });
+ },
+ openSelect(){
+ // wx.showToast({ title: '点击成功', icon: 'none' });
+ this.setData({ show: true });
+ },
+
+ onSelect() {
+ if(this.data.type==1){
+ this.setData({
+ show: false ,
+ type:2,
+ pingtainame:'支付宝',
+ pingtaiimage:'/shopping/image/Alipay.png',
+ actions: [
+ { name: '微信',color: '#464646;',imagesrc:'/shopping/image/WeChat.png'},
+ ],
+ });
+ }else{
+ this.setData({
+ show: false ,
+ type:1,
+ pingtainame:'微信',
+ pingtaiimage:'/shopping/image/WeChat.png',
+ actions: [
+ { name: '支付宝',color: '#464646;',imagesrc:'/shopping/image/Alipay.png'},
+ ],
+ });
+ }
+
+
+ // wx.navigateTo({
+ // url: '../payment/payment',
+ // })
+ },
+
+
+ switch(){
+ wx.navigateTo({
+ url: '../payment/payment',
+ })
+ },
+ cancel(){
+ wx.switchTab({
+ url: '/pages/my/my',
+ })
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ console.log(options.money)
+ this.setData({
+ money:options.money
+ })
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+
+ // 提现
+ confirm_pay: async function (){
+ var that = this;
+ if (!this.data.is_ok_click){
+ that.setData({
+ is_ok_click:true
+ })
+
+
+ //你要执行的操作
+ this.tixian()
+ setTimeout(function () {
+ that.setData({
+ is_ok_click: false
+ })
+ }, 10000) //阻止一秒点击多次
+ }else{
+ // wx.showToast({ title: '请勿重复操作!', icon: 'none' });
+ }
+ },
+
+ tixian:function(e){
+ app.console(this.data.second+"================="+this.data.name+"==================="+this.data.alipay_no)
+ if(this.data.type==1){
+ this.wechatWithdrawal();
+ }else{
+ this.alipayWithdrawal()
+ }
+
+ }
+ //这个函数一定要写在标签上才能用e.detail.value获取到
+ ,
+ moneyInput:function( e ){
+ this.setData({
+ second: e.detail.value
+ });
+
+ } ,
+ //支付宝账号
+ zfzhanghao:function(e){
+ this.setData({
+ alipay_no: e.detail.value
+ });
+ },
+ //收款人姓名
+ zfname:function(e){
+ this.setData({
+ name: e.detail.value
+ });
+ },
+ //点击全部
+ allmoney:function(e){
+
+ app.console(this.data.money+"================="+222)
+ this.setData({
+ allmoney:this.data.money,
+ second:this.data.money
+ });
+ },
+
+ //微信提现
+ wechatWithdrawal: function () {
+ var that = this;
+ wx.request({
+ url: app.buildUrl("/app/Goddesswechat/wechatWithdrawal"),
+ header: app.getRequestHeader(),
+ method:'POST',
+ data: {
+ version_number: app.globalData.version_number,
+ uid:wx.getStorageSync('uid'),
+ token:wx.getStorageSync('token'),
+ money:this.data.second
+ },
+ success: (res)=> {
+ var resp = res.data;
+ console.log(resp+"=================dddddddddddddddddddddddddddddddddddddddddddd")
+
+ if(resp.erro==0){
+ wx.showToast({ title: res.data.msg, icon: 'none' });
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack()
+ }, 2000) //延迟时间 这里是2秒
+
+ }else{
+ wx.showToast({ title: res.data.msg, icon: 'none' });
+ }
+ }
+ });
+},
+
+//支付宝提现
+alipayWithdrawal: function () {
+ var that = this;
+ wx.request({
+ url: app.buildUrl("app/Goddesswechat/alipayWithdrawal"),
+ header: app.getRequestHeader(),
+ method:'POST',
+ data: {
+ version_number: app.globalData.version_number,
+ uid:wx.getStorageSync('uid'),
+ token:wx.getStorageSync('token'),
+ money:this.data.second,
+ name:this.data.name,
+ alipay_no:this.data.alipay_no
+ },
+ success: (res)=> {
+ var resp = res.data;
+ console.log(resp+"=================dddddddddddddddddddddddddddddddddddddddddddd")
+
+ if(resp.erro==0){
+ wx.showToast({ title: res.data.msg, icon: 'none' });
+ setTimeout(function () {
+ //要延时执行的代码
+ wx.navigateBack()
+ }, 2000) //延迟时间 这里是2秒
+
+ }
+ }
+ });
+},
+})
\ No newline at end of file
diff --git a/coupon/shopping/pages/withdrawal/withdrawal.json b/coupon/shopping/pages/withdrawal/withdrawal.json
new file mode 100644
index 0000000..edba86c
--- /dev/null
+++ b/coupon/shopping/pages/withdrawal/withdrawal.json
@@ -0,0 +1,7 @@
+{
+ "usingComponents": {
+ "van-action-sheet": "/miniprogram/miniprogram_npm/@vant/weapp/action-sheet/index"
+ },
+ "navigationBarTitleText": "提现"
+
+}
\ No newline at end of file
diff --git a/coupon/shopping/pages/withdrawal/withdrawal.wxml b/coupon/shopping/pages/withdrawal/withdrawal.wxml
new file mode 100644
index 0000000..61e23cd
--- /dev/null
+++ b/coupon/shopping/pages/withdrawal/withdrawal.wxml
@@ -0,0 +1,41 @@
+
+
+
+ 提现至:
+
+ {{pingtainame}}
+
+
+
+
+
+ 到账支付宝:
+
+
+
+
+ 姓名:
+
+
+
+
+ 可提现金额: {{money}}元
+
+ ¥
+
+ 全部
+
+
+
+
+ 最低提现金额10元
+ 将提现到已绑定的微信中,提现金额将在2小时内到账
+
+
diff --git a/coupon/shopping/pages/withdrawal/withdrawal.wxss b/coupon/shopping/pages/withdrawal/withdrawal.wxss
new file mode 100644
index 0000000..9560506
--- /dev/null
+++ b/coupon/shopping/pages/withdrawal/withdrawal.wxss
@@ -0,0 +1,97 @@
+/* shopping/pages/withdrawal/withdrawal.wxss */
+
+page{
+ height: 100%;
+ background-color: #F5F5F5;
+}
+.direction {
+ display: flex;
+ background-color: #ffffff;
+}
+
+.direction text:nth-child(1) {
+ margin: 30rpx 54rpx;
+ font-size: 28rpx;
+ font-family: PingFang SC;
+ color: #606060;
+}
+
+.img1 {
+ width: 60rpx;
+ height: 60rpx;
+ margin: 20rpx;
+ margin-left: 0rpx;
+}
+
+.txt {
+ font-size: 28rpx;
+ color: #2D2D2D;
+ margin: 30rpx;
+ margin-left: 0rpx;
+}
+
+.img2 {
+ width: 15rpx;
+ height: 28rpx;
+ margin: 35rpx 0 35rpx 355rpx;
+}
+
+.disply {
+ font-size: 28rpx;
+ font-family: PingFang SC;
+ color: #3A3A3A;
+ margin-left: 52rpx;
+}
+
+.entry {
+ display: flex;
+ height: 189rpx;
+ background-color: #ffffff;
+}
+
+.entry text:nth-child(1) {
+ font-size: 64rpx;
+ font-family: Alibaba PuHuiTi;
+ color: #414141;
+ margin: 23rpx 25rpx 35rpx 44rpx;
+}
+
+.entry input {
+ margin: 44rpx 0;
+}
+
+.words {
+ font-size: 28rpx;
+ font-family: PingFang SC;
+ color: #BCBCBC;
+ margin-left: 42rpx;
+}
+
+.btn {
+ width: 600rpx !important;
+ height: 85rpx;
+ color: #ffffff;
+ background: #FF4C00;
+ opacity: 1;
+ border-radius: 85rpx;
+ font-size: 31rpx;
+}
+.mode{
+ height: 240rpx;
+ margin-top: 481rpx;
+}
+.mode .zhi{
+ display: flex;
+ margin: 37rpx 32rpx 68rpx 288rpx;
+}
+.mode .zhifubao{
+ font-size: 28rpx;
+line-height: 55rpx;
+margin-left: 32rpx;
+color: #464646;
+}
+.mode text{
+ font-size: 28rpx;
+ font-family: PingFang SC;
+ color: #464646;
+}
\ No newline at end of file
diff --git a/coupon/sitemap.json b/coupon/sitemap.json
new file mode 100644
index 0000000..ca02add
--- /dev/null
+++ b/coupon/sitemap.json
@@ -0,0 +1,7 @@
+{
+ "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
+ "rules": [{
+ "action": "allow",
+ "page": "*"
+ }]
+}
\ No newline at end of file
diff --git a/coupon/subPackages/pages/withdrawal/withdrawal.js b/coupon/subPackages/pages/withdrawal/withdrawal.js
new file mode 100644
index 0000000..7de737d
--- /dev/null
+++ b/coupon/subPackages/pages/withdrawal/withdrawal.js
@@ -0,0 +1,66 @@
+// subPackages/pages/withdrawal/withdrawal.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ }
+})
\ No newline at end of file
diff --git a/coupon/subPackages/pages/withdrawal/withdrawal.json b/coupon/subPackages/pages/withdrawal/withdrawal.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/coupon/subPackages/pages/withdrawal/withdrawal.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/coupon/subPackages/pages/withdrawal/withdrawal.wxml b/coupon/subPackages/pages/withdrawal/withdrawal.wxml
new file mode 100644
index 0000000..d0d56b6
--- /dev/null
+++ b/coupon/subPackages/pages/withdrawal/withdrawal.wxml
@@ -0,0 +1,2 @@
+
+subPackages/pages/withdrawal/withdrawal.wxml
diff --git a/coupon/subPackages/pages/withdrawal/withdrawal.wxss b/coupon/subPackages/pages/withdrawal/withdrawal.wxss
new file mode 100644
index 0000000..da8d0a8
--- /dev/null
+++ b/coupon/subPackages/pages/withdrawal/withdrawal.wxss
@@ -0,0 +1 @@
+/* subPackages/pages/withdrawal/withdrawal.wxss */
\ No newline at end of file
diff --git a/coupon/temp.json b/coupon/temp.json
new file mode 100644
index 0000000..0774880
--- /dev/null
+++ b/coupon/temp.json
@@ -0,0 +1,52 @@
+{
+ "erro": 0,
+ "goods_discount": [],
+ "goods_style": [
+ {
+ "icon": "1.png",
+ "id": 1,
+ "name": "美容"
+ }
+ ],
+ "mechanism": [
+ {
+ "address": "",
+ "appointment": 0,
+ "id": "1",
+ "mechanism_name": "系统平台",
+ "score": 0,
+ "wechat_logo": ""
+ },
+ {
+ "address": "",
+ "appointment": 1,
+ "id": "2",
+ "mechanism_name": "测试",
+ "score": 0,
+ "wechat_logo": ""
+ }
+ ],
+ "msg": "查询成功",
+ "special_offer": [
+ {
+ "goods_name": "测试商品",
+ "id": "2",
+ "index_img": "",
+ "mechanism_name": "",
+ "original_price": 5,
+ "price": 3
+ }
+ ],
+ "top_list": [
+ {
+ "goods_name": "女神卡",
+ "id": "1",
+ "index_img": "",
+ "original_price": 15,
+ "price": 12,
+ "seckill_status": 0,
+ "sold": 2,
+ "stock": 8
+ }
+ ]
+}
\ No newline at end of file
diff --git a/coupon/utils/dateTimePicker.js b/coupon/utils/dateTimePicker.js
new file mode 100644
index 0000000..69196c6
--- /dev/null
+++ b/coupon/utils/dateTimePicker.js
@@ -0,0 +1,80 @@
+function withData(param){
+ return param < 10 ? '0' + param : '' + param;
+}
+function getLoopArray(start,end){
+ var start = start || 0;
+ var end = end || 1;
+ var array = [];
+ for (var i = start; i <= end; i++) {
+ array.push(withData(i));
+ }
+ return array;
+}
+function getMonthDay(year,month){
+ var flag = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0), array = null;
+
+ switch (month) {
+ case '01':
+ case '03':
+ case '05':
+ case '07':
+ case '08':
+ case '10':
+ case '12':
+ array = getLoopArray(1, 31)
+ break;
+ case '04':
+ case '06':
+ case '09':
+ case '11':
+ array = getLoopArray(1, 30)
+ break;
+ case '02':
+ array = flag ? getLoopArray(1, 29) : getLoopArray(1, 28)
+ break;
+ default:
+ array = '月份格式不正确,请重新输入!'
+ }
+ return array;
+}
+function getNewDateArry(){
+ // 当前时间的处理
+ var newDate = new Date();
+ var year = withData(newDate.getFullYear()),
+ mont = withData(newDate.getMonth() + 1),
+ date = withData(newDate.getDate()),
+ hour = withData(newDate.getHours()),
+ minu = withData(newDate.getMinutes()),
+ seco = withData(newDate.getSeconds());
+
+ return [year, mont, date, hour, minu, seco];
+}
+function dateTimePicker(startYear,endYear,date) {
+ // 返回默认显示的数组和联动数组的声明
+ var dateTime = [], dateTimeArray = [[],[],[],[],[],[]];
+ var start = startYear || 1978;
+ var end = endYear || 2100;
+ // 默认开始显示数据
+ var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry();
+ // 处理联动列表数据
+ /*年月日 时分秒*/
+ dateTimeArray[0] = getLoopArray(start,end);
+ dateTimeArray[1] = getLoopArray(1, 12);
+ dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]);
+ dateTimeArray[3] = getLoopArray(0, 23);
+ dateTimeArray[4] = getLoopArray(0, 59);
+ dateTimeArray[5] = getLoopArray(0, 59);
+
+ dateTimeArray.forEach((current,index) => {
+ dateTime.push(current.indexOf(defaultDate[index]));
+ });
+
+ return {
+ dateTimeArray: dateTimeArray,
+ dateTime: dateTime
+ }
+}
+module.exports = {
+ dateTimePicker: dateTimePicker,
+ getMonthDay: getMonthDay
+}
\ No newline at end of file
diff --git a/coupon/utils/shareLogo.js b/coupon/utils/shareLogo.js
new file mode 100644
index 0000000..92b8642
--- /dev/null
+++ b/coupon/utils/shareLogo.js
@@ -0,0 +1,5 @@
+const r1 = '';
+const r2 = 'https://img-blog.csdnimg.cn/20190325113115701.jpeg';
+const r3 = '';
+const r4 = 'https://rattenking.gitee.io/stone/images/wx/images/4.jpg';
+module.exports = [r1, r2, r3, r4];
diff --git a/coupon/utils/util.js b/coupon/utils/util.js
new file mode 100644
index 0000000..fbf8146
--- /dev/null
+++ b/coupon/utils/util.js
@@ -0,0 +1,58 @@
+// 请求token
+const app = getApp()
+const shareLogo = require('./shareLogo.js');
+const formatTime = date => {
+ const year = date.getFullYear()
+ const month = date.getMonth() + 1
+ const day = date.getDate()
+ const hour = date.getHours()
+ const minute = date.getMinutes()
+ const second = date.getSeconds()
+
+ return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
+}
+const formatNumber = n => {
+ n = n.toString()
+ return n[1] ? n : '0' + n
+}
+const getShareInfo = (opts) => {
+ return {
+ onShareAppMessage: () => {
+ let title = opts && opts.title ? opts.title : 'WX-RUI小程序示例';
+ let path = opts && opts.path ? opts.path : '/pages/index/index';
+ let imageUrl = opts && opts.imageUrl ? opts.imageUrl : shareLogo[Math.floor(Math.random() * shareLogo.length)];
+ return {
+ title: title,
+ path: path,
+ imageUrl: imageUrl
+ }
+ }
+ }
+ }
+function token(){
+ wx.request({
+ url: app.globalData.url + '/device/CouponWechat/getToken',
+ data: {
+ uid:wx.getStorageSync('uid'),
+ phone: wx.getStorageSync('phone')
+ },
+ method: 'POST',
+ header: { 'content-type': 'application/x-www-form-urlencoded' },
+ success(res) {
+ // console.log(res.data.token)
+ if (res.data.result.erro == 0) {
+ app.globalData.token=res.data.result.token
+ wx.setStorageSync('token', res.data.result.token)
+ return res.data.token
+ }
+
+ }
+ })
+
+}
+module.exports = {
+ token:token,
+ getShareInfo: getShareInfo
+
+}
+