From ff3df3a28cf0698cbee029221f4c9696a49f11e6 Mon Sep 17 00:00:00 2001
From: Sanakey <714737083@qq.com>
Date: 星期五, 11 十二月 2020 17:57:09 +0800
Subject: [PATCH] 新增页面

---
 components/entry-cell/index.ts                       |   28 
 app.wxss                                             |    4 
 package-lock.json                                    |    5 
 pages/detail/detail.ts                               |   27 
 pages/liveRoomCreate/liveRoomCreate.wxml             |  380 +++++
 pages/liveRoomCreate/liveRoomCreate.wxss             |  380 +++++
 components/entry-cell/index.js                       |   18 
 pages/liveRoomCreate/liveRoomCreate.json             |   23 
 pages/verificationIdentity/verificationIdentity.wxml |   35 
 pages/verificationIdentity/verificationIdentity.wxss |   36 
 components/goods-action/index.ts                     |   16 
 pages/orderSubmit/orderSubmit.js                     |   99 +
 pages/orderSubmit/orderSubmit.wxml                   |   69 +
 components/goods-action/index.js                     |   17 
 pages/detail/detail.json                             |    5 
 pages/orderSubmit/orderSubmit.wxss                   |   35 
 pages/detail/detail.js                               |    2 
 miniprogram_npm/we-validator/index.js                |  772 +++++++++++
 components/entry-cell/index.wxml                     |    5 
 pages/myOrder/myOrder.wxml                           |    2 
 utils/myValidator.js                                 |   50 
 pages/balance/balance.wxss                           |    2 
 pages/balance/balance.wxml                           |    2 
 pages/verificationIdentity/verificationIdentity.json |    4 
 miniprogram_npm/dayjs/index.js                       |    4 
 pages/orderSubmit/orderSubmit.ts                     |  113 +
 utils/myValidator.ts                                 |   59 
 miniprogram_npm/we-validator/index.js.map            |    1 
 pages/verificationIdentity/verificationIdentity.ts   |   57 
 pages/liveRoomCreate/liveRoomCreate.js               |  704 ++++++++++
 pages/orderSubmit/orderSubmit - 副本.ts                |  162 ++
 app.json                                             |   11 
 pages/myOrder/myOrder.ts                             |    6 
 pages/verificationIdentity/verificationIdentity.js   |   56 
 pages/liveRoomCreate/liveRoomCreate.ts               |  707 ++++++++++
 package.json                                         |    1 
 pages/orderSubmit/orderSubmit - 副本.js                |  126 +
 pages/orderSubmit/orderSubmit.json                   |    4 
 pages/detail/detail.wxml                             |   26 
 pages/myOrder/myOrder.js                             |    8 
 project.config.json                                  |   21 
 miniprogram_npm/wx-promise-pro/index.js              |    4 
 42 files changed, 4,010 insertions(+), 76 deletions(-)

diff --git a/app.json b/app.json
index 07d1d6b..98c4b7f 100644
--- a/app.json
+++ b/app.json
@@ -5,6 +5,7 @@
     "pages/verificationIntroduction/verificationIntroduction",
     "pages/verificationMethod/verificationMethod",
     "pages/verificationAccount/verificationAccount",
+    "pages/verificationIdentity/verificationIdentity",
     "pages/balance/balance",
     "pages/myOrder/myOrder",
     "pages/myFootprint/myFootprint",
@@ -13,7 +14,9 @@
     "pages/promotionsInitiate/promotionsInitiate",
     "pages/promotionsManage/promotionsManage",
     "pages/detail/detail",
-    "pages/myLiveRoom/myLiveRoom"
+    "pages/myLiveRoom/myLiveRoom",
+    "pages/orderSubmit/orderSubmit",
+    "pages/liveRoomCreate/liveRoomCreate"
   ],
   "window": {
     "backgroundTextStyle": "light",
@@ -37,7 +40,9 @@
     "van-cell": "@vant/weapp/cell/index",
     "van-cell-group": "@vant/weapp/cell-group/index",
     "van-share-sheet": "@vant/weapp/share-sheet/index",
-    "van-action-sheet": "@vant/weapp/action-sheet/index"
+    "van-action-sheet": "@vant/weapp/action-sheet/index",
+    "van-field": "@vant/weapp/field/index",
+    "van-picker": "@vant/weapp/picker/index"
   },
   "permission": {
     "scope.userLocation": {
@@ -46,7 +51,7 @@
   },
   "plugins": {
     "live-player-plugin": {
-      "version": "1.2.3",
+      "version": "1.2.4",
       "provider": "wx2b03c6e691cd7370"
     },
     "chooseLocation": {
diff --git a/app.wxss b/app.wxss
index dbc8b36..db9fc0f 100644
--- a/app.wxss
+++ b/app.wxss
@@ -11,6 +11,7 @@
   --theme-color: #ff751a;
   --container-bgcolor: #f5f5f5;
   --link-color: #576b95;
+  --price-color: #fe0000;
   /* --left-sidebar-width: 0px;
   min-width: var(--left-sidebar-width);
   --color: #ddd;
@@ -71,3 +72,6 @@
 .mark{
   color: #1c2bbc;
 }
+.price{
+  color: var(--price-color);
+}
diff --git a/components/entry-cell/index.js b/components/entry-cell/index.js
index 491ceb5..e811387 100644
--- a/components/entry-cell/index.js
+++ b/components/entry-cell/index.js
@@ -21,6 +21,20 @@
         detached: function () {
         },
     },
-    methods: {}
+    methods: {
+        goDetail: function () {
+            var _this = this;
+            var fromPage = this.data.from;
+            wx.navigateTo({
+                url: "/pages/detail/detail?from=" + fromPage,
+                events: {
+                    detailCheckCode: function (data) {
+                        console.log('閫夋嫨鐨勫晢鍝�', data);
+                        _this.triggerEvent('comeback', data);
+                    }
+                }
+            });
+        }
+    }
 });
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsU0FBUyxDQUFDO0lBSVIsT0FBTyxFQUFFO1FBQ1AsY0FBYyxFQUFFLElBQUk7UUFDcEIsYUFBYSxFQUFFLElBQUk7S0FDcEI7SUFDRCxVQUFVLEVBQUU7UUFDVixRQUFRLEVBQUM7WUFDUCxJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSxFQUFFO1NBQ1Y7UUFDRCxJQUFJLEVBQUM7WUFDSCxJQUFJLEVBQUMsTUFBTTtZQUNYLEtBQUssRUFBRSxFQUFFO1NBQ1Y7S0FDRjtJQUtELElBQUksRUFBRSxFQUVMO0lBRUQsU0FBUyxFQUFFO1FBQ1QsUUFBUSxFQUFFO1FBR1YsQ0FBQztRQUNELFFBQVEsRUFBRTtRQUVWLENBQUM7S0FDRjtJQUlELE9BQU8sRUFBRSxFQUVSO0NBQ0YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8vIGNvbnN0IGFwcCA9IGdldEFwcDxJQXBwT3B0aW9uPigpO1xyXG5Db21wb25lbnQoe1xyXG4gIC8qKlxyXG4gICAqIOe7hOS7tueahOWxnuaAp+WIl+ihqFxyXG4gICAqL1xyXG4gIG9wdGlvbnM6IHtcclxuICAgIGFkZEdsb2JhbENsYXNzOiB0cnVlLFxyXG4gICAgbXVsdGlwbGVTbG90czogdHJ1ZSAvLyDlnKjnu4Tku7blrprkuYnml7bnmoTpgInpobnkuK3lkK/nlKjlpJpzbG905pSv5oyBXHJcbiAgfSxcclxuICBwcm9wZXJ0aWVzOiB7XHJcbiAgICBsaXN0SXRlbTp7XHJcbiAgICAgIHR5cGU6IE9iamVjdCxcclxuICAgICAgdmFsdWU6IHt9XHJcbiAgICB9LFxyXG4gICAgZnJvbTp7XHJcbiAgICAgIHR5cGU6U3RyaW5nLFxyXG4gICAgICB2YWx1ZTogJydcclxuICAgIH1cclxuICB9LFxyXG5cclxuICAvKipcclxuICAgKiDnu4Tku7bnmoTliJ3lp4vmlbDmja5cclxuICAgKi9cclxuICBkYXRhOiB7XHJcblxyXG4gIH0sXHJcblxyXG4gIGxpZmV0aW1lczoge1xyXG4gICAgYXR0YWNoZWQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAvLyDlnKjnu4Tku7blrp7kvovov5vlhaXpobXpnaLoioLngrnmoJHml7bmiafooYxcclxuICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLmxpc3RJdGVtKTtcclxuICAgIH0sXHJcbiAgICBkZXRhY2hlZDogZnVuY3Rpb24oKSB7XHJcbiAgICAgIC8vIOWcqOe7hOS7tuWunuS+i+iiq+S7jumhtemdouiKgueCueagkeenu+mZpOaXtuaJp+ihjFxyXG4gICAgfSxcclxuICB9LFxyXG4gIC8qKlxyXG4gICAqIOe7hOS7tueahOaWueazleWIl+ihqFxyXG4gICAqL1xyXG4gIG1ldGhvZHM6IHtcclxuXHJcbiAgfVxyXG59KVxyXG4iXX0=
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsU0FBUyxDQUFDO0lBSVIsT0FBTyxFQUFFO1FBQ1AsY0FBYyxFQUFFLElBQUk7UUFDcEIsYUFBYSxFQUFFLElBQUk7S0FDcEI7SUFDRCxVQUFVLEVBQUU7UUFDVixRQUFRLEVBQUM7WUFDUCxJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSxFQUFFO1NBQ1Y7UUFDRCxJQUFJLEVBQUM7WUFDSCxJQUFJLEVBQUMsTUFBTTtZQUNYLEtBQUssRUFBRSxFQUFFO1NBQ1Y7S0FDRjtJQUtELElBQUksRUFBRSxFQUVMO0lBRUQsU0FBUyxFQUFFO1FBQ1QsUUFBUSxFQUFFO1FBR1YsQ0FBQztRQUNELFFBQVEsRUFBRTtRQUVWLENBQUM7S0FDRjtJQUlELE9BQU8sRUFBRTtRQUNQLFFBQVE7WUFBUixpQkEwQkM7WUF6QkMsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFHOUIsRUFBRSxDQUFDLFVBQVUsQ0FBQztnQkFDWixHQUFHLEVBQUUsK0JBQTZCLFFBQVU7Z0JBQzVDLE1BQU0sRUFBRTtvQkFFTixlQUFlLEVBQUUsVUFBQyxJQUFTO3dCQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBQyxJQUFJLENBQUMsQ0FBQTt3QkFDekIsS0FBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUMsSUFBSSxDQUFDLENBQUM7b0JBYXJDLENBQUM7aUJBQ0Y7YUFDRixDQUFDLENBQUE7UUFDSixDQUFDO0tBQ0Y7Q0FDRixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLy8gY29uc3QgYXBwID0gZ2V0QXBwPElBcHBPcHRpb24+KCk7XHJcbkNvbXBvbmVudCh7XHJcbiAgLyoqXHJcbiAgICog57uE5Lu255qE5bGe5oCn5YiX6KGoXHJcbiAgICovXHJcbiAgb3B0aW9uczoge1xyXG4gICAgYWRkR2xvYmFsQ2xhc3M6IHRydWUsXHJcbiAgICBtdWx0aXBsZVNsb3RzOiB0cnVlIC8vIOWcqOe7hOS7tuWumuS5ieaXtueahOmAiemhueS4reWQr+eUqOWkmnNsb3TmlK/mjIFcclxuICB9LFxyXG4gIHByb3BlcnRpZXM6IHtcclxuICAgIGxpc3RJdGVtOntcclxuICAgICAgdHlwZTogT2JqZWN0LFxyXG4gICAgICB2YWx1ZToge31cclxuICAgIH0sXHJcbiAgICBmcm9tOntcclxuICAgICAgdHlwZTpTdHJpbmcsXHJcbiAgICAgIHZhbHVlOiAnJ1xyXG4gICAgfVxyXG4gIH0sXHJcblxyXG4gIC8qKlxyXG4gICAqIOe7hOS7tueahOWIneWni+aVsOaNrlxyXG4gICAqL1xyXG4gIGRhdGE6IHtcclxuXHJcbiAgfSxcclxuXHJcbiAgbGlmZXRpbWVzOiB7XHJcbiAgICBhdHRhY2hlZDogZnVuY3Rpb24oKSB7XHJcbiAgICAgIC8vIOWcqOe7hOS7tuWunuS+i+i/m+WFpemhtemdouiKgueCueagkeaXtuaJp+ihjFxyXG4gICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmRhdGEubGlzdEl0ZW0pO1xyXG4gICAgfSxcclxuICAgIGRldGFjaGVkOiBmdW5jdGlvbigpIHtcclxuICAgICAgLy8g5Zyo57uE5Lu25a6e5L6L6KKr5LuO6aG16Z2i6IqC54K55qCR56e76Zmk5pe25omn6KGMXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgLyoqXHJcbiAgICog57uE5Lu255qE5pa55rOV5YiX6KGoXHJcbiAgICovXHJcbiAgbWV0aG9kczoge1xyXG4gICAgZ29EZXRhaWwoKXtcclxuICAgICAgbGV0IGZyb21QYWdlID0gdGhpcy5kYXRhLmZyb207XHJcbiAgICAgIC8vIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMpO1xyXG4gICAgICB3eC5uYXZpZ2F0ZVRvKHtcclxuICAgICAgICB1cmw6IGAvcGFnZXMvZGV0YWlsL2RldGFpbD9mcm9tPSR7ZnJvbVBhZ2V9YCxcclxuICAgICAgICBldmVudHM6IHtcclxuICAgICAgICAgIC8vIOS4uuaMh+WumuS6i+S7tua3u+WKoOS4gOS4quebkeWQrOWZqO+8jOiOt+WPluiiq+aJk+W8gOmhtemdouS8oOmAgeWIsOW9k+WJjemhtemdoueahOaVsOaNrlxyXG4gICAgICAgICAgZGV0YWlsQ2hlY2tDb2RlOiAoZGF0YTogYW55KT0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ+mAieaLqeeahOWVhuWTgScsZGF0YSlcclxuICAgICAgICAgICAgdGhpcy50cmlnZ2VyRXZlbnQoJ2NvbWViYWNrJyxkYXRhKTtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coX3RoaXMsdGhpcyk7XHJcbiAgICAgICAgICAgIC8vIGxldCBbZXJyTXNnLHFyUmVzXSA9IGF3YWl0IHRoaXMuZ2V0UG9zdGVyUXJDb2RlKHtcclxuICAgICAgICAgICAgLy8gICBRckNvZGVUeXBlOjMwLFxyXG4gICAgICAgICAgICAvLyAgIG1hdGNvZGU6IGRhdGEuZ29vZHNcclxuICAgICAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgICAgIC8vIGlmIChlcnJNc2cpIHtcclxuICAgICAgICAgICAgLy8gICByZXR1cm47XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgLy8gdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgLy8gICBxclJlcyxcclxuICAgICAgICAgICAgLy8gICBzZWxlY3RlZFFyOmluZGV4XHJcbiAgICAgICAgICAgIC8vIH0pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxufSlcclxuIl19
\ No newline at end of file
diff --git a/components/entry-cell/index.ts b/components/entry-cell/index.ts
index 962f04f..473ec49 100644
--- a/components/entry-cell/index.ts
+++ b/components/entry-cell/index.ts
@@ -39,6 +39,32 @@
    * 缁勪欢鐨勬柟娉曞垪琛�
    */
   methods: {
-
+    goDetail(){
+      let fromPage = this.data.from;
+      // let _this = this;
+      // console.log(this);
+      wx.navigateTo({
+        url: `/pages/detail/detail?from=${fromPage}`,
+        events: {
+          // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�
+          detailCheckCode: (data: any)=> {
+            console.log('閫夋嫨鐨勫晢鍝�',data)
+            this.triggerEvent('comeback',data);
+            // console.log(_this,this);
+            // let [errMsg,qrRes] = await this.getPosterQrCode({
+            //   QrCodeType:30,
+            //   matcode: data.goods
+            // });
+            // if (errMsg) {
+            //   return;
+            // }
+            // this.setData({
+            //   qrRes,
+            //   selectedQr:index
+            // })
+          }
+        }
+      })
+    }
   }
 })
diff --git a/components/entry-cell/index.wxml b/components/entry-cell/index.wxml
index 397f213..cab668d 100644
--- a/components/entry-cell/index.wxml
+++ b/components/entry-cell/index.wxml
@@ -1,6 +1,7 @@
 <!--components/entry-cell/index.wxml-->
 <van-cell title-width="520rpx">
-  <navigator url="../../pages/detail/detail?from={{from}}" slot="title">
+<!--  <navigator url="../../pages/detail/detail?from={{from}}" slot="title">-->
+  <view bindtap="goDetail" slot="title">
     <view class="van-cell-text no-wrap">{{listItem.title}}</view>
     <view class="van-cell-desc">
       <van-row class="van-row" gutter="5">
@@ -18,6 +19,6 @@
         </van-col>
       </van-row>
     </view>
-  </navigator>
+  </view>
   <slot></slot>
 </van-cell>
diff --git a/components/goods-action/index.js b/components/goods-action/index.js
index bfdd050..c2d9d7c 100644
--- a/components/goods-action/index.js
+++ b/components/goods-action/index.js
@@ -9,6 +9,10 @@
             type: String,
             value: ''
         },
+        docCode: {
+            type: String,
+            value: ''
+        }
     },
     data: {
         showShare: false,
@@ -70,7 +74,18 @@
             wx.makePhoneCall({
                 phoneNumber: mobile,
             });
+        },
+        onClickCheckCode: function () {
+            console.log(666);
+            var eventChannel = this.getOpenerEventChannel();
+            eventChannel.emit('detailCheckCode', { isShowDialog: true });
+            wx.navigateBack();
+        },
+        onClickSnapUp: function () {
+            wx.navigateTo({
+                url: '/pages/orderSubmit/orderSubmit'
+            });
         }
     }
 });
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsU0FBUyxDQUFDO0lBSVIsT0FBTyxFQUFFO1FBQ1AsY0FBYyxFQUFFLElBQUk7UUFDcEIsYUFBYSxFQUFFLElBQUk7S0FDcEI7SUFDRCxVQUFVLEVBQUU7UUFDVixRQUFRLEVBQUM7WUFDUCxJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSxFQUFFO1NBQ1Y7S0FhRjtJQUtELElBQUksRUFBRTtRQUNKLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLFlBQVksRUFBRTtZQUNaLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7WUFDakQsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDaEMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7U0FDaEM7UUFDRCxZQUFZLEVBQUUsS0FBSztRQUNuQixlQUFlLEVBQUU7WUFDZjtnQkFDRSxJQUFJLEVBQUUsYUFBYTthQUNwQjtZQUNEO2dCQUNFLElBQUksRUFBRSxJQUFJO2dCQUNWLEVBQUUsRUFBQyxhQUFhO2FBQ2pCO1NBQ0Y7S0FDRjtJQUVELFNBQVMsRUFBRTtRQUNULFFBQVE7WUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLGFBQWEsRUFBQztnQkFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUM7Z0JBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQzthQUNqQztZQUNELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssa0JBQWtCLEVBQUM7Z0JBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBQyxjQUFjLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQzthQUN0QztRQUdILENBQUM7UUFDRCxRQUFRLEVBQUU7UUFFVixDQUFDO0tBQ0Y7SUFJRCxPQUFPLEVBQUU7UUFDUCxZQUFZO1lBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDWCxTQUFTLEVBQUMsSUFBSTthQUNmLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFDRCxZQUFZO1lBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDWCxTQUFTLEVBQUMsS0FBSzthQUNoQixDQUFDLENBQUE7UUFDSixDQUFDO1FBQ0QsZUFBZTtZQUNiLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQ1gsWUFBWSxFQUFDLElBQUk7YUFDbEIsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUNELGVBQWU7WUFDYixJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUNYLFlBQVksRUFBQyxLQUFLO2FBQ25CLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFDRCxnQkFBZ0IsWUFBQyxDQUFLO1lBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDZixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN6QixFQUFFLENBQUMsYUFBYSxDQUFDO2dCQUNmLFdBQVcsRUFBRSxNQUFNO2FBQ3BCLENBQUMsQ0FBQTtRQUNKLENBQUM7S0FDRjtDQUNGLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4vLyBjb25zdCBhcHAgPSBnZXRBcHA8SUFwcE9wdGlvbj4oKTtcclxuQ29tcG9uZW50KHtcclxuICAvKipcclxuICAgKiDnu4Tku7bnmoTlsZ7mgKfliJfooahcclxuICAgKi9cclxuICBvcHRpb25zOiB7XHJcbiAgICBhZGRHbG9iYWxDbGFzczogdHJ1ZSxcclxuICAgIG11bHRpcGxlU2xvdHM6IHRydWUgLy8g5Zyo57uE5Lu25a6a5LmJ5pe255qE6YCJ6aG55Lit5ZCv55So5aSac2xvdOaUr+aMgVxyXG4gIH0sXHJcbiAgcHJvcGVydGllczoge1xyXG4gICAgZnJvbVBhZ2U6e1xyXG4gICAgICB0eXBlOiBTdHJpbmcsXHJcbiAgICAgIHZhbHVlOiAnJ1xyXG4gICAgfSxcclxuICAgIC8vIGZyb21Gb290cHJpbnQ6e1xyXG4gICAgLy8gICB0eXBlOiBCb29sZWFuLFxyXG4gICAgLy8gICB2YWx1ZTogZmFsc2VcclxuICAgIC8vIH0sXHJcbiAgICAvLyBmcm9tT3JkZXI6e1xyXG4gICAgLy8gICB0eXBlOiBCb29sZWFuLFxyXG4gICAgLy8gICB2YWx1ZTogZmFsc2VcclxuICAgIC8vIH0sXHJcbiAgICAvLyBmcm9tUHJvbW90aW9uczp7XHJcbiAgICAvLyAgIHR5cGU6IEJvb2xlYW4sXHJcbiAgICAvLyAgIHZhbHVlOiB0cnVlXHJcbiAgICAvLyB9LFxyXG4gIH0sXHJcblxyXG4gIC8qKlxyXG4gICAqIOe7hOS7tueahOWIneWni+aVsOaNrlxyXG4gICAqL1xyXG4gIGRhdGE6IHtcclxuICAgIHNob3dTaGFyZTogZmFsc2UsXHJcbiAgICBzaGFyZU9wdGlvbnM6IFtcclxuICAgICAgeyBuYW1lOiAn5b6u5L+hJywgaWNvbjogJ3dlY2hhdCcsIG9wZW5UeXBlOiAnc2hhcmUnIH0sXHJcbiAgICAgIHsgbmFtZTogJ+WIhuS6q+a1t+aKpScsIGljb246ICdwb3N0ZXInIH0sXHJcbiAgICAgIHsgbmFtZTogJ+S6jOe7tOeggScsIGljb246ICdxcmNvZGUnIH0sXHJcbiAgICBdLFxyXG4gICAgc2hvd0Fkdmlzb3J5OiBmYWxzZSxcclxuICAgIGFkdmlzb3J5QWN0aW9uczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJzEyMzQ1Njc4OTEwJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICflkbzlj6snLFxyXG4gICAgICAgIG15OicxMjM0NTY3ODkxMCdcclxuICAgICAgfVxyXG4gICAgXSxcclxuICB9LFxyXG5cclxuICBsaWZldGltZXM6IHtcclxuICAgIGF0dGFjaGVkKCkge1xyXG4gICAgICBpZiAodGhpcy5kYXRhLmZyb21QYWdlID09PSAnbXlGb290cHJpbnQnKXtcclxuICAgICAgICB0aGlzLnNldERhdGEoe2Zyb21Gb290cHJpbnQ6IHRydWV9KTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kYXRhLmZyb21QYWdlID09PSAnbXlPcmRlcicpe1xyXG4gICAgICAgIHRoaXMuc2V0RGF0YSh7ZnJvbU9yZGVyOiB0cnVlfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZGF0YS5mcm9tUGFnZSA9PT0gJ3Byb21vdGlvbnNNYW5hZ2UnKXtcclxuICAgICAgICB0aGlzLnNldERhdGEoe2Zyb21Qcm9tb3Rpb25zOiB0cnVlfSk7XHJcbiAgICAgIH1cclxuICAgICAgLy8g5Zyo57uE5Lu25a6e5L6L6L+b5YWl6aG16Z2i6IqC54K55qCR5pe25omn6KGMXHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZGF0YS5saXN0SXRlbSk7XHJcbiAgICB9LFxyXG4gICAgZGV0YWNoZWQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAvLyDlnKjnu4Tku7blrp7kvovooqvku47pobXpnaLoioLngrnmoJHnp7vpmaTml7bmiafooYxcclxuICAgIH0sXHJcbiAgfSxcclxuICAvKipcclxuICAgKiDnu4Tku7bnmoTmlrnms5XliJfooahcclxuICAgKi9cclxuICBtZXRob2RzOiB7XHJcbiAgICBvbkNsaWNrU2hhcmUoKXtcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBzaG93U2hhcmU6dHJ1ZVxyXG4gICAgICB9KVxyXG4gICAgfSxcclxuICAgIG9uU2hhcmVDbG9zZSgpe1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIHNob3dTaGFyZTpmYWxzZVxyXG4gICAgICB9KVxyXG4gICAgfSxcclxuICAgIG9uQ2xpY2tBZHZpc29yeSgpe1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIHNob3dBZHZpc29yeTp0cnVlXHJcbiAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgb25BZHZpc29yeUNsb3NlKCl7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgc2hvd0Fkdmlzb3J5OmZhbHNlXHJcbiAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgb25BZHZpc29yeVNlbGVjdChlOmFueSl7XHJcbiAgICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgICBsZXQgbW9iaWxlID0gZS5kZXRhaWwubXk7XHJcbiAgICAgIHd4Lm1ha2VQaG9uZUNhbGwoe1xyXG4gICAgICAgIHBob25lTnVtYmVyOiBtb2JpbGUsXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG59KVxyXG4iXX0=
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsU0FBUyxDQUFDO0lBSVIsT0FBTyxFQUFFO1FBQ1AsY0FBYyxFQUFFLElBQUk7UUFDcEIsYUFBYSxFQUFFLElBQUk7S0FDcEI7SUFDRCxVQUFVLEVBQUU7UUFDVixRQUFRLEVBQUM7WUFDUCxJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSxFQUFFO1NBQ1Y7UUFDRCxPQUFPLEVBQUM7WUFDTixJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSxFQUFFO1NBQ1Y7S0FhRjtJQUtELElBQUksRUFBRTtRQUNKLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLFlBQVksRUFBRTtZQUNaLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7WUFDakQsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDaEMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7U0FDaEM7UUFDRCxZQUFZLEVBQUUsS0FBSztRQUNuQixlQUFlLEVBQUU7WUFDZjtnQkFDRSxJQUFJLEVBQUUsYUFBYTthQUNwQjtZQUNEO2dCQUNFLElBQUksRUFBRSxJQUFJO2dCQUNWLEVBQUUsRUFBQyxhQUFhO2FBQ2pCO1NBQ0Y7S0FDRjtJQUVELFNBQVMsRUFBRTtRQUNULFFBQVE7WUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLGFBQWEsRUFBQztnQkFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUM7Z0JBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQzthQUNqQztZQUNELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssa0JBQWtCLEVBQUM7Z0JBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBQyxjQUFjLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQzthQUN0QztRQUdILENBQUM7UUFDRCxRQUFRLEVBQUU7UUFFVixDQUFDO0tBQ0Y7SUFJRCxPQUFPLEVBQUU7UUFDUCxZQUFZO1lBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDWCxTQUFTLEVBQUMsSUFBSTthQUNmLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFDRCxZQUFZO1lBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDWCxTQUFTLEVBQUMsS0FBSzthQUNoQixDQUFDLENBQUE7UUFDSixDQUFDO1FBQ0QsZUFBZTtZQUNiLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQ1gsWUFBWSxFQUFDLElBQUk7YUFDbEIsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUNELGVBQWU7WUFDYixJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUNYLFlBQVksRUFBQyxLQUFLO2FBQ25CLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFDRCxnQkFBZ0IsWUFBQyxDQUFLO1lBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDZixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN6QixFQUFFLENBQUMsYUFBYSxDQUFDO2dCQUNmLFdBQVcsRUFBRSxNQUFNO2FBQ3BCLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFDRCxnQkFBZ0I7WUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRWpCLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ2hELFlBQVksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxZQUFZLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztZQUMzRCxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsQ0FBQztRQUNELGFBQWE7WUFDWCxFQUFFLENBQUMsVUFBVSxDQUFDO2dCQUNaLEdBQUcsRUFBRSxnQ0FBZ0M7YUFDdEMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztLQUNGO0NBQ0YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8vIGNvbnN0IGFwcCA9IGdldEFwcDxJQXBwT3B0aW9uPigpO1xyXG5Db21wb25lbnQoe1xyXG4gIC8qKlxyXG4gICAqIOe7hOS7tueahOWxnuaAp+WIl+ihqFxyXG4gICAqL1xyXG4gIG9wdGlvbnM6IHtcclxuICAgIGFkZEdsb2JhbENsYXNzOiB0cnVlLFxyXG4gICAgbXVsdGlwbGVTbG90czogdHJ1ZSAvLyDlnKjnu4Tku7blrprkuYnml7bnmoTpgInpobnkuK3lkK/nlKjlpJpzbG905pSv5oyBXHJcbiAgfSxcclxuICBwcm9wZXJ0aWVzOiB7XHJcbiAgICBmcm9tUGFnZTp7XHJcbiAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgdmFsdWU6ICcnXHJcbiAgICB9LFxyXG4gICAgZG9jQ29kZTp7XHJcbiAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgdmFsdWU6ICcnXHJcbiAgICB9XHJcbiAgICAvLyBmcm9tRm9vdHByaW50OntcclxuICAgIC8vICAgdHlwZTogQm9vbGVhbixcclxuICAgIC8vICAgdmFsdWU6IGZhbHNlXHJcbiAgICAvLyB9LFxyXG4gICAgLy8gZnJvbU9yZGVyOntcclxuICAgIC8vICAgdHlwZTogQm9vbGVhbixcclxuICAgIC8vICAgdmFsdWU6IGZhbHNlXHJcbiAgICAvLyB9LFxyXG4gICAgLy8gZnJvbVByb21vdGlvbnM6e1xyXG4gICAgLy8gICB0eXBlOiBCb29sZWFuLFxyXG4gICAgLy8gICB2YWx1ZTogdHJ1ZVxyXG4gICAgLy8gfSxcclxuICB9LFxyXG5cclxuICAvKipcclxuICAgKiDnu4Tku7bnmoTliJ3lp4vmlbDmja5cclxuICAgKi9cclxuICBkYXRhOiB7XHJcbiAgICBzaG93U2hhcmU6IGZhbHNlLFxyXG4gICAgc2hhcmVPcHRpb25zOiBbXHJcbiAgICAgIHsgbmFtZTogJ+W+ruS/oScsIGljb246ICd3ZWNoYXQnLCBvcGVuVHlwZTogJ3NoYXJlJyB9LFxyXG4gICAgICB7IG5hbWU6ICfliIbkuqvmtbfmiqUnLCBpY29uOiAncG9zdGVyJyB9LFxyXG4gICAgICB7IG5hbWU6ICfkuoznu7TnoIEnLCBpY29uOiAncXJjb2RlJyB9LFxyXG4gICAgXSxcclxuICAgIHNob3dBZHZpc29yeTogZmFsc2UsXHJcbiAgICBhZHZpc29yeUFjdGlvbnM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICcxMjM0NTY3ODkxMCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAn5ZG85Y+rJyxcclxuICAgICAgICBteTonMTIzNDU2Nzg5MTAnXHJcbiAgICAgIH1cclxuICAgIF0sXHJcbiAgfSxcclxuXHJcbiAgbGlmZXRpbWVzOiB7XHJcbiAgICBhdHRhY2hlZCgpIHtcclxuICAgICAgaWYgKHRoaXMuZGF0YS5mcm9tUGFnZSA9PT0gJ215Rm9vdHByaW50Jyl7XHJcbiAgICAgICAgdGhpcy5zZXREYXRhKHtmcm9tRm9vdHByaW50OiB0cnVlfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZGF0YS5mcm9tUGFnZSA9PT0gJ215T3JkZXInKXtcclxuICAgICAgICB0aGlzLnNldERhdGEoe2Zyb21PcmRlcjogdHJ1ZX0pO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmRhdGEuZnJvbVBhZ2UgPT09ICdwcm9tb3Rpb25zTWFuYWdlJyl7XHJcbiAgICAgICAgdGhpcy5zZXREYXRhKHtmcm9tUHJvbW90aW9uczogdHJ1ZX0pO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIOWcqOe7hOS7tuWunuS+i+i/m+WFpemhtemdouiKgueCueagkeaXtuaJp+ihjFxyXG4gICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmRhdGEubGlzdEl0ZW0pO1xyXG4gICAgfSxcclxuICAgIGRldGFjaGVkOiBmdW5jdGlvbigpIHtcclxuICAgICAgLy8g5Zyo57uE5Lu25a6e5L6L6KKr5LuO6aG16Z2i6IqC54K55qCR56e76Zmk5pe25omn6KGMXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgLyoqXHJcbiAgICog57uE5Lu255qE5pa55rOV5YiX6KGoXHJcbiAgICovXHJcbiAgbWV0aG9kczoge1xyXG4gICAgb25DbGlja1NoYXJlKCl7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgc2hvd1NoYXJlOnRydWVcclxuICAgICAgfSlcclxuICAgIH0sXHJcbiAgICBvblNoYXJlQ2xvc2UoKXtcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBzaG93U2hhcmU6ZmFsc2VcclxuICAgICAgfSlcclxuICAgIH0sXHJcbiAgICBvbkNsaWNrQWR2aXNvcnkoKXtcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBzaG93QWR2aXNvcnk6dHJ1ZVxyXG4gICAgICB9KVxyXG4gICAgfSxcclxuICAgIG9uQWR2aXNvcnlDbG9zZSgpe1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIHNob3dBZHZpc29yeTpmYWxzZVxyXG4gICAgICB9KVxyXG4gICAgfSxcclxuICAgIG9uQWR2aXNvcnlTZWxlY3QoZTphbnkpe1xyXG4gICAgICBjb25zb2xlLmxvZyhlKTtcclxuICAgICAgbGV0IG1vYmlsZSA9IGUuZGV0YWlsLm15O1xyXG4gICAgICB3eC5tYWtlUGhvbmVDYWxsKHtcclxuICAgICAgICBwaG9uZU51bWJlcjogbW9iaWxlLFxyXG4gICAgICB9KVxyXG4gICAgfSxcclxuICAgIG9uQ2xpY2tDaGVja0NvZGUoKXtcclxuICAgICAgY29uc29sZS5sb2coNjY2KTtcclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICBsZXQgZXZlbnRDaGFubmVsID0gdGhpcy5nZXRPcGVuZXJFdmVudENoYW5uZWwoKTtcclxuICAgICAgZXZlbnRDaGFubmVsLmVtaXQoJ2RldGFpbENoZWNrQ29kZScsIHtpc1Nob3dEaWFsb2c6IHRydWV9KTtcclxuICAgICAgd3gubmF2aWdhdGVCYWNrKCk7XHJcbiAgICB9LFxyXG4gICAgb25DbGlja1NuYXBVcCgpe1xyXG4gICAgICB3eC5uYXZpZ2F0ZVRvKHtcclxuICAgICAgICB1cmw6ICcvcGFnZXMvb3JkZXJTdWJtaXQvb3JkZXJTdWJtaXQnXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG59KVxyXG4iXX0=
\ No newline at end of file
diff --git a/components/goods-action/index.ts b/components/goods-action/index.ts
index eb21f40..75adf7f 100644
--- a/components/goods-action/index.ts
+++ b/components/goods-action/index.ts
@@ -13,6 +13,10 @@
       type: String,
       value: ''
     },
+    docCode:{
+      type: String,
+      value: ''
+    }
     // fromFootprint:{
     //   type: Boolean,
     //   value: false
@@ -97,6 +101,18 @@
       wx.makePhoneCall({
         phoneNumber: mobile,
       })
+    },
+    onClickCheckCode(){
+      console.log(666);
+      // @ts-ignore
+      let eventChannel = this.getOpenerEventChannel();
+      eventChannel.emit('detailCheckCode', {isShowDialog: true});
+      wx.navigateBack();
+    },
+    onClickSnapUp(){
+      wx.navigateTo({
+        url: '/pages/orderSubmit/orderSubmit'
+      })
     }
   }
 })
diff --git a/miniprogram_npm/dayjs/index.js b/miniprogram_npm/dayjs/index.js
index 0bf25fa..3fc74c9 100644
--- a/miniprogram_npm/dayjs/index.js
+++ b/miniprogram_npm/dayjs/index.js
@@ -4,10 +4,10 @@
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
-__DEFINE__(1607156818087, function(require, module, exports) {
+__DEFINE__(1607388144813, function(require, module, exports) {
 !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.dayjs=e()}(this,function(){var t="millisecond",e="second",n="minute",r="hour",i="day",s="week",u="month",a="quarter",o="year",f="date",h=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d+)?$/,c=/\[([^\]]+)]|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,d={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},$=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},l={s:$,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+$(r,2,"0")+":"+$(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,u),s=n-i<0,a=e.clone().add(r+(s?-1:1),u);return+(-(r+(n-i)/(s?i-a:a-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(h){return{M:u,y:o,w:s,d:i,D:f,h:r,m:n,s:e,ms:t,Q:a}[h]||String(h||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},y="en",M={};M[y]=d;var m=function(t){return t instanceof S},D=function(t,e,n){var r;if(!t)return y;if("string"==typeof t)M[t]&&(r=t),e&&(M[t]=e,r=t);else{var i=t.name;M[i]=t,r=i}return!n&&r&&(y=r),r||!n&&y},v=function(t,e){if(m(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new S(n)},g=l;g.l=D,g.i=m,g.w=function(t,e){return v(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var S=function(){function d(t){this.$L=D(t.locale,null,!0),this.parse(t)}var $=d.prototype;return $.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(g.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(h);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},$.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},$.$utils=function(){return g},$.isValid=function(){return!("Invalid Date"===this.$d.toString())},$.isSame=function(t,e){var n=v(t);return this.startOf(e)<=n&&n<=this.endOf(e)},$.isAfter=function(t,e){return v(t)<this.startOf(e)},$.isBefore=function(t,e){return this.endOf(e)<v(t)},$.$g=function(t,e,n){return g.u(t)?this[e]:this.set(n,t)},$.unix=function(){return Math.floor(this.valueOf()/1e3)},$.valueOf=function(){return this.$d.getTime()},$.startOf=function(t,a){var h=this,c=!!g.u(a)||a,d=g.p(t),$=function(t,e){var n=g.w(h.$u?Date.UTC(h.$y,e,t):new Date(h.$y,e,t),h);return c?n:n.endOf(i)},l=function(t,e){return g.w(h.toDate()[t].apply(h.toDate("s"),(c?[0,0,0,0]:[23,59,59,999]).slice(e)),h)},y=this.$W,M=this.$M,m=this.$D,D="set"+(this.$u?"UTC":"");switch(d){case o:return c?$(1,0):$(31,11);case u:return c?$(1,M):$(0,M+1);case s:var v=this.$locale().weekStart||0,S=(y<v?y+7:y)-v;return $(c?m-S:m+(6-S),M);case i:case f:return l(D+"Hours",0);case r:return l(D+"Minutes",1);case n:return l(D+"Seconds",2);case e:return l(D+"Milliseconds",3);default:return this.clone()}},$.endOf=function(t){return this.startOf(t,!1)},$.$set=function(s,a){var h,c=g.p(s),d="set"+(this.$u?"UTC":""),$=(h={},h[i]=d+"Date",h[f]=d+"Date",h[u]=d+"Month",h[o]=d+"FullYear",h[r]=d+"Hours",h[n]=d+"Minutes",h[e]=d+"Seconds",h[t]=d+"Milliseconds",h)[c],l=c===i?this.$D+(a-this.$W):a;if(c===u||c===o){var y=this.clone().set(f,1);y.$d[$](l),y.init(),this.$d=y.set(f,Math.min(this.$D,y.daysInMonth())).$d}else $&&this.$d[$](l);return this.init(),this},$.set=function(t,e){return this.clone().$set(t,e)},$.get=function(t){return this[g.p(t)]()},$.add=function(t,a){var f,h=this;t=Number(t);var c=g.p(a),d=function(e){var n=v(h);return g.w(n.date(n.date()+Math.round(e*t)),h)};if(c===u)return this.set(u,this.$M+t);if(c===o)return this.set(o,this.$y+t);if(c===i)return d(1);if(c===s)return d(7);var $=(f={},f[n]=6e4,f[r]=36e5,f[e]=1e3,f)[c]||1,l=this.$d.getTime()+t*$;return g.w(l,this)},$.subtract=function(t,e){return this.add(-1*t,e)},$.format=function(t){var e=this;if(!this.isValid())return"Invalid Date";var n=t||"YYYY-MM-DDTHH:mm:ssZ",r=g.z(this),i=this.$locale(),s=this.$H,u=this.$m,a=this.$M,o=i.weekdays,f=i.months,h=function(t,r,i,s){return t&&(t[r]||t(e,n))||i[r].substr(0,s)},d=function(t){return g.s(s%12||12,t,"0")},$=i.meridiem||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:g.s(a+1,2,"0"),MMM:h(i.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:g.s(this.$D,2,"0"),d:String(this.$W),dd:h(i.weekdaysMin,this.$W,o,2),ddd:h(i.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:g.s(s,2,"0"),h:d(1),hh:d(2),a:$(s,u,!0),A:$(s,u,!1),m:String(u),mm:g.s(u,2,"0"),s:String(this.$s),ss:g.s(this.$s,2,"0"),SSS:g.s(this.$ms,3,"0"),Z:r};return n.replace(c,function(t,e){return e||l[t]||r.replace(":","")})},$.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},$.diff=function(t,f,h){var c,d=g.p(f),$=v(t),l=6e4*($.utcOffset()-this.utcOffset()),y=this-$,M=g.m(this,$);return M=(c={},c[o]=M/12,c[u]=M,c[a]=M/3,c[s]=(y-l)/6048e5,c[i]=(y-l)/864e5,c[r]=y/36e5,c[n]=y/6e4,c[e]=y/1e3,c)[d]||y,h?M:g.a(M)},$.daysInMonth=function(){return this.endOf(u).$D},$.$locale=function(){return M[this.$L]},$.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=D(t,e,!0);return r&&(n.$L=r),n},$.clone=function(){return g.w(this.$d,this)},$.toDate=function(){return new Date(this.valueOf())},$.toJSON=function(){return this.isValid()?this.toISOString():null},$.toISOString=function(){return this.$d.toISOString()},$.toString=function(){return this.$d.toUTCString()},d}(),p=S.prototype;return v.prototype=p,[["$ms",t],["$s",e],["$m",n],["$H",r],["$W",i],["$M",u],["$y",o],["$D",f]].forEach(function(t){p[t[1]]=function(e){return this.$g(e,t[0],t[1])}}),v.extend=function(t,e){return t(e,S,v),v},v.locale=D,v.isDayjs=m,v.unix=function(t){return v(1e3*t)},v.en=M[y],v.Ls=M,v.p={},v});
 
 }, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
-return __REQUIRE__(1607156818087);
+return __REQUIRE__(1607388144813);
 })()
 //# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/miniprogram_npm/we-validator/index.js b/miniprogram_npm/we-validator/index.js
new file mode 100644
index 0000000..4524266
--- /dev/null
+++ b/miniprogram_npm/we-validator/index.js
@@ -0,0 +1,772 @@
+module.exports = (function() {
+var __MODS__ = {};
+var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexports: {} }; __MODS__[modId] = { status: 0, func: func, req: req, m: m }; };
+var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
+var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
+var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
+__DEFINE__(1607388144814, function(require, module, exports) {
+/*!
+ * we-validator
+ * version: 2.1.14
+ * address: https://github.com/ChanceYu/we-validator#readme
+ * author:  ChanceYu <i.fish@foxmail.com>
+ * license: MIT
+ */
+(function webpackUniversalModuleDefinition(root, factory) {
+	if(typeof exports === 'object' && typeof module === 'object')
+		module.exports = factory();
+	else if(typeof define === 'function' && define.amd)
+		define("WeValidator", [], factory);
+	else if(typeof exports === 'object')
+		exports["WeValidator"] = factory();
+	else
+		root["WeValidator"] = factory();
+})(typeof self !== 'undefined' ? self : this, function() {
+return /******/ (function(modules) { // webpackBootstrap
+/******/ 	// The module cache
+/******/ 	var installedModules = {};
+/******/
+/******/ 	// The require function
+/******/ 	function __webpack_require__(moduleId) {
+/******/
+/******/ 		// Check if module is in cache
+/******/ 		if(installedModules[moduleId]) {
+/******/ 			return installedModules[moduleId].exports;
+/******/ 		}
+/******/ 		// Create a new module (and put it into the cache)
+/******/ 		var module = installedModules[moduleId] = {
+/******/ 			i: moduleId,
+/******/ 			l: false,
+/******/ 			exports: {}
+/******/ 		};
+/******/
+/******/ 		// Execute the module function
+/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ 		// Flag the module as loaded
+/******/ 		module.l = true;
+/******/
+/******/ 		// Return the exports of the module
+/******/ 		return module.exports;
+/******/ 	}
+/******/
+/******/
+/******/ 	// expose the modules object (__webpack_modules__)
+/******/ 	__webpack_require__.m = modules;
+/******/
+/******/ 	// expose the module cache
+/******/ 	__webpack_require__.c = installedModules;
+/******/
+/******/ 	// define getter function for harmony exports
+/******/ 	__webpack_require__.d = function(exports, name, getter) {
+/******/ 		if(!__webpack_require__.o(exports, name)) {
+/******/ 			Object.defineProperty(exports, name, {
+/******/ 				configurable: false,
+/******/ 				enumerable: true,
+/******/ 				get: getter
+/******/ 			});
+/******/ 		}
+/******/ 	};
+/******/
+/******/ 	// getDefaultExport function for compatibility with non-harmony modules
+/******/ 	__webpack_require__.n = function(module) {
+/******/ 		var getter = module && module.__esModule ?
+/******/ 			function getDefault() { return module['default']; } :
+/******/ 			function getModuleExports() { return module; };
+/******/ 		__webpack_require__.d(getter, 'a', getter);
+/******/ 		return getter;
+/******/ 	};
+/******/
+/******/ 	// Object.prototype.hasOwnProperty.call
+/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ 	// __webpack_public_path__
+/******/ 	__webpack_require__.p = "";
+/******/
+/******/ 	// Load entry module and return exports
+/******/ 	return __webpack_require__(__webpack_require__.s = 0);
+/******/ })
+/************************************************************************/
+/******/ ([
+/* 0 */
+/***/ (function(module, exports, __webpack_require__) {
+
+
+
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+var _rules = __webpack_require__(1);
+
+var _rules2 = _interopRequireDefault(_rules);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+var requiredFn = _rules2.default.required.rule;
+
+/**
+ * 鐜妫�娴�
+ */
+var isWx = typeof wx !== 'undefined' && !!wx.showToast; // 寰俊灏忕▼搴�
+var isMy = typeof my !== 'undefined' && !!my.showToast; // 鏀粯瀹濆皬绋嬪簭
+var isSwan = typeof swan !== 'undefined' && !!swan.showToast; // 鐧惧害鏅鸿兘灏忕▼搴�
+var isTt = typeof tt !== 'undefined' && !!tt.showToast; // 瀛楄妭璺冲姩灏忕▼搴�
+var isBrowser = typeof window !== 'undefined' && !!window.alert; // 鏅�氭祻瑙堝櫒
+
+var objString = Object.prototype.toString;
+
+var isArray = Array.isArray || function (v) {
+  return objString.call(v) === '[object Array]';
+};
+var isFunction = function isFunction(v) {
+  return objString.call(v) === '[object Function]';
+};
+var isRegExp = function isRegExp(v) {
+  return objString.call(v) === '[object RegExp]';
+};
+
+var WeValidator = function () {
+
+  /**
+   * 榛樿鍙傛暟
+   * @param {object} options
+   * @param {object} [options.rules] 楠岃瘉瀛楁鐨勮鍒�
+   * @param {object} [options.messages] 楠岃瘉瀛楁閿欒鐨勬彁绀轰俊鎭�
+   * @param {function} [options.onMessage] 閿欒淇℃伅鏄剧ず鏂瑰紡
+   * @param {boolean} [options.multiCheck] 鏄惁鍚屾椂鏍¢獙澶氫釜瀛楁
+   */
+  function WeValidator() {
+    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+
+    _classCallCheck(this, WeValidator);
+
+    this.options = options;
+
+    this.required = requiredFn;
+    this._checkAllRules();
+  }
+
+  /**
+   * 鎵�鏈夋牎楠岃鍒�
+   */
+
+
+  /**
+   * 鍔ㄦ�佹坊鍔犻獙璇佽鍒�
+   * @param {string} ruleName 瑙勫垯鍚嶇О
+   * @param {object} ruleOption 瑙勫垯閰嶇疆
+   * @param {string} [ruleOption.message] 榛樿閿欒淇℃伅鏂囧瓧
+   * @param {regexp|function} [ruleOption.rule] 楠岃瘉瑙勫垯
+   */
+
+
+  /**
+   * 楠岃瘉鍗曚釜瀛楁鏁版嵁
+   * @param {string} ruleName 瑙勫垯鍚嶇О
+   * @param {string} value 瑕侀獙璇佺殑鍊�
+   * @param {any} param 浼犻�掔殑楠岃瘉鍙傛暟
+   * @param {boolean} skip 鏈~璺宠繃鏍¢獙锛屼粎渚涘唴閮ㄤ娇鐢�
+   */
+
+
+  _createClass(WeValidator, [{
+    key: '_showErrorMessage',
+
+
+    /**
+     * 鏄剧ず閿欒淇℃伅
+     * @param {object} params 閿欒淇℃伅
+     * @param {function} onMessage 鑷畾涔夋彁绀哄嚱鏁�
+     */
+    value: function _showErrorMessage(params, onMessage) {
+      // validatorInstance.checkData(data, onMessage)
+      if (isFunction(onMessage)) {
+        return onMessage(params);
+      }
+
+      // 鍙傛暟褰㈠紡 new WeValidator({ onMessage })
+      if (isFunction(this.options.onMessage)) {
+        return this.options.onMessage(params);
+      }
+
+      // 鍏ㄥ眬閰嶇疆 WeValidator.onMessage
+      if (isFunction(WeValidator.onMessage)) {
+        return WeValidator.onMessage(params);
+      }
+
+      // 寰俊灏忕▼搴�
+      if (isWx) {
+        return wx.showToast({
+          title: params.msg,
+          icon: 'none'
+        });
+      }
+
+      // 鏀粯瀹濆皬绋嬪簭
+      if (isMy) {
+        return my.showToast({
+          content: params.msg,
+          type: 'none'
+        });
+      }
+
+      // 鐧惧害灏忕▼搴�
+      if (isSwan) {
+        return swan.showToast({
+          title: params.msg,
+          icon: 'none'
+        });
+      }
+
+      // 瀛楄妭璺冲姩灏忕▼搴�
+      if (isTt) {
+        return tt.showToast({
+          title: params.msg,
+          icon: 'none'
+        });
+      }
+
+      // 娴忚鍣ㄧ
+      if (isBrowser) alert(params.msg);
+    }
+
+    /**
+     * 鑾峰彇閿欒淇℃伅鍐呭
+     * @param {string} ruleName 瑙勫垯鍚嶇О
+     * @param {string} attr 瀛楁鍚嶇О
+     * @param {any} param 瑙勫垯鍙傛暟
+     */
+
+  }, {
+    key: '_getErrorMessage',
+    value: function _getErrorMessage(ruleName, attr, param) {
+      var messages = this.options.messages;
+      var defaultMessage = WeValidator.RULES[ruleName].message;
+
+      if (messages.hasOwnProperty(attr) && messages[attr][ruleName]) {
+        defaultMessage = messages[attr][ruleName];
+      }
+
+      if (defaultMessage) {
+        defaultMessage = defaultMessage.replace(/\{(\d)\}/g, function ($0, $1) {
+          if (isArray(param)) {
+            return param[$1];
+          } else {
+            return param;
+          }
+        });
+
+        return defaultMessage;
+      }
+    }
+
+    /**
+     * 楠岃瘉閰嶇疆瑙勫垯鏄惁鏃犳晥
+     * @param {string} ruleName 瑙勫垯鍚嶇О
+     * @param {string} attr 瀛楁鍚嶇О
+     */
+
+  }, {
+    key: '_isRuleInvalid',
+    value: function _isRuleInvalid(ruleName, attr) {
+      if (!WeValidator.RULES.hasOwnProperty(ruleName)) {
+        console.warn && console.warn('\u6CA1\u6709\u6B64\u9A8C\u8BC1\u89C4\u5219\uFF1A' + ruleName + '\uFF0C\u5B57\u6BB5\uFF1A' + attr);
+        return true;
+      }
+    }
+
+    /**
+     * 楠岃瘉鎵�鏈夐厤缃鍒欐槸鍚︽纭�
+     */
+
+  }, {
+    key: '_checkAllRules',
+    value: function _checkAllRules() {
+      var _rules_ = this.options.rules;
+
+      // 閬嶅巻瀛楁
+      for (var attr in _rules_) {
+        // 閬嶅巻楠岃瘉瑙勫垯
+        for (var ruleName in _rules_[attr]) {
+          if (this._isRuleInvalid(ruleName, attr)) continue;
+        }
+      }
+    }
+
+    /**
+     * 鏍¢獙鏁版嵁锛屼細楠岃瘉鎵�鏈夐厤缃殑瀛楁瑙勫垯
+     * @param {object} data 楠岃瘉鐨勬暟鎹璞�
+     * @param {function} onMessage 鑷畾涔夐敊璇俊鎭彁绀�
+     * @param {boolean} showMessage 鏄惁鏄剧ず鎻愮ず淇℃伅锛岄粯璁ゆ樉绀猴紙鍐呴儴浣跨敤锛�
+     * @param {object} fieldMap 鏍¢獙鐨勫瓧娈碉紝榛樿鏍¢獙鎵�鏈夊瓧娈碉紙鍐呴儴浣跨敤锛�
+     */
+
+  }, {
+    key: 'checkData',
+    value: function checkData(data, onMessage) {
+      var showMessage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
+      var fieldMap = arguments[3];
+
+      var _rules_ = this.options.rules;
+      var multiCheck = this.options.multiCheck;
+      var hasError = false;
+      var errorData = {};
+
+      this.data = data;
+
+      // 閬嶅巻瀛楁
+      for (var attr in _rules_) {
+        if (fieldMap && !fieldMap.hasOwnProperty(attr)) continue;
+
+        // 閬嶅巻楠岃瘉瑙勫垯
+        for (var ruleName in _rules_[attr]) {
+          if (this._isRuleInvalid(ruleName, attr)) continue;
+
+          if (fieldMap) {
+            var res = fieldMap[attr];
+            if (isArray(res) && res.indexOf(ruleName) === -1) continue;
+          }
+
+          var ruleParam = _rules_[attr][ruleName];
+          var value = '';
+
+          if (data.hasOwnProperty(attr)) {
+            value = data[attr];
+          }
+
+          if (isFunction(ruleParam)) {
+            ruleParam = ruleParam.call(this, value);
+          }
+
+          var isFieldValid = WeValidator.checkValue.call(this, ruleName, value, ruleParam, true);
+
+          // 楠岃瘉涓嶉�氳繃
+          if (!isFieldValid) {
+            hasError = true;
+
+            var msg = this._getErrorMessage(ruleName, attr, ruleParam);
+            var errorParam = null;
+
+            if (showMessage && msg) {
+              errorParam = {
+                name: attr,
+                value: value,
+                param: ruleParam,
+                rule: ruleName,
+                msg: msg
+              };
+              errorData[attr] = errorParam;
+            }
+
+            if (!multiCheck) {
+              errorParam && this._showErrorMessage(errorParam, onMessage);
+              return false;
+            }
+          }
+        }
+      }
+
+      if (hasError) {
+        if (multiCheck && showMessage) {
+          this._showErrorMessage(errorData, onMessage);
+        }
+        return false;
+      }
+
+      return true;
+    }
+
+    /**
+     * 鏍¢獙鏁版嵁锛屽彧鏍¢獙瀵瑰簲鐨勫瓧娈佃鍒�
+     * @param {object} data 楠岃瘉鐨勬暟鎹璞�
+     * @param {array} fields 鏍¢獙鐨勫瓧娈�
+     * @param {function} onMessage 鑷畾涔夐敊璇俊鎭彁绀�
+     * @param {boolean} showMessage 鏄惁鏄剧ず鎻愮ず淇℃伅锛岄粯璁ゆ樉绀猴紙鍐呴儴浣跨敤锛�
+     */
+
+  }, {
+    key: 'checkFields',
+    value: function checkFields(data, fields, onMessage) {
+      var showMessage = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
+
+      if (!isArray(fields)) throw new Error('绗簩涓弬鏁伴』涓烘暟缁�');
+
+      // fields: [ '[field]:[rule]' ]
+      // fields: [ 'phoneNo' ]  =>  { phoneNo: true }
+      // fields: [ 'phoneNo:required' ]  =>  { phoneNo: ['required'] }
+      // fields: [ 'phoneNo:required,mobile' ]  =>  { phoneNo: ['required', 'mobile'] }
+      var fieldMap = {};
+
+      fields.forEach(function (item) {
+        var arr = item.split(':');
+        var field = arr[0];
+        var rules = arr[1];
+
+        if (rules) {
+          // 鍙牎楠岀壒瀹氳鍒�
+          rules = rules.split(',');
+          fieldMap[field] = rules;
+        } else {
+          // 鏍¢獙 field 瀛楁鐨勬墍鏈夎鍒�
+          fieldMap[field] = true;
+        }
+      });
+
+      return this.checkData(data, onMessage, showMessage, fieldMap);
+    }
+
+    /**
+     * 鏍¢獙鏁版嵁锛屼笉浼氭彁绀洪敊璇俊鎭�
+     * @param {object} data 楠岃瘉鐨勬暟鎹璞�
+     * @param {array} fields 鏍¢獙鐨勫瓧娈点�傚鏋滄湁锛屽彧鏍¢獙瀵瑰簲鐨勫瓧娈佃鍒欙紝榛樿鏍¢獙鎵�鏈夐厤缃殑瀛楁瑙勫垯
+     */
+
+  }, {
+    key: 'isValid',
+    value: function isValid(data, fields) {
+      if (isArray(fields)) {
+        return this.checkFields(data, fields, null, false);
+      } else {
+        return this.checkData(data, null, false);
+      }
+    }
+
+    /**
+     * 鍔ㄦ�佹坊鍔犲瓧娈垫牎楠�
+     * @param {object} options 閰嶇疆鍙傛暟
+     * @param {object} [options.rules] 瑙勫垯
+     * @param {object} [options.messages] 鎻愮ず娑堟伅
+     */
+
+  }, {
+    key: 'addRules',
+    value: function addRules() {
+      var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+
+      Object.assign(this.options.rules, options.rules || {});
+      Object.assign(this.options.messages, options.messages || {});
+
+      this._checkAllRules();
+    }
+
+    /**
+     * 鍔ㄦ�佺Щ闄ゅ瓧娈垫牎楠�
+     * @param {array} fields 瑕佸垹闄ゆ牎楠岀殑瀛楁
+     */
+
+  }, {
+    key: 'removeRules',
+    value: function removeRules(fields) {
+      if (!isArray(fields)) throw new Error('鍙傛暟椤讳负鏁扮粍');
+
+      for (var i = 0; i < fields.length; i++) {
+        var key = fields[i];
+
+        delete this.options.rules[key];
+      }
+    }
+  }]);
+
+  return WeValidator;
+}();
+
+WeValidator.RULES = {};
+
+WeValidator.addRule = function (ruleName, ruleOption) {
+  WeValidator.RULES[ruleName] = ruleOption;
+};
+
+WeValidator.checkValue = function (ruleName, value, param, skip) {
+  var rule = WeValidator.RULES[ruleName].rule;
+
+  if (isRegExp(rule)) {
+    if (skip) {
+      return !requiredFn(value) || rule.test(value);
+    } else {
+      return rule.test(value);
+    }
+  }
+
+  if (isFunction(rule)) {
+    if (ruleName === 'required') {
+      return requiredFn(value);
+    } else {
+      if (skip) {
+        return !requiredFn(value) || rule.call(this, value, param);
+      } else {
+        return rule.call(this, value, param);
+      }
+    }
+  }
+};
+
+WeValidator.RULES = _rules2.default;
+WeValidator.required = requiredFn;
+
+module.exports = WeValidator;
+
+/***/ }),
+/* 1 */
+/***/ (function(module, exports, __webpack_require__) {
+
+
+
+
+module.exports = {
+  /**
+   * 蹇呭~
+   */
+  required: {
+    message: '姝ゅ瓧娈靛繀濉�',
+    rule: function rule(value) {
+      if (typeof value === 'number') {
+        value = value.toString();
+      } else if (typeof value === 'boolean') {
+        return true;
+      }
+      return !!(value && value.length > 0);
+    }
+  },
+  /**
+   * 姝e垯閫氱敤
+   */
+  pattern: {
+    message: '涓嶇鍚堟楠岃瘉瑙勫垯',
+    rule: function rule(value, param) {
+      return param.test(value);
+    }
+  },
+  /**
+   * 鐢靛瓙閭欢
+   */
+  email: {
+    message: '璇疯緭鍏ユ湁鏁堢殑鐢靛瓙閭欢鍦板潃',
+    rule: /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/
+  },
+  /**
+   * 鎵嬫満鍙风爜
+   */
+  mobile: {
+    message: '璇疯緭鍏�11浣嶇殑鎵嬫満鍙风爜',
+    rule: /^1[3456789]\d{9}$/
+  },
+  /**
+   * 搴ф満鍙凤紝渚嬪锛�010-1234567銆�0551-1234567
+   */
+  tel: {
+    message: '璇疯緭鍏ュ骇鏈哄彿',
+    rule: /^(\d{3,4}-)?\d{7,8}$/
+  },
+  /**
+   * URL缃戝潃
+   */
+  url: {
+    message: '璇疯緭鍏ユ湁鏁堢殑缃戝潃',
+    rule: /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i
+  },
+  /**
+   * 韬唤璇佸彿
+   */
+  idcard: {
+    message: '璇疯緭鍏�18浣嶇殑鏈夋晥韬唤璇�',
+    rule: /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/
+  },
+  /**
+   * 瀛楁鍊肩浉鍚屾牎楠岋紙渚嬪锛氬瘑鐮佸拰纭瀵嗙爜锛�
+   */
+  equalTo: {
+    message: '杈撳叆鍊煎繀椤诲拰瀛楁 {0} 鐩稿悓',
+    rule: function rule(value, param) {
+      return value === this.data[param];
+    }
+  },
+  /**
+   * 瀛楁鍊间笉鐩稿悓鏍¢獙锛屼笌 equalTo 鐩稿弽
+   */
+  notEqualTo: {
+    message: '杈撳叆鍊间笉鑳藉拰瀛楁 {0} 鐩稿悓',
+    rule: function rule(value, param) {
+      return value !== this.data[param];
+    }
+  },
+  /**
+   * 鏄惁鍖呭惈鏌愬瓧绗�
+   */
+  contains: {
+    message: '杈撳叆鍊煎繀椤诲寘鍚� {0}',
+    rule: function rule(value, param) {
+      return value.indexOf(param) > -1;
+    }
+  },
+  /**
+   * 涓嶈兘鍖呭惈鏌愬瓧绗�
+   */
+  notContains: {
+    message: '杈撳叆鍊间笉鑳藉寘鍚� {0}',
+    rule: function rule(value, param) {
+      return value.indexOf(param) === -1;
+    }
+  },
+  /**
+   * 闀垮害涓哄灏戠殑瀛楃涓�
+   */
+  length: {
+    message: '璇疯緭鍏� {0} 涓瓧绗�',
+    rule: function rule(value, param) {
+      return value.length == param;
+    }
+  },
+  /**
+   * 鏈�灏戝闀跨殑瀛楃涓�
+   */
+  minlength: {
+    message: '鏈�灏戣杈撳叆 {0} 涓瓧绗�',
+    rule: function rule(value, param) {
+      return value.length >= param;
+    }
+  },
+  /**
+   * 鏈�澶氬闀跨殑瀛楃涓�
+   */
+  maxlength: {
+    message: '鏈�澶氬彲浠ヨ緭鍏� {0} 涓瓧绗�',
+    rule: function rule(value, param) {
+      return value.length <= param;
+    }
+  },
+  /**
+   * 鏌愪釜鑼冨洿闀垮害鐨勫瓧绗︿覆
+   */
+  rangelength: {
+    message: '璇疯緭鍏ラ暱搴﹀湪 {0} 鍒� {1} 涔嬮棿鐨勫瓧绗�',
+    rule: function rule(value, param) {
+      return value.length >= param[0] && value.length <= param[1];
+    }
+  },
+  /**
+   * 鏁板瓧
+   */
+  number: {
+    message: '璇疯緭鍏ユ湁鏁堢殑鏁板瓧',
+    rule: /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/
+  },
+  /**
+   * 姝f暣鏁版暟瀛�
+   */
+  digits: {
+    message: '鍙兘杈撳叆姝f暣鏁版暟瀛�',
+    rule: /^\d+$/
+  },
+  /**
+   * 姝f暣鏁版垨璐熸暣鏁版暟瀛�
+   */
+  integer: {
+    message: '鍙兘杈撳叆鏁存暟鏁板瓧',
+    rule: /^-?\d+$/
+  },
+  /**
+   * 澶т簬澶氬皯鐨勬暟瀛�/瀛楁鍊�
+   */
+  min: {
+    message: '璇疯緭鍏ュぇ浜� {0} 鐨勬暟瀛�',
+    rule: function rule(value, param) {
+      if (typeof param === 'string') param = this.data[param];
+
+      return value >= param;
+    }
+  },
+  /**
+   * 灏忎簬澶氬皯鐨勬暟瀛�/瀛楁鍊�
+   */
+  max: {
+    message: '璇疯緭鍏ュ皬浜� {0} 鐨勬暟瀛�',
+    rule: function rule(value, param) {
+      if (typeof param === 'string') param = this.data[param];
+
+      return value <= param;
+    }
+  },
+  /**
+   * 澶т簬涓斿皬浜庡灏戠殑鏁板瓧
+   */
+  range: {
+    message: '璇疯緭鍏ュぇ浜� {0} 涓斿皬浜� {1} 鐨勬暟瀛�',
+    rule: function rule(value, param) {
+      return value >= param[0] && value <= param[1];
+    }
+  },
+  /**
+   * 涓枃瀛楃
+   */
+  chinese: {
+    message: '鍙兘杈撳叆涓枃瀛楃',
+    rule: /^[\u4e00-\u9fa5]+$/
+  },
+  /**
+   * 鏈�灏戝灏戜釜涓枃瀛楃
+   */
+  minChinese: {
+    message: '鏈�灏戣緭鍏� {0} 涓腑鏂囧瓧绗�',
+    rule: function rule(value, param) {
+      return new RegExp('^[\u4E00-\u9FA5]{' + param + ',}$').test(value);
+    }
+  },
+  /**
+   * 鏈�澶氬灏戜釜涓枃瀛楃
+   */
+  maxChinese: {
+    message: '鏈�澶氳緭鍏� {0} 涓腑鏂囧瓧绗�',
+    rule: function rule(value, param) {
+      return new RegExp('^[\u4E00-\u9FA5]{1,' + param + '}$').test(value);
+    }
+  },
+  /**
+   * 澶т簬涓斿皬浜庡灏戜釜涓枃瀛楃
+   */
+  rangeChinese: {
+    message: '鍙兘杈撳叆 {0} 鍒� {1} 涓腑鏂囧瓧绗�',
+    rule: function rule(value, param) {
+      return new RegExp('^[\u4E00-\u9FA5]{' + param[0] + ',' + param[1] + '}$').test(value);
+    }
+  },
+  /**
+   * 鏃ユ湡
+   */
+  date: {
+    message: '璇疯緭鍏ユ湁鏁堢殑鏃ユ湡',
+    rule: function rule(value) {
+      return !/Invalid|NaN/.test(new Date(value).toString());
+    }
+  },
+  /**
+   * 鏃ユ湡锛圛SO鏍囧噯鏍煎紡锛変緥濡傦細2019-09-19锛�2019/09/19
+   */
+  dateISO: {
+    message: '璇疯緭鍏ユ湁鏁堢殑鏃ユ湡锛圛SO鏍囧噯鏍煎紡锛�',
+    rule: /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/
+  },
+  /**
+   * ipv4鍦板潃
+   */
+  ipv4: {
+    message: '璇疯緭鍏ユ湁鏁堢殑IPv4鍦板潃',
+    rule: /^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i
+  },
+  /**
+   * ipv6鍦板潃
+   */
+  ipv6: {
+    message: '璇疯緭鍏ユ湁鏁堢殑IPv6鍦板潃',
+    rule: /^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i
+  }
+};
+
+/***/ })
+/******/ ]);
+});
+}, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
+return __REQUIRE__(1607388144814);
+})()
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/miniprogram_npm/we-validator/index.js.map b/miniprogram_npm/we-validator/index.js.map
new file mode 100644
index 0000000..edf921e
--- /dev/null
+++ b/miniprogram_npm/we-validator/index.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["we-validator.js"],"names":[],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.js","sourcesContent":["/*!\n * we-validator\n * version: 2.1.14\n * address: https://github.com/ChanceYu/we-validator#readme\n * author:  ChanceYu <i.fish@foxmail.com>\n * license: MIT\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"WeValidator\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"WeValidator\"] = factory();\n\telse\n\t\troot[\"WeValidator\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _rules = __webpack_require__(1);\n\nvar _rules2 = _interopRequireDefault(_rules);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar requiredFn = _rules2.default.required.rule;\n\n/**\n * 鐜妫�娴媆n */\nvar isWx = typeof wx !== 'undefined' && !!wx.showToast; // 寰俊灏忕▼搴廫nvar isMy = typeof my !== 'undefined' && !!my.showToast; // 鏀粯瀹濆皬绋嬪簭\nvar isSwan = typeof swan !== 'undefined' && !!swan.showToast; // 鐧惧害鏅鸿兘灏忕▼搴廫nvar isTt = typeof tt !== 'undefined' && !!tt.showToast; // 瀛楄妭璺冲姩灏忕▼搴廫nvar isBrowser = typeof window !== 'undefined' && !!window.alert; // 鏅�氭祻瑙堝櫒\n\nvar objString = Object.prototype.toString;\n\nvar isArray = Array.isArray || function (v) {\n  return objString.call(v) === '[object Array]';\n};\nvar isFunction = function isFunction(v) {\n  return objString.call(v) === '[object Function]';\n};\nvar isRegExp = function isRegExp(v) {\n  return objString.call(v) === '[object RegExp]';\n};\n\nvar WeValidator = function () {\n\n  /**\n   * 榛樿鍙傛暟\n   * @param {object} options\n   * @param {object} [options.rules] 楠岃瘉瀛楁鐨勮鍒橽n   * @param {object} [options.messages] 楠岃瘉瀛楁閿欒鐨勬彁绀轰俊鎭痋n   * @param {function} [options.onMessage] 閿欒淇℃伅鏄剧ず鏂瑰紡\n   * @param {boolean} [options.multiCheck] 鏄惁鍚屾椂鏍¢獙澶氫釜瀛楁\n   */\n  function WeValidator() {\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n    _classCallCheck(this, WeValidator);\n\n    this.options = options;\n\n    this.required = requiredFn;\n    this._checkAllRules();\n  }\n\n  /**\n   * 鎵�鏈夋牎楠岃鍒橽n   */\n\n\n  /**\n   * 鍔ㄦ�佹坊鍔犻獙璇佽鍒橽n   * @param {string} ruleName 瑙勫垯鍚嶇О\n   * @param {object} ruleOption 瑙勫垯閰嶇疆\n   * @param {string} [ruleOption.message] 榛樿閿欒淇℃伅鏂囧瓧\n   * @param {regexp|function} [ruleOption.rule] 楠岃瘉瑙勫垯\n   */\n\n\n  /**\n   * 楠岃瘉鍗曚釜瀛楁鏁版嵁\n   * @param {string} ruleName 瑙勫垯鍚嶇О\n   * @param {string} value 瑕侀獙璇佺殑鍊糪n   * @param {any} param 浼犻�掔殑楠岃瘉鍙傛暟\n   * @param {boolean} skip 鏈~璺宠繃鏍¢獙锛屼粎渚涘唴閮ㄤ娇鐢╘n   */\n\n\n  _createClass(WeValidator, [{\n    key: '_showErrorMessage',\n\n\n    /**\n     * 鏄剧ず閿欒淇℃伅\n     * @param {object} params 閿欒淇℃伅\n     * @param {function} onMessage 鑷畾涔夋彁绀哄嚱鏁癨n     */\n    value: function _showErrorMessage(params, onMessage) {\n      // validatorInstance.checkData(data, onMessage)\n      if (isFunction(onMessage)) {\n        return onMessage(params);\n      }\n\n      // 鍙傛暟褰㈠紡 new WeValidator({ onMessage })\n      if (isFunction(this.options.onMessage)) {\n        return this.options.onMessage(params);\n      }\n\n      // 鍏ㄥ眬閰嶇疆 WeValidator.onMessage\n      if (isFunction(WeValidator.onMessage)) {\n        return WeValidator.onMessage(params);\n      }\n\n      // 寰俊灏忕▼搴廫n      if (isWx) {\n        return wx.showToast({\n          title: params.msg,\n          icon: 'none'\n        });\n      }\n\n      // 鏀粯瀹濆皬绋嬪簭\n      if (isMy) {\n        return my.showToast({\n          content: params.msg,\n          type: 'none'\n        });\n      }\n\n      // 鐧惧害灏忕▼搴廫n      if (isSwan) {\n        return swan.showToast({\n          title: params.msg,\n          icon: 'none'\n        });\n      }\n\n      // 瀛楄妭璺冲姩灏忕▼搴廫n      if (isTt) {\n        return tt.showToast({\n          title: params.msg,\n          icon: 'none'\n        });\n      }\n\n      // 娴忚鍣ㄧ\n      if (isBrowser) alert(params.msg);\n    }\n\n    /**\n     * 鑾峰彇閿欒淇℃伅鍐呭\n     * @param {string} ruleName 瑙勫垯鍚嶇О\n     * @param {string} attr 瀛楁鍚嶇О\n     * @param {any} param 瑙勫垯鍙傛暟\n     */\n\n  }, {\n    key: '_getErrorMessage',\n    value: function _getErrorMessage(ruleName, attr, param) {\n      var messages = this.options.messages;\n      var defaultMessage = WeValidator.RULES[ruleName].message;\n\n      if (messages.hasOwnProperty(attr) && messages[attr][ruleName]) {\n        defaultMessage = messages[attr][ruleName];\n      }\n\n      if (defaultMessage) {\n        defaultMessage = defaultMessage.replace(/\\{(\\d)\\}/g, function ($0, $1) {\n          if (isArray(param)) {\n            return param[$1];\n          } else {\n            return param;\n          }\n        });\n\n        return defaultMessage;\n      }\n    }\n\n    /**\n     * 楠岃瘉閰嶇疆瑙勫垯鏄惁鏃犳晥\n     * @param {string} ruleName 瑙勫垯鍚嶇О\n     * @param {string} attr 瀛楁鍚嶇О\n     */\n\n  }, {\n    key: '_isRuleInvalid',\n    value: function _isRuleInvalid(ruleName, attr) {\n      if (!WeValidator.RULES.hasOwnProperty(ruleName)) {\n        console.warn && console.warn('\\u6CA1\\u6709\\u6B64\\u9A8C\\u8BC1\\u89C4\\u5219\\uFF1A' + ruleName + '\\uFF0C\\u5B57\\u6BB5\\uFF1A' + attr);\n        return true;\n      }\n    }\n\n    /**\n     * 楠岃瘉鎵�鏈夐厤缃鍒欐槸鍚︽纭甛n     */\n\n  }, {\n    key: '_checkAllRules',\n    value: function _checkAllRules() {\n      var _rules_ = this.options.rules;\n\n      // 閬嶅巻瀛楁\n      for (var attr in _rules_) {\n        // 閬嶅巻楠岃瘉瑙勫垯\n        for (var ruleName in _rules_[attr]) {\n          if (this._isRuleInvalid(ruleName, attr)) continue;\n        }\n      }\n    }\n\n    /**\n     * 鏍¢獙鏁版嵁锛屼細楠岃瘉鎵�鏈夐厤缃殑瀛楁瑙勫垯\n     * @param {object} data 楠岃瘉鐨勬暟鎹璞n     * @param {function} onMessage 鑷畾涔夐敊璇俊鎭彁绀篭n     * @param {boolean} showMessage 鏄惁鏄剧ず鎻愮ず淇℃伅锛岄粯璁ゆ樉绀猴紙鍐呴儴浣跨敤锛塡n     * @param {object} fieldMap 鏍¢獙鐨勫瓧娈碉紝榛樿鏍¢獙鎵�鏈夊瓧娈碉紙鍐呴儴浣跨敤锛塡n     */\n\n  }, {\n    key: 'checkData',\n    value: function checkData(data, onMessage) {\n      var showMessage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n      var fieldMap = arguments[3];\n\n      var _rules_ = this.options.rules;\n      var multiCheck = this.options.multiCheck;\n      var hasError = false;\n      var errorData = {};\n\n      this.data = data;\n\n      // 閬嶅巻瀛楁\n      for (var attr in _rules_) {\n        if (fieldMap && !fieldMap.hasOwnProperty(attr)) continue;\n\n        // 閬嶅巻楠岃瘉瑙勫垯\n        for (var ruleName in _rules_[attr]) {\n          if (this._isRuleInvalid(ruleName, attr)) continue;\n\n          if (fieldMap) {\n            var res = fieldMap[attr];\n            if (isArray(res) && res.indexOf(ruleName) === -1) continue;\n          }\n\n          var ruleParam = _rules_[attr][ruleName];\n          var value = '';\n\n          if (data.hasOwnProperty(attr)) {\n            value = data[attr];\n          }\n\n          if (isFunction(ruleParam)) {\n            ruleParam = ruleParam.call(this, value);\n          }\n\n          var isFieldValid = WeValidator.checkValue.call(this, ruleName, value, ruleParam, true);\n\n          // 楠岃瘉涓嶉�氳繃\n          if (!isFieldValid) {\n            hasError = true;\n\n            var msg = this._getErrorMessage(ruleName, attr, ruleParam);\n            var errorParam = null;\n\n            if (showMessage && msg) {\n              errorParam = {\n                name: attr,\n                value: value,\n                param: ruleParam,\n                rule: ruleName,\n                msg: msg\n              };\n              errorData[attr] = errorParam;\n            }\n\n            if (!multiCheck) {\n              errorParam && this._showErrorMessage(errorParam, onMessage);\n              return false;\n            }\n          }\n        }\n      }\n\n      if (hasError) {\n        if (multiCheck && showMessage) {\n          this._showErrorMessage(errorData, onMessage);\n        }\n        return false;\n      }\n\n      return true;\n    }\n\n    /**\n     * 鏍¢獙鏁版嵁锛屽彧鏍¢獙瀵瑰簲鐨勫瓧娈佃鍒橽n     * @param {object} data 楠岃瘉鐨勬暟鎹璞n     * @param {array} fields 鏍¢獙鐨勫瓧娈礬n     * @param {function} onMessage 鑷畾涔夐敊璇俊鎭彁绀篭n     * @param {boolean} showMessage 鏄惁鏄剧ず鎻愮ず淇℃伅锛岄粯璁ゆ樉绀猴紙鍐呴儴浣跨敤锛塡n     */\n\n  }, {\n    key: 'checkFields',\n    value: function checkFields(data, fields, onMessage) {\n      var showMessage = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n\n      if (!isArray(fields)) throw new Error('绗簩涓弬鏁伴』涓烘暟缁�');\n\n      // fields: [ '[field]:[rule]' ]\n      // fields: [ 'phoneNo' ]  =>  { phoneNo: true }\n      // fields: [ 'phoneNo:required' ]  =>  { phoneNo: ['required'] }\n      // fields: [ 'phoneNo:required,mobile' ]  =>  { phoneNo: ['required', 'mobile'] }\n      var fieldMap = {};\n\n      fields.forEach(function (item) {\n        var arr = item.split(':');\n        var field = arr[0];\n        var rules = arr[1];\n\n        if (rules) {\n          // 鍙牎楠岀壒瀹氳鍒橽n          rules = rules.split(',');\n          fieldMap[field] = rules;\n        } else {\n          // 鏍¢獙 field 瀛楁鐨勬墍鏈夎鍒橽n          fieldMap[field] = true;\n        }\n      });\n\n      return this.checkData(data, onMessage, showMessage, fieldMap);\n    }\n\n    /**\n     * 鏍¢獙鏁版嵁锛屼笉浼氭彁绀洪敊璇俊鎭痋n     * @param {object} data 楠岃瘉鐨勬暟鎹璞n     * @param {array} fields 鏍¢獙鐨勫瓧娈点�傚鏋滄湁锛屽彧鏍¢獙瀵瑰簲鐨勫瓧娈佃鍒欙紝榛樿鏍¢獙鎵�鏈夐厤缃殑瀛楁瑙勫垯\n     */\n\n  }, {\n    key: 'isValid',\n    value: function isValid(data, fields) {\n      if (isArray(fields)) {\n        return this.checkFields(data, fields, null, false);\n      } else {\n        return this.checkData(data, null, false);\n      }\n    }\n\n    /**\n     * 鍔ㄦ�佹坊鍔犲瓧娈垫牎楠孿n     * @param {object} options 閰嶇疆鍙傛暟\n     * @param {object} [options.rules] 瑙勫垯\n     * @param {object} [options.messages] 鎻愮ず娑堟伅\n     */\n\n  }, {\n    key: 'addRules',\n    value: function addRules() {\n      var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n      Object.assign(this.options.rules, options.rules || {});\n      Object.assign(this.options.messages, options.messages || {});\n\n      this._checkAllRules();\n    }\n\n    /**\n     * 鍔ㄦ�佺Щ闄ゅ瓧娈垫牎楠孿n     * @param {array} fields 瑕佸垹闄ゆ牎楠岀殑瀛楁\n     */\n\n  }, {\n    key: 'removeRules',\n    value: function removeRules(fields) {\n      if (!isArray(fields)) throw new Error('鍙傛暟椤讳负鏁扮粍');\n\n      for (var i = 0; i < fields.length; i++) {\n        var key = fields[i];\n\n        delete this.options.rules[key];\n      }\n    }\n  }]);\n\n  return WeValidator;\n}();\n\nWeValidator.RULES = {};\n\nWeValidator.addRule = function (ruleName, ruleOption) {\n  WeValidator.RULES[ruleName] = ruleOption;\n};\n\nWeValidator.checkValue = function (ruleName, value, param, skip) {\n  var rule = WeValidator.RULES[ruleName].rule;\n\n  if (isRegExp(rule)) {\n    if (skip) {\n      return !requiredFn(value) || rule.test(value);\n    } else {\n      return rule.test(value);\n    }\n  }\n\n  if (isFunction(rule)) {\n    if (ruleName === 'required') {\n      return requiredFn(value);\n    } else {\n      if (skip) {\n        return !requiredFn(value) || rule.call(this, value, param);\n      } else {\n        return rule.call(this, value, param);\n      }\n    }\n  }\n};\n\nWeValidator.RULES = _rules2.default;\nWeValidator.required = requiredFn;\n\nmodule.exports = WeValidator;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n\n\nmodule.exports = {\n  /**\n   * 蹇呭~\n   */\n  required: {\n    message: '姝ゅ瓧娈靛繀濉�',\n    rule: function rule(value) {\n      if (typeof value === 'number') {\n        value = value.toString();\n      } else if (typeof value === 'boolean') {\n        return true;\n      }\n      return !!(value && value.length > 0);\n    }\n  },\n  /**\n   * 姝e垯閫氱敤\n   */\n  pattern: {\n    message: '涓嶇鍚堟楠岃瘉瑙勫垯',\n    rule: function rule(value, param) {\n      return param.test(value);\n    }\n  },\n  /**\n   * 鐢靛瓙閭欢\n   */\n  email: {\n    message: '璇疯緭鍏ユ湁鏁堢殑鐢靛瓙閭欢鍦板潃',\n    rule: /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/\n  },\n  /**\n   * 鎵嬫満鍙风爜\n   */\n  mobile: {\n    message: '璇疯緭鍏�11浣嶇殑鎵嬫満鍙风爜',\n    rule: /^1[3456789]\\d{9}$/\n  },\n  /**\n   * 搴ф満鍙凤紝渚嬪锛�010-1234567銆�0551-1234567\n   */\n  tel: {\n    message: '璇疯緭鍏ュ骇鏈哄彿',\n    rule: /^(\\d{3,4}-)?\\d{7,8}$/\n  },\n  /**\n   * URL缃戝潃\n   */\n  url: {\n    message: '璇疯緭鍏ユ湁鏁堢殑缃戝潃',\n    rule: /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})).?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/i\n  },\n  /**\n   * 韬唤璇佸彿\n   */\n  idcard: {\n    message: '璇疯緭鍏�18浣嶇殑鏈夋晥韬唤璇�',\n    rule: /^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$/\n  },\n  /**\n   * 瀛楁鍊肩浉鍚屾牎楠岋紙渚嬪锛氬瘑鐮佸拰纭瀵嗙爜锛塡n   */\n  equalTo: {\n    message: '杈撳叆鍊煎繀椤诲拰瀛楁 {0} 鐩稿悓',\n    rule: function rule(value, param) {\n      return value === this.data[param];\n    }\n  },\n  /**\n   * 瀛楁鍊间笉鐩稿悓鏍¢獙锛屼笌 equalTo 鐩稿弽\n   */\n  notEqualTo: {\n    message: '杈撳叆鍊间笉鑳藉拰瀛楁 {0} 鐩稿悓',\n    rule: function rule(value, param) {\n      return value !== this.data[param];\n    }\n  },\n  /**\n   * 鏄惁鍖呭惈鏌愬瓧绗n   */\n  contains: {\n    message: '杈撳叆鍊煎繀椤诲寘鍚� {0}',\n    rule: function rule(value, param) {\n      return value.indexOf(param) > -1;\n    }\n  },\n  /**\n   * 涓嶈兘鍖呭惈鏌愬瓧绗n   */\n  notContains: {\n    message: '杈撳叆鍊间笉鑳藉寘鍚� {0}',\n    rule: function rule(value, param) {\n      return value.indexOf(param) === -1;\n    }\n  },\n  /**\n   * 闀垮害涓哄灏戠殑瀛楃涓瞈n   */\n  length: {\n    message: '璇疯緭鍏� {0} 涓瓧绗�',\n    rule: function rule(value, param) {\n      return value.length == param;\n    }\n  },\n  /**\n   * 鏈�灏戝闀跨殑瀛楃涓瞈n   */\n  minlength: {\n    message: '鏈�灏戣杈撳叆 {0} 涓瓧绗�',\n    rule: function rule(value, param) {\n      return value.length >= param;\n    }\n  },\n  /**\n   * 鏈�澶氬闀跨殑瀛楃涓瞈n   */\n  maxlength: {\n    message: '鏈�澶氬彲浠ヨ緭鍏� {0} 涓瓧绗�',\n    rule: function rule(value, param) {\n      return value.length <= param;\n    }\n  },\n  /**\n   * 鏌愪釜鑼冨洿闀垮害鐨勫瓧绗︿覆\n   */\n  rangelength: {\n    message: '璇疯緭鍏ラ暱搴﹀湪 {0} 鍒� {1} 涔嬮棿鐨勫瓧绗�',\n    rule: function rule(value, param) {\n      return value.length >= param[0] && value.length <= param[1];\n    }\n  },\n  /**\n   * 鏁板瓧\n   */\n  number: {\n    message: '璇疯緭鍏ユ湁鏁堢殑鏁板瓧',\n    rule: /^(?:-?\\d+|-?\\d{1,3}(?:,\\d{3})+)?(?:\\.\\d+)?$/\n  },\n  /**\n   * 姝f暣鏁版暟瀛梊n   */\n  digits: {\n    message: '鍙兘杈撳叆姝f暣鏁版暟瀛�',\n    rule: /^\\d+$/\n  },\n  /**\n   * 姝f暣鏁版垨璐熸暣鏁版暟瀛梊n   */\n  integer: {\n    message: '鍙兘杈撳叆鏁存暟鏁板瓧',\n    rule: /^-?\\d+$/\n  },\n  /**\n   * 澶т簬澶氬皯鐨勬暟瀛�/瀛楁鍊糪n   */\n  min: {\n    message: '璇疯緭鍏ュぇ浜� {0} 鐨勬暟瀛�',\n    rule: function rule(value, param) {\n      if (typeof param === 'string') param = this.data[param];\n\n      return value >= param;\n    }\n  },\n  /**\n   * 灏忎簬澶氬皯鐨勬暟瀛�/瀛楁鍊糪n   */\n  max: {\n    message: '璇疯緭鍏ュ皬浜� {0} 鐨勬暟瀛�',\n    rule: function rule(value, param) {\n      if (typeof param === 'string') param = this.data[param];\n\n      return value <= param;\n    }\n  },\n  /**\n   * 澶т簬涓斿皬浜庡灏戠殑鏁板瓧\n   */\n  range: {\n    message: '璇疯緭鍏ュぇ浜� {0} 涓斿皬浜� {1} 鐨勬暟瀛�',\n    rule: function rule(value, param) {\n      return value >= param[0] && value <= param[1];\n    }\n  },\n  /**\n   * 涓枃瀛楃\n   */\n  chinese: {\n    message: '鍙兘杈撳叆涓枃瀛楃',\n    rule: /^[\\u4e00-\\u9fa5]+$/\n  },\n  /**\n   * 鏈�灏戝灏戜釜涓枃瀛楃\n   */\n  minChinese: {\n    message: '鏈�灏戣緭鍏� {0} 涓腑鏂囧瓧绗�',\n    rule: function rule(value, param) {\n      return new RegExp('^[\\u4E00-\\u9FA5]{' + param + ',}$').test(value);\n    }\n  },\n  /**\n   * 鏈�澶氬灏戜釜涓枃瀛楃\n   */\n  maxChinese: {\n    message: '鏈�澶氳緭鍏� {0} 涓腑鏂囧瓧绗�',\n    rule: function rule(value, param) {\n      return new RegExp('^[\\u4E00-\\u9FA5]{1,' + param + '}$').test(value);\n    }\n  },\n  /**\n   * 澶т簬涓斿皬浜庡灏戜釜涓枃瀛楃\n   */\n  rangeChinese: {\n    message: '鍙兘杈撳叆 {0} 鍒� {1} 涓腑鏂囧瓧绗�',\n    rule: function rule(value, param) {\n      return new RegExp('^[\\u4E00-\\u9FA5]{' + param[0] + ',' + param[1] + '}$').test(value);\n    }\n  },\n  /**\n   * 鏃ユ湡\n   */\n  date: {\n    message: '璇疯緭鍏ユ湁鏁堢殑鏃ユ湡',\n    rule: function rule(value) {\n      return !/Invalid|NaN/.test(new Date(value).toString());\n    }\n  },\n  /**\n   * 鏃ユ湡锛圛SO鏍囧噯鏍煎紡锛変緥濡傦細2019-09-19锛�2019/09/19\n   */\n  dateISO: {\n    message: '璇疯緭鍏ユ湁鏁堢殑鏃ユ湡锛圛SO鏍囧噯鏍煎紡锛�',\n    rule: /^\\d{4}[\\/\\-](0?[1-9]|1[012])[\\/\\-](0?[1-9]|[12][0-9]|3[01])$/\n  },\n  /**\n   * ipv4鍦板潃\n   */\n  ipv4: {\n    message: '璇疯緭鍏ユ湁鏁堢殑IPv4鍦板潃',\n    rule: /^(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$/i\n  },\n  /**\n   * ipv6鍦板潃\n   */\n  ipv6: {\n    message: '璇疯緭鍏ユ湁鏁堢殑IPv6鍦板潃',\n    rule: /^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i\n  }\n};\n\n/***/ })\n/******/ ]);\n});"]}
\ No newline at end of file
diff --git a/miniprogram_npm/wx-promise-pro/index.js b/miniprogram_npm/wx-promise-pro/index.js
index 577b10c..48d613b 100644
--- a/miniprogram_npm/wx-promise-pro/index.js
+++ b/miniprogram_npm/wx-promise-pro/index.js
@@ -4,11 +4,11 @@
 var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
 var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
 var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
-__DEFINE__(1607156818088, function(require, module, exports) {
+__DEFINE__(1607388144815, function(require, module, exports) {
 function e(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function t(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,a)}return o}function o(o){for(var a=1;a<arguments.length;a++){var r=null!=arguments[a]?arguments[a]:{};a%2?t(Object(r),!0).forEach((function(t){e(o,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(r,e))}))}return o}var a=["canvasGetImageData","canvasPutImageData","canvasToTempFilePath","setEnableDebug","startAccelerometer","stopAccelerometer","getBatteryInfo","getClipboardData","setClipboardData","startCompass","stopCompass","addPhoneContact","startGyroscope","stopGyroscope","startBeaconDiscovery","stopBeaconDiscovery","getBeacons","startLocalServiceDiscovery","stopLocalServiceDiscovery","startDeviceMotionListening","stopDeviceMotionListening","getNetworkType","makePhoneCall","scanCode","getSystemInfo","vibrateShort","vibrateLong","getExtConfig","chooseLocation","getLocation","openLocation","chooseMessageFile","loadFontFace","chooseImage","previewImage","getImageInfo","saveImageToPhotosAlbum","compressImage","chooseVideo","saveVideoToPhotosAlbum","downloadFile","request","connectSocket","closeSocket","sendSocketMessage","uploadFile","login","checkSession","chooseAddress","authorize","addCard","openCard","chooseInvoice","chooseInvoiceTitle","getUserInfo","requestPayment","getWeRunData","showModal","showToast","hideToast","showLoading","hideLoading","showActionSheet","pageScrollTo","startPullDownRefresh","stopPullDownRefresh","setBackgroundColor","setBackgroundTextStyle","setTabBarBadge","removeTabBarBadge","showTabBarRedDot","hideTabBarRedDot","showTabBar","hideTabBar","setTabBarStyle","setTabBarItem","setTopBarText","saveFile","openDocument","getSavedFileList","getSavedFileInfo","removeSavedFile","getFileInfo","getStorage","setStorage","removeStorage","clearStorage","getStorageInfo","closeBLEConnection","closeBluetoothAdapter","createBLEConnection","getBLEDeviceCharacteristics","getBLEDeviceServices","getBluetoothAdapterState","getBluetoothDevices","getConnectedBluetoothDevices","notifyBLECharacteristicValueChange","openBluetoothAdapter","readBLECharacteristicValue","startBluetoothDevicesDiscovery","stopBluetoothDevicesDiscovery","writeBLECharacteristicValue","getHCEState","sendHCEMessage","startHCE","stopHCE","getScreenBrightness","setKeepScreenOn","setScreenBrightness","connectWifi","getConnectedWifi","getWifiList","setWifiList","startWifi","stopWifi","getBackgroundAudioPlayerState","playBackgroundAudio","pauseBackgroundAudio","seekBackgroundAudio","stopBackgroundAudio","getAvailableAudioSources","startRecord","stopRecord","setInnerAudioOption","playVoice","pauseVoice","stopVoice","getSetting","openSetting","getShareInfo","hideShareMenu","showShareMenu","updateShareMenu","checkIsSoterEnrolledInDevice","checkIsSupportSoterAuthentication","startSoterAuthentication","navigateBackMiniProgram","navigateToMiniProgram","setNavigationBarTitle","showNavigationBarLoading","hideNavigationBarLoading","setNavigationBarColor","redirectTo","reLaunch","navigateTo","switchTab","navigateBack"];Promise.prototype.finally||(Promise.prototype.finally=function(e){var t=this.constructor;return this.then((function(o){return t.resolve(e()).then((function(){return o}))}),(function(o){return t.resolve(e()).then((function(){throw o}))}))});var r=function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise((function(a,r){e(o({fail:r,success:a},t))}))}},n=function(){wx.pro={},Object.keys(wx).forEach((function(e){a.indexOf(e)>=0?wx.pro[e]=r(wx[e]):"createSignal"!==e&&(wx.pro[e]=wx[e])}))};if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: true });Object.defineProperty(exports, 'promisify', { enumerable: true, configurable: true, get: function() { return r; } });Object.defineProperty(exports, 'promisifyAll', { enumerable: true, configurable: true, get: function() { return n; } });
 //# sourceMappingURL=wx-promise-pro.js.map
 
 }, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
-return __REQUIRE__(1607156818088);
+return __REQUIRE__(1607388144815);
 })()
 //# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index f6c74e3..7363fcc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -20,6 +20,11 @@
       "integrity": "sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw==",
       "dev": true
     },
+    "we-validator": {
+      "version": "2.1.14",
+      "resolved": "https://registry.npm.taobao.org/we-validator/download/we-validator-2.1.14.tgz",
+      "integrity": "sha1-ELSFtOv2B0aQyfsIJjFarRWLv7c="
+    },
     "wx-promise-pro": {
       "version": "3.2.2",
       "resolved": "https://registry.npmjs.org/wx-promise-pro/-/wx-promise-pro-3.2.2.tgz",
diff --git a/package.json b/package.json
index b699657..eedd80e 100644
--- a/package.json
+++ b/package.json
@@ -12,6 +12,7 @@
   "dependencies": {
     "@vant/weapp": "^1.6.2",
     "dayjs": "^1.9.6",
+    "we-validator": "^2.1.14",
     "wx-promise-pro": "^3.2.2"
   },
   "devDependencies": {
diff --git a/pages/balance/balance.wxml b/pages/balance/balance.wxml
index 75902db..1847c1d 100644
--- a/pages/balance/balance.wxml
+++ b/pages/balance/balance.wxml
@@ -31,7 +31,7 @@
 
       <view class="my-card-footer">
         <my-tag>
-          <navigator class="tag">鎻愮幇</navigator>
+          <navigator url="../verificationIdentity/verificationIdentity" class="tag">鎻愮幇</navigator>
         </my-tag>
       </view>
     </view>
diff --git a/pages/balance/balance.wxss b/pages/balance/balance.wxss
index 31a90da..28dd27b 100644
--- a/pages/balance/balance.wxss
+++ b/pages/balance/balance.wxss
@@ -28,7 +28,7 @@
 }
 
 .amount-container .digital {
-  color: #db2c13;
+  color: var(--price-color);
 }
 
 .amount-container .amount {
diff --git a/pages/detail/detail.js b/pages/detail/detail.js
index 4fb94d1..f5db8b1 100644
--- a/pages/detail/detail.js
+++ b/pages/detail/detail.js
@@ -86,4 +86,4 @@
         }
     },
 });
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGV0YWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBTSxHQUFHLEdBQUcsTUFBTSxFQUFjLENBQUM7QUFDakMsSUFBSSxDQUFDO0lBQ0gsSUFBSSxFQUFFO1FBQ0osU0FBUyxFQUFFLElBQUk7UUFDZixVQUFVLEVBQUMsR0FBRztRQWlCZCxNQUFNLEVBQUU7WUFDTixXQUFXLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSxFQUFFO1lBQ2YsT0FBTyxFQUFFLGNBQWM7WUFDdkIsVUFBVSxFQUFFLGdKQUFnSjtZQUM1SixPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLE9BQU8sRUFBRSxDQUFDO1lBQ1Ysa0JBQWtCLEVBQUUsRUFBRTtZQUN0Qix5QkFBeUIsRUFBRSxDQUFDO1lBQzVCLG9CQUFvQixFQUFFLEVBQUU7WUFDeEIsMkJBQTJCLEVBQUUsQ0FBQztZQUM5QixTQUFTLEVBQUUsZ0dBQWdHO1lBQzNHLGNBQWMsRUFBRSxHQUFHO1lBQ25CLGtCQUFrQixFQUFFLFNBQVM7WUFDN0IsUUFBUSxFQUFFLENBQUM7WUFDWCxzQkFBc0IsRUFBRSxDQUFDO1lBQ3pCLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLFdBQVcsRUFBRSxjQUFjO1lBQzNCLE9BQU8sRUFBRSxFQUFFO1lBQ1gsWUFBWSxFQUFFLElBQUk7WUFDbEIsS0FBSyxFQUFFLEdBQUc7WUFDVixhQUFhLEVBQUMsSUFBSTtZQUNsQixHQUFHLEVBQUUsR0FBRztZQUNSLE1BQU0sRUFBRSxDQUFDLHlGQUF5RixDQUFDO1lBQ25HLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsYUFBYSxFQUFFLElBQUk7WUFDbkIsYUFBYSxFQUFFLElBQUk7WUFDbkIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsV0FBVyxFQUFFLElBQUk7WUFDakIsa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixhQUFhLEVBQUUsSUFBSTtZQUNuQixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGlCQUFpQixFQUFFLEtBQUs7WUFDeEIsaUJBQWlCLEVBQUUsS0FBSztZQUN4QixvQkFBb0IsRUFBRSxJQUFJO1lBQzFCLFNBQVMsRUFBRSxXQUFXO1lBQ3RCLElBQUksRUFBRSxJQUFJO1NBQ1g7S0FDRjtJQUNELE1BQU0sWUFBQyxPQUFPO1FBQWQsaUJBVUM7UUFUQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBQyxRQUFRLEVBQUMsT0FBTyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQyxVQUFVLENBQUM7WUFDVCxLQUFJLENBQUMsT0FBTyxDQUFDO2dCQUNYLFNBQVMsRUFBRSxLQUFLO2FBQ2pCLENBQUMsQ0FBQTtRQUNKLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQTtJQUNULENBQUM7SUFDRCxTQUFTO1FBQ0gsSUFBQSxxQkFRZ0IsRUFQbEIsc0JBQVEsRUFDUiwwQ0FBa0IsRUFDbEIsOENBQW9CLEVBQ3BCLDREQUEyQixFQUMzQix3REFBeUIsRUFDekIsOENBQW9CLEVBQ3BCLDBDQUNrQixDQUFDO1FBQ3JCLElBQUksb0JBQW9CLElBQUUsMkJBQTJCLEdBQUMsQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQ1gsVUFBVSxFQUFDLHFEQUFXLG9CQUFvQixjQUFJLGtCQUFvQjtnQkFDbEUsUUFBUSxFQUFDLEtBQUs7YUFDZixDQUFDLENBQUE7U0FDSDthQUNJLElBQUksb0JBQW9CLElBQUUsMkJBQTJCLElBQUUsQ0FBQyxJQUFFLHlCQUF5QixHQUFDLENBQUMsRUFBRTtZQUMxRixJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUNYLFVBQVUsRUFBQyx1RUFBYyxrQkFBb0I7Z0JBQzdDLFFBQVEsRUFBQyxJQUFJO2FBQ2QsQ0FBQyxDQUFBO1NBQ0g7YUFDSSxJQUFJLG9CQUFvQixJQUFFLHlCQUF5QixJQUFFLENBQUMsRUFBRTtZQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUNYLFVBQVUsRUFBQyx3REFBVztnQkFDdEIsUUFBUSxFQUFDLEtBQUs7YUFDZixDQUFDLENBQUE7U0FDSDtRQUNELElBQUksa0JBQWtCLElBQUUsUUFBUSxJQUFFLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUNYLFVBQVUsRUFBQyxzQ0FBUTtnQkFDbkIsUUFBUSxFQUFDLEtBQUs7YUFDZixDQUFDLENBQUE7U0FDSDtJQUNILENBQUM7Q0E0QkYsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgYXBwID0gZ2V0QXBwPElBcHBPcHRpb24+KCk7XHJcblBhZ2Uoe1xyXG4gIGRhdGE6IHtcclxuICAgIGlzTG9hZGluZzogdHJ1ZSxcclxuICAgIG5vdGljZVRleHQ6JzEnLFxyXG4gICAgLy8gc2hvd1NoYXJlOiBmYWxzZSxcclxuICAgIC8vIHNoYXJlT3B0aW9uczogW1xyXG4gICAgLy8gICB7IG5hbWU6ICflvq7kv6EnLCBpY29uOiAnd2VjaGF0Jywgb3BlblR5cGU6ICdzaGFyZScgfSxcclxuICAgIC8vICAgeyBuYW1lOiAn5YiG5Lqr5rW35oqlJywgaWNvbjogJ3Bvc3RlcicgfSxcclxuICAgIC8vICAgeyBuYW1lOiAn5LqM57u056CBJywgaWNvbjogJ3FyY29kZScgfSxcclxuICAgIC8vIF0sXHJcbiAgICAvLyBzaG93QWR2aXNvcnk6IGZhbHNlLFxyXG4gICAgLy8gYWR2aXNvcnlBY3Rpb25zOiBbXHJcbiAgICAvLyAgIHtcclxuICAgIC8vICAgICBuYW1lOiAnMTIzNDU2Nzg5MTAnLFxyXG4gICAgLy8gICB9LFxyXG4gICAgLy8gICB7XHJcbiAgICAvLyAgICAgbmFtZTogJ+WRvOWPqycsXHJcbiAgICAvLyAgICAgbXk6JzEyMzQ1Njc4OTEwJ1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyBdLFxyXG4gICAgZGV0YWlsOiB7XHJcbiAgICAgIERlc2NyaXB0aW9uOiBcIlwiLFxyXG4gICAgICBFeHRlcm5hbFVybDogXCJcIixcclxuICAgICAgTWF0Q29kZTogXCJLLTcyNDkwVC1MQkNcIixcclxuICAgICAgTWF0Q29kZVVybDogXCJodHRwczovL21wLm9uYnVzLmNuL3Nob3BwaW5nL21vYmlsZS9wcm9kdWN0Lz9wYXRoPSZtYXRjb2RlPUstNzI0OTBULUxCQyZ3eD0zJkNvcnBJZD13eGVjNzgxNTY2MjYzMDJiNzgmRnJvbU9wZW5JZD1vNkRmMTBMbWtKWm5XUEZZM2ppTHJWWV8zbWI4XCIsXHJcbiAgICAgIE1hdE5hbWU6IFwiRkFJUkZJRUxEP+i0ueWwlOiPsumVnOafnFwiLFxyXG4gICAgICBNaW5pbnVtOiAwLFxyXG4gICAgICBQYW5pY0J1eWluZ0VuZFRpbWU6IFwiXCIsXHJcbiAgICAgIFBhbmljQnV5aW5nRW5kVGltZUJhbGFuY2U6IDAsXHJcbiAgICAgIFBhbmljQnV5aW5nU3RhcnRUaW1lOiBcIlwiLFxyXG4gICAgICBQYW5pY0J1eWluZ1N0YXJ0VGltZUJhbGFuY2U6IDAsXHJcbiAgICAgIFBob3RvUGF0aDogXCJodHRwczovL2ltZy5vbmJ1cy5jbi91cGxvYWRzL3Nob3BwaW5nLzgyL2ltYWdlcy8yMDY0QzVFQy1GNTNDLTQxQUEtOTFENy1FNEUwMjlEMTQ0QTBAcEAxODEuanBnXCIsXHJcbiAgICAgIFByZVNlbmRNaW51dGVzOiAxNTAsXHJcbiAgICAgIFByZVNlbmRNaW51dGVzRGVzYzogXCIy5bCP5pe2MzDliIbpkp9cIixcclxuICAgICAgUXVhbnRpdHk6IDAsXHJcbiAgICAgIFJlc3RyaWN0QnV5aW5nUXVhbnRpdHk6IDAsXHJcbiAgICAgIFJldmlld0NvdW50OiBcIjBcIixcclxuICAgICAgU2hvcE1hdENvZGU6IFwiSy03MjQ5MFQtTEJDXCIsXHJcbiAgICAgIFNwZWNpYWw6IFwiXCIsXHJcbiAgICAgIFN0b2NrRGlzcGxheTogdHJ1ZSxcclxuICAgICAgUHJpY2U6IDEwMCxcclxuICAgICAgb3JpZ2luYWxQcmljZToxMDAwLFxyXG4gICAgICBVb206IFwi5LiqXCIsXHJcbiAgICAgIGltYWdlczogW1wiaHR0cHM6Ly9tcC5vbmJ1cy5jbi91cGxvYWRzL3Nob3BwaW5nLzgyL2ltYWdlcy8yMDY0QzVFQy1GNTNDLTQxQUEtOTFENy1FNEUwMjlEMTQ0QTAuanBnXCJdLFxyXG4gICAgICBpc1Jlc3RyaWN0UXVhbnRpdHk6IGZhbHNlLFxyXG4gICAgICBpc1Nob3dCcmFuZDogZmFsc2UsXHJcbiAgICAgIGlzU2hvd01hdEF0dHI6IGZhbHNlLFxyXG4gICAgICBpc1Nob3dNYXRDb2RlOiB0cnVlLFxyXG4gICAgICBpc1Nob3dNYXROYW1lOiB0cnVlLFxyXG4gICAgICBpc1Nob3dQb2ludHM6IGZhbHNlLFxyXG4gICAgICBpc1Nob3dQcmljZTogdHJ1ZSxcclxuICAgICAgaXNTaG93UmV2aWV3U3RhdHVzOiB0cnVlLFxyXG4gICAgICBpc1Nob3dTcGVjaWFsOiB0cnVlLFxyXG4gICAgICBpc1N0YXJ0dXBNYXROYW1lMjogZmFsc2UsXHJcbiAgICAgIGlzU3RhcnR1cE1hdE5hbWUzOiBmYWxzZSxcclxuICAgICAgaXNTdGFydHVwTWF0TmFtZTQ6IGZhbHNlLFxyXG4gICAgICBpc1N0YXJ0dXBQYW5pY0J1eWluZzogdHJ1ZSxcclxuICAgICAgdGVsZXBob25lOiAxMjM1Njg5Nzg0NSxcclxuICAgICAgbmFtZTogJ+W8oOS4iSdcclxuICAgIH1cclxuICB9LFxyXG4gIG9uTG9hZChvcHRpb25zKSB7XHJcbiAgICBjb25zb2xlLmxvZyhhcHApO1xyXG4gICAgdGhpcy5zZXREYXRhKHtmcm9tUGFnZTpvcHRpb25zLmZyb219KTtcclxuICAgIHRoaXMuZ2V0Tm90aWNlKCk7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLmRhdGEubm90aWNlVGV4dCk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICB9KVxyXG4gICAgfSwyMDAwKVxyXG4gIH0sXHJcbiAgZ2V0Tm90aWNlKCl7XHJcbiAgICBsZXQge1xyXG4gICAgICBRdWFudGl0eSxcclxuICAgICAgaXNSZXN0cmljdFF1YW50aXR5LFxyXG4gICAgICBpc1N0YXJ0dXBQYW5pY0J1eWluZyxcclxuICAgICAgUGFuaWNCdXlpbmdTdGFydFRpbWVCYWxhbmNlLFxyXG4gICAgICBQYW5pY0J1eWluZ0VuZFRpbWVCYWxhbmNlLFxyXG4gICAgICBQYW5pY0J1eWluZ1N0YXJ0VGltZSxcclxuICAgICAgUGFuaWNCdXlpbmdFbmRUaW1lLFxyXG4gICAgfSA9IHRoaXMuZGF0YS5kZXRhaWw7XHJcbiAgICBpZiAoaXNTdGFydHVwUGFuaWNCdXlpbmcmJlBhbmljQnV5aW5nU3RhcnRUaW1lQmFsYW5jZT4wKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgbm90aWNlVGV4dDpg5pyq5byA5oqi77yM5byA5oqi5pe26Ze0JHtQYW5pY0J1eWluZ1N0YXJ0VGltZX3oh7Mke1BhbmljQnV5aW5nRW5kVGltZX1gLFxyXG4gICAgICAgIGlzQ2FuQnV5OmZhbHNlXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpc1N0YXJ0dXBQYW5pY0J1eWluZyYmUGFuaWNCdXlpbmdTdGFydFRpbWVCYWxhbmNlPD0wJiZQYW5pY0J1eWluZ0VuZFRpbWVCYWxhbmNlPjApIHtcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBub3RpY2VUZXh0OmDllYblk4HmiqLotK3kuK3vvIznu5PmnZ/ml7bpl7TkuLoke1BhbmljQnV5aW5nRW5kVGltZX1gLFxyXG4gICAgICAgIGlzQ2FuQnV5OnRydWVcclxuICAgICAgfSlcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlzU3RhcnR1cFBhbmljQnV5aW5nJiZQYW5pY0J1eWluZ0VuZFRpbWVCYWxhbmNlPD0wKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgbm90aWNlVGV4dDpg5pys5qyh5ZWG5ZOB5oqi6LSt5bey57uT5p2fYCxcclxuICAgICAgICBpc0NhbkJ1eTpmYWxzZVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gICAgaWYgKGlzUmVzdHJpY3RRdWFudGl0eSYmUXVhbnRpdHk8PTApIHtcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBub3RpY2VUZXh0OmDor6XllYblk4Hlt7LllK7nvYRgLFxyXG4gICAgICAgIGlzQ2FuQnV5OmZhbHNlXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfSxcclxuICAvLyBvbkNsaWNrU2hhcmUoKXtcclxuICAvLyAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgLy8gICAgIHNob3dTaGFyZTp0cnVlXHJcbiAgLy8gICB9KVxyXG4gIC8vIH0sXHJcbiAgLy8gb25TaGFyZUNsb3NlKCl7XHJcbiAgLy8gICB0aGlzLnNldERhdGEoe1xyXG4gIC8vICAgICBzaG93U2hhcmU6ZmFsc2VcclxuICAvLyAgIH0pXHJcbiAgLy8gfSxcclxuICAvLyBvbkNsaWNrQWR2aXNvcnkoKXtcclxuICAvLyAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgLy8gICAgIHNob3dBZHZpc29yeTp0cnVlXHJcbiAgLy8gICB9KVxyXG4gIC8vIH0sXHJcbiAgLy8gb25BZHZpc29yeUNsb3NlKCl7XHJcbiAgLy8gICB0aGlzLnNldERhdGEoe1xyXG4gIC8vICAgICBzaG93QWR2aXNvcnk6ZmFsc2VcclxuICAvLyAgIH0pXHJcbiAgLy8gfSxcclxuICAvLyBvbkFkdmlzb3J5U2VsZWN0KGU6YW55KXtcclxuICAvLyAgIGNvbnNvbGUubG9nKGUpO1xyXG4gIC8vICAgbGV0IG1vYmlsZSA9IGUuZGV0YWlsLm15O1xyXG4gIC8vICAgd3gubWFrZVBob25lQ2FsbCh7XHJcbiAgLy8gICAgIHBob25lTnVtYmVyOiBtb2JpbGUsXHJcbiAgLy8gICB9KVxyXG4gIC8vIH1cclxufSk7XHJcbmV4cG9ydCB7fTtcclxuIl19
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGV0YWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBTSxHQUFHLEdBQUcsTUFBTSxFQUFjLENBQUM7QUFDakMsSUFBSSxDQUFDO0lBQ0gsSUFBSSxFQUFFO1FBQ0osU0FBUyxFQUFFLElBQUk7UUFDZixVQUFVLEVBQUMsR0FBRztRQWlCZCxNQUFNLEVBQUU7WUFDTixXQUFXLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSxFQUFFO1lBQ2YsT0FBTyxFQUFFLGNBQWM7WUFDdkIsVUFBVSxFQUFFLGdKQUFnSjtZQUM1SixPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLE9BQU8sRUFBRSxDQUFDO1lBQ1Ysa0JBQWtCLEVBQUUsRUFBRTtZQUN0Qix5QkFBeUIsRUFBRSxDQUFDO1lBQzVCLG9CQUFvQixFQUFFLEVBQUU7WUFDeEIsMkJBQTJCLEVBQUUsQ0FBQztZQUM5QixTQUFTLEVBQUUsZ0dBQWdHO1lBQzNHLGNBQWMsRUFBRSxHQUFHO1lBQ25CLGtCQUFrQixFQUFFLFNBQVM7WUFDN0IsUUFBUSxFQUFFLENBQUM7WUFDWCxzQkFBc0IsRUFBRSxDQUFDO1lBQ3pCLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLFdBQVcsRUFBRSxjQUFjO1lBQzNCLE9BQU8sRUFBRSxFQUFFO1lBQ1gsWUFBWSxFQUFFLElBQUk7WUFDbEIsS0FBSyxFQUFFLEdBQUc7WUFDVixhQUFhLEVBQUMsSUFBSTtZQUNsQixHQUFHLEVBQUUsR0FBRztZQUNSLE1BQU0sRUFBRSxDQUFDLHlGQUF5RixDQUFDO1lBQ25HLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsYUFBYSxFQUFFLElBQUk7WUFDbkIsYUFBYSxFQUFFLElBQUk7WUFDbkIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsV0FBVyxFQUFFLElBQUk7WUFDakIsa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixhQUFhLEVBQUUsSUFBSTtZQUNuQixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGlCQUFpQixFQUFFLEtBQUs7WUFDeEIsaUJBQWlCLEVBQUUsS0FBSztZQUN4QixvQkFBb0IsRUFBRSxJQUFJO1lBQzFCLFNBQVMsRUFBRSxXQUFXO1lBQ3RCLElBQUksRUFBRSxJQUFJO1NBQ1g7S0FDRjtJQUNELE1BQU0sWUFBQyxPQUFPO1FBQWQsaUJBVUM7UUFUQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBQyxRQUFRLEVBQUMsT0FBTyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQyxVQUFVLENBQUM7WUFDVCxLQUFJLENBQUMsT0FBTyxDQUFDO2dCQUNYLFNBQVMsRUFBRSxLQUFLO2FBQ2pCLENBQUMsQ0FBQTtRQUNKLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQTtJQUNULENBQUM7SUFDRCxTQUFTO1FBQ0gsSUFBQSxxQkFRZ0IsRUFQbEIsc0JBQVEsRUFDUiwwQ0FBa0IsRUFDbEIsOENBQW9CLEVBQ3BCLDREQUEyQixFQUMzQix3REFBeUIsRUFDekIsOENBQW9CLEVBQ3BCLDBDQUNrQixDQUFDO1FBQ3JCLElBQUksb0JBQW9CLElBQUUsMkJBQTJCLEdBQUMsQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQ1gsVUFBVSxFQUFDLHFEQUFXLG9CQUFvQixjQUFJLGtCQUFvQjtnQkFDbEUsUUFBUSxFQUFDLEtBQUs7YUFDZixDQUFDLENBQUE7U0FDSDthQUNJLElBQUksb0JBQW9CLElBQUUsMkJBQTJCLElBQUUsQ0FBQyxJQUFFLHlCQUF5QixHQUFDLENBQUMsRUFBRTtZQUMxRixJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUNYLFVBQVUsRUFBQyx1RUFBYyxrQkFBb0I7Z0JBQzdDLFFBQVEsRUFBQyxJQUFJO2FBQ2QsQ0FBQyxDQUFBO1NBQ0g7YUFDSSxJQUFJLG9CQUFvQixJQUFFLHlCQUF5QixJQUFFLENBQUMsRUFBRTtZQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUNYLFVBQVUsRUFBQyx3REFBVztnQkFDdEIsUUFBUSxFQUFDLEtBQUs7YUFDZixDQUFDLENBQUE7U0FDSDtRQUNELElBQUksa0JBQWtCLElBQUUsUUFBUSxJQUFFLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUNYLFVBQVUsRUFBQyxzQ0FBUTtnQkFDbkIsUUFBUSxFQUFDLEtBQUs7YUFDZixDQUFDLENBQUE7U0FDSDtJQUNILENBQUM7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBhcHAgPSBnZXRBcHA8SUFwcE9wdGlvbj4oKTtcclxuUGFnZSh7XHJcbiAgZGF0YToge1xyXG4gICAgaXNMb2FkaW5nOiB0cnVlLFxyXG4gICAgbm90aWNlVGV4dDonMScsXHJcbiAgICAvLyBzaG93U2hhcmU6IGZhbHNlLFxyXG4gICAgLy8gc2hhcmVPcHRpb25zOiBbXHJcbiAgICAvLyAgIHsgbmFtZTogJ+W+ruS/oScsIGljb246ICd3ZWNoYXQnLCBvcGVuVHlwZTogJ3NoYXJlJyB9LFxyXG4gICAgLy8gICB7IG5hbWU6ICfliIbkuqvmtbfmiqUnLCBpY29uOiAncG9zdGVyJyB9LFxyXG4gICAgLy8gICB7IG5hbWU6ICfkuoznu7TnoIEnLCBpY29uOiAncXJjb2RlJyB9LFxyXG4gICAgLy8gXSxcclxuICAgIC8vIHNob3dBZHZpc29yeTogZmFsc2UsXHJcbiAgICAvLyBhZHZpc29yeUFjdGlvbnM6IFtcclxuICAgIC8vICAge1xyXG4gICAgLy8gICAgIG5hbWU6ICcxMjM0NTY3ODkxMCcsXHJcbiAgICAvLyAgIH0sXHJcbiAgICAvLyAgIHtcclxuICAgIC8vICAgICBuYW1lOiAn5ZG85Y+rJyxcclxuICAgIC8vICAgICBteTonMTIzNDU2Nzg5MTAnXHJcbiAgICAvLyAgIH1cclxuICAgIC8vIF0sXHJcbiAgICBkZXRhaWw6IHtcclxuICAgICAgRGVzY3JpcHRpb246IFwiXCIsXHJcbiAgICAgIEV4dGVybmFsVXJsOiBcIlwiLFxyXG4gICAgICBNYXRDb2RlOiBcIkstNzI0OTBULUxCQ1wiLFxyXG4gICAgICBNYXRDb2RlVXJsOiBcImh0dHBzOi8vbXAub25idXMuY24vc2hvcHBpbmcvbW9iaWxlL3Byb2R1Y3QvP3BhdGg9Jm1hdGNvZGU9Sy03MjQ5MFQtTEJDJnd4PTMmQ29ycElkPXd4ZWM3ODE1NjYyNjMwMmI3OCZGcm9tT3BlbklkPW82RGYxMExta0pabldQRlkzamlMclZZXzNtYjhcIixcclxuICAgICAgTWF0TmFtZTogXCJGQUlSRklFTEQ/6LS55bCU6I+y6ZWc5p+cXCIsXHJcbiAgICAgIE1pbmludW06IDAsXHJcbiAgICAgIFBhbmljQnV5aW5nRW5kVGltZTogXCJcIixcclxuICAgICAgUGFuaWNCdXlpbmdFbmRUaW1lQmFsYW5jZTogMCxcclxuICAgICAgUGFuaWNCdXlpbmdTdGFydFRpbWU6IFwiXCIsXHJcbiAgICAgIFBhbmljQnV5aW5nU3RhcnRUaW1lQmFsYW5jZTogMCxcclxuICAgICAgUGhvdG9QYXRoOiBcImh0dHBzOi8vaW1nLm9uYnVzLmNuL3VwbG9hZHMvc2hvcHBpbmcvODIvaW1hZ2VzLzIwNjRDNUVDLUY1M0MtNDFBQS05MUQ3LUU0RTAyOUQxNDRBMEBwQDE4MS5qcGdcIixcclxuICAgICAgUHJlU2VuZE1pbnV0ZXM6IDE1MCxcclxuICAgICAgUHJlU2VuZE1pbnV0ZXNEZXNjOiBcIjLlsI/ml7YzMOWIhumSn1wiLFxyXG4gICAgICBRdWFudGl0eTogMCxcclxuICAgICAgUmVzdHJpY3RCdXlpbmdRdWFudGl0eTogMCxcclxuICAgICAgUmV2aWV3Q291bnQ6IFwiMFwiLFxyXG4gICAgICBTaG9wTWF0Q29kZTogXCJLLTcyNDkwVC1MQkNcIixcclxuICAgICAgU3BlY2lhbDogXCJcIixcclxuICAgICAgU3RvY2tEaXNwbGF5OiB0cnVlLFxyXG4gICAgICBQcmljZTogMTAwLFxyXG4gICAgICBvcmlnaW5hbFByaWNlOjEwMDAsXHJcbiAgICAgIFVvbTogXCLkuKpcIixcclxuICAgICAgaW1hZ2VzOiBbXCJodHRwczovL21wLm9uYnVzLmNuL3VwbG9hZHMvc2hvcHBpbmcvODIvaW1hZ2VzLzIwNjRDNUVDLUY1M0MtNDFBQS05MUQ3LUU0RTAyOUQxNDRBMC5qcGdcIl0sXHJcbiAgICAgIGlzUmVzdHJpY3RRdWFudGl0eTogZmFsc2UsXHJcbiAgICAgIGlzU2hvd0JyYW5kOiBmYWxzZSxcclxuICAgICAgaXNTaG93TWF0QXR0cjogZmFsc2UsXHJcbiAgICAgIGlzU2hvd01hdENvZGU6IHRydWUsXHJcbiAgICAgIGlzU2hvd01hdE5hbWU6IHRydWUsXHJcbiAgICAgIGlzU2hvd1BvaW50czogZmFsc2UsXHJcbiAgICAgIGlzU2hvd1ByaWNlOiB0cnVlLFxyXG4gICAgICBpc1Nob3dSZXZpZXdTdGF0dXM6IHRydWUsXHJcbiAgICAgIGlzU2hvd1NwZWNpYWw6IHRydWUsXHJcbiAgICAgIGlzU3RhcnR1cE1hdE5hbWUyOiBmYWxzZSxcclxuICAgICAgaXNTdGFydHVwTWF0TmFtZTM6IGZhbHNlLFxyXG4gICAgICBpc1N0YXJ0dXBNYXROYW1lNDogZmFsc2UsXHJcbiAgICAgIGlzU3RhcnR1cFBhbmljQnV5aW5nOiB0cnVlLFxyXG4gICAgICB0ZWxlcGhvbmU6IDEyMzU2ODk3ODQ1LFxyXG4gICAgICBuYW1lOiAn5byg5LiJJ1xyXG4gICAgfVxyXG4gIH0sXHJcbiAgb25Mb2FkKG9wdGlvbnMpIHtcclxuICAgIGNvbnNvbGUubG9nKGFwcCk7XHJcbiAgICB0aGlzLnNldERhdGEoe2Zyb21QYWdlOm9wdGlvbnMuZnJvbX0pO1xyXG4gICAgdGhpcy5nZXROb3RpY2UoKTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuZGF0YS5ub3RpY2VUZXh0KTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIGlzTG9hZGluZzogZmFsc2UsXHJcbiAgICAgIH0pXHJcbiAgICB9LDIwMDApXHJcbiAgfSxcclxuICBnZXROb3RpY2UoKXtcclxuICAgIGxldCB7XHJcbiAgICAgIFF1YW50aXR5LFxyXG4gICAgICBpc1Jlc3RyaWN0UXVhbnRpdHksXHJcbiAgICAgIGlzU3RhcnR1cFBhbmljQnV5aW5nLFxyXG4gICAgICBQYW5pY0J1eWluZ1N0YXJ0VGltZUJhbGFuY2UsXHJcbiAgICAgIFBhbmljQnV5aW5nRW5kVGltZUJhbGFuY2UsXHJcbiAgICAgIFBhbmljQnV5aW5nU3RhcnRUaW1lLFxyXG4gICAgICBQYW5pY0J1eWluZ0VuZFRpbWUsXHJcbiAgICB9ID0gdGhpcy5kYXRhLmRldGFpbDtcclxuICAgIGlmIChpc1N0YXJ0dXBQYW5pY0J1eWluZyYmUGFuaWNCdXlpbmdTdGFydFRpbWVCYWxhbmNlPjApIHtcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBub3RpY2VUZXh0OmDmnKrlvIDmiqLvvIzlvIDmiqLml7bpl7Qke1BhbmljQnV5aW5nU3RhcnRUaW1lfeiHsyR7UGFuaWNCdXlpbmdFbmRUaW1lfWAsXHJcbiAgICAgICAgaXNDYW5CdXk6ZmFsc2VcclxuICAgICAgfSlcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlzU3RhcnR1cFBhbmljQnV5aW5nJiZQYW5pY0J1eWluZ1N0YXJ0VGltZUJhbGFuY2U8PTAmJlBhbmljQnV5aW5nRW5kVGltZUJhbGFuY2U+MCkge1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIG5vdGljZVRleHQ6YOWVhuWTgeaKoui0reS4re+8jOe7k+adn+aXtumXtOS4uiR7UGFuaWNCdXlpbmdFbmRUaW1lfWAsXHJcbiAgICAgICAgaXNDYW5CdXk6dHJ1ZVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaXNTdGFydHVwUGFuaWNCdXlpbmcmJlBhbmljQnV5aW5nRW5kVGltZUJhbGFuY2U8PTApIHtcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBub3RpY2VUZXh0OmDmnKzmrKHllYblk4HmiqLotK3lt7Lnu5PmnZ9gLFxyXG4gICAgICAgIGlzQ2FuQnV5OmZhbHNlXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBpZiAoaXNSZXN0cmljdFF1YW50aXR5JiZRdWFudGl0eTw9MCkge1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIG5vdGljZVRleHQ6YOivpeWVhuWTgeW3suWUrue9hGAsXHJcbiAgICAgICAgaXNDYW5CdXk6ZmFsc2VcclxuICAgICAgfSlcclxuICAgIH1cclxuICB9LFxyXG59KTtcclxuZXhwb3J0IHt9O1xyXG4iXX0=
\ No newline at end of file
diff --git a/pages/detail/detail.json b/pages/detail/detail.json
index 31dc621..0e08c0f 100644
--- a/pages/detail/detail.json
+++ b/pages/detail/detail.json
@@ -3,9 +3,6 @@
   "usingComponents": {
     "my-swiper-banner": "../../components/swiper-banner/index",
     "my-goods-action": "../../components/goods-action/index",
-    "van-notice-bar": "@vant/weapp/notice-bar/index",
-    "van-goods-action": "@vant/weapp/goods-action/index",
-    "van-goods-action-icon": "@vant/weapp/goods-action-icon/index",
-    "van-goods-action-button": "@vant/weapp/goods-action-button/index"
+    "van-notice-bar": "@vant/weapp/notice-bar/index"
   }
 }
diff --git a/pages/detail/detail.ts b/pages/detail/detail.ts
index e8ce81b..6cac535 100644
--- a/pages/detail/detail.ts
+++ b/pages/detail/detail.ts
@@ -106,32 +106,5 @@
       })
     }
   },
-  // onClickShare(){
-  //   this.setData({
-  //     showShare:true
-  //   })
-  // },
-  // onShareClose(){
-  //   this.setData({
-  //     showShare:false
-  //   })
-  // },
-  // onClickAdvisory(){
-  //   this.setData({
-  //     showAdvisory:true
-  //   })
-  // },
-  // onAdvisoryClose(){
-  //   this.setData({
-  //     showAdvisory:false
-  //   })
-  // },
-  // onAdvisorySelect(e:any){
-  //   console.log(e);
-  //   let mobile = e.detail.my;
-  //   wx.makePhoneCall({
-  //     phoneNumber: mobile,
-  //   })
-  // }
 });
 export {};
diff --git a/pages/detail/detail.wxml b/pages/detail/detail.wxml
index 013796f..eb542fe 100644
--- a/pages/detail/detail.wxml
+++ b/pages/detail/detail.wxml
@@ -52,31 +52,5 @@
         text="{{noticeText}}"
     />
     <my-goods-action from-page="{{fromPage}}"></my-goods-action>
-<!--    <van-goods-action>-->
-<!--      <van-goods-action-icon icon="share-o" text="鍒嗕韩" bind:click="onClickShare" />-->
-<!--      <van-goods-action-icon icon="chat-o" text="鍜ㄨ" bind:click="onClickAdvisory" />-->
-<!--      <van-goods-action-button-->
-<!--          text="鏍搁攢鐮�"-->
-<!--          type="warning"-->
-<!--          bind:click="onClickCheckCode"-->
-<!--      />-->
-<!--    </van-goods-action>-->
   </view>
 </view>
-
-<!--<van-share-sheet-->
-<!--    show="{{ showShare }}"-->
-<!--    title="绔嬪嵆鍒嗕韩缁欏ソ鍙�"-->
-<!--    options="{{ shareOptions }}"-->
-<!--    bind:select="onShareSelect"-->
-<!--    bind:close="onShareClose"-->
-<!--/>-->
-
-<!--<van-action-sheet-->
-<!--    cancel-text="鍙栨秷"-->
-<!--    show="{{ showAdvisory }}"-->
-<!--    actions="{{ advisoryActions }}"-->
-<!--    bind:close="onAdvisoryClose"-->
-<!--    bind:cancel="onAdvisoryClose"-->
-<!--    bind:select="onAdvisorySelect"-->
-<!--/>-->
diff --git a/pages/liveRoomCreate/liveRoomCreate.js b/pages/liveRoomCreate/liveRoomCreate.js
new file mode 100644
index 0000000..e325007
--- /dev/null
+++ b/pages/liveRoomCreate/liveRoomCreate.js
@@ -0,0 +1,704 @@
+// pages/liveRoomCreate/liveRoomCreate.js
+const utils = require("../../utils/util.js");
+const app = getApp();
+Page({
+  /**
+   * 椤甸潰鐨勫垵濮嬫暟鎹�
+   */
+  data: {
+    currentStep: 0,
+    type: "0",
+    steps: [
+      {
+        text: "鈶� 鍩烘湰淇℃伅",
+        inactiveIcon: "location-o",
+        activeIcon: "success",
+      },
+      {
+        text: "鈶� 鐩存挱闂撮厤缃�",
+        inactiveIcon: "like-o",
+        activeIcon: "plus",
+      },
+    ],
+    timeErrorMsg: {
+      start: "璇烽�夋嫨璁″垝鐩存挱寮�濮嬫椂闂�",
+      end: "璇烽�夋嫨璁″垝鐩存挱缁撴潫鏃堕棿",
+      tips: "寮�鎾椂闂村拰缁撴潫鏃堕棿闂撮殧涓嶅緱鐭簬30鍒嗛挓",
+    },
+    screenTypeOptions: [
+      { text: "绔栧睆", value: 0 },
+      { text: "妯睆", value: 1 },
+    ],
+    screenType: 0,
+    isFeedsPublic: false,
+    isShowInHomepage: false,
+    isLike: true,
+    isComment: true,
+    isGoods: true,
+    isShare: true,
+    isReplay: true,
+    isKf: false,
+    showQrCode: false,
+    qrCodeUrl:"", //https://res.wx.qq.com/op_res/BbVNeczA1XudfjVqCVoKgfuWe7e3aUhokktRVOqf_F0IqS6kYR--atCpVNUUC3zr
+    minStartDate: new Date().getTime() + 1000 * 60 * 20,
+    maxStartDate: new Date().getTime() + 1000 * 60 * 60 * 24 * 180,
+    startDate: "", //new Date().getTime(),
+    minEndDate: new Date().getTime() + 1000 * 60 * 40,
+    maxEndDate: new Date().getTime() + 1000 * 60 * 60 * 24 * 180,
+    endDate: "", //new Date().getTime(),
+    formatter(type, value) {
+      // console.log(type,value)
+      if (type === "year") {
+        return `${value}骞碻;
+      } else if (type === "month") {
+        return `${value}鏈坄;
+      } else if (type === "day") {
+        return `${value}鏃;
+      }
+      return value;
+    },
+  },
+
+  // 鍒囨崲鐩存挱绫诲瀷
+  onChangeType(event) {
+    
+    this.setData({
+      type: event.detail,
+    });
+  },
+  onClickType(event) {
+    // console.log('ddd',event);
+    const { name } = event.currentTarget.dataset;
+    this.setData({
+      type: name,
+    });
+  },
+
+  /**
+   * 閫夋嫨鏃堕棿
+   */
+  onInputStartDate() {},
+  onEnterStartDate(e) {
+    let startTime = utils.formatTime(e.detail);
+    if (
+      this.data.endDate &&
+      Math.abs(e.detail - this.data.endDate) > 1000 * 60 * 60 * 24
+    ) {
+      let date = e.detail + 1000 * 60 * 60 * 24;
+      let time = utils.formatTime(date);
+      this.setData({
+        endDate: date,
+        endTime: time,
+      });
+    }
+    if (
+      this.data.endDate &&
+      Math.abs(e.detail - this.data.endDate) < 1000 * 60 * 30
+    ) {
+      let date = e.detail + 1000 * 60 * 30;
+      let time = utils.formatTime(date);
+      this.setData({
+        endDate: date,
+        endTime: time,
+      });
+    }
+    // if (this.data.endDate && e.detail > this.data.endDate) {
+    // }
+    console.log("閫夋嫨寮�鎾椂闂�", startTime);
+    this.setData({
+      startDate: e.detail,
+      startTime: startTime,
+      maxEndDate: e.detail + 1000 * 60 * 60 * 24,
+      minEndDate: e.detail + 1000 * 60 * 30,
+    });
+    this.handleLiveTime();
+    this.onCancelStartDate();
+  },
+  onCancelStartDate() {
+    // console.log(e);
+    this.selectComponent("#start-time").toggle();
+    this.checkTime("start", "璇烽�夋嫨璁″垝鐩存挱寮�濮嬫椂闂�");
+  },
+
+  onInputEndDate() {},
+  // onTitleTap(){
+  //   if (!this.data.startTime){
+  //     wx.showToast({
+  //       title: '璇峰厛閫夋嫨寮�鎾椂闂�',
+  //       duration: 2000
+  //     })
+  //
+  //   }
+  // },
+
+  onEnterEndDate(e) {
+    let endTime = utils.formatTime(e.detail);
+    console.log("閫夋嫨涓嬫挱鏃堕棿", endTime);
+    this.setData({
+      endDate: e.detail,
+      endTime: endTime,
+      // maxStartDate: e.detail - 1000 * 60 * 30,
+      // minStartDate: e.detail + 1000 * 60 * 20,
+      // e.detail - 1000 * 60 * 30 + (new Date().getTime() - e.detail)
+    });
+    // this.handleLiveTime();
+    this.onCancelEndDate();
+  },
+  onCancelEndDate() {
+    // console.log(e);
+    this.selectComponent("#end-time").toggle();
+    this.checkTime("end", "璇烽�夋嫨璁″垝鐩存挱缁撴潫鏃堕棿");
+  },
+
+  handleLiveTime() {
+    console.log("iii");
+
+    let startDate = this.data.startDate;
+    let startTime = this.data.startTime;
+    let endDate = this.data.endDate;
+    let endTime = this.data.endTime;
+    if (!startTime || !endTime) return;
+    if (startDate - endDate > 0) {
+      this.setData({
+        startDate: endDate,
+        startTime: endTime,
+        endDate: startDate,
+        endTime: startTime,
+      });
+    }
+  },
+
+  checkTime(time, msg) {
+    if (this.data[time + "Time"] == null) {
+      this.setData({
+        [time + "TimeError"]: msg,
+      });
+      return false;
+    }
+    this.setData({
+      [time + "TimeError"]: "",
+    });
+    return true;
+    // this.handleLiveTime()
+  },
+
+  onChangeFeeds({ detail }) {
+    // 闇�瑕佹墜鍔ㄥ checked 鐘舵�佽繘琛屾洿鏂�
+    this.setData({ isFeedsPublic: detail });
+  },
+  onChangeShowHomepage({ detail }) {
+    // 闇�瑕佹墜鍔ㄥ checked 鐘舵�佽繘琛屾洿鏂�
+    this.setData({ isShowInHomepage: detail });
+  },
+  /**
+   *
+   */
+  checkAnchorName(event) {
+    let value = event.detail.value;
+    console.log(value);
+    this.setData({
+      anchorName: value,
+    });
+    this.checkInput("anchorName");
+  },
+  checkRoomTitle(event) {
+    let value = event.detail.value;
+    this.setData({
+      roomTitle: value,
+    });
+    this.checkInput("roomTitle");
+  },
+  checkAnchorWechat(event) {
+    let value = event.detail.value;
+    this.setData({
+      anchorWechat: value,
+    });
+    this.checkInput("anchorWechat");
+  },
+  checkSubAnchorWechat(event) {
+    let value = event.detail.value;
+    this.setData({
+      subAnchorWechat: value,
+    });
+    if (value.length>0) {
+      this.checkInput("subAnchorWechat");
+    } else{
+      this.setData({
+        subAnchorWechatError: ""
+      });
+    }
+  },
+
+  checkInput(type) {
+    let options = {
+      anchorName: {
+        error: "涓绘挱鏄电О蹇呴』涓�2-15涓瓧",
+        regExp: /^.{2,15}$/,
+      },
+      roomTitle: {
+        error: "鐩存挱鏍囬蹇呴』涓�3-17涓瓧",
+        regExp: /^.{3,17}$/,
+      },
+      anchorWechat: {
+        error: "寰俊鍙蜂笉鍚堣",
+        regExp: /^[a-zA-Z][a-zA-Z\d_-]{5,19}$/,
+      },
+      subAnchorWechat: {
+        error: "寰俊鍙蜂笉鍚堣",
+        regExp: /^[a-zA-Z][a-zA-Z\d_-]{5,19}$/,
+      },
+    };
+    // let msg = {
+    //   anchorName: '璇疯緭鍏ヤ富鎾樀绉�',
+    //   anchorName2: '涓绘挱鏄电О蹇呴』涓�2-15涓瓧',
+    //   roomTitle: '璇疯緭鍏ョ洿鎾爣棰�',
+    //   roomTitle2: '鐩存挱鏍囬蹇呴』涓�3-17涓瓧',
+    // }
+    // // /^[a-zA-Z][a-zA-Z\d_-]{5,19}$/
+    // let length = {
+    //   anchorName:2,
+    //   roomTitle: 3,
+    //   anchorWechat
+    // }
+    let value = this.data[type] || "";
+    console.log(value, options[type].regExp.test(value));
+    if (!options[type].regExp.test(value)) {
+      this.setData({
+        [type + "Error"]: options[type].error,
+      });
+      return false;
+    } else {
+      this.setData({
+        [type + "Error"]: "",
+      });
+      return true;
+    }
+  },
+
+  /**
+   * 妫�鏌�
+   */
+
+  async onClickNextStep() {
+    let arr = [];
+    let doccode = this.data.doccode||'';
+    let type = this.data.type;
+    let startTime = this.data.startTime;
+    let endTime = this.data.endTime;
+    let anchorName = this.data.anchorName;
+    let roomTitle = this.data.roomTitle;
+    let anchorWechat = this.data.anchorWechat;
+    let subAnchorWechat = this.data.subAnchorWechat||'';
+    let screenType = this.data.screenType;
+    let isFeedsPublic = this.data.isFeedsPublic;
+    let isShowBannerPhotoOnHomePage = this.data.isShowInHomepage;
+    arr.push(this.checkTime("start", "璇烽�夋嫨璁″垝鐩存挱寮�濮嬫椂闂�"));
+    arr.push(this.checkTime("end", "璇烽�夋嫨璁″垝鐩存挱缁撴潫鏃堕棿"));
+    arr.push(this.checkInput("anchorName"));
+    arr.push(this.checkInput("roomTitle"));
+    arr.push(this.checkInput("anchorWechat"));
+    if (subAnchorWechat.length>0) {
+      arr.push(this.checkInput("subAnchorWechat"));
+    }
+
+    // console.log("鐩存挱绫诲瀷", type);
+    // console.log("寮�鎾椂闂�", startTime);
+    // console.log("涓嬫挱鏃堕棿", endTime);
+    // console.log("涓绘挱鏄电О", anchorName);
+    // console.log("鎴块棿鏍囬", roomTitle);
+    // console.log("涓绘挱寰俊", anchorWechat);
+    // console.log("灞忓箷绫诲瀷", screenType);
+    // console.log("瀹樻柟鏀跺綍", isFeedsPublic);
+    if (arr.includes(false)) {
+      console.log("涓嶈兘涓嬩竴姝�");
+      return;
+    }
+    let data = {
+      type,
+      startTime,
+      endTime,
+      anchorName,
+      name: roomTitle,
+      anchorWechat,
+      subAnchorWechat,
+      screenType,
+      isFeedsPublic,
+      doccode,
+      isShowBannerPhotoOnHomePage
+    };
+    console.log("绗竴姝ヨ〃鍗曟暟鎹�", data);
+
+    let [err, res] = await utils.to(
+      wx.$http.request({
+        url: "/shopping/live/saveRoomStep1.do",
+        data,
+      })
+    );
+    if (err) {
+      return;
+    }
+    console.log("鏂板缓鎴块棿--绗竴姝�", res);
+    this.setData({
+      currentStep: 1,
+      doccode: res.doccode,
+      logoUrl:app.globalData.logoUrl,
+      shopName:app.globalData.shopName
+    });
+  },
+
+  /**
+   * 绗簩姝�--涓婁紶鍥剧墖
+   */
+  uploadImg(imgType) {
+    wx.chooseImage({
+      count: 1, // 榛樿9
+      sizeType: ["original", "compressed"], // 鍙互鎸囧畾鏄師鍥捐繕鏄帇缂╁浘锛岄粯璁や簩鑰呴兘鏈�
+      sourceType: ["album", "camera"], // 鍙互鎸囧畾鏉ユ簮鏄浉鍐岃繕鏄浉鏈猴紝榛樿浜岃�呴兘鏈�
+      success: (res) => {
+        // console.log(res.data)
+        // this.setData({
+        //   imageList: res.tempFilePaths,
+        //   tempFiles: res.tempFiles
+        // })
+        let imgList = res.tempFilePaths;
+        let files = res.tempFiles;
+        let fieldid = imgType;
+        let doccode = this.data.doccode;
+        console.log(imgList, files, fieldid, doccode);
+        // this.setData({
+        //   [imgType]: imgList[0],
+        // });
+        // return;
+        wx.uploadFile({
+          url: utils.getUrl(
+            "/shopping/live/saveRoomAttachment.do?doccode=" +
+              doccode +
+              "&fieldid=" +
+              fieldid
+          ),
+          // url: app.globalData.reqBase + '/shopping/confirm.do?m=uploadAttachment&doccode='+ doccode +'&rowid='+rowid,
+          formData: {
+            file: files[0],
+          },
+          filePath: imgList[0],
+          name: "data",
+          success: (res) => {
+            console.log(res);
+            // return;
+            if (!utils.requestError(res)) {
+              return false;
+            }
+            // console.log(data);
+            this.setData({
+              [imgType]: res.data.url,
+              [imgType + "Error"]: "",
+            });
+          },
+          fail: function (errmsg) {
+            console.log("uploadImage fail, errMsg is", errmsg);
+            utils.requestFail(
+              errmsg,
+              "/shopping/live/saveRoomAttachment.do?doccode="
+            );
+          },
+        });
+      },
+    });
+  },
+  uploadShareImg() {
+    this.uploadImg("shareImg");
+  },
+  uploadFeedsImg() {
+    this.uploadImg("feedsImg");
+  },
+  uploadCoverImg() {
+    this.uploadImg("coverImg");
+  },
+  uploadBannerPhoto() {
+    this.uploadImg("bannerPhoto");
+  },
+
+  onClickLastStep() {
+    this.setData({
+      currentStep: 0,
+    });
+  },
+
+  onChangeLike({ detail }) {
+    this.setData({ isLike: detail });
+  },
+  onChangeComment({ detail }) {
+    this.setData({ isComment: detail });
+  },
+  onChangeGoods({ detail }) {
+    this.setData({ isGoods: detail });
+  },
+  onChangeShare({ detail }) {
+    this.setData({ isShare: detail });
+  },
+  onChangeReplay({ detail }) {
+    this.setData({ isReplay: detail });
+  },
+
+  showErrorMsg(imgType,errMsg){
+    wx.showToast({
+      title: errMsg,
+      icon: "none",
+      duration: 2000,
+    });
+    this.setData({
+      [imgType + "Error"]: errMsg,
+    });
+  },
+  isImgUpload(){
+    if (!this.data.shareImg) {
+      let errMsg = "璇蜂笂浼犲垎浜崱鐗囧皝闈㈠浘鐗�";
+      this.showErrorMsg('shareImg',errMsg)
+      return false;
+    }
+    if (!this.data.feedsImg&&this.data.isFeedsPublic) {
+      let errMsg = "璇蜂笂浼犵洿鎾崱鐗囧皝闈�";
+      this.showErrorMsg('feedsImg',errMsg)
+      return false;
+    }
+    if (!this.data.bannerPhoto&&this.data.isShowInHomepage) {
+      let errMsg = "璇蜂笂浼犵洿鎾棿棣栭〉鍏ュ彛灏侀潰";
+      this.showErrorMsg('bannerPhoto',errMsg)
+      return false;
+    }
+    if (!this.data.coverImg) {
+      let errMsg = "璇蜂笂浼犵洿鎾棿鑳屾櫙澧�";
+      this.showErrorMsg('coverImg',errMsg)
+      return false;
+    }
+    return true;
+  },
+
+  async onClickSubmit() {
+    let data = {
+      doccode: this.data.doccode,
+      closeLike: !this.data.isLike,
+      closeGoods: !this.data.isGoods,
+      closeComment: !this.data.isComment,
+      closeReplay: !this.data.isReplay,
+      closeShare: !this.data.isShare,
+      closeKf: true,
+    };
+    console.log("绗簩姝ヨ缃暟鎹�", data);
+    if (!this.isImgUpload()) {
+      return;
+    }
+    
+    // /shopping/live/saveRoomStep2.do?doccode=XXX&closeLike=false&closeGoods=false&closeComment=false&closeReplay=false&closeShare=false&closeKf=false
+    let [err, res] = await utils.to(
+      wx.$http.request({
+        url: "/shopping/live/saveRoomStep2.do",
+        data,
+      })
+    );
+    if (err) {
+      return;
+    }
+    console.log("鏂板缓鎴块棿--绗簩姝�", res);
+    if (res.QrCodeUrlUnid) {
+      wx.showLoading();
+      await this.downloadQr(res.QrCodeUrlUnid);
+      wx.hideLoading();
+      this.setData({
+        showQrCode: true,
+        qrCodeUrl:res.QrCodeUrlUnid
+      });
+    } else {
+      wx.showToast({
+        title: '鐩存挱闂村垱寤烘垚鍔�',
+        icon: "none",
+        duration: 2000,
+      });
+      setTimeout(()=>{
+        wx.redirectTo({
+          url: "../myLiveRoom/myLiveRoom",
+        });
+      },2000)
+
+      // 'https://res.wx.qq.com/op_res/BbVNeczA1XudfjVqCVoKgfuWe7e3aUhokktRVOqf_F0IqS6kYR--atCpVNUUC3zr'
+    }
+  },
+
+  async isAuthorizeSave() {
+    let [err, res] = await utils.to(wx.pro.getSetting());
+    if (err) {
+      return false;
+    }
+    console.log("getSetting", res);
+    return res.authSetting["scope.writePhotosAlbum"] !== false;
+  },
+
+  async downloadQr(qrCodeUrl) {
+    let [err, res] = await utils.to(
+      wx.pro.downloadFile({
+        // url: this.data.qrCodeUrl
+        url: qrCodeUrl,
+      })
+    );
+    if (err) {
+      console.log("downloadQr", err);
+      return;
+    }
+    console.log("----downloadQr",res);
+    if (res.statusCode === 200) {
+      // imgDownloadSum++;
+      console.log('......澶村儚',res.tempFilePath)
+      this.setData({
+        qrCodeTempUrl: res.tempFilePath
+      })
+    }else{
+      wx.showToast({
+        title: '浜岀淮鐮佷笅杞藉け璐ワ紝璇烽噸璇�',
+        icon: "none",
+        duration: 3000,
+      });
+    }
+  },
+
+  async saveQrImg() {
+    wx.showLoading({
+      title: "淇濆瓨涓�...",
+    });
+    let isAuthorizeSave = await this.isAuthorizeSave();
+    if (!isAuthorizeSave) {
+      wx.hideLoading();
+      wx.showModal({
+        title: "鎻愮ず",
+        content: "鎮ㄨ繕鏈巿鏉冧繚瀛樺埌鐩稿唽锛岃鍦ㄦ帴涓嬫潵鎵撳紑鐨勮缃〉闈㈠紑鍚浉鍐屾巿鏉冿紒",
+        success(res) {
+          if (res.confirm) {
+            console.log("鐢ㄦ埛鐐瑰嚮纭畾");
+            wx.openSetting({
+              success(res) {
+                console.log(res.authSetting);
+              },
+            });
+          } else if (res.cancel) {
+            console.log("鐢ㄦ埛鐐瑰嚮鍙栨秷");
+          }
+        },
+      });
+      return;
+    }
+    wx.saveImageToPhotosAlbum({
+      filePath: this.data.qrCodeTempUrl,
+      success: (res) => {
+        wx.showToast({
+          title: "浜岀淮鐮佸凡淇濆瓨鍒版湰鍦帮紝璧剁揣鍒嗕韩缁欎富鎾璇佸惂锛�",
+          icon: "none",
+          duration: 3000,
+        });
+      },
+      complete: () => {
+        wx.hideLoading();
+      },
+    });
+  },
+  getTimeMS(time){
+    return new Date(time.replace('-','/')).getTime();
+  },
+  async getRoomData(doccode){
+    let [err,res] = await utils.to(
+      wx.$http.request({
+        url:'/shopping/live/getLiveRoomListForMe.do',
+        data:{
+          doccode
+        }
+      })
+    )
+    if (err) {
+      console.log(err);
+      return;
+    }
+    
+    let roomData = res.list[0];
+    console.log('缂栬緫鐩存挱闂淬�傘�傘��',roomData.Type.toString(),roomData.Type);
+    
+    this.setData({
+      anchorName: roomData.AnchorName,
+      anchorWechat: roomData.AnchorWechat,
+      subAnchorWechat: roomData.SubAnchorWechat,
+      roomTitle: roomData.RoomName,
+      screenType: roomData.ScreenType,
+      isFeedsPublic: roomData.isFeedsPublic,
+      isShowInHomepage:roomData.isShowBannerPhotoOnHomePage,
+      type:roomData.Type.toString()||'0',
+      startDate:this.getTimeMS(roomData.StartTime),
+      endDate:this.getTimeMS(roomData.EndTime),
+      startTime:roomData.StartTime,
+      endTime:roomData.EndTime,
+      doccode:roomData.DocCode,
+      shareImg:roomData.ShareImgUnid||'',
+      coverImg:roomData.CoverImgUnid||'',
+      feedsImg:roomData.FeedsImgUnid||'',
+      bannerPhoto:roomData.BannerPhoto||'',
+      isLike: !roomData.isCloseLike,
+      isComment: !roomData.isCloseComment,
+      isGoods: !roomData.isCloseGoods,
+      isShare: !roomData.isCloseShare,
+      isReplay: !roomData.isCloseReplay,
+    })
+  },
+  /**
+   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
+   */
+  onLoad: function (options) {
+    wx.$http.request({
+      url:'/shopping/account.do?m=accountInfo',
+    }).then((res)=>{
+      console.log('鑾峰彇鐢ㄦ埛淇℃伅',res);
+      this.setData({
+        HeadImgUrl:res.UserInfo.HeadImgUrl
+      })
+    })
+    let doccode = options.doccode || '';
+    if (doccode) {
+      this.getRoomData(doccode);
+    }
+    this.setData({
+      isShowBannerOnHomePage:app.globalData.isShowBannerPhotoOnHomePageForLiveUser
+    })
+  },
+
+  /**
+   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
+   */
+  onReady: function () {},
+
+  /**
+   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず
+   */
+  onShow: function () {},
+
+  /**
+   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰闅愯棌
+   */
+  onHide: function () {},
+
+  /**
+   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍗歌浇
+   */
+  onUnload: function () {},
+
+  /**
+   * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔
+   */
+  onPullDownRefresh: function () {},
+
+  /**
+   * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
+   */
+  onReachBottom: function () {},
+
+  /**
+   * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
+   */
+  // onShareAppMessage: function () {
+
+  // }
+});
diff --git a/pages/liveRoomCreate/liveRoomCreate.json b/pages/liveRoomCreate/liveRoomCreate.json
new file mode 100644
index 0000000..eabdc21
--- /dev/null
+++ b/pages/liveRoomCreate/liveRoomCreate.json
@@ -0,0 +1,23 @@
+{
+  "navigationBarTitleText": "鍒涘缓鐩存挱闂�",
+  "usingComponents": {
+    "van-popup": "/src/vant-weapp/popup/index",
+    "van-grid": "/src/vant-weapp/grid/index",
+    "van-grid-item": "/src/vant-weapp/grid-item/index",
+    "van-radio": "/src/vant-weapp/radio/index",
+    "van-radio-group": "/src/vant-weapp/radio-group/index",
+    "van-cell": "/src/vant-weapp/cell/index",
+    "van-cell-group": "/src/vant-weapp/cell-group/index",
+    "van-button": "/src/vant-weapp/button/index",
+    "van-steps": "/src/vant-weapp/steps/index",
+    "van-icon": "/src/vant-weapp/icon/index",
+    "van-field": "/src/vant-weapp/field/index",
+    "van-datetime-picker": "/src/vant-weapp/datetime-picker/index",
+    "van-dropdown-menu": "/src/vant-weapp/dropdown-menu/index",
+    "van-dropdown-item": "/src/vant-weapp/dropdown-item/index",
+    "van-switch": "/src/vant-weapp/switch/index",
+    "van-row": "/src/vant-weapp/row/index",
+    "van-col": "/src/vant-weapp/col/index",
+    "van-notice-bar": "/src/vant-weapp/notice-bar/index"
+  }
+}
diff --git a/pages/liveRoomCreate/liveRoomCreate.ts b/pages/liveRoomCreate/liveRoomCreate.ts
new file mode 100644
index 0000000..6ede1f5
--- /dev/null
+++ b/pages/liveRoomCreate/liveRoomCreate.ts
@@ -0,0 +1,707 @@
+// pages/liveRoomCreate/liveRoomCreate.js
+const utils = require("../../utils/util.js");
+const app = getApp<IAppOption>();
+
+Page({
+  /**
+   * 椤甸潰鐨勫垵濮嬫暟鎹�
+   */
+  data: {
+    currentStep: 0,
+    type: "0",
+    steps: [
+      {
+        text: "鈶� 鍩烘湰淇℃伅",
+        inactiveIcon: "location-o",
+        activeIcon: "success",
+      },
+      {
+        text: "鈶� 鐩存挱闂撮厤缃�",
+        inactiveIcon: "like-o",
+        activeIcon: "plus",
+      },
+    ],
+    timeErrorMsg: {
+      start: "璇烽�夋嫨璁″垝鐩存挱寮�濮嬫椂闂�",
+      end: "璇烽�夋嫨璁″垝鐩存挱缁撴潫鏃堕棿",
+      tips: "寮�鎾椂闂村拰缁撴潫鏃堕棿闂撮殧涓嶅緱鐭簬30鍒嗛挓",
+    },
+    screenTypeOptions: [
+      { text: "绔栧睆", value: 0 },
+      { text: "妯睆", value: 1 },
+    ],
+    screenType: 0,
+    isFeedsPublic: false,
+    isShowInHomepage: false,
+    isLike: true,
+    isComment: true,
+    isGoods: true,
+    isShare: true,
+    isReplay: true,
+    isKf: false,
+    showQrCode: false,
+    qrCodeUrl:"", //https://res.wx.qq.com/op_res/BbVNeczA1XudfjVqCVoKgfuWe7e3aUhokktRVOqf_F0IqS6kYR--atCpVNUUC3zr
+    minStartDate: new Date().getTime() + 1000 * 60 * 20,
+    maxStartDate: new Date().getTime() + 1000 * 60 * 60 * 24 * 180,
+    startDate: 0, //new Date().getTime(),
+    minEndDate: new Date().getTime() + 1000 * 60 * 40,
+    maxEndDate: new Date().getTime() + 1000 * 60 * 60 * 24 * 180,
+    endDate: 0, //new Date().getTime(),
+    formatter(type:string, value:string) {
+      // console.log(type,value)
+      if (type === "year") {
+        return `${value}骞碻;
+      } else if (type === "month") {
+        return `${value}鏈坄;
+      } else if (type === "day") {
+        return `${value}鏃;
+      }
+      return value;
+    },
+  },
+
+  // 鍒囨崲鐩存挱绫诲瀷
+  onChangeType(event:any) {
+
+    this.setData({
+      type: event.detail,
+    });
+  },
+  onClickType(event:any) {
+    // console.log('ddd',event);
+    const { name } = event.currentTarget.dataset;
+    this.setData({
+      type: name,
+    });
+  },
+
+  /**
+   * 閫夋嫨鏃堕棿
+   */
+  onInputStartDate() {},
+  onEnterStartDate(e:any) {
+    let startTime = utils.formatTime(e.detail);
+    if (
+      this.data.endDate &&
+      Math.abs(e.detail - this.data.endDate) > 1000 * 60 * 60 * 24
+    ) {
+      let date = e.detail + 1000 * 60 * 60 * 24;
+      let time = utils.formatTime(date);
+      this.setData({
+        endDate: date,
+        endTime: time,
+      });
+    }
+    if (
+      this.data.endDate &&
+      Math.abs(e.detail - this.data.endDate) < 1000 * 60 * 30
+    ) {
+      let date = e.detail + 1000 * 60 * 30;
+      let time = utils.formatTime(date);
+      this.setData({
+        endDate: date,
+        endTime: time,
+      });
+    }
+    // if (this.data.endDate && e.detail > this.data.endDate) {
+    // }
+    console.log("閫夋嫨寮�鎾椂闂�", startTime);
+    this.setData({
+      startDate: e.detail,
+      startTime: startTime,
+      maxEndDate: e.detail + 1000 * 60 * 60 * 24,
+      minEndDate: e.detail + 1000 * 60 * 30,
+    });
+    this.handleLiveTime();
+    this.onCancelStartDate();
+  },
+  onCancelStartDate() {
+    // console.log(e);
+    this.selectComponent("#start-time").toggle();
+    this.checkTime("start", "璇烽�夋嫨璁″垝鐩存挱寮�濮嬫椂闂�");
+  },
+
+  onInputEndDate() {},
+  // onTitleTap(){
+  //   if (!this.data.startTime){
+  //     wx.showToast({
+  //       title: '璇峰厛閫夋嫨寮�鎾椂闂�',
+  //       duration: 2000
+  //     })
+  //
+  //   }
+  // },
+
+  onEnterEndDate(e) {
+    let endTime = utils.formatTime(e.detail);
+    console.log("閫夋嫨涓嬫挱鏃堕棿", endTime);
+    this.setData({
+      endDate: e.detail,
+      endTime: endTime,
+      // maxStartDate: e.detail - 1000 * 60 * 30,
+      // minStartDate: e.detail + 1000 * 60 * 20,
+      // e.detail - 1000 * 60 * 30 + (new Date().getTime() - e.detail)
+    });
+    // this.handleLiveTime();
+    this.onCancelEndDate();
+  },
+  onCancelEndDate() {
+    // console.log(e);
+    this.selectComponent("#end-time").toggle();
+    this.checkTime("end", "璇烽�夋嫨璁″垝鐩存挱缁撴潫鏃堕棿");
+  },
+
+  handleLiveTime() {
+    console.log("iii");
+
+    let startDate = this.data.startDate;
+    let startTime = this.data.startTime;
+    let endDate = this.data.endDate;
+    let endTime = this.data.endTime;
+    if (!startTime || !endTime) return;
+    if (startDate - endDate > 0) {
+      this.setData({
+        startDate: endDate,
+        startTime: endTime,
+        endDate: startDate,
+        endTime: startTime,
+      });
+    }
+  },
+
+  checkTime(time, msg) {
+    if (this.data[time + "Time"] == null) {
+      this.setData({
+        [time + "TimeError"]: msg,
+      });
+      return false;
+    }
+    this.setData({
+      [time + "TimeError"]: "",
+    });
+    return true;
+    // this.handleLiveTime()
+  },
+
+  onChangeFeeds({ detail }) {
+    // 闇�瑕佹墜鍔ㄥ checked 鐘舵�佽繘琛屾洿鏂�
+    this.setData({ isFeedsPublic: detail });
+  },
+  onChangeShowHomepage({ detail }) {
+    // 闇�瑕佹墜鍔ㄥ checked 鐘舵�佽繘琛屾洿鏂�
+    this.setData({ isShowInHomepage: detail });
+  },
+  /**
+   *
+   */
+  checkAnchorName(event) {
+    let value = event.detail.value;
+    console.log(value);
+    this.setData({
+      anchorName: value,
+    });
+    this.checkInput("anchorName");
+  },
+  checkRoomTitle(event) {
+    let value = event.detail.value;
+    this.setData({
+      roomTitle: value,
+    });
+    this.checkInput("roomTitle");
+  },
+  checkAnchorWechat(event) {
+    let value = event.detail.value;
+    this.setData({
+      anchorWechat: value,
+    });
+    this.checkInput("anchorWechat");
+  },
+  checkSubAnchorWechat(event) {
+    let value = event.detail.value;
+    this.setData({
+      subAnchorWechat: value,
+    });
+    if (value.length>0) {
+      this.checkInput("subAnchorWechat");
+    } else{
+      this.setData({
+        subAnchorWechatError: ""
+      });
+    }
+  },
+
+  checkInput(type) {
+    let options = {
+      anchorName: {
+        error: "涓绘挱鏄电О蹇呴』涓�2-15涓瓧",
+        regExp: /^.{2,15}$/,
+      },
+      roomTitle: {
+        error: "鐩存挱鏍囬蹇呴』涓�3-17涓瓧",
+        regExp: /^.{3,17}$/,
+      },
+      anchorWechat: {
+        error: "寰俊鍙蜂笉鍚堣",
+        regExp: /^[a-zA-Z][a-zA-Z\d_-]{5,19}$/,
+      },
+      subAnchorWechat: {
+        error: "寰俊鍙蜂笉鍚堣",
+        regExp: /^[a-zA-Z][a-zA-Z\d_-]{5,19}$/,
+      },
+    };
+    // let msg = {
+    //   anchorName: '璇疯緭鍏ヤ富鎾樀绉�',
+    //   anchorName2: '涓绘挱鏄电О蹇呴』涓�2-15涓瓧',
+    //   roomTitle: '璇疯緭鍏ョ洿鎾爣棰�',
+    //   roomTitle2: '鐩存挱鏍囬蹇呴』涓�3-17涓瓧',
+    // }
+    // // /^[a-zA-Z][a-zA-Z\d_-]{5,19}$/
+    // let length = {
+    //   anchorName:2,
+    //   roomTitle: 3,
+    //   anchorWechat
+    // }
+    let value = this.data[type] || "";
+    console.log(value, options[type].regExp.test(value));
+    if (!options[type].regExp.test(value)) {
+      this.setData({
+        [type + "Error"]: options[type].error,
+      });
+      return false;
+    } else {
+      this.setData({
+        [type + "Error"]: "",
+      });
+      return true;
+    }
+  },
+
+  /**
+   * 妫�鏌�
+   */
+
+  async onClickNextStep() {
+    let arr = [];
+    let doccode = this.data.doccode||'';
+    let type = this.data.type;
+    let startTime = this.data.startTime;
+    let endTime = this.data.endTime;
+    let anchorName = this.data.anchorName;
+    let roomTitle = this.data.roomTitle;
+    let anchorWechat = this.data.anchorWechat;
+    let subAnchorWechat = this.data.subAnchorWechat||'';
+    let screenType = this.data.screenType;
+    let isFeedsPublic = this.data.isFeedsPublic;
+    let isShowBannerPhotoOnHomePage = this.data.isShowInHomepage;
+    arr.push(this.checkTime("start", "璇烽�夋嫨璁″垝鐩存挱寮�濮嬫椂闂�"));
+    arr.push(this.checkTime("end", "璇烽�夋嫨璁″垝鐩存挱缁撴潫鏃堕棿"));
+    arr.push(this.checkInput("anchorName"));
+    arr.push(this.checkInput("roomTitle"));
+    arr.push(this.checkInput("anchorWechat"));
+    if (subAnchorWechat.length>0) {
+      arr.push(this.checkInput("subAnchorWechat"));
+    }
+
+    // console.log("鐩存挱绫诲瀷", type);
+    // console.log("寮�鎾椂闂�", startTime);
+    // console.log("涓嬫挱鏃堕棿", endTime);
+    // console.log("涓绘挱鏄电О", anchorName);
+    // console.log("鎴块棿鏍囬", roomTitle);
+    // console.log("涓绘挱寰俊", anchorWechat);
+    // console.log("灞忓箷绫诲瀷", screenType);
+    // console.log("瀹樻柟鏀跺綍", isFeedsPublic);
+    if (arr.includes(false)) {
+      console.log("涓嶈兘涓嬩竴姝�");
+      return;
+    }
+    let data = {
+      type,
+      startTime,
+      endTime,
+      anchorName,
+      name: roomTitle,
+      anchorWechat,
+      subAnchorWechat,
+      screenType,
+      isFeedsPublic,
+      doccode,
+      isShowBannerPhotoOnHomePage
+    };
+    console.log("绗竴姝ヨ〃鍗曟暟鎹�", data);
+
+    let [err, res] = await utils.to(
+      wx.$http.request({
+        url: "/shopping/live/saveRoomStep1.do",
+        data,
+      })
+    );
+    if (err) {
+      return;
+    }
+    console.log("鏂板缓鎴块棿--绗竴姝�", res);
+    this.setData({
+      currentStep: 1,
+      doccode: res.doccode,
+      logoUrl:app.globalData.logoUrl,
+      shopName:app.globalData.shopName
+    });
+  },
+
+  /**
+   * 绗簩姝�--涓婁紶鍥剧墖
+   */
+  uploadImg(imgType) {
+    wx.chooseImage({
+      count: 1, // 榛樿9
+      sizeType: ["original", "compressed"], // 鍙互鎸囧畾鏄師鍥捐繕鏄帇缂╁浘锛岄粯璁や簩鑰呴兘鏈�
+      sourceType: ["album", "camera"], // 鍙互鎸囧畾鏉ユ簮鏄浉鍐岃繕鏄浉鏈猴紝榛樿浜岃�呴兘鏈�
+      success: (res) => {
+        // console.log(res.data)
+        // this.setData({
+        //   imageList: res.tempFilePaths,
+        //   tempFiles: res.tempFiles
+        // })
+        let imgList = res.tempFilePaths;
+        let files = res.tempFiles;
+        let fieldid = imgType;
+        let doccode = this.data.doccode;
+        console.log(imgList, files, fieldid, doccode);
+        // this.setData({
+        //   [imgType]: imgList[0],
+        // });
+        // return;
+        wx.uploadFile({
+          url: utils.getUrl(
+            "/shopping/live/saveRoomAttachment.do?doccode=" +
+              doccode +
+              "&fieldid=" +
+              fieldid
+          ),
+          // url: app.globalData.reqBase + '/shopping/confirm.do?m=uploadAttachment&doccode='+ doccode +'&rowid='+rowid,
+          formData: {
+            file: files[0],
+          },
+          filePath: imgList[0],
+          name: "data",
+          success: (res) => {
+            console.log(res);
+            // return;
+            if (!utils.requestError(res)) {
+              return false;
+            }
+            // console.log(data);
+            this.setData({
+              [imgType]: res.data.url,
+              [imgType + "Error"]: "",
+            });
+          },
+          fail: function (errmsg) {
+            console.log("uploadImage fail, errMsg is", errmsg);
+            utils.requestFail(
+              errmsg,
+              "/shopping/live/saveRoomAttachment.do?doccode="
+            );
+          },
+        });
+      },
+    });
+  },
+  uploadShareImg() {
+    this.uploadImg("shareImg");
+  },
+  uploadFeedsImg() {
+    this.uploadImg("feedsImg");
+  },
+  uploadCoverImg() {
+    this.uploadImg("coverImg");
+  },
+  uploadBannerPhoto() {
+    this.uploadImg("bannerPhoto");
+  },
+
+  onClickLastStep() {
+    this.setData({
+      currentStep: 0,
+    });
+  },
+
+  onChangeLike({ detail }) {
+    this.setData({ isLike: detail });
+  },
+  onChangeComment({ detail }) {
+    this.setData({ isComment: detail });
+  },
+  onChangeGoods({ detail }) {
+    this.setData({ isGoods: detail });
+  },
+  onChangeShare({ detail }) {
+    this.setData({ isShare: detail });
+  },
+  onChangeReplay({ detail }) {
+    this.setData({ isReplay: detail });
+  },
+
+  showErrorMsg(imgType,errMsg){
+    wx.showToast({
+      title: errMsg,
+      icon: "none",
+      duration: 2000,
+    });
+    this.setData({
+      [imgType + "Error"]: errMsg,
+    });
+  },
+  isImgUpload(){
+    if (!this.data.shareImg) {
+      let errMsg = "璇蜂笂浼犲垎浜崱鐗囧皝闈㈠浘鐗�";
+      this.showErrorMsg('shareImg',errMsg)
+      return false;
+    }
+    if (!this.data.feedsImg&&this.data.isFeedsPublic) {
+      let errMsg = "璇蜂笂浼犵洿鎾崱鐗囧皝闈�";
+      this.showErrorMsg('feedsImg',errMsg)
+      return false;
+    }
+    if (!this.data.bannerPhoto&&this.data.isShowInHomepage) {
+      let errMsg = "璇蜂笂浼犵洿鎾棿棣栭〉鍏ュ彛灏侀潰";
+      this.showErrorMsg('bannerPhoto',errMsg)
+      return false;
+    }
+    if (!this.data.coverImg) {
+      let errMsg = "璇蜂笂浼犵洿鎾棿鑳屾櫙澧�";
+      this.showErrorMsg('coverImg',errMsg)
+      return false;
+    }
+    return true;
+  },
+
+  async onClickSubmit() {
+    let data = {
+      doccode: this.data.doccode,
+      closeLike: !this.data.isLike,
+      closeGoods: !this.data.isGoods,
+      closeComment: !this.data.isComment,
+      closeReplay: !this.data.isReplay,
+      closeShare: !this.data.isShare,
+      closeKf: true,
+    };
+    console.log("绗簩姝ヨ缃暟鎹�", data);
+    if (!this.isImgUpload()) {
+      return;
+    }
+
+    // /shopping/live/saveRoomStep2.do?doccode=XXX&closeLike=false&closeGoods=false&closeComment=false&closeReplay=false&closeShare=false&closeKf=false
+    let [err, res] = await utils.to(
+      wx.$http.request({
+        url: "/shopping/live/saveRoomStep2.do",
+        data,
+      })
+    );
+    if (err) {
+      return;
+    }
+    console.log("鏂板缓鎴块棿--绗簩姝�", res);
+    if (res.QrCodeUrlUnid) {
+      wx.showLoading();
+      await this.downloadQr(res.QrCodeUrlUnid);
+      wx.hideLoading();
+      this.setData({
+        showQrCode: true,
+        qrCodeUrl:res.QrCodeUrlUnid
+      });
+    } else {
+      wx.showToast({
+        title: '鐩存挱闂村垱寤烘垚鍔�',
+        icon: "none",
+        duration: 2000,
+      });
+      setTimeout(()=>{
+        wx.redirectTo({
+          url: "../myLiveRoom/myLiveRoom",
+        });
+      },2000)
+
+      // 'https://res.wx.qq.com/op_res/BbVNeczA1XudfjVqCVoKgfuWe7e3aUhokktRVOqf_F0IqS6kYR--atCpVNUUC3zr'
+    }
+  },
+
+  async isAuthorizeSave() {
+    let [err, res] = await utils.to(wx.pro.getSetting());
+    if (err) {
+      return false;
+    }
+    console.log("getSetting", res);
+    return res.authSetting["scope.writePhotosAlbum"] !== false;
+  },
+
+  async downloadQr(qrCodeUrl) {
+    let [err, res] = await utils.to(
+      wx.pro.downloadFile({
+        // url: this.data.qrCodeUrl
+        url: qrCodeUrl,
+      })
+    );
+    if (err) {
+      console.log("downloadQr", err);
+      return;
+    }
+    console.log("----downloadQr",res);
+    if (res.statusCode === 200) {
+      // imgDownloadSum++;
+      console.log('......澶村儚',res.tempFilePath)
+      this.setData({
+        qrCodeTempUrl: res.tempFilePath
+      })
+    }else{
+      wx.showToast({
+        title: '浜岀淮鐮佷笅杞藉け璐ワ紝璇烽噸璇�',
+        icon: "none",
+        duration: 3000,
+      });
+    }
+  },
+
+  async saveQrImg() {
+    wx.showLoading({
+      title: "淇濆瓨涓�...",
+    });
+    let isAuthorizeSave = await this.isAuthorizeSave();
+    if (!isAuthorizeSave) {
+      wx.hideLoading();
+      wx.showModal({
+        title: "鎻愮ず",
+        content: "鎮ㄨ繕鏈巿鏉冧繚瀛樺埌鐩稿唽锛岃鍦ㄦ帴涓嬫潵鎵撳紑鐨勮缃〉闈㈠紑鍚浉鍐屾巿鏉冿紒",
+        success(res) {
+          if (res.confirm) {
+            console.log("鐢ㄦ埛鐐瑰嚮纭畾");
+            wx.openSetting({
+              success(res) {
+                console.log(res.authSetting);
+              },
+            });
+          } else if (res.cancel) {
+            console.log("鐢ㄦ埛鐐瑰嚮鍙栨秷");
+          }
+        },
+      });
+      return;
+    }
+    wx.saveImageToPhotosAlbum({
+      filePath: this.data.qrCodeTempUrl,
+      success: (res) => {
+        wx.showToast({
+          title: "浜岀淮鐮佸凡淇濆瓨鍒版湰鍦帮紝璧剁揣鍒嗕韩缁欎富鎾璇佸惂锛�",
+          icon: "none",
+          duration: 3000,
+        });
+      },
+      complete: () => {
+        wx.hideLoading();
+      },
+    });
+  },
+  getTimeMS(time){
+    return new Date(time.replace('-','/')).getTime();
+  },
+  async getRoomData(doccode){
+    let [err,res] = await utils.to(
+      wx.$http.request({
+        url:'/shopping/live/getLiveRoomListForMe.do',
+        data:{
+          doccode
+        }
+      })
+    )
+    if (err) {
+      console.log(err);
+      return;
+    }
+
+    let roomData = res.list[0];
+    console.log('缂栬緫鐩存挱闂淬�傘�傘��',roomData.Type.toString(),roomData.Type);
+
+    this.setData({
+      anchorName: roomData.AnchorName,
+      anchorWechat: roomData.AnchorWechat,
+      subAnchorWechat: roomData.SubAnchorWechat,
+      roomTitle: roomData.RoomName,
+      screenType: roomData.ScreenType,
+      isFeedsPublic: roomData.isFeedsPublic,
+      isShowInHomepage:roomData.isShowBannerPhotoOnHomePage,
+      type:roomData.Type.toString()||'0',
+      startDate:this.getTimeMS(roomData.StartTime),
+      endDate:this.getTimeMS(roomData.EndTime),
+      startTime:roomData.StartTime,
+      endTime:roomData.EndTime,
+      doccode:roomData.DocCode,
+      shareImg:roomData.ShareImgUnid||'',
+      coverImg:roomData.CoverImgUnid||'',
+      feedsImg:roomData.FeedsImgUnid||'',
+      bannerPhoto:roomData.BannerPhoto||'',
+      isLike: !roomData.isCloseLike,
+      isComment: !roomData.isCloseComment,
+      isGoods: !roomData.isCloseGoods,
+      isShare: !roomData.isCloseShare,
+      isReplay: !roomData.isCloseReplay,
+    })
+  },
+  /**
+   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
+   */
+  onLoad: function (options) {
+    wx.$http.request({
+      url:'/shopping/account.do?m=accountInfo',
+    }).then((res)=>{
+      console.log('鑾峰彇鐢ㄦ埛淇℃伅',res);
+      this.setData({
+        HeadImgUrl:res.UserInfo.HeadImgUrl
+      })
+    })
+    let doccode = options.doccode || '';
+    if (doccode) {
+      this.getRoomData(doccode);
+    }
+    this.setData({
+      isShowBannerOnHomePage:app.globalData.isShowBannerPhotoOnHomePageForLiveUser
+    })
+  },
+
+  /**
+   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
+   */
+  onReady: function () {},
+
+  /**
+   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず
+   */
+  onShow: function () {},
+
+  /**
+   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰闅愯棌
+   */
+  onHide: function () {},
+
+  /**
+   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍗歌浇
+   */
+  onUnload: function () {},
+
+  /**
+   * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔
+   */
+  onPullDownRefresh: function () {},
+
+  /**
+   * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
+   */
+  onReachBottom: function () {},
+
+  /**
+   * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
+   */
+  // onShareAppMessage: function () {
+
+  // }
+});
+
+export {}
diff --git a/pages/liveRoomCreate/liveRoomCreate.wxml b/pages/liveRoomCreate/liveRoomCreate.wxml
new file mode 100644
index 0000000..cf2a5df
--- /dev/null
+++ b/pages/liveRoomCreate/liveRoomCreate.wxml
@@ -0,0 +1,380 @@
+<!--pages/liveRoomCreate/liveRoomCreate.wxml-->
+<view class="container">
+
+
+<view class="header-steps">
+  <!-- <van-steps steps="{{ steps }}" active="{{ currentStep }}" active-color="#38f" /> -->
+  <view class="flex_row">
+    <view class="ui-step {{currentStep==0?'active':''}}">鈶� 鍩烘湰淇℃伅</view>
+    <view class="{{currentStep==1?'active':''}}">鈶� 鐩存挱闂撮厤缃�</view>
+  </view>
+</view>
+
+<view hidden="{{currentStep==1}}">
+  <view class="filed-block">
+    <view class="filed-title before-border">
+      鐩存挱绫诲瀷
+    </view>
+    <van-radio-group value="{{ type }}" bind:change="onChangeType">
+      <van-cell-group>
+        <van-cell center title="鎵嬫満鐩存挱" label="閫氳繃鈥滃皬绋嬪簭鐩存挱鈥濆皬绋嬪簭寮�鎾�" clickable data-name="0" bind:click="onClickType">
+          <van-radio slot="right-icon" name="0" />
+        </van-cell>
+        <van-cell center title="鎺ㄦ祦璁惧鐩存挱" label="閫氳繃绗笁鏂规帹娴佽澶囧彂璧风洿鎾紝璇疯嚜琛屽畾涔夌敾闈㈠楂樻瘮" clickable data-name="1" bind:click="onClickType">
+          <van-radio slot="right-icon" name="1" />
+        </van-cell>
+      </van-cell-group>
+    </van-radio-group>
+  </view>
+  <van-cell-group>
+
+
+  <!-- <van-field
+      value="{{ username }}"
+      label="寮�鎾捣濮嬫椂闂�"
+      placeholder="璇疯緭鍏ョ敤鎴峰悕"
+      readonly
+      clickable
+    /> -->
+
+    <!-- <van-cell title="寮�鎾椂闂�" is-link  arrow-direction="down" > -->
+      <!-- <view>
+        <view class="van-cell-text">寮�鎾捣濮嬫椂闂�</view>
+        <van-tag type="danger">鏍囩</van-tag>
+      </view> -->
+    <van-cell class="field" title="寮�鎾椂闂�" >
+      <van-dropdown-menu>
+        <van-dropdown-item id="start-time" title="{{startTime||'閫夋嫨璁″垝鐩存挱寮�濮嬫椂闂�'}}">
+          <van-datetime-picker
+          type="datetime"
+          value="{{ startDate }}"
+          min-date="{{ minStartDate }}"
+          max-date="{{ maxStartDate }}"
+          formatter="{{ formatter }}"
+          bind:input="onInputStartDate"
+          bind:confirm="onEnterStartDate"
+          bind:cancel="onCancelStartDate"
+        />
+        </van-dropdown-item>
+      </van-dropdown-menu>
+      <view class="error" wx:if="{{startTimeError}}">
+        {{startTimeError}}
+      </view>
+    </van-cell>
+
+    <van-cell class="field" title="涓嬫挱鏃堕棿" >
+    <van-dropdown-menu wx:if="{{startTime}}">
+      <van-dropdown-item id="end-time" title="{{endTime||'閫夋嫨璁″垝鐩存挱缁撴潫鏃堕棿'}}">
+        <van-datetime-picker
+        type="datetime"
+        value="{{ endDate }}"
+        min-date="{{ minEndDate }}"
+        max-date="{{ maxEndDate }}"
+        formatter="{{ formatter }}"
+        bind:input="onInputEndDate"
+        bind:confirm="onEnterEndDate"
+        bind:cancel="onCancelEndDate"
+      />
+      </van-dropdown-item>
+
+    </van-dropdown-menu>
+    <view class="error" wx:if="{{endTimeError}}">
+      {{endTimeError}}
+    </view>
+  </van-cell>
+
+  <van-field
+    value="{{ roomTitle }}"
+    label="鐩存挱闂存爣棰�"
+    placeholder="璇峰~鍐欐湰娆$洿鎾殑鏍囬"
+    error-message="{{roomTitleError}}"
+    border="{{ true }}"
+    maxlength="{{17}}"
+    bind:blur="checkRoomTitle"
+    show-word-limit
+  >
+  <!-- <view slot="right-icon">0/12</view> -->
+  </van-field>
+
+    <van-field
+      value="{{ anchorName }}"
+      label="涓绘挱鏄电О"
+      placeholder="璇峰~鍐欐湰娆$洿鎾殑涓绘挱鏄电О"
+      error-message="{{anchorNameError}}"
+      border="{{ false }}"
+      maxlength="{{15}}"
+      bind:blur="checkAnchorName"
+      show-word-limit
+    />
+    <van-field
+      value="{{ anchorWechat }}"
+      label="涓绘挱寰俊鍙�"
+      placeholder="璇峰~鍐欐湰娆$洿鎾殑涓绘挱寰俊鍙�"
+      border="{{ false }}"
+      error-message="{{anchorWechatError}}"
+      bind:blur="checkAnchorWechat"
+    />
+
+    <van-field
+      value="{{ subAnchorWechat }}"
+      label="涓绘挱鍓彿"
+      placeholder="璇峰~鍐欎富鎾井淇″壇鍙凤紙閫夐锛�"
+      border="{{ false }}"
+      error-message="{{subAnchorWechatError}}"
+      bind:blur="checkSubAnchorWechat"
+    />
+
+    <van-cell class="field" title="灞忓箷绫诲瀷">
+      <van-dropdown-menu >
+        <van-dropdown-item value="{{ screenType }}" options="{{ screenTypeOptions }}" />
+
+      </van-dropdown-menu>
+      <view class="tips">
+        閫夋嫨鐩存挱鏃跺睆骞曠被鍨�
+      </view>
+    </van-cell>
+
+    <van-cell class="field" title="瀹樻柟鏀跺綍" >
+
+      <van-switch checked="{{ isFeedsPublic }}" size="24px" bind:change="onChangeFeeds" />
+      <view class="tips">寮�鍚悗鏈満鐩存挱灏嗘湁鍙兘琚畼鏂规帹鑽�</view>
+    </van-cell>
+
+    <van-cell wx:if="{{isShowBannerOnHomePage}}" class="field" title="鏄剧ず鍦ㄩ椤�" >
+      <van-switch checked="{{ isShowInHomepage }}" size="24px" bind:change="onChangeShowHomepage" />
+      <view class="tips">寮�鍚悗鏈満鐩存挱鍏ュ彛鍙互鐩存帴鍦ㄩ椤垫樉绀�</view>
+    </van-cell>
+
+
+  </van-cell-group>
+
+  <view class="btn">
+    <van-button class="nexst-btn" bind:tap="onClickNextStep" type="primary" block size="normal">涓嬩竴姝�</van-button>
+  </view>
+
+</view>
+
+<view hidden="{{currentStep==0}}">
+  <view class="btn">
+    <van-button block plain bind:tap="onClickLastStep" type="info"  size="normal">涓婁竴姝�</van-button>
+  </view>
+  <view>
+    <view class="filed-title before-border title">
+      鍒嗕韩鍗$墖鏍峰紡閰嶇疆
+    </view>
+    <view class="flex-row share-msg">
+      <image class="avatar" src="{{HeadImgUrl}}"></image>
+      <view class="card-msg">
+        <view class="row">
+          <view class="flex-row name">
+            <image class="company-img" src="{{logoUrl}}"></image>
+            {{shopName}}
+          </view>
+          <view>濂藉弸閭�璇蜂綘鍙備笌鐩存挱</view>
+          <view class="preview-img default-img" style="background-image: url({{shareImg}});"></view>
+<!--          <image wx:else class="preview-img share-img"></image>-->
+
+        </view>
+        <view>
+          <text class="iconfont icon-xiaochengxu1 "></text>灏忕▼搴�
+        </view>
+      </view>
+    </view>
+    <view class="error upload-img-err" wx:if="{{shareImgError}}">
+        {{shareImgError}}
+      </view>
+    <view class="desc ">
+      <view class="title">鍒嗕韩鍗$墖灏侀潰</view>
+      <view class="upload-box">
+        <view class="upload-tips">
+          <view>瑙備紬鍦ㄥ井淇″璇濇鍐呭垎浜殑鐩存挱闂村皢浠ュ垎浜崱鐗囩殑褰㈠紡鍛堢幇銆�</view>
+          <view>寤鸿灏哄锛�800鍍忕礌 * 640鍍忕礌锛屽浘鐗囧ぇ灏忎笉寰楄秴杩�1M銆�</view>
+        </view>
+      </view>
+
+      <view class="btn">
+        <van-button block bind:tap="uploadShareImg" type="info"  size="normal">涓婁紶鍥剧墖</van-button>
+      </view>
+    </view>
+  </view>
+
+  <view wx:if="{{isFeedsPublic}}">
+    <view class="filed-title before-border title">
+      璐墿鐩存挱棰戦亾鏍峰紡
+    </view>
+    <view class="flex-row feeds-msg">
+      <view class="preview-img default-img" style="background-image: url({{feedsImg}})">
+        <view class="mode-filter">999 瑙傜湅</view>
+      </view>
+<!--      <image wx:else class="preview-img share-img"></image>-->
+      <view class="card-msg">
+        <view class="row">
+          <view class="flex-row name">
+            <image class="company-img" src="{{logoUrl}}"></image>
+            {{shopName}}
+          </view>
+          <view class="margin">{{anchorName}}</view>
+
+          <view class="goods">
+            <view class="goods-empty">鍟嗗搧灞曠ず</view>
+            <view class="goods-empty">鍟嗗搧灞曠ず</view>
+          </view>
+
+        </view>
+      </view>
+    </view>
+    <view class="error upload-img-err" wx:if="{{feedsImgError}}">
+      {{feedsImgError}}
+    </view>
+    <view class="desc ">
+      <view class="title">鐩存挱鍗$墖灏侀潰</view>
+      <view class="upload-box">
+        <view class="upload-tips">
+          <view>瀹樻柟鎺ㄨ崘鐨勫皬绋嬪簭鐩存挱灏嗕細鍑虹幇鍦ㄨ喘鐗╃洿鎾閬撳唴銆�</view>
+          <view>鍥剧墖寤鸿澶у皬涓� 800鍍忕礌 * 800鍍忕礌銆�</view>
+          <view>鍥剧墖澶у皬涓嶈秴杩� 100KB銆�</view>
+          <view>鍥剧墖鍐呭閬靛惊骞冲彴瑙勮寖鍚庢洿瀹规槗琚帹鑽愩��</view>
+        </view>
+      </view>
+      <view class="btn">
+        <van-button block bind:tap="uploadFeedsImg" type="info"  size="normal">涓婁紶鍥剧墖</van-button>
+      </view>
+    </view>
+  </view>
+
+  <view wx:if="{{isShowInHomepage}}">
+    <view class="filed-title before-border title">
+      鐩存挱闂村湪棣栭〉鐨勫叆鍙f牱寮忛厤缃�
+    </view>
+    <view class="flex-row banner">
+      <view class="preview-img default-img" style="background-image: url({{bannerPhoto}})"></view>
+    </view>
+    <view class="error upload-img-err" wx:if="{{bannerPhotoError}}">
+      {{bannerPhotoError}}
+    </view>
+    <view class="desc ">
+      <view class="title">褰撳墠鐩存挱闂村湪棣栭〉鐨勫叆鍙e皝闈�</view>
+      <view class="upload-box">
+        <view class="upload-tips">
+          <view>鍥剧墖寤鸿澶у皬涓� 800鍍忕礌 * 400鍍忕礌銆�</view>
+          <view>鍥剧墖澶у皬涓嶈秴杩� 1M銆�</view>
+        </view>
+      </view>
+      <view class="btn">
+        <van-button block bind:tap="uploadBannerPhoto" type="info"  size="normal">涓婁紶鍥剧墖</van-button>
+      </view>
+    </view>
+  </view>
+
+  <view>
+    <view class="filed-title before-border title">
+      鐩存挱闂存牱寮忛厤缃�
+    </view>
+
+      <view class="card-msg live-view">
+        <view style="position:relative;">
+          <view  class="live-cover-img" style="{{coverImg?'background-image: url('+coverImg+')':''}}"></view>
+          <image  class="live-view-img bg-img" src="../../imgs/clientBg.png" ></image>
+
+        </view>
+        <view class="preview-view">
+          <view class="flex-row preview-header flex_row">
+            <view class="flex-row name">
+              <image class="company-img" src="{{logoUrl}}"></image>
+              <view class="flex-row-column">
+                <view class="text bold">{{shopName}}</view>
+                <view class="text">瑙傜湅娆℃暟</view>
+              </view>
+            </view>
+            <view class="margin" wx:if="{{isShare}}">
+              <text class="iconfont icon-fenxiang1"></text>
+            </view>
+          </view>
+
+          <view class="menus flex-row-column">
+            <text wx:if="{{isLike}}" class="menu iconfont icon-xihuan"></text>
+            <text wx:if="{{isComment}}" class="menu iconfont icon-liaotian"></text>
+            <text wx:if="{{isGoods}}" class="menu iconfont icon-shangpin3"></text>
+          </view>
+
+        </view>
+
+      </view>
+      <view class="error upload-img-err" wx:if="{{coverImgError}}">
+        {{coverImgError}}
+      </view>
+    <view class="desc ">
+      <view class="title">鐩存挱闂磋儗鏅</view>
+      <view class="upload-box">
+        <view class="upload-tips">
+          <view>鐩存挱闂磋儗鏅鏄瘡涓洿鎾棿鐨勯粯璁よ儗鏅�</view>
+          <view>寤鸿灏哄锛�1080鍍忕礌 * 1920鍍忕礌</view>
+          <view>鍥剧墖澶у皬涓嶅緱瓒呰繃2M</view>
+        </view>
+      </view>
+      <view class="btn">
+        <van-button block bind:tap="uploadCoverImg" type="info"  size="normal">涓婁紶鍥剧墖</van-button>
+      </view>
+    </view>
+
+    <view class="title desc">鐩存挱闂村姛鑳�</view>
+    <van-cell class="field" title="鐐硅禐" >
+      <van-switch checked="{{ isLike }}" size="22px" bind:change="onChangeLike" />
+    </van-cell>
+    <van-cell class="field" title="璇勮" >
+      <van-switch checked="{{ isComment }}" size="22px" bind:change="onChangeComment" />
+    </van-cell>
+    <van-cell class="field" title="鍟嗗搧璐ф灦" >
+      <van-switch checked="{{ isGoods }}" size="22px" bind:change="onChangeGoods" />
+    </van-cell>
+    <van-cell class="field" title="鍒嗕韩" >
+      <van-switch checked="{{ isShare }}" size="22px" bind:change="onChangeShare" />
+    </van-cell>
+    <van-cell class="field" title="鍥炴斁" >
+      <van-switch checked="{{ isReplay }}" size="22px" bind:change="onChangeReplay" />
+    </van-cell>
+<!--    <van-cell class="field" title="瀹㈡湇" >-->
+<!--      <van-switch checked="{{ isFeedsPublic }}" size="22px" bind:change="onChangeFeeds" />-->
+<!--    </van-cell>-->
+  </view>
+
+  <view class="btn">
+    <van-row gutter="10">
+      <van-col span="6">
+        <van-button block plain bind:tap="onClickLastStep" type="info"  size="normal">涓婁竴姝�</van-button>
+      </van-col>
+      <van-col span="18">
+        <van-button block  bind:tap="onClickSubmit" type="primary"  size="normal">鍒涘缓</van-button>
+      </van-col>
+    </van-row>
+
+  </view>
+
+
+</view>
+
+  <van-dialog
+      use-slot
+      title="涓绘挱瀹炲悕璁よ瘉浜岀淮鐮�"
+      show="{{ showQrCode }}"
+      confirmButtonText="鍏抽棴"
+      bind:close="onClose"
+  >
+    <view class="dialog-qr">
+      <image src="{{qrCodeUrl}}" mode="widthFix" class="qr-img" />
+      <view class="desc">褰撳墠涓绘挱鏈疄鍚嶈璇侊紝璇峰皢璇ヤ簩缁寸爜鎴睆鎴栦繚瀛樺埌鏈湴锛屽垎浜粰涓绘挱璁よ瘉鍚庯紝鍐嶆潵鍒涘缓鐩存挱闂淬��</view>
+      <!-- <van-notice-bar
+        color="#1989fa"
+        background="#ecf9ff"
+        wrapable
+        text="鍦ㄤ富鎾畬鎴愯璇佸墠锛屽缓璁笉瑕佺寮�鏈〉闈€��"
+      /> -->
+      <view class="tips">鍦ㄤ富鎾畬鎴愯璇佸墠锛屽缓璁笉瑕佺寮�鏈〉闈€��</view>
+      <!-- <view class="tips">濡備笉灏忓績閫�鍑猴紝鍙互鍦�"鎴戠殑鐩存挱闂�"瀵规湭鍒涘缓鎴愬姛鐨勭洿鎾棿杩涜缂栬緫銆�</view> -->
+      
+      <view class="btn">
+        <van-button block  bind:tap="saveQrImg" type="primary"  size="normal">淇濆瓨浜岀淮鐮�</van-button>
+      </view>
+    </view>
+  </van-dialog>
+</view>
diff --git a/pages/liveRoomCreate/liveRoomCreate.wxss b/pages/liveRoomCreate/liveRoomCreate.wxss
new file mode 100644
index 0000000..8e6b8dd
--- /dev/null
+++ b/pages/liveRoomCreate/liveRoomCreate.wxss
@@ -0,0 +1,380 @@
+/* pages/liveRoomCreate/liveRoomCreate.wxss */
+view,
+text {
+  font-size: 28rpx;
+}
+
+.header-steps {
+  width: 430rpx;
+  margin: auto;
+  padding: 15rpx;
+}
+
+.filed-block {
+  margin-bottom: 20rpx;
+}
+
+.filed-title {
+  /* margin-left: 10rpx; */
+  padding-left: 20rpx;
+  padding-top: 10rpx;
+  padding-bottom: 10rpx;
+  background-color: #fff;
+  position: relative;
+}
+
+.before-border::before {
+  top: 16rpx;
+  width: 8rpx;
+  height: 28rpx;
+  background-color: #1989fa;
+}
+
+/* van-steps van-icon .van-icon{
+  background-color: #f23;
+} */
+van-steps van-icon .van-icon {
+  font-size: 32rpx !important;
+}
+
+van-steps .van-steps {
+  background-color: transparent;
+}
+
+van-cell-group van-field van-cell .van-field__word-limit {
+  position: absolute;
+  right: 10rpx;
+  top: 15rpx;
+}
+
+van-cell-group .field .van-cell__title {
+  max-width: 90px;
+  min-width: 90px;
+}
+
+van-cell .van-cell {
+  padding: 15rpx 15rpx;
+}
+
+van-dropdown-menu .van-dropdown-menu {
+  height: 50rpx;
+}
+
+van-dropdown-menu .van-dropdown-menu__title {
+  padding-left: 0;
+}
+
+van-switch .van-switch__node {
+  font-size: inherit;
+}
+
+van-dropdown-menu .van-dropdown-menu__item {
+  /* justify-content: left; */
+  justify-content: flex-end;
+  padding-right: 20rpx;
+}
+
+van-cell-group .field .van-cell__value {
+  text-align: right;
+}
+
+.error {
+  font-size: 24rpx;
+  color: #ee0a24;
+}
+
+.tips {
+  font-size: 24rpx;
+}
+
+
+.btn {
+  margin: 30rpx 20rpx;
+}
+
+van-steps .van-steps--horizontal {
+  padding-bottom: 0;
+}
+
+.active {
+  color: #1989fa;
+}
+
+.ui-step::after {
+  content: "";
+  display: inline-block;
+  vertical-align: middle;
+  width: 30px;
+  margin: 8px 10px;
+  border-bottom: 2px solid #e3e4e5;
+}
+
+/*
+* 涓婁紶鍥剧墖
+*/
+.flex-row {
+  display: flex;
+}
+
+.share-msg {
+  align-items: flex-start;
+  padding: 20rpx;
+}
+
+/*.share-img {*/
+/*  width: 400rpx;*/
+/*  height: 320rpx;*/
+/*}*/
+
+.avatar {
+  width: 80rpx;
+  height: 80rpx;
+}
+
+.company-img {
+  width: 50rpx;
+  height: 50rpx;
+  margin-right: 20rpx;
+}
+
+.preview-img {
+  width: 500rpx;
+  height: 400rpx;
+  margin: 20rpx 0;
+  background-position: top center;
+  background-size: cover;
+  background-repeat: no-repeat;
+}
+
+.default-img {
+  background-color: #5b5c7d;
+}
+
+.card-msg {
+  padding: 10rpx 20rpx;
+  background-color: #fff;
+  border-radius: 10rpx;
+}
+
+.desc {
+  padding: 20rpx;
+}
+
+/* .dialog-qr .error{
+
+} */
+.icon-xiaochengxu1 {
+  color: #1989fa;
+}
+
+.name {
+  align-items: center;
+  color: #737373;
+}
+
+.upload-tips view {
+  color: #737373;
+}
+
+.title {
+  margin: 10rpx 0;
+  font-weight: bold;
+}
+
+/*
+*/
+.feeds-msg {
+  margin: 20rpx;
+}
+
+.feeds-msg .preview-img {
+  border-radius: 15rpx 0 0 15rpx;
+  height: 350rpx;
+  width: 350rpx;
+  margin: 0;
+}
+
+.feeds-msg .card-msg {
+  border-radius: 0 15rpx 15rpx 0;
+  background: #fff;
+  height: 350rpx;
+  width: 350rpx;
+  position: relative;
+  background-size: contain;
+  box-sizing: border-box;
+
+}
+
+.banner .preview-img {
+  border-radius: 15rpx;
+  height: 360rpx;
+  width: 720rpx;
+  margin: 0 15rpx;
+  background-position: center;
+  background-size: cover;
+}
+
+.margin {
+  margin: 20rpx 0;
+}
+
+.goods {
+  display: flex;
+  position: absolute;
+  text-align: center;
+  font-size: 28rpx;
+  bottom: 30rpx;
+  left: 45rpx;
+}
+
+.goods-empty {
+  height: 128rpx;
+  width: 128rpx;
+  background: #F7F7F7;
+  line-height: 128rpx;
+  color: rgba(0, 0, 0, 0.3);
+  margin-right: 12rpx;
+}
+
+.mode-filter {
+  color: #fff;
+  font-size: 24rpx;
+  margin: 18rpx 0 0 20rpx;
+  position: relative;
+  height: 40rpx;
+  line-height: 40rpx;
+  border-radius: 20rpx;
+  display: inline-block;
+  padding-right: 20rpx;
+  background-color: rgba(0, 0, 0, 0.3);
+  /*backdrop-filter: blur(20px);*/
+}
+
+.mode-filter::before {
+  position: relative;
+  top: -2rpx;
+  left: -2rpx;
+  content: ' ';
+  display: inline-block;
+  height: 36rpx;
+  width: 36rpx;
+  background: url('data:image/gif;base64,R0lGODlhPAA8APf/ALWp+3Ro9YRw+Hln9oho+6uh+oB784Fx98O6/Pv6/4Js+Ilp/MzF/Ipp/J2B/H1383Rq9YRr+ruw+5p8/H5485F0/Gxn82xo88G1/HJn9Jh6/IZq+4Bq+NHM/I5y+3Rn9b+0/IZs+nBo9Hly9IB49IZo/IR19/Ty/nhv9IFu94lv+opw+nZq9W5o9IJo+dnT/ZR2/HVo9uXh/n929Hpq9n509Yxw+9XQ/Hpy9Ipu+41t/Hds9Zd5/KKU+pp//JyM+nxs9ntq93Vu83pw9Xdn9uzq/nZx84hq/It5+aWZ+nBn9I90+3hw9Kmd+oBo+pJ2+5V5+5x9/Xx09Hdv9IRu+YJ09oNq+nhs9ZKC+Xx29IJ79G1o8411+o1z+4ht+n5q+Hxx9ZZ7/IF29N3Y/XZp9Xxo935s935w9m1n84Rt+nps9oN39nhq9nhy9K6e+4Rs+eLe/YJ49YB79IJ29n5y9Xpz84pr/Itv+3Vs9Gtn8ujk/oyB93xu9oJq+ZB1+4B19Ytp/Z2T+XJt83Bq88e9/Hlu9Zd++39u9np09Hxx9n9y9oB09qCN+oF784Zv+Yts/PDu/pV9+3hs9oZt+X5x9YFq+Yt+95iI+ZV3/Ilr+3hr9Y99+YZ59/j3/5eN+JB5+oh2+aeW+39s+IRq+ZCF93509oBo+X1o+LKj/Hpo93do9n5o+IFo+X9o+Xto93Zo9oRo+nlo93xo+INo+nho9nNo9Xho94Jo+oZo+39o+INp+odo+3Jo9YJp+oVp+4Vo+4Vo+odp+4Zp+35o+XZn9YRp+nNp9IFp+ZV4/H9p+YRp+3Nq9HFo9IBp+Xdq9Xlp9o9z+4Ry+JJ1/H9p+Hpp935p+X1q94Np+4No+3lo9oJ09Xdp93tw9XFq9H5p+Hhp9ntp94Bp+H5q93pp9nNp9Xdp9Y9v/Yto/n9p+m9n849x+4Jp+3tp9nxo+Xxp+X1o+XVr9HVp9nZp93xt9n1v9n5v9YZo+m9p85R6+5d4/nFp9H1p+HNo9Id89v///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzE0MDQwMjE4ODYyMTFFQTgzQ0JBQjM1RDY4MDQ4OTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzE0MDQwMjI4ODYyMTFFQTgzQ0JBQjM1RDY4MDQ4OTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3MTQwNDAxRjg4NjIxMUVBODNDQkFCMzVENjgwNDg5OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3MTQwNDAyMDg4NjIxMUVBODNDQkFCMzVENjgwNDg5OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAUEAP8ALAAAAAA8ADwAAAj/AP8JHEiwoEGCwnztOlJi4YKHByNKnEjx3zVssGABE4YLV7Bdu4IRIBDGgcmKKFPq6uVi1ixlymD9EvYrWDBcuxbo8OHDpAMfDVIKLXiMFctbt2bpGhVhQ4gNG45kOrIBnyGePc0B2jo0pamvpljdOhbBS4inG5hChZojkqGrPngQaLAVkLmuE4e1+nqsEhVHb9IwtWJF5kaOfvCFMTTBxx07c+liioL3ILpVrXIdS0PlzZtRffq0LAbLl2EvT/BBUYxpAYEFdhqYm0C78kB3p06t4kBFABUFfSpVEutCl8tZpX958PPkCZQwj0a6biBNA+0JlPG+y31qmgABCoBz/+AQtpdY47NIh1jCvLmfYK5fP9JAn3aU7ELLyCpThkM08ApUwkEuphwTFnHFIbdCF134wVwOIeVEQAXIIEOfddgJBY4rHKYQzQHhjZdLK3t9xQorCc4SwQoLdrGEBx6FRMAjmFTIw43X4UdRKq4M4KEAKSgw3imtYEZggWG50JIXKrDIYAjAdPQRNNI8gQwmPGjAwwTWoQROKqlYYwKQoojDQW6rrJJMiSaypMskKjS5ggq+zMRRJn5UiYmVyNxoXT4UDRDLAGIecIAo1nyxX27DpJlZgSey0kcak8CpQgQZ/RKlB9AsIY00mMBQo4U86HCORLHQEgs1JnyYAqKKlv/BnaNsFtgHU2944UVGpQlzhAdLUFlBc09gUiMMdUVkCxG0HFDFAYeYEYQ1HMoiC6NprkLgkcf0cmsIxbyUETAqeGCuBxV4+qmxOtAFyEHbqKJKECYYCoS0A1S7qG5qjnhkWH0Q1lJ6sGywgg02cAoNNBVIA8MTFUTGVUGvyKuICZScIW0QYPLoyrWzprlmiZHeogt6TN6BMKecVtDwIw0c0cDMBZHxATFAzPHsIUAEEUvHHvPHaKMkttKMibcoORqTKqicsLkMqyPdXIAENZA8MbxSxbP0AEHDOLFk0zGHH1uLpqMEFmWUC0hFEIKuOTR9MNSQuSYzXQQFEEM5a1T/QccZXtMQy6A/51vtrNVg9ijSRrn9dg45rHDHwTbcIeECmYxk9T/xfBBDInMsUg8fQDyjii2CDg7mxx/LiibRfJXXRwSjTPI23AjbkIlHri0g81wCBRDAB2LMUcMZ86hBw+m02KLq2NW6fgrRR7JSni5WMHVWDl7EnUOMEma+gNUf1BJAHHNkfAUb36hCxOmoY/GCDAwI0Pop16ICBxyojGjiMZ+4gR5ugI+zhIB7G/hFR3KykNcQQCC1qEUh4vAHRXBDE2xgQ8XkZYt5QMIfIOwA667VAxCCsAdG+0ozZGBCGUSgLG8Dhi+EwRGPZEIkC/gHM3iRAW5QkBIXdEY5/4ihCiLSogkmBCESojeGJI4hMwRiRBL9wYimhGAUhtnIR6DSO154sQZr+AMdhqAGZzjjFWh0HyGmmASPuSIBSUxAZkgkgSlKoBhMQY4vgPELBQYjKtJhRgZ4IYY41AAMQ5AEGZwRgw+ksQNTLACP8jVFfxAJMwiYIgZ6gR7SmGaPuNhAJmSkjwxkgAQUHKMmFtnIVxDxBpEcWyX5lYw1JhEDbEsQr+okjKiE5AgZYAYztECCP4ABBTtgAQs858hXwDKJBRhAx2Y5vVXY0oQgOFEvkkaamMgkKh/ZhRKYoQRizgAM3NhBPFigtxhk7ZkmLMDgfkZN3VwThCAoClJ0mf8RX0QlRiJQgghQWQMpDOEKOyDD8Br5AXiCMJqqGkAlQTaMe/oDBJASS1LEVbANCMMewRCBCNJBAhLMwKCFSKj5PqA3SELTeWGbqOsymUSMlmebAyNNU/a4i3ukIx1ZMKkUcDAFeEAAAiwdnkWTQAtmxQKOJkzAx3JTxyRKgGQnMplxrAAVLYo0HUxoBAmGygSjIlV4H0BiEjlhC+fZookmHAOH+PODKf4ghWFJmpJmwVVM1eQfLRCBEBpxUimgoBDwMEYtMmC+QnwwhERkFi1KaMIekE0W+2AhCGUwjUep7Si3sMIVSSMQNKChG8R8gBRGwIQdHJWHLN3DDcbAgDP/pJF5qBjDGFCRCsN9DAkdGEMHkKC4f4lFUm7TRWkEIgI0tEAOYh0qCuBhVMbWgqWeayUR3Xe61P2MR7K43+swEzujVCINITAONgSyhRagoQ2prcMIigoBY/AwgsPLris36NbnrS563KGeiUxRiVG8IQIt8cVATItaA5wUBygoqjEgANvr6k2/kYVf6qQJYJCpaY6m4MB5qeAmgtxjC2h4gAFIkAX5TgEPy7CvdVfqzmZukHnf7e0IQ1Yko3GgD28gMSvWQZALWGALgjCAAR7Q4ikIAR7LgMAgTYnWRjaSiEYcgPOk+d/9SM9RIlaAI4bDimsUxAIWQEMWxJoFsuIB/w/GsC8vrmu+dmYtje+DaY4vazbdhJkKaTCRQfJg5EEYQA4UeEAdmGAEeMBYxotNanabKS8ioI5wk7xsbsYTHgGE4yuVOIiRt4AIJVOgxSMQwpvjPOcIXnfSrpSXvFSVYzfuh9MK8E2JInKBPByZAo1INKqLCuP6mpKxVW7mdrc8KKC5IlFfEEWuBTAN8kqE0FswdLDHiog2CEHCUW51Ut2ZNSyrgha0Vl2YEiWKFAggGt5IkxMo0msLCKIRBqDAWBeNgifDOc6MzcBCP0BpYiyLFgNQFTuCEARRtPvdZxpGMlBi5AsYAd/CRgRRjfBmPBwVAmRYqd7QSIwN0oIGNP9guBnMkIIDvDsFrktJvbdw8WA/QLUjYC0eHJ3Yo66TBYssRwZR/gwaPONeZjiEoaKRgqlWQygzTzLGVSvfEaCACYjdwQ40oUwyLFKI3wCC2IFwiDMs3QTW8NgputJrXw8C2PlmsRTqgAMIM2EKVyiEJnZwhb6r4Qpq4MM8zkCPAyjCWWhfXTsq0+tRl1rJJmXy3Os+hMqjAAWVHwI36HGGM9AB8fWihqB4ZBv25mEL2c6CARohVhYXVgqHpAMdwEAHSiji9ovQhgnmoAgaXJoapSeIr4+MBkE8oBFaEOsMTDqDGfxhBjX4g/SlP4c1rEEbauBg84JfkC2gOc2nrQNuBZLf+pLGIQ5iWEMc1L+GMzAy1pbm/kHQcAHUm7YF3RACE7KwfC1oAf01wA2F0Dk1hkbbIH8TUX/t5VxoMFLpEFA7NGUCt1AxQAYImBJb0Fwt8FMiNU5KMEhzxlLxcIG2IQL3IFKCpA87RA4IGBAAIfkEBQQA/wAsEAAXAAYADgAACCMA/5Eao6eDiXon/im8UUChw4cQI0qcSLEiRG4Pbwgk2KFKQAAh+QQFBAD/ACwQABcABwAOAAAIMwD//SjSaQySfwc6/Vs45h+qhRA3MYC4sAnFixgzatwIcSLFJgUuWkqkkOFCTwTHcPoXEAAh+QQFBAD/ACwQABYABwAQAAAIOgD//TuA5JDAfwD8+Ttx6V8/fweLgANwUGDDiv8K3MDIsaNHjxs/HqRYkdTDiKr+oVLI8GCifoUEBgQAIfkEBQQA/wAsEAAWAAcAEAAACDkA/5kpAKDHv4MvDvqT8M/TwYOdUmB4eDBQB4oYM2rcyJHjRYoFJlIM5PBhJz7/bigEcPAKwUAHAwIAIfkEBQQA/wAsEAAWAAcAEAAACDUA//U44U/Ppn9VOv1bCOcfgIUL/WFhAHFhk4oYM2rcyLGjRooVm6Cq6G/PIoUMFw4s2O9fQAAh+QQFBAD/ACwQABUAEQASAAAIXgD/kRqjp4OJfwgTKvx36IS/f/5uLJxY4CFCf0gWApAhA8A/QgubKEwyssPCAhMVSkzJsqXLlzBjypxJE+FKmSYVomwJcqTPhEkqJvTHSSNHj4UgPYwIc6CMDoteBgQAIfkEBQQA/wAsEAATABEAFgAACHAA//0zgSSFwIMIEQLw56/Tj4QQLTFkWGQfRIQS/B30d+niQQYJCyD0huDECQThboREKPKgG5Ue/8FBODOmzZs4c+rcybOnT5geawqEA1RgS6MsQbJE+KzkSXALN3aM2W+ivyJkbi5s6ClnqX7ccAYEACH5BAUEAP8ALBAAEQARABoAAAiHAP/9EyXAm8CDCBE2SeAPEpaEEEEx9OdPD8SEAPwJpPjwokAGCP018SjwRsICCZMhQRLun0mSKcZQHKOApEAJCHHatHiQJ0mNB4HaHEq0qNGjSJMGDTnU5z+nF3XefOlxnkx/Y8x0OJnwGSdO1P6BDDqSZMaN/vbYnDGxItGFDdUShZcoANGAACH5BAUEAP8ALBAAEAARABwAAAiAAP/9w8IIicCDCBEi8McwVMKHWBj+83eCw0OEEvwd9Pfj4kEGCQt4FHgj5MiTBzcBALAJ5b9NnQR2ankS5EeUJxDmdMmzp8+fQIMKHSpwZ1GUNgUm9Wgp5r9OlkqetLTS0j+pB0WOXPpPq8eMGz2d3CORojOUCxn24LnHUxyXAQEAIfkEBQQA/wAsEAAQABEAHAAACHEA/wmQQKjAtH8IEyr8B25MQhALIwZSmEBARIUIFva4mLADx48gQ0bkwCBBAgaVQqLyh9AfqpAyFMYEyTJhTZE4c+rcybOnz5//bgYNCUemypouQ9IoeTIIUJwZFU786IkiN5AQHCKEGHIIAAkF+IUMCAAh+QQFBAD/ACwQABAAHAAcAAAIjwD/yboUatOqfwgTKlzI8J8rQgmTNJzYEIvCExwoakQoYeGPjRoZgBxJEoAMGQBIUkzir6U/iSoZjlE4U+GmF/9eRAKZQGHPhMf0JNQTIqbRo0iTKl3KtKnTp1CVMtr4E2FVhEKxgqyJkCvCm3pebALJ0iVMpSZRRgXZUaEnpXsuOlNqDEFEpsZIBeqXYWlAACH5BAUEAP8ALBAAEAAcABwAAAjAAP/9K3PqlMCDCBMqROhKVkGDCyMqTNWk078iWCBK3AgqwUEZshI2+/Spz0aBABJiQUgFjj9/cKicZJCwCUIQL1+COHmyCEKfPCX6QzgUIRYZnfQ44FlUYNN/fYBeDCqxR0KrVLNq3cq1q9evYMOKHbsR60GzEZ8+/SK1CIeTalUilbGyw0Y9CPFupInQ5kEJOf1JOJkS4R6EfFzCnHfyj0eBMmIk/MaJ0zOeGZJYLLLnA1hevGp9qCWWVwbSYAMCACH5BAUEAP8ALBAAEQAcABoAAAjWAP8JHEhwoCNHBRMOdOWqTJlTBfvc8OfvRgSFBFMxdCVLVkEAFCkCwDgwFZYbYxgIgDhQjz+B/vSQFGgG0sAOHge+1DnzX5OCSAjuhJlwRaQuAgkVTNKTYKgE/hKE+tehKUZHnQZ2QmpV4U+CX7sWBDFWbEKlZtOqXcu2rduCaN9iJMuWKcEkVdcKyCqwk4C4Au1afRqVaViBnIQqLpgCiQCBV2wK7BBjMdGZGfagZJDoA0EZO/3J6JmhlukAngmCDDmyJ68MGQIEKEijA8UOQeTSo2c1IAAh+QQFBAD/ACwQABAAHAAcAAAIvwD/CRxIUGCaH4wcFVzIsOCKIv78FVnRsGJBBP4E+iNkseO/IgRBdhzgqqSsghkHpqwYK0iSAj9cebQYq8NAVDJn/ovgBoAbL/8uEeyUQuc/Qhk3/gNRMJDOTSv9RWJgtCAAq1ULYtCatavXr2DDih1LdmtBql5RFUTFlKDTmVBVbvI0dJ5RpP+UfrApENUro1+aAGjC4V8tCD0KeIoh9kOtDwEYE1yZN6xIgZe9YtSIIKwiiBIViVXjyZPdjgEBACH5BAUEAP8ALBAAEAAcABwAAAiuAP8JHEhQ4CUECC4VXMiwIJYEAhNgaUixYAeCFytqPEGQo8aPIAemSuVKVsiKoBAwkGDm5L8fkPxBYvRvnJ6BhFyFTANpICQVSQqaCNmjYChCBYOClFAQREaXApFCnUq1qtWrWLNSfAoVwUKvBJV+ZEpQgliBVYgW7MHiZtRXIUX1FAhJwb81KiVocnmpiL8iCv/VCvDhg9bDGzte5cp16h6I/xLswUpKggRSHwMCACH5BAUEAP8ALBAAEAAcABwAAAiwAP8JHEhQoKMePVYUXMiwYJciAot0aUixIAKChCpq/AdxYMeNIEOKLBjphZ4XhgSmQoIlmiuRVvT4++dPj5cBEgQmCCSS0UyB/hhZIgjJWsicBCUgHXgp5EWCGBiMnEq1qtWrWLNqFSmVYJOQGQsuFdgU5NOBIIYOhPTtqNgASHeK/PGTJqN/ATiRUvRBJDiZNPVMw2rJ5ItNW0V+5Ij17D/HVBd1LFIlK59AgehtDAgAIfkEBQQA/wAsEAAQABwAHAAACMIA/wkcSFCgKVOs+hRcyLBgq1YHWbFqSLFgpQ4COyisyBEAQY8FuRj6xFGgDIInCbpJ4C+Bm5IVV3TyR7OTH4GpUrmCOdCNv4H+XgYq0gnOJp7/QBTEUKXTQDg7YRJaiqrgHp5TOTZBuhAj169gw4odS7ag17JoF1YleFXqwkVOBcIhhrWg0qFF+yFVSpDvhxgxuDb5KdDfVrEHZtYUwDGlyYJNWCY4XBGkQMsDBSBhXPKb1w7jyL4arYqIqrIfSJcMCAAh+QQFBAD/ACwQABEAHAAaAAAIzgD/CRxIsKBBgSo+2ThosFWrZqZMsSrIqJO/TqEYElzVKpepYxMHTjrhr+QJLhoFrkI1ZgwqUwRDlfxX0k3Kfz0I5hwIwt9AfxhujiE4dCChgkFJjdHTwUTBTgShGjVY78TAGzdvFiiIJKvGowSTeB1LtqzZs2jTql07FuxAsWm3Euynlhukq2yVMq3yNCpBt2OLChT8D0FBEDcD6SQowadAfxJuqirQssCAsDNLZkz5SpVnW7QImiFpMsVNYqpQ07pMMJDFTorZBhFgTWBAACH5BAUEAP8ALBAAEAAcABwAAAizAP8JHEiwoEGBPkJdOsiwIQB/ECU0nDiQSwJ///wliERxohuMAv2h6tiqVS5TBTGkpLgKiRs3XFAOJNSxIJITAk986ojlhQwGAgoyIDh04jxIAzsURDqQacMmNaNKnUq1qtWrWLNq3cqVIFSCnLAWIqiUoNN/ZxnuuTGGwRmhRLNywvnvBBKCNKeqAlWgAKdYeAuC6EhElS1bghNfbQIyoxusJi5mTAAq60OIALZa+rFJYEAAIfkEBQQA/wAsEAAQABwAHAAACLEA/wkcSLCgwX8hADCQAO2gQ4cMBnZ4SHGgIX8D/V2qSBFAQY8cQ4octqqVKZGbfoAyeKoHAwY9TlYE4c9fgh4FfxDUSdESRoGQrBG8QfBFRQkFNw7sRJApxYgEC4g8SHSq1atYs2rdyrEq14FQB0rVipSgUoFO0Vb0ORDSt6FwZ9ZMECip2ZCWPM0xqCrQy0CxvtqiNfgrRQyGB4JUvHXTz3/+NnENG1YrEFQgUJn5FxAAIfkEBQQA/wAsEAAQABwAHAAACKcA/wkcSLCgwX+wHLj5YeOgQ4cABkp4SHEglwQDE0SqSNFNQVQcQ4ocObDHCX96NhnkgAVLJY5VOgn0B6egAD0C9TiqCHKgPywEMQStyKBgE4JFkFbsQLKp06dQo0qdSnUk06r/ihI8OjBpV54E/VkiCGIoxUUy/9EseAbnPz0HOAaChLKfQRotg2Dd67AsVq4DPUI1gVFgAlBSIwpUHDUWliRYXP0LCAAh+QQFBAD/ACwQABAAHAAcAAAIzQD/CRxIsKBBgRtW2DjIsOEsLyruLGxIUeAsRif+nQg1sSLDSRkFnuDisWGogm7+XRqjp4OJkgJBFARx6IS/f/5uGBy2qlUujwVuCvSHhKA3QidOEApXkVDBJgRRRa3YoWABgnCwVtTZMAFBrzDDih1LtqzZs2jFcmUIVmBbhlUJXh2YlW7TgknkTqUYdKC/fgSfIVUKrmIhSDdzGrQ1IFasgggOkhojo8OisBIKZjbbo+BJs2ZCakxxNtWPjCd+lEGbKpWr12n/uR4gMCAAIfkEBQQA/wAsEAASABwAGAAACMAA/wkcSLCgwX/FvKhQceegw4O3IoTw4iWHin9IGNxAkOKhwV74OsDpECkHkCL+UjLwWLCPjIEyvDTxN9AfKJYDGRVkRKhgEoKnAMiQASAXQQkFJXQoWIDgz4FPBSIweMPjGIJXcWrdyrWr169gw4odS7Zs1YdZBaZ1uJRgU6hOCU4t2DPuQFpCiaY6mjQJTYH+1mz9UfDHDpQqubqDMxCOt3/9NCIoxNUVkg5jOiA5JXaAK1mfT3EWm8rV5zL/AgIAIfkEBQQA/wAsEAATABwAFgAACKkA/5lAwADAl38IEypcyPAfOBn+IiJoSPFfhBAhvOT418NfwgTRKjJ80wNVKC//CC1MIlJhr4kICYXosLDAQlRw4KBa+GlhpBsieygUmnCnQqMtKWJIyrSp06dQo0qdSrWq1atQly4EWpEoQq//kCJERVOhzaNjxoj9h2QhEpgJwYp0BRfBqkAeESZQ1NQVuEAFeng7xQ9ORH9wmbqSVeaULISlMBQkUzUgACH5BAUEAP8ALBAAEgAcABgAAAi9AP+JAgAiyb+DCBMqXIhwjL+HEhhKZPjDH8JOAiZqPIggob8eGxNGGDUpxMEOCgsoVHDpkoKFKxAwQMDl3w2NAvQ81OMo4bEXCF+Y1IghYVGElxQm1VgkYVOEABRG1WgRYVWOIbNq3cq1q9evYMOCvfqPbEeuTw+m/TcV6kYQRhNiUXpz4gGd/vQcSCgL6MEXqxikVAikJZCFAjAwwJDx7EF/gba6klXm1Kl/nq524iP2xUN/EcXuQCXBoNiAACH5BAUEAP8ALBAAEQAcABoAAAixAP+B+xEKy7+DCBMqXIiQgb+HbhhKZHjJH8IToiZqPAgioT9GGzUyUFgg5MQbGr0xSJCAwTGFuj5d+hQiJCqL//yhUrjzYE+NcBIGRbiiE8IEXDbiPLj0X8SET00u7JiQqtSrWLNq3cq1q9evHLM2bdpEYVSJQw+m/RfN6MFO0TbeZPrzYEmf/1BO/LayJTWFskBhAXXq38iEd7dK8OipK6mlJ654dfiwrFdynnrs+RoQACH5BAUEAP8ALBAAEAAcABwAAAizAP/9SyGAg8CDCBMqRFgggb8TlxZKXIgkwUE93iZqFAgAob+IGycySOgm5MQbGwHIkNHR5MQk/mL6S6LQyqgIJscg1Inwkp5Oen6EtHiQqMA3kA5C8uJyYY+EoZoqlJCQqlSECK5q3cq1q1evWb8etDq261OEZyca/bdWVFKBkBRs5CmQrkCfQEFqhCmTZsIyp04JRKlRJcuQIxE26dpSoD9SXeMY1RPDa8OHkL/uAAPha0AAIfkEBQQA/wAsEAAQABwAHAAACKsA/wmQQKjAtH8IEypcyPAfuDH+/vkD0bBiw0ARESYQYLEjQgQLe3js2GFhgYVNbtxoMtIjI38w/TFqafGFQps0G3ZSuFNhpBd6XkQamRFh0X/H9CTUEyInw5kKoTqdSrWq1atYs2rdynWkVIRfGx49uk8pQj0HO/ZEuBbhJqAvNo3EiZBuVU8x/f2YelJhkg43kowEqTDQVbwJE3C7CgGiRIpYhwCQUIAf1oAAIfkEBQQA/wAsEAAQABwAHAAACKgA/8lKIYDDqn8IEypcyPCfqwIJ/p241LBiQyQREerxZrEjQgALKSpkxIABI4//GCx0o/BSAn/+EohEWfGGQps0K3ZSuDNnQ38KgSr8ZPMGPp8Nm8lIKCMC0qdQo0qdSrWq1atYs/r8sZDr1KUIwXYUipAsQiQdxnRAgrInQrdROyiUi7SJQlIvY5LyCPLuQk8lPaGMk/GfnhhTjUGUuJeqsR1gIGSgGhAAIfkEBQQA/wAsEAAQABwAHAAACL8A//0rc+qUwIMIEypECO5HKCwGF0pUmIrBQTcRD2KRIAHLxIOXEJ4QhXBTJ3/+OkX6+A9EQkYIGfgT6M/iR5sST4hkyXLmQZ8IIzFayZMlKpT+UBWduKLTwQRcli50k5Cq1IQuEWK4mpAQ169gw4odO9Yr2YNZ0YptUlVsNKcCO0UbexSl0p4IgR5EwgiJQJwLdR4UPFFCQk8xfdZkSUrkFYSWTqa0xDIDziYfEu7huKcoOU899tQ6yyvD6LEBAQAh+QQFBAD/ACwQABEAHAAaAAAIvAD/uZJ16tS/gwj/rQgVakXChwlFAQCRxGBCLpD8+YPEBeLDVGMQSpCVkJC/g/4IeUz4I2EnAQkhxVyJEMHDHglPItRJswPNnwd/FPFXhBFQoGlkHoSk4ijNHjz9hXK6UsJDEFQ9qszKtavXr2DDih071ibZg1YTpv0KdSdOsKKU/oOkgEHYS0OLXPpnFmGgnIB/enLJZyZCuSszvBAZo6TOlEd3oJKQJMBDExk3mjjKi1etDx4V9ehx4GhAACH5BAUEAP8ALBAAEAAcABwAAAi/AP8JHEhwoCMVBRMqTKjghT9/L94sJOjKVZkyCSX4E+hPwsSBJhAwAPCloB6CJz+CkzEQwSmCGwfGnNiDYIJoHwtGeqHnhaF/hAomyTnQip6N/vR46UB0IaOZ/mo2VeiRYNWpBREUxIC1q9evYMOKHUu27NigZv9pJQhC7FWBEpiC/QGV0dqBUomCO/ov6bRANhVh3cTzxaZ//OC0/ACzcc5SGEaSMYmSKK8MGQIkBBDTH4CxahxCVFP2zJmmAQEAIfkEBQQA/wAsEAAQABwAHAAACLwA/wkcSFDgJQQILhVcyLAglgQCE2BpSLFgB4IXK/5zxVGWrIInCIasmAoJgxsIUmgs+InBCwb4/gEpMpDBx5UCx/jbCedfk4KgcP774W+gP0aECiYRCqCghIxCCSIoiCHqwqRWs2rdyrWr169gw4rdihUj16kEQZQVuBRnU4IA2g5cI/RSUYH+Lu2gKZBBjKg6d475l6HfSQSFrJogdINQ0H+1Igf4AFKkV6j/MGvdA/Ffgj1fSUmQQGplQAAh+QQFBAD/ACwQABAAHAAcAAAIvAD/CRxIUKApRyr6FFzIsKCCFwJfvGlIsaAEghcratRDkCPBFRg6YFgicICrk7I0FrzhryXEWJfG6OlgQuXAS/4G+rt06MTAG65s/gNgsUBBJEIRFMRAqGAToU0LdhBKtarVq1izat3KtatXq1O/Rh2YBOpCowT7CcVQEEQhSD9fCSVKEEAtUmNkdFhEFUtOgf6w/PtQ60OAGFVZtryh0qNAxwJTSGAgIYVKugIxY1UD8d8LNVw/nDmjSmVAACH5BAUEAP8ALBAAEAAcABwAAAjMAP8JHEhwoClWBRMqTNhqRahQKxAunEiQCySBkLgUjIAKAyobFAUSIjiSIAN/KBmE/HdxYEuBkfwN9OfjX6pUrmS5WjkQQEEAsXqc+KdnE0+BGApiqNJpIJydPEsSRFUQy1GFKgk2uZqwA9evYMOKHUu2rNmrXs/+yzpwq1iqBC2NXdRUIJxXR6UO/BDoop5+V5MSBPGvVoAPH2JchTuQ8cKXLAlukinQn1GKevWuRemP7UQTLSGZKBikAIgC4la+UtSjxwFVZl/hXRkQACH5BAUEAP8ALBAAEQAcABoAAAi/AP8JHEhQYCtTplgVFMjIDaOFEFthkSABi0KCIPxpxACx4KZOAjtFIsglwcAEIzsKZECQ5UBUBWGq/HeCYM2BHAlyTLXpByhXMwsSWjgAhMAEPYIGtUQQkjWlKiUUvAS1o8uqWLNq3cq1q9evYK2GHSiVINWuTAdC+uY1gNF/CQKBDWDJ05wPWIdmvSmQ77+3AwGLHXj1X4GCh2daAvmvU1qBoEweBRWU2B6KewYUlKDRX9mgr16pIgLxUpKzAQEAIfkEBQQA/wAsEAAQABwAHAAACMkA/wkcSLCgQYE5Pi05yLBhqE7+OrlpSLBVM1OmCqo4MfDEE4r/VjFiwIARK4JJ/A30N5HipQQCE1wiCKIgBpA3COYcSIhhqlSuDHYiOBQklhcyGAgACXIepIEdgjJl2KQgkqkMe6LEerAD169gw4odS3aq17IEtQ5MQrYqQU5kCz0V2IFY2T03xjA4g/bfhxgxhBIte5ZuWrCkYP5LQIqghIKPKb7yRNITLZQqBfpjC1IVMVWXCabgKPBEirI9IHbq0deMAGsCAwIAIfkEBQQA/wAsGwAQABEAHAAACIAA/wkcSPBfCAAMJEAryPAfA3///HVoSNAQRIH+Lv1rlcvUsYIAQK5qcuNGE1MEMTBkRJAlRYEvCMZ8+a8TQZs0c+rcybOnz59AgwodSpQhToFHKc6EmdMTwR85VSXpcCPJgJQFQfxTxdUWyK8vN12MuCnnw4gMdAJBBQKVmX8BAQAh+QQFBAD/ACwbABAAEQAcAAAIgQD/CRxI8B+sHJ+W2CjI8F+oTv86uWlIUMWJgSeeUBSYpODEVq1ymSoIguEqADJkABi58V/HgS83jiE4s2UCgjdb6tzJs6fPn0CDCh3qM6dAoxRrClRKMaZLnapQqoy1k4gqW7YKStDa0unTjSkuCjyRQmcPiJ167IxlRoA1V/8CAgAh+QQFBAD/ACwbABAAEQAcAAAIgAD/CRxIUOCGFTYKKhQ4i5EbRgkXDpwFYiCGiBK5JBiYIJJEgagKhhy2qpWpghgUemOQIAGDYx9BEgwZEw5BmzFz6tzJs6fPn0CDCu2JU2BRiTRlxvzG0iU1nbZoRS1YsWeBglc/gtooMAGomKkkDJRQJmeqS0kuudqZytUAgQEBACH5BAUEAP8ALBsAEQARABoAAAh+AP8JHEhQoBcVdwoqFBgBFQZUNhYSvMVgIAMVEgVGKugj4z8ABQGcUnDpkgJTBDEoFKBHoB5HHv+pHDgzYxGCN2Pq3Mmzp8+fQIPGzCmQqEQQKWMeaPlPz4GYqoCUBBIraU9UBbFm3FSQa8YBFQUyOBUzSAEQBcTtTOXKlcCAACH5BAUEAP8ALBsAEgARABgAAAiFAP8JHEjwXzEvKlTcKcjw3woMHTAsaUiw142BL3JQFHipYMdhq1rlKgigoIRTqODAQTVyIAKGPQjG3PhvDEGbNBMQ1Emzp8+fQIMKHbqzKE2cApFSnCmQKUVaqMaMQZWKIIaGtgbEikWy60YsBcFudHVR4I1TPVNIYCAhhc9UrlzJKvMvIAAh+QQFBAD/ACwlABMABwAWAAAISAD/RQjhxUuOf/8+MXjBAN+/PmMQ/oPj5YdEhIwAXPwnAcHGjyBDihxJsmRIjxs1XgRwaeMlVxERjjn1zwShG4RAIXQliyfNgAAh+QQFBAD/ACwlABQABwAUAAAISAD/RQgRwkuOf/8ivdDzwtA/K3oQ/tPjhZFEhD0kXPwnAcHGjyBDihxJ8qPHjRovSvixkRG4iAj1TPu3aeGLTQhdySpzSta/gAAh+QQFBAD/ACwlABUABwASAAAIRgD/RRg1KYSXf71+FPlXhFGINJD+SYSkoofEi6EkXJQIYqPHjyBDihyJ4KPGjRIsbuwhKuJEBa4uLSxyadU/V7LKnDr1LyAAIfkEBQQA/wAsJQAWAAcAEAAACD0A/+mKxChSiH/HUP1biCrEik4L/yXg4ibiQjcgLGrcyLGjR48ZNTbR6CYaxIWdoslSyHDVP1lIGCE59S8gACH5BAUEAP8ALCUAFgAHABAAAAhCAP/9szIqgsB/n27ouYHvXzMZB2VEYHRQICMJFf9JQJCxo8ePHzlmxFhRwo+MP/ZBFChj2j8kHcZ0QHKwzKlTAgMCADs=') no-repeat center;
+  background-size: contain;
+  margin-right: 10rpx;
+  border-radius: 50%;
+  vertical-align: middle;
+}
+
+.live-view {
+  position: relative;
+  padding: 10rpx 15rpx;
+}
+
+.bg-img {
+  width: 720rpx;
+  height: 1568rpx;
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 0;
+  bottom: 0;
+
+  /*z-index: 2;*/
+  /*background-size: cover;*/
+}
+.live-cover-img{
+  width: 720rpx;
+  height: 1568rpx;
+  background: linear-gradient(to top, #1d1f48, #2a2c55, #42446d, #51537c, #5c5f85, #595c7c) no-repeat center;
+  /*background-color: #f23;*/
+  background-size: cover;
+}
+
+.preview-view .preview-header {
+  position: absolute;
+  left: 150rpx;
+  top: 100rpx;
+  right: 200rpx;
+
+}
+
+.preview-view .name {
+  padding: 0 12rpx 0 0;
+  background-color: rgba(0, 0, 0, 0.1);
+  border-radius: 50rpx;
+  height: 36px;
+  z-index: 3;
+}
+
+.preview-view .company-img {
+  border-radius: 50%;
+}
+
+.flex-row-column {
+  display: flex;
+  flex-direction: column;
+}
+
+.preview-view .text {
+  color: #fff;
+  font-size: 24rpx;
+}
+
+.preview-view .bold {
+  font-size: 28rpx;
+  font-weight: bold;
+}
+
+.icon-fenxiang1 {
+  background-color: rgba(0, 0, 0, 0.3);
+  border-radius: 50%;
+  padding: 15rpx;
+  color: #fff;
+
+}
+
+.menus {
+  position: absolute;
+  right: 50rpx;
+  bottom: 80rpx;
+}
+.menu{
+  padding-bottom: 40rpx;
+  font-size: 52rpx;
+  color: #fff;
+}
+.icon-shangpin3{
+  background-color: #7274f1;
+  border-radius: 50%;
+  font-size: 30rpx;
+  padding: 12rpx;
+
+}
+.submit-btn{
+  padding: auto 100rpx;
+}
+.upload-img-err{
+  margin: 10rpx 20rpx;
+  font-size: 28rpx;
+}
+.dialog-qr .qr-img{
+  padding: 10rpx 20rpx;
+  width: 500rpx;
+}
+.dialog-qr{
+  text-align: center;
+}
+.dialog-qr .tips{
+  color: #ed6a0c;
+}
+.dialog-qr .desc{
+  line-height: 45rpx;
+  color: #666;
+  padding-top: 0;
+}
+.dialog-qr .btn{
+  margin: 20rpx;
+}
+van-dialog .van-dialog__header{
+  padding-top: 25rpx;
+}
\ No newline at end of file
diff --git a/pages/myOrder/myOrder.js b/pages/myOrder/myOrder.js
index 825b90a..b227f06 100644
--- a/pages/myOrder/myOrder.js
+++ b/pages/myOrder/myOrder.js
@@ -30,6 +30,12 @@
         this.setData({
             isShowDialog: false
         });
+    },
+    comebackEvent: function (e) {
+        console.log('鍥炴潵鍟�', e);
+        this.setData({
+            isShowDialog: e.detail.isShowDialog
+        });
     }
 });
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXlPcmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm15T3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFNLEdBQUcsR0FBRyxNQUFNLEVBQWMsQ0FBQztBQUNqQyxJQUFJLENBQUM7SUFDSCxJQUFJLEVBQUU7UUFDSixZQUFZLEVBQUUsS0FBSztRQUNuQixNQUFNLEVBQUMsc0lBQXNJO1FBQzdJLE1BQU0sRUFBQyxzSUFBc0k7UUFDN0ksU0FBUyxFQUFDLENBQUM7Z0JBQ1QsS0FBSyxFQUFDLFNBQVM7Z0JBQ2YsSUFBSSxFQUFDLFlBQVk7Z0JBQ2pCLE1BQU0sRUFBRSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxJQUFJO2FBQ2YsRUFBQztnQkFDQSxLQUFLLEVBQUMscUNBQXFDO2dCQUMzQyxJQUFJLEVBQUMsWUFBWTtnQkFDakIsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsUUFBUSxFQUFDLEtBQUs7YUFDZixDQUFDO0tBQ0g7SUFDRCxNQUFNO1FBQ0osT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsVUFBVTtRQUNSLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDWCxZQUFZLEVBQUMsSUFBSTtTQUNsQixDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QsYUFBYTtRQUNYLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDWCxZQUFZLEVBQUUsS0FBSztTQUNwQixDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgYXBwID0gZ2V0QXBwPElBcHBPcHRpb24+KCk7XHJcblBhZ2Uoe1xyXG4gIGRhdGE6IHtcclxuICAgIGlzU2hvd0RpYWxvZzogZmFsc2UsXHJcbiAgICBhdmF0YXI6J2h0dHBzOi8vdGhpcmR3eC5xbG9nby5jbi9tbW9wZW4vdmlfMzIvRVF0RDFXbG5SNHdpYkpXbUlKeGhwaEVlQ2liaWJrMXBWTVRqWlVpY0tKSFZNSGpFekFId0ZnaHVJUURibGJIcU1MTzVlNkM2dDFDdGJoMGhFVzJNTVNsOWNnLzEzMicsXHJcbiAgICBxcmNvZGU6J2h0dHBzOi8vdGhpcmR3eC5xbG9nby5jbi9tbW9wZW4vdmlfMzIvRVF0RDFXbG5SNHdpYkpXbUlKeGhwaEVlQ2liaWJrMXBWTVRqWlVpY0tKSFZNSGpFekFId0ZnaHVJUURibGJIcU1MTzVlNkM2dDFDdGJoMGhFVzJNTVNsOWNnLzEzMicsXHJcbiAgICBhcnJheUxpc3Q6W3tcclxuICAgICAgdGl0bGU6J+enkuadgO+8jOesrOS4gOWutuWFtycsXHJcbiAgICAgIGRhdGU6JzIwMjAuMDkuMTYnLFxyXG4gICAgICBwZW9wbGU6IDEwLFxyXG4gICAgICBpc1JldmlldzogdHJ1ZVxyXG4gICAgfSx7XHJcbiAgICAgIHRpdGxlOifnp5LmnYDvvIznrKzkuIDlrrblhbcyLOenkuadgO+8jOesrOS4gOWutuWFtzIs56eS5p2A77yM56ys5LiA5a625YW3Miznp5LmnYDvvIznrKzkuIDlrrblhbcyJyxcclxuICAgICAgZGF0ZTonMjAyMC4wOS4xOCcsXHJcbiAgICAgIHBlb3BsZTogMjAsXHJcbiAgICAgIGlzUmV2aWV3OmZhbHNlLFxyXG4gICAgfV1cclxuICB9LFxyXG4gIG9uTG9hZCgpIHtcclxuICAgIGNvbnNvbGUubG9nKGFwcCk7XHJcbiAgfSxcclxuICBzaG93RGlhbG9nKCkge1xyXG4gICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgaXNTaG93RGlhbG9nOnRydWVcclxuICAgIH0pXHJcbiAgfSxcclxuICBvbkRpYWxvZ0Nsb3NlKCl7XHJcbiAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICBpc1Nob3dEaWFsb2c6IGZhbHNlXHJcbiAgICB9KVxyXG4gIH1cclxufSlcclxuZXhwb3J0IHt9XHJcbiJdfQ==
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXlPcmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm15T3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFNLEdBQUcsR0FBRyxNQUFNLEVBQWMsQ0FBQztBQUNqQyxJQUFJLENBQUM7SUFDSCxJQUFJLEVBQUU7UUFDSixZQUFZLEVBQUUsS0FBSztRQUNuQixNQUFNLEVBQUMsc0lBQXNJO1FBQzdJLE1BQU0sRUFBQyxzSUFBc0k7UUFDN0ksU0FBUyxFQUFDLENBQUM7Z0JBQ1QsS0FBSyxFQUFDLFNBQVM7Z0JBQ2YsSUFBSSxFQUFDLFlBQVk7Z0JBQ2pCLE1BQU0sRUFBRSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxJQUFJO2FBQ2YsRUFBQztnQkFDQSxLQUFLLEVBQUMscUNBQXFDO2dCQUMzQyxJQUFJLEVBQUMsWUFBWTtnQkFDakIsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsUUFBUSxFQUFDLEtBQUs7YUFDZixDQUFDO0tBQ0g7SUFDRCxNQUFNO1FBQ0osT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsVUFBVTtRQUNSLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDWCxZQUFZLEVBQUMsSUFBSTtTQUNsQixDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QsYUFBYTtRQUNYLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDWCxZQUFZLEVBQUUsS0FBSztTQUNwQixDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QsYUFBYSxZQUFDLENBQUs7UUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNYLFlBQVksRUFBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVk7U0FDbkMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGFwcCA9IGdldEFwcDxJQXBwT3B0aW9uPigpO1xyXG5QYWdlKHtcclxuICBkYXRhOiB7XHJcbiAgICBpc1Nob3dEaWFsb2c6IGZhbHNlLFxyXG4gICAgYXZhdGFyOidodHRwczovL3RoaXJkd3gucWxvZ28uY24vbW1vcGVuL3ZpXzMyL0VRdEQxV2xuUjR3aWJKV21JSnhocGhFZUNpYmliazFwVk1UalpVaWNLSkhWTUhqRXpBSHdGZ2h1SVFEYmxiSHFNTE81ZTZDNnQxQ3RiaDBoRVcyTU1TbDljZy8xMzInLFxyXG4gICAgcXJjb2RlOidodHRwczovL3RoaXJkd3gucWxvZ28uY24vbW1vcGVuL3ZpXzMyL0VRdEQxV2xuUjR3aWJKV21JSnhocGhFZUNpYmliazFwVk1UalpVaWNLSkhWTUhqRXpBSHdGZ2h1SVFEYmxiSHFNTE81ZTZDNnQxQ3RiaDBoRVcyTU1TbDljZy8xMzInLFxyXG4gICAgYXJyYXlMaXN0Olt7XHJcbiAgICAgIHRpdGxlOifnp5LmnYDvvIznrKzkuIDlrrblhbcnLFxyXG4gICAgICBkYXRlOicyMDIwLjA5LjE2JyxcclxuICAgICAgcGVvcGxlOiAxMCxcclxuICAgICAgaXNSZXZpZXc6IHRydWVcclxuICAgIH0se1xyXG4gICAgICB0aXRsZTon56eS5p2A77yM56ys5LiA5a625YW3Miznp5LmnYDvvIznrKzkuIDlrrblhbcyLOenkuadgO+8jOesrOS4gOWutuWFtzIs56eS5p2A77yM56ys5LiA5a625YW3MicsXHJcbiAgICAgIGRhdGU6JzIwMjAuMDkuMTgnLFxyXG4gICAgICBwZW9wbGU6IDIwLFxyXG4gICAgICBpc1JldmlldzpmYWxzZSxcclxuICAgIH1dXHJcbiAgfSxcclxuICBvbkxvYWQoKSB7XHJcbiAgICBjb25zb2xlLmxvZyhhcHApO1xyXG4gIH0sXHJcbiAgc2hvd0RpYWxvZygpIHtcclxuICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgIGlzU2hvd0RpYWxvZzp0cnVlXHJcbiAgICB9KVxyXG4gIH0sXHJcbiAgb25EaWFsb2dDbG9zZSgpe1xyXG4gICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgaXNTaG93RGlhbG9nOiBmYWxzZVxyXG4gICAgfSlcclxuICB9LFxyXG4gIGNvbWViYWNrRXZlbnQoZTphbnkpe1xyXG4gICAgY29uc29sZS5sb2coJ+WbnuadpeWVpicsZSk7XHJcbiAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICBpc1Nob3dEaWFsb2c6ZS5kZXRhaWwuaXNTaG93RGlhbG9nXHJcbiAgICB9KVxyXG4gIH1cclxufSlcclxuZXhwb3J0IHt9XHJcbiJdfQ==
\ No newline at end of file
diff --git a/pages/myOrder/myOrder.ts b/pages/myOrder/myOrder.ts
index d1faabd..2a45270 100644
--- a/pages/myOrder/myOrder.ts
+++ b/pages/myOrder/myOrder.ts
@@ -28,6 +28,12 @@
     this.setData({
       isShowDialog: false
     })
+  },
+  comebackEvent(e:any){
+    console.log('鍥炴潵鍟�',e);
+    this.setData({
+      isShowDialog:e.detail.isShowDialog
+    })
   }
 })
 export {}
diff --git a/pages/myOrder/myOrder.wxml b/pages/myOrder/myOrder.wxml
index a2828ad..ca78c87 100644
--- a/pages/myOrder/myOrder.wxml
+++ b/pages/myOrder/myOrder.wxml
@@ -1,6 +1,6 @@
 <!--pages/myOrder/myOrder.wxml-->
 <van-cell-group>
-  <my-entry-cell wx:for="{{arrayList}}" wx:key="key" list-item="{{item}}" from="myOrder">
+  <my-entry-cell wx:for="{{arrayList}}" wx:key="key" list-item="{{item}}" from="myOrder" bind:comeback="comebackEvent">
     <view class="right-view" bind:tap="showDialog">
       <view class="un-review">{{item.isReview?'宸叉牳閿�':'鏈牳閿�'}}</view>
       <view class="my-tag font-size-12">鏍搁攢鐮�</view>
diff --git "a/pages/orderSubmit/orderSubmit - \345\211\257\346\234\254.js" "b/pages/orderSubmit/orderSubmit - \345\211\257\346\234\254.js"
new file mode 100644
index 0000000..d7e40a3
--- /dev/null
+++ "b/pages/orderSubmit/orderSubmit - \345\211\257\346\234\254.js"
@@ -0,0 +1,126 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var WeValidator = require('we-validator');
+var validatorInstance;
+var app = getApp();
+Page({
+    data: {
+        order: {
+            PhotoPath: "https://img.onbus.cn/uploads/shopping/82/images/2064C5EC-F53C-41AA-91D7-E4E029D144A0@p@181.jpg",
+            price: 100.00
+        },
+        deliveryMethods: ['鍟嗗閰嶉��', '鍒板簵鑷彁'],
+        isShowPicker: false,
+        deliveryMethod: '鍟嗗閰嶉��',
+        phone: '',
+        address: '',
+        username: ''
+    },
+    onLoad: function () {
+        console.log(app);
+    },
+    onReady: function () {
+        this.initValidator();
+    },
+    checkUsername: function (e) {
+        var value = e.detail.value;
+        console.log(e);
+        this.checkField('username', value);
+    },
+    checkPhone: function (e) {
+        var value = e.detail.value;
+        console.log(e);
+        this.checkField('phone', value);
+    },
+    checkAddress: function (e) {
+        var value = e.detail.value;
+        console.log(e);
+        this.checkField('address', value);
+    },
+    checkField: function (type, value) {
+        var _this = this;
+        var _a, _b, _c;
+        value = value.trim();
+        this.setData((_a = {}, _a[type] = value, _a));
+        if (!validatorInstance.checkFields((_b = {}, _b[type] = value, _b), ["" + type], function (data) {
+            var _a;
+            console.log(data);
+            _this.setData((_a = {},
+                _a[type + "Error"] = data[type].msg,
+                _a));
+        }))
+            return;
+        this.setData((_c = {},
+            _c[type + "Error"] = '',
+            _c));
+    },
+    onSubmitOrder: function () {
+        var _this = this;
+        var value = {};
+        var _a = this.data, username = _a.username, phone = _a.phone, address = _a.address;
+        value = { username: username, phone: phone, address: address };
+        if (!validatorInstance.checkData(value, function (data) {
+            console.log(data);
+            var error = {};
+            for (var type in data) {
+                if (data.hasOwnProperty(type)) {
+                    error[type + "Error"] = data[type].msg;
+                }
+            }
+            _this.setData(error);
+        }))
+            return;
+        console.log('鎻愪氦璁㈠崟鎴愬姛');
+    },
+    showPicker: function () {
+        this.setData({ isShowPicker: true });
+    },
+    onPickerClose: function () {
+        this.setData({ isShowPicker: false });
+    },
+    onPickerConfirm: function (event) {
+        var _a = event.detail, value = _a.value, index = _a.index;
+        console.log(value, index);
+        this.setData({
+            deliveryMethod: value
+        });
+        this.onPickerClose();
+    },
+    onPickerCancel: function () {
+        console.log('鍙栨秷');
+        this.onPickerClose();
+    },
+    initValidator: function () {
+        validatorInstance = new WeValidator({
+            rules: {
+                username: {
+                    required: true,
+                    length: 3
+                },
+                phone: {
+                    required: true,
+                    mobile: true
+                },
+                address: {
+                    required: true,
+                    length: 3
+                },
+            },
+            messages: {
+                username: {
+                    required: '璇疯緭鍏ョ敤鎴峰悕',
+                },
+                phone: {
+                    required: '璇疯緭鍏ユ墜鏈哄彿',
+                    mobile: '鎵嬫満鍙锋牸寮忎笉姝g‘'
+                },
+                address: {
+                    required: '璇疯緭鍏ユ敹璐у湴鍧�',
+                    length: '璇疯緭鍏ラ暱搴︿负3鐨勫瓧绗︿覆'
+                },
+            },
+            multiCheck: true
+        });
+    },
+});
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJTdWJtaXQgLSDlia/mnKwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJvcmRlclN1Ym1pdCAtIOWJr+acrC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUlBLElBQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQU81QyxJQUFJLGlCQUE2QixDQUFDO0FBQ2xDLElBQU0sR0FBRyxHQUFHLE1BQU0sRUFBYyxDQUFDO0FBQ2pDLElBQUksQ0FBQztJQUNILElBQUksRUFBRTtRQUNKLEtBQUssRUFBQztZQUNKLFNBQVMsRUFBRSxnR0FBZ0c7WUFDM0csS0FBSyxFQUFDLE1BQU07U0FDYjtRQUNELGVBQWUsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7UUFDakMsWUFBWSxFQUFDLEtBQUs7UUFDbEIsY0FBYyxFQUFFLE1BQU07UUFDdEIsS0FBSyxFQUFDLEVBQUU7UUFDUixPQUFPLEVBQUMsRUFBRTtRQUNWLFFBQVEsRUFBQyxFQUFFO0tBQ1o7SUFDRCxNQUFNO1FBQ0osT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUN0QixDQUFDO0lBQ0QsYUFBYSxZQUFDLENBQUs7UUFDWCxJQUFBLHNCQUFLLENBQWE7UUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxVQUFVLFlBQUMsQ0FBSztRQUNSLElBQUEsc0JBQUssQ0FBYTtRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELFlBQVksWUFBQyxDQUFLO1FBQ1YsSUFBQSxzQkFBSyxDQUFhO1FBQ3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsVUFBVSxZQUFDLElBQVksRUFBQyxLQUFhO1FBQXJDLGlCQWdCQzs7UUFmQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLFdBQUUsR0FBQyxJQUFJLElBQUUsS0FBSyxNQUFFLENBQUM7UUFDN0IsSUFBRyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsV0FBRSxHQUFDLElBQUksSUFBRSxLQUFLLE9BQUUsQ0FBQyxLQUFHLElBQU0sQ0FBQyxFQUFDLFVBQUMsSUFBUTs7WUFDcEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQixLQUFJLENBQUMsT0FBTztnQkFDVixHQUFJLElBQUksVUFBTyxJQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHO29CQUMvQixDQUFBO1FBQ0osQ0FBQyxDQUFDO1lBQUUsT0FBTTtRQUNWLElBQUksQ0FBQyxPQUFPO1lBQ1YsR0FBSSxJQUFJLFVBQU8sSUFBRSxFQUFFO2dCQUNuQixDQUFBO0lBS0osQ0FBQztJQUNELGFBQWE7UUFBYixpQkFrQkM7UUFkQyxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxJQUFBLGNBQW9DLEVBQW5DLHNCQUFRLEVBQUMsZ0JBQUssRUFBQyxvQkFBb0IsQ0FBQztRQUN6QyxLQUFLLEdBQUcsRUFBQyxRQUFRLFVBQUEsRUFBQyxLQUFLLE9BQUEsRUFBQyxPQUFPLFNBQUEsRUFBQyxDQUFBO1FBQ2hDLElBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFDLFVBQUMsSUFBUTtZQUM3QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLElBQUksS0FBSyxHQUFjLEVBQUUsQ0FBQztZQUMxQixLQUFLLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtnQkFDckIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUM3QixLQUFLLENBQUksSUFBSSxVQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFBO2lCQUN2QzthQUNGO1lBQ0QsS0FBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNyQixDQUFDLENBQUM7WUFBRSxPQUFNO1FBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBS0QsVUFBVTtRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBQyxZQUFZLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsYUFBYTtRQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBQyxZQUFZLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsZUFBZSxZQUFDLEtBQVM7UUFDakIsSUFBQSxpQkFBK0IsRUFBN0IsZ0JBQUssRUFBRSxnQkFBc0IsQ0FBQztRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ1gsY0FBYyxFQUFFLEtBQUs7U0FDdEIsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWE7UUFFWCxpQkFBaUIsR0FBRyxJQUFJLFdBQVcsQ0FBQztZQUNsQyxLQUFLLEVBQUU7Z0JBQ0wsUUFBUSxFQUFFO29CQUNSLFFBQVEsRUFBRSxJQUFJO29CQUNkLE1BQU0sRUFBRSxDQUFDO2lCQUNWO2dCQUNELEtBQUssRUFBRTtvQkFDTCxRQUFRLEVBQUUsSUFBSTtvQkFDZCxNQUFNLEVBQUUsSUFBSTtpQkFDYjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsUUFBUSxFQUFFLElBQUk7b0JBQ2QsTUFBTSxFQUFFLENBQUM7aUJBQ1Y7YUFDRjtZQUNELFFBQVEsRUFBRTtnQkFDUixRQUFRLEVBQUU7b0JBQ1IsUUFBUSxFQUFFLFFBQVE7aUJBQ25CO2dCQUNELEtBQUssRUFBRTtvQkFDTCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsTUFBTSxFQUFFLFVBQVU7aUJBQ25CO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxRQUFRLEVBQUUsU0FBUztvQkFDbkIsTUFBTSxFQUFFLGFBQWE7aUJBQ3RCO2FBQ0Y7WUFDRCxVQUFVLEVBQUMsSUFBSTtTQUNoQixDQUFDLENBQUE7SUFxQkosQ0FBQztDQUNGLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCBXZVZhbGlkYXRvciBmcm9tIFwid2UtdmFsaWRhdG9yXCI7XHJcbi8vIHR5cGUgSW5zdGFuY2UgPSB7XHJcbi8vICAgW3Byb3BOYW1lOiBzdHJpbmddIDogYW55LFxyXG4vLyB9XHJcbmNvbnN0IFdlVmFsaWRhdG9yID0gcmVxdWlyZSgnd2UtdmFsaWRhdG9yJyk7XHJcblxyXG5pbnRlcmZhY2Ugd2VWYWxpZGF0b3Ige1xyXG4gIGNoZWNrRmllbGRzKGRhdGE6IG9iamVjdCwgZmllbGRzOkFycmF5PHN0cmluZz4sIG9uTWVzc2FnZT86IEZ1bmN0aW9uLCBzaG93TWVzc2FnZT86IGJvb2xlYW4pOmJvb2xlYW47XHJcbiAgY2hlY2tEYXRhKGRhdGE6IG9iamVjdCwgb25NZXNzYWdlPzogRnVuY3Rpb24sIHNob3dNZXNzYWdlPzogYm9vbGVhbiwgZmllbGRNYXA/OiBvYmplY3QpOiBib29sZWFuO1xyXG59XHJcblxyXG5sZXQgdmFsaWRhdG9ySW5zdGFuY2U6d2VWYWxpZGF0b3I7XHJcbmNvbnN0IGFwcCA9IGdldEFwcDxJQXBwT3B0aW9uPigpO1xyXG5QYWdlKHtcclxuICBkYXRhOiB7XHJcbiAgICBvcmRlcjp7XHJcbiAgICAgIFBob3RvUGF0aDogXCJodHRwczovL2ltZy5vbmJ1cy5jbi91cGxvYWRzL3Nob3BwaW5nLzgyL2ltYWdlcy8yMDY0QzVFQy1GNTNDLTQxQUEtOTFENy1FNEUwMjlEMTQ0QTBAcEAxODEuanBnXCIsXHJcbiAgICAgIHByaWNlOjEwMC4wMFxyXG4gICAgfSxcclxuICAgIGRlbGl2ZXJ5TWV0aG9kczogWyfllYblrrbphY3pgIEnLCAn5Yiw5bqX6Ieq5o+QJ10sXHJcbiAgICBpc1Nob3dQaWNrZXI6ZmFsc2UsXHJcbiAgICBkZWxpdmVyeU1ldGhvZDogJ+WVhuWutumFjemAgScsXHJcbiAgICBwaG9uZTonJyxcclxuICAgIGFkZHJlc3M6JycsXHJcbiAgICB1c2VybmFtZTonJ1xyXG4gIH0sXHJcbiAgb25Mb2FkKCkge1xyXG4gICAgY29uc29sZS5sb2coYXBwKTtcclxuICB9LFxyXG4gIG9uUmVhZHkoKSB7XHJcbiAgICB0aGlzLmluaXRWYWxpZGF0b3IoKVxyXG4gIH0sXHJcbiAgY2hlY2tVc2VybmFtZShlOmFueSl7XHJcbiAgICBsZXQgeyB2YWx1ZSB9ID0gZS5kZXRhaWxcclxuICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgdGhpcy5jaGVja0ZpZWxkKCd1c2VybmFtZScsdmFsdWUpO1xyXG4gIH0sXHJcbiAgY2hlY2tQaG9uZShlOmFueSl7XHJcbiAgICBsZXQgeyB2YWx1ZSB9ID0gZS5kZXRhaWxcclxuICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgdGhpcy5jaGVja0ZpZWxkKCdwaG9uZScsdmFsdWUpO1xyXG4gIH0sXHJcbiAgY2hlY2tBZGRyZXNzKGU6YW55KXtcclxuICAgIGxldCB7IHZhbHVlIH0gPSBlLmRldGFpbFxyXG4gICAgY29uc29sZS5sb2coZSk7XHJcbiAgICB0aGlzLmNoZWNrRmllbGQoJ2FkZHJlc3MnLHZhbHVlKTtcclxuICB9LFxyXG4gIGNoZWNrRmllbGQodHlwZTogc3RyaW5nLHZhbHVlOiBzdHJpbmcpe1xyXG4gICAgdmFsdWUgPSB2YWx1ZS50cmltKCk7XHJcbiAgICB0aGlzLnNldERhdGEoe1t0eXBlXTp2YWx1ZX0pO1xyXG4gICAgaWYoIXZhbGlkYXRvckluc3RhbmNlLmNoZWNrRmllbGRzKHtbdHlwZV06dmFsdWV9LFtgJHt0eXBlfWBdLChkYXRhOmFueSk9PntcclxuICAgICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgW2Ake3R5cGV9RXJyb3JgXTpkYXRhW3R5cGVdLm1zZ1xyXG4gICAgICB9KVxyXG4gICAgfSkpIHJldHVyblxyXG4gICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgW2Ake3R5cGV9RXJyb3JgXTonJ1xyXG4gICAgfSlcclxuICAgIC8vIGNvbnNvbGUubG9nKCh0aGlzIGFzIGFueSkudmFsaWRhdG9ySW5zdGFuY2UuY2hlY2tGaWVsZHMoe3VzZXJuYW1lOnZhbHVlfSxbJ3VzZXJuYW1lJ10pKTtcclxuICAgIC8vIGNvbnNvbGUubG9nKCh0aGlzIGFzIGFueSkudmFsaWRhdG9ySW5zdGFuY2UuaXNWYWxpZCh7dXNlcm5hbWU6dmFsdWV9LFsndXNlcm5hbWUnXSkpO1xyXG5cclxuICAgIC8vIGlmKCEodGhpcyBhcyBhbnkpLnZhbGlkYXRvckluc3RhbmNlLmNoZWNrRGF0YSh2YWx1ZSkpIHJldHVyblxyXG4gIH0sXHJcbiAgb25TdWJtaXRPcmRlcigpIHtcclxuICAgIGludGVyZmFjZSBlcnJvclR5cGUge1xyXG4gICAgICBbcHJvcGVydHk6c3RyaW5nXTphbnk7XHJcbiAgICB9XHJcbiAgICBsZXQgdmFsdWUgPSB7fTtcclxuICAgIGxldCB7dXNlcm5hbWUscGhvbmUsYWRkcmVzc30gPSB0aGlzLmRhdGE7XHJcbiAgICB2YWx1ZSA9IHt1c2VybmFtZSxwaG9uZSxhZGRyZXNzfVxyXG4gICAgaWYoIXZhbGlkYXRvckluc3RhbmNlLmNoZWNrRGF0YSh2YWx1ZSwoZGF0YTphbnkpPT57XHJcbiAgICAgIGNvbnNvbGUubG9nKGRhdGEpO1xyXG4gICAgICBsZXQgZXJyb3I6IGVycm9yVHlwZSA9IHt9O1xyXG4gICAgICBmb3IgKGxldCB0eXBlIGluIGRhdGEpIHtcclxuICAgICAgICBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eSh0eXBlKSkge1xyXG4gICAgICAgICAgZXJyb3JbYCR7dHlwZX1FcnJvcmBdID0gZGF0YVt0eXBlXS5tc2dcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZXREYXRhKGVycm9yKVxyXG4gICAgfSkpIHJldHVyblxyXG4gICAgY29uc29sZS5sb2coJ+aPkOS6pOiuouWNleaIkOWKnycpO1xyXG4gIH0sXHJcbiAgLy8gb25QaWNrZXJDaGFuZ2UoZXZlbnQ6YW55KSB7XHJcbiAgLy8gICBjb25zdCB7dmFsdWUsIGluZGV4IH0gPSBldmVudC5kZXRhaWw7XHJcbiAgLy8gICBjb25zb2xlLmxvZyh2YWx1ZSxpbmRleCk7XHJcbiAgLy8gfSxcclxuICBzaG93UGlja2VyKCl7XHJcbiAgICB0aGlzLnNldERhdGEoe2lzU2hvd1BpY2tlcjp0cnVlfSk7XHJcbiAgfSxcclxuICBvblBpY2tlckNsb3NlKCl7XHJcbiAgICB0aGlzLnNldERhdGEoe2lzU2hvd1BpY2tlcjpmYWxzZX0pO1xyXG4gIH0sXHJcbiAgb25QaWNrZXJDb25maXJtKGV2ZW50OmFueSkge1xyXG4gICAgY29uc3QgeyB2YWx1ZSwgaW5kZXggfSA9IGV2ZW50LmRldGFpbDtcclxuICAgIGNvbnNvbGUubG9nKHZhbHVlLGluZGV4KTtcclxuICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgIGRlbGl2ZXJ5TWV0aG9kOiB2YWx1ZVxyXG4gICAgfSlcclxuICAgIHRoaXMub25QaWNrZXJDbG9zZSgpO1xyXG4gIH0sXHJcblxyXG4gIG9uUGlja2VyQ2FuY2VsKCkge1xyXG4gICAgY29uc29sZS5sb2coJ+WPlua2iCcpO1xyXG4gICAgdGhpcy5vblBpY2tlckNsb3NlKCk7XHJcbiAgfSxcclxuICAvLyB2YWxpZGF0b3JJbnN0YW5jZSgpe30sXHJcbiAgaW5pdFZhbGlkYXRvcigpe1xyXG4gICAgLy8g5a6e5L6L5YyWXHJcbiAgICB2YWxpZGF0b3JJbnN0YW5jZSA9IG5ldyBXZVZhbGlkYXRvcih7XHJcbiAgICAgIHJ1bGVzOiB7XHJcbiAgICAgICAgdXNlcm5hbWU6IHtcclxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgICAgICAgbGVuZ3RoOiAzXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwaG9uZToge1xyXG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXHJcbiAgICAgICAgICBtb2JpbGU6IHRydWVcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFkZHJlc3M6IHtcclxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgICAgICAgbGVuZ3RoOiAzXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgbWVzc2FnZXM6IHtcclxuICAgICAgICB1c2VybmFtZToge1xyXG4gICAgICAgICAgcmVxdWlyZWQ6ICfor7fovpPlhaXnlKjmiLflkI0nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcGhvbmU6IHtcclxuICAgICAgICAgIHJlcXVpcmVkOiAn6K+36L6T5YWl5omL5py65Y+3JyxcclxuICAgICAgICAgIG1vYmlsZTogJ+aJi+acuuWPt+agvOW8j+S4jeato+ehridcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFkZHJlc3M6IHsgLy8g6Z2e5b+F5aGr5a2X5q61XHJcbiAgICAgICAgICByZXF1aXJlZDogJ+ivt+i+k+WFpeaUtui0p+WcsOWdgCcsXHJcbiAgICAgICAgICBsZW5ndGg6ICfor7fovpPlhaXplb/luqbkuLoz55qE5a2X56ym5LiyJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIG11bHRpQ2hlY2s6dHJ1ZVxyXG4gICAgfSlcclxuICAgIC8vIGxldCBrZXlzID0gT2JqZWN0LmtleXMoe1xyXG4gICAgLy8gICB1c2VybmFtZToge1xyXG4gICAgLy8gICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgLy8gICAgIGxlbmd0aDogM1xyXG4gICAgLy8gICB9LFxyXG4gICAgLy8gICBwaG9uZToge1xyXG4gICAgLy8gICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgLy8gICAgIG1vYmlsZTogdHJ1ZVxyXG4gICAgLy8gICB9LFxyXG4gICAgLy8gICBhZGRyZXNzOiB7XHJcbiAgICAvLyAgICAgcmVxdWlyZWQ6IHRydWUsXHJcbiAgICAvLyAgICAgbGVuZ3RoOiAzXHJcbiAgICAvLyAgIH0sXHJcbiAgICAvLyB9KTtcclxuICAgIC8vIGNvbnNvbGUubG9nKGtleXMpO1xyXG4gICAgLy8gbGV0IHZhbHVlczphbnkgPSB7fTtcclxuICAgIC8vIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAvLyAgIHZhbHVlc1trZXldID0gKHRoaXMgYXMgYW55KS5kYXRhW2tleV07XHJcbiAgICAvLyB9KVxyXG4gICAgLy8gY29uc29sZS5sb2codmFsdWVzKTtcclxuICB9LFxyXG59KVxyXG5leHBvcnQge31cclxuIl19
\ No newline at end of file
diff --git "a/pages/orderSubmit/orderSubmit - \345\211\257\346\234\254.ts" "b/pages/orderSubmit/orderSubmit - \345\211\257\346\234\254.ts"
new file mode 100644
index 0000000..e976c06
--- /dev/null
+++ "b/pages/orderSubmit/orderSubmit - \345\211\257\346\234\254.ts"
@@ -0,0 +1,162 @@
+// import WeValidator from "we-validator";
+// type Instance = {
+//   [propName: string] : any,
+// }
+const WeValidator = require('we-validator');
+
+interface weValidator {
+  checkFields(data: object, fields:Array<string>, onMessage?: Function, showMessage?: boolean):boolean;
+  checkData(data: object, onMessage?: Function, showMessage?: boolean, fieldMap?: object): boolean;
+}
+
+let validatorInstance:weValidator;
+const app = getApp<IAppOption>();
+Page({
+  data: {
+    order:{
+      PhotoPath: "https://img.onbus.cn/uploads/shopping/82/images/2064C5EC-F53C-41AA-91D7-E4E029D144A0@p@181.jpg",
+      price:100.00
+    },
+    deliveryMethods: ['鍟嗗閰嶉��', '鍒板簵鑷彁'],
+    isShowPicker:false,
+    deliveryMethod: '鍟嗗閰嶉��',
+    phone:'',
+    address:'',
+    username:''
+  },
+  onLoad() {
+    console.log(app);
+  },
+  onReady() {
+    this.initValidator()
+  },
+  checkUsername(e:any){
+    let { value } = e.detail
+    console.log(e);
+    this.checkField('username',value);
+  },
+  checkPhone(e:any){
+    let { value } = e.detail
+    console.log(e);
+    this.checkField('phone',value);
+  },
+  checkAddress(e:any){
+    let { value } = e.detail
+    console.log(e);
+    this.checkField('address',value);
+  },
+  checkField(type: string,value: string){
+    value = value.trim();
+    this.setData({[type]:value});
+    if(!validatorInstance.checkFields({[type]:value},[`${type}`],(data:any)=>{
+      console.log(data);
+      this.setData({
+        [`${type}Error`]:data[type].msg
+      })
+    })) return
+    this.setData({
+      [`${type}Error`]:''
+    })
+    // console.log((this as any).validatorInstance.checkFields({username:value},['username']));
+    // console.log((this as any).validatorInstance.isValid({username:value},['username']));
+
+    // if(!(this as any).validatorInstance.checkData(value)) return
+  },
+  onSubmitOrder() {
+    interface errorType {
+      [property:string]:any;
+    }
+    let value = {};
+    let {username,phone,address} = this.data;
+    value = {username,phone,address}
+    if(!validatorInstance.checkData(value,(data:any)=>{
+      console.log(data);
+      let error: errorType = {};
+      for (let type in data) {
+        if (data.hasOwnProperty(type)) {
+          error[`${type}Error`] = data[type].msg
+        }
+      }
+      this.setData(error)
+    })) return
+    console.log('鎻愪氦璁㈠崟鎴愬姛');
+  },
+  // onPickerChange(event:any) {
+  //   const {value, index } = event.detail;
+  //   console.log(value,index);
+  // },
+  showPicker(){
+    this.setData({isShowPicker:true});
+  },
+  onPickerClose(){
+    this.setData({isShowPicker:false});
+  },
+  onPickerConfirm(event:any) {
+    const { value, index } = event.detail;
+    console.log(value,index);
+    this.setData({
+      deliveryMethod: value
+    })
+    this.onPickerClose();
+  },
+
+  onPickerCancel() {
+    console.log('鍙栨秷');
+    this.onPickerClose();
+  },
+  // validatorInstance(){},
+  initValidator(){
+    // 瀹炰緥鍖�
+    validatorInstance = new WeValidator({
+      rules: {
+        username: {
+          required: true,
+          length: 3
+        },
+        phone: {
+          required: true,
+          mobile: true
+        },
+        address: {
+          required: true,
+          length: 3
+        },
+      },
+      messages: {
+        username: {
+          required: '璇疯緭鍏ョ敤鎴峰悕',
+        },
+        phone: {
+          required: '璇疯緭鍏ユ墜鏈哄彿',
+          mobile: '鎵嬫満鍙锋牸寮忎笉姝g‘'
+        },
+        address: { // 闈炲繀濉瓧娈�
+          required: '璇疯緭鍏ユ敹璐у湴鍧�',
+          length: '璇疯緭鍏ラ暱搴︿负3鐨勫瓧绗︿覆'
+        },
+      },
+      multiCheck:true
+    })
+    // let keys = Object.keys({
+    //   username: {
+    //     required: true,
+    //     length: 3
+    //   },
+    //   phone: {
+    //     required: true,
+    //     mobile: true
+    //   },
+    //   address: {
+    //     required: true,
+    //     length: 3
+    //   },
+    // });
+    // console.log(keys);
+    // let values:any = {};
+    // keys.forEach((key) => {
+    //   values[key] = (this as any).data[key];
+    // })
+    // console.log(values);
+  },
+})
+export {}
diff --git a/pages/orderSubmit/orderSubmit.js b/pages/orderSubmit/orderSubmit.js
new file mode 100644
index 0000000..2f7267f
--- /dev/null
+++ b/pages/orderSubmit/orderSubmit.js
@@ -0,0 +1,99 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var myValidator_1 = require("../../utils/myValidator");
+var validatorInstance;
+var app = getApp();
+Page({
+    data: {
+        order: {
+            PhotoPath: "https://img.onbus.cn/uploads/shopping/82/images/2064C5EC-F53C-41AA-91D7-E4E029D144A0@p@181.jpg",
+            price: 100.00
+        },
+        deliveryMethods: ['鍟嗗閰嶉��', '鍒板簵鑷彁'],
+        isShowPicker: false,
+        deliveryMethod: '鍟嗗閰嶉��',
+        phone: '',
+        address: '',
+        username: ''
+    },
+    onLoad: function () {
+        console.log(app);
+    },
+    onReady: function () {
+        this.initValidator();
+    },
+    checkUsername: function (e) {
+        var value = e.detail.value;
+        console.log(e);
+        validatorInstance.checkField('username', value);
+    },
+    checkPhone: function (e) {
+        var value = e.detail.value;
+        console.log(e);
+        validatorInstance.checkField('phone', value);
+    },
+    checkAddress: function (e) {
+        var value = e.detail.value;
+        console.log(e);
+        validatorInstance.checkField('address', value);
+    },
+    onSubmitOrder: function () {
+        if (validatorInstance.checkAllData()) {
+            console.log('....鎻愪氦璁㈠崟鎴愬姛');
+        }
+        else {
+            console.log('杩樻湁閿欒鏈鐞�');
+        }
+    },
+    showPicker: function () {
+        this.setData({ isShowPicker: true });
+    },
+    onPickerClose: function () {
+        this.setData({ isShowPicker: false });
+    },
+    onPickerConfirm: function (event) {
+        var _a = event.detail, value = _a.value, index = _a.index;
+        console.log(value, index);
+        this.setData({
+            deliveryMethod: value
+        });
+        this.onPickerClose();
+    },
+    onPickerCancel: function () {
+        console.log('鍙栨秷');
+        this.onPickerClose();
+    },
+    initValidator: function () {
+        validatorInstance = new myValidator_1.default({
+            rules: {
+                username: {
+                    required: true,
+                    length: 3
+                },
+                phone: {
+                    required: true,
+                    mobile: true
+                },
+                address: {
+                    required: true,
+                    length: 3
+                },
+            },
+            messages: {
+                username: {
+                    required: '璇疯緭鍏ョ敤鎴峰悕',
+                },
+                phone: {
+                    required: '璇疯緭鍏ユ墜鏈哄彿',
+                    mobile: '鎵嬫満鍙锋牸寮忎笉姝g‘'
+                },
+                address: {
+                    required: '璇疯緭鍏ユ敹璐у湴鍧�',
+                    length: '璇疯緭鍏ラ暱搴︿负3鐨勫瓧绗︿覆'
+                },
+            },
+            multiCheck: true
+        }, this);
+    },
+});
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJTdWJtaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJvcmRlclN1Ym1pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLHVEQUFrRDtBQUVsRCxJQUFJLGlCQUE2QixDQUFDO0FBQ2xDLElBQU0sR0FBRyxHQUFHLE1BQU0sRUFBYyxDQUFDO0FBQ2pDLElBQUksQ0FBQztJQUNILElBQUksRUFBRTtRQUNKLEtBQUssRUFBQztZQUNKLFNBQVMsRUFBRSxnR0FBZ0c7WUFDM0csS0FBSyxFQUFDLE1BQU07U0FDYjtRQUNELGVBQWUsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7UUFDakMsWUFBWSxFQUFDLEtBQUs7UUFDbEIsY0FBYyxFQUFFLE1BQU07UUFDdEIsS0FBSyxFQUFDLEVBQUU7UUFDUixPQUFPLEVBQUMsRUFBRTtRQUNWLFFBQVEsRUFBQyxFQUFFO0tBQ1o7SUFDRCxNQUFNO1FBQ0osT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUN0QixDQUFDO0lBQ0QsYUFBYSxZQUFDLENBQUs7UUFDWCxJQUFBLHNCQUFLLENBQWE7UUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNmLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELFVBQVUsWUFBQyxDQUFLO1FBQ1IsSUFBQSxzQkFBSyxDQUFhO1FBQ3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDZixpQkFBaUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxZQUFZLFlBQUMsQ0FBSztRQUNWLElBQUEsc0JBQUssQ0FBYTtRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2YsaUJBQWlCLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBSUQsYUFBYTtRQUNYLElBQUksaUJBQWlCLENBQUMsWUFBWSxFQUFFLEVBQUM7WUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMzQjthQUFNO1lBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN4QjtJQUVILENBQUM7SUFLRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFDLFlBQVksRUFBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFDLFlBQVksRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxlQUFlLFlBQUMsS0FBUztRQUNqQixJQUFBLGlCQUErQixFQUE3QixnQkFBSyxFQUFFLGdCQUFzQixDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDWCxjQUFjLEVBQUUsS0FBSztTQUN0QixDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsYUFBYTtRQUVYLGlCQUFpQixHQUFHLElBQUkscUJBQVcsQ0FBQztZQUNsQyxLQUFLLEVBQUU7Z0JBQ0wsUUFBUSxFQUFFO29CQUNSLFFBQVEsRUFBRSxJQUFJO29CQUNkLE1BQU0sRUFBRSxDQUFDO2lCQUNWO2dCQUNELEtBQUssRUFBRTtvQkFDTCxRQUFRLEVBQUUsSUFBSTtvQkFDZCxNQUFNLEVBQUUsSUFBSTtpQkFDYjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsUUFBUSxFQUFFLElBQUk7b0JBQ2QsTUFBTSxFQUFFLENBQUM7aUJBQ1Y7YUFDRjtZQUNELFFBQVEsRUFBRTtnQkFDUixRQUFRLEVBQUU7b0JBQ1IsUUFBUSxFQUFFLFFBQVE7aUJBQ25CO2dCQUNELEtBQUssRUFBRTtvQkFDTCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsTUFBTSxFQUFFLFVBQVU7aUJBQ25CO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxRQUFRLEVBQUUsU0FBUztvQkFDbkIsTUFBTSxFQUFFLGFBQWE7aUJBQ3RCO2FBQ0Y7WUFDRCxVQUFVLEVBQUMsSUFBSTtTQUNoQixFQUFDLElBQUksQ0FBQyxDQUFBO0lBQ1QsQ0FBQztDQUNGLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCBXZVZhbGlkYXRvciBmcm9tIFwid2UtdmFsaWRhdG9yXCI7XHJcbi8vIHR5cGUgSW5zdGFuY2UgPSB7XHJcbi8vICAgW3Byb3BOYW1lOiBzdHJpbmddIDogYW55LFxyXG4vLyB9XHJcbi8vIGNvbnN0IFdlVmFsaWRhdG9yID0gcmVxdWlyZSgnd2UtdmFsaWRhdG9yJyk7XHJcbmltcG9ydCBNeVZhbGlkYXRvciBmcm9tIFwiLi4vLi4vdXRpbHMvbXlWYWxpZGF0b3JcIjtcclxuXHJcbmxldCB2YWxpZGF0b3JJbnN0YW5jZTpNeVZhbGlkYXRvcjtcclxuY29uc3QgYXBwID0gZ2V0QXBwPElBcHBPcHRpb24+KCk7XHJcblBhZ2Uoe1xyXG4gIGRhdGE6IHtcclxuICAgIG9yZGVyOntcclxuICAgICAgUGhvdG9QYXRoOiBcImh0dHBzOi8vaW1nLm9uYnVzLmNuL3VwbG9hZHMvc2hvcHBpbmcvODIvaW1hZ2VzLzIwNjRDNUVDLUY1M0MtNDFBQS05MUQ3LUU0RTAyOUQxNDRBMEBwQDE4MS5qcGdcIixcclxuICAgICAgcHJpY2U6MTAwLjAwXHJcbiAgICB9LFxyXG4gICAgZGVsaXZlcnlNZXRob2RzOiBbJ+WVhuWutumFjemAgScsICfliLDlupfoh6rmj5AnXSxcclxuICAgIGlzU2hvd1BpY2tlcjpmYWxzZSxcclxuICAgIGRlbGl2ZXJ5TWV0aG9kOiAn5ZWG5a626YWN6YCBJyxcclxuICAgIHBob25lOicnLFxyXG4gICAgYWRkcmVzczonJyxcclxuICAgIHVzZXJuYW1lOicnXHJcbiAgfSxcclxuICBvbkxvYWQoKSB7XHJcbiAgICBjb25zb2xlLmxvZyhhcHApO1xyXG4gIH0sXHJcbiAgb25SZWFkeSgpIHtcclxuICAgIHRoaXMuaW5pdFZhbGlkYXRvcigpXHJcbiAgfSxcclxuICBjaGVja1VzZXJuYW1lKGU6YW55KXtcclxuICAgIGxldCB7IHZhbHVlIH0gPSBlLmRldGFpbFxyXG4gICAgY29uc29sZS5sb2coZSk7XHJcbiAgICB2YWxpZGF0b3JJbnN0YW5jZS5jaGVja0ZpZWxkKCd1c2VybmFtZScsdmFsdWUpO1xyXG4gIH0sXHJcbiAgY2hlY2tQaG9uZShlOmFueSl7XHJcbiAgICBsZXQgeyB2YWx1ZSB9ID0gZS5kZXRhaWxcclxuICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgdmFsaWRhdG9ySW5zdGFuY2UuY2hlY2tGaWVsZCgncGhvbmUnLHZhbHVlKTtcclxuICB9LFxyXG4gIGNoZWNrQWRkcmVzcyhlOmFueSl7XHJcbiAgICBsZXQgeyB2YWx1ZSB9ID0gZS5kZXRhaWxcclxuICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgdmFsaWRhdG9ySW5zdGFuY2UuY2hlY2tGaWVsZCgnYWRkcmVzcycsdmFsdWUpO1xyXG4gIH0sXHJcbiAgLy8gY2hlY2tGaWVsZCh0eXBlOiBzdHJpbmcsdmFsdWU6IHN0cmluZyl7XHJcbiAgLy8gICB2YWxpZGF0b3JJbnN0YW5jZS5jaGVja0ZpZWxkKHR5cGUsdmFsdWUpO1xyXG4gIC8vIH0sXHJcbiAgb25TdWJtaXRPcmRlcigpIHtcclxuICAgIGlmICh2YWxpZGF0b3JJbnN0YW5jZS5jaGVja0FsbERhdGEoKSl7XHJcbiAgICAgIGNvbnNvbGUubG9nKCcuLi4u5o+Q5Lqk6K6i5Y2V5oiQ5YqfJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmxvZygn6L+Y5pyJ6ZSZ6K+v5pyq5aSE55CGJyk7XHJcbiAgICB9XHJcblxyXG4gIH0sXHJcbiAgLy8gb25QaWNrZXJDaGFuZ2UoZXZlbnQ6YW55KSB7XHJcbiAgLy8gICBjb25zdCB7dmFsdWUsIGluZGV4IH0gPSBldmVudC5kZXRhaWw7XHJcbiAgLy8gICBjb25zb2xlLmxvZyh2YWx1ZSxpbmRleCk7XHJcbiAgLy8gfSxcclxuICBzaG93UGlja2VyKCl7XHJcbiAgICB0aGlzLnNldERhdGEoe2lzU2hvd1BpY2tlcjp0cnVlfSk7XHJcbiAgfSxcclxuICBvblBpY2tlckNsb3NlKCl7XHJcbiAgICB0aGlzLnNldERhdGEoe2lzU2hvd1BpY2tlcjpmYWxzZX0pO1xyXG4gIH0sXHJcbiAgb25QaWNrZXJDb25maXJtKGV2ZW50OmFueSkge1xyXG4gICAgY29uc3QgeyB2YWx1ZSwgaW5kZXggfSA9IGV2ZW50LmRldGFpbDtcclxuICAgIGNvbnNvbGUubG9nKHZhbHVlLGluZGV4KTtcclxuICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgIGRlbGl2ZXJ5TWV0aG9kOiB2YWx1ZVxyXG4gICAgfSlcclxuICAgIHRoaXMub25QaWNrZXJDbG9zZSgpO1xyXG4gIH0sXHJcblxyXG4gIG9uUGlja2VyQ2FuY2VsKCkge1xyXG4gICAgY29uc29sZS5sb2coJ+WPlua2iCcpO1xyXG4gICAgdGhpcy5vblBpY2tlckNsb3NlKCk7XHJcbiAgfSxcclxuICAvLyB2YWxpZGF0b3JJbnN0YW5jZSgpe30sXHJcbiAgaW5pdFZhbGlkYXRvcigpe1xyXG4gICAgLy8g5a6e5L6L5YyWXHJcbiAgICB2YWxpZGF0b3JJbnN0YW5jZSA9IG5ldyBNeVZhbGlkYXRvcih7XHJcbiAgICAgIHJ1bGVzOiB7XHJcbiAgICAgICAgdXNlcm5hbWU6IHtcclxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgICAgICAgbGVuZ3RoOiAzXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwaG9uZToge1xyXG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXHJcbiAgICAgICAgICBtb2JpbGU6IHRydWVcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFkZHJlc3M6IHtcclxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgICAgICAgbGVuZ3RoOiAzXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgbWVzc2FnZXM6IHtcclxuICAgICAgICB1c2VybmFtZToge1xyXG4gICAgICAgICAgcmVxdWlyZWQ6ICfor7fovpPlhaXnlKjmiLflkI0nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcGhvbmU6IHtcclxuICAgICAgICAgIHJlcXVpcmVkOiAn6K+36L6T5YWl5omL5py65Y+3JyxcclxuICAgICAgICAgIG1vYmlsZTogJ+aJi+acuuWPt+agvOW8j+S4jeato+ehridcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFkZHJlc3M6IHtcclxuICAgICAgICAgIHJlcXVpcmVkOiAn6K+36L6T5YWl5pS26LSn5Zyw5Z2AJyxcclxuICAgICAgICAgIGxlbmd0aDogJ+ivt+i+k+WFpemVv+W6puS4ujPnmoTlrZfnrKbkuLInXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgbXVsdGlDaGVjazp0cnVlXHJcbiAgICB9LHRoaXMpXHJcbiAgfSxcclxufSlcclxuZXhwb3J0IHt9XHJcbiJdfQ==
\ No newline at end of file
diff --git a/pages/orderSubmit/orderSubmit.json b/pages/orderSubmit/orderSubmit.json
new file mode 100644
index 0000000..b3b3b66
--- /dev/null
+++ b/pages/orderSubmit/orderSubmit.json
@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "鎻愪氦璁㈠崟",
+  "usingComponents": {}
+}
diff --git a/pages/orderSubmit/orderSubmit.ts b/pages/orderSubmit/orderSubmit.ts
new file mode 100644
index 0000000..da4b303
--- /dev/null
+++ b/pages/orderSubmit/orderSubmit.ts
@@ -0,0 +1,113 @@
+// import WeValidator from "we-validator";
+// type Instance = {
+//   [propName: string] : any,
+// }
+// const WeValidator = require('we-validator');
+import MyValidator from "../../utils/myValidator";
+
+let validatorInstance:MyValidator;
+const app = getApp<IAppOption>();
+Page({
+  data: {
+    order:{
+      PhotoPath: "https://img.onbus.cn/uploads/shopping/82/images/2064C5EC-F53C-41AA-91D7-E4E029D144A0@p@181.jpg",
+      price:100.00
+    },
+    deliveryMethods: ['鍟嗗閰嶉��', '鍒板簵鑷彁'],
+    isShowPicker:false,
+    deliveryMethod: '鍟嗗閰嶉��',
+    phone:'',
+    address:'',
+    username:''
+  },
+  onLoad() {
+    console.log(app);
+  },
+  onReady() {
+    this.initValidator()
+  },
+  checkUsername(e:any){
+    let { value } = e.detail
+    console.log(e);
+    validatorInstance.checkField('username',value);
+  },
+  checkPhone(e:any){
+    let { value } = e.detail
+    console.log(e);
+    validatorInstance.checkField('phone',value);
+  },
+  checkAddress(e:any){
+    let { value } = e.detail
+    console.log(e);
+    validatorInstance.checkField('address',value);
+  },
+  // checkField(type: string,value: string){
+  //   validatorInstance.checkField(type,value);
+  // },
+  onSubmitOrder() {
+    if (validatorInstance.checkAllData()){
+      console.log('....鎻愪氦璁㈠崟鎴愬姛');
+    } else {
+      console.log('杩樻湁閿欒鏈鐞�');
+    }
+
+  },
+  // onPickerChange(event:any) {
+  //   const {value, index } = event.detail;
+  //   console.log(value,index);
+  // },
+  showPicker(){
+    this.setData({isShowPicker:true});
+  },
+  onPickerClose(){
+    this.setData({isShowPicker:false});
+  },
+  onPickerConfirm(event:any) {
+    const { value, index } = event.detail;
+    console.log(value,index);
+    this.setData({
+      deliveryMethod: value
+    })
+    this.onPickerClose();
+  },
+
+  onPickerCancel() {
+    console.log('鍙栨秷');
+    this.onPickerClose();
+  },
+  // validatorInstance(){},
+  initValidator(){
+    // 瀹炰緥鍖�
+    validatorInstance = new MyValidator({
+      rules: {
+        username: {
+          required: true,
+          length: 3
+        },
+        phone: {
+          required: true,
+          mobile: true
+        },
+        address: {
+          required: true,
+          length: 3
+        },
+      },
+      messages: {
+        username: {
+          required: '璇疯緭鍏ョ敤鎴峰悕',
+        },
+        phone: {
+          required: '璇疯緭鍏ユ墜鏈哄彿',
+          mobile: '鎵嬫満鍙锋牸寮忎笉姝g‘'
+        },
+        address: {
+          required: '璇疯緭鍏ユ敹璐у湴鍧�',
+          length: '璇疯緭鍏ラ暱搴︿负3鐨勫瓧绗︿覆'
+        },
+      },
+      multiCheck:true
+    },this)
+  },
+})
+export {}
diff --git a/pages/orderSubmit/orderSubmit.wxml b/pages/orderSubmit/orderSubmit.wxml
new file mode 100644
index 0000000..ef53178
--- /dev/null
+++ b/pages/orderSubmit/orderSubmit.wxml
@@ -0,0 +1,69 @@
+<!--pages/orderSubmit/orderSubmit.wxml-->
+<view class="container">
+  <view class="header">
+    <van-image fit="widthFix" width="100%" src="{{order.PhotoPath}}"></van-image>
+  </view>
+  <van-cell-group class="my-cell-group">
+    <van-cell class="my-cell" border="{{true}}" title="瑙勫垯璇︽儏" ></van-cell>
+    <van-field
+        class="my-cell"
+        value="{{ username }}"
+        name="username"
+        label="鐢ㄦ埛鍚�"
+        placeholder="璇疯緭鍏ョ敤鎴峰悕"
+        bind:blur="checkUsername"
+        error-message="{{usernameError}}"
+    />
+    <van-field
+        class="my-cell"
+        value="{{ phone }}"
+        name="phone"
+        label="鎵嬫満鍙�"
+        placeholder="璇疯緭鍏ユ墜鏈哄彿"
+        bind:blur="checkPhone"
+        error-message="{{phoneError}}"
+        border="{{ false }}"
+    />
+    <van-field
+        class="my-cell"
+        value="{{ address }}"
+        name="address"
+        label="鏀惰揣鍦板潃"
+        placeholder="璇疯緭鍏ユ敹璐у湴鍧�"
+        bind:blur="checkAddress"
+        error-message="{{addressError}}"
+        border="{{ false }}"
+    />
+  </van-cell-group>
+
+  <van-cell-group class="my-cell-group">
+    <van-cell bind:tap="showPicker" title-width="220rpx" class="my-cell seller" border="{{false}}" title="閰嶉�佹柟寮�" value="{{deliveryMethod}}" ></van-cell>
+  </van-cell-group>
+  <van-cell-group class="my-cell-group">
+    <van-cell title-width="220rpx" class="my-cell seller" border="{{false}}" title="瀹炰粯閲戦">
+      <view class="price">
+        锟{order.price}}
+      </view>
+    </van-cell>
+  </van-cell-group>
+</view>
+
+<van-popup
+    show="{{isShowPicker}}"
+    position="bottom"
+    custom-style="height: 50%;"
+    bind:close="onPickerClose"
+>
+  <van-picker
+      default-index="{{ 0 }}"
+      show-toolbar
+      title="閰嶉�佹柟寮�"
+      columns="{{ deliveryMethods }}"
+      bind:cancel="onPickerCancel"
+      bind:confirm="onPickerConfirm"
+   />
+</van-popup>
+
+<view class="footer text-center">
+  <van-button type="danger" bind:click="onSubmitOrder">纭鏀粯锛堬骏{{order.price}}锛�</van-button>
+</view>
diff --git a/pages/orderSubmit/orderSubmit.wxss b/pages/orderSubmit/orderSubmit.wxss
new file mode 100644
index 0000000..b1344e0
--- /dev/null
+++ b/pages/orderSubmit/orderSubmit.wxss
@@ -0,0 +1,35 @@
+/* pages/orderSubmit/orderSubmit.wxss */
+.container {
+  background-color: #f5f5f5;
+  padding: 0 10rpx 150rpx;
+}
+
+.my-cell .van-cell {
+  padding: 20rpx;
+  background-color: transparent;
+}
+
+.my-cell-group .van-cell-group {
+  margin-bottom: 10rpx;
+  border-radius: 15rpx;
+  background-color: #fff;
+}
+
+.header {
+  padding: 0 20rpx;
+}
+
+.footer{
+  position: fixed;
+  bottom: 0;
+  width: 100%;
+  height: 120rpx;
+  line-height: 120rpx;
+  background-color: #fff;
+}
+.my-cell-group .van-field__error-message,.my-cell-group .van-field__input{
+  text-align: right;
+}
+.price{
+  font-weight: bold;
+}
diff --git a/pages/verificationIdentity/verificationIdentity.js b/pages/verificationIdentity/verificationIdentity.js
new file mode 100644
index 0000000..44e8490
--- /dev/null
+++ b/pages/verificationIdentity/verificationIdentity.js
@@ -0,0 +1,56 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var myValidator_1 = require("../../utils/myValidator");
+var validatorInstance;
+var app = getApp();
+Page({
+    data: {},
+    onLoad: function () {
+        console.log(app);
+    },
+    checkUsername: function (e) {
+        var value = e.detail.value;
+        console.log(e);
+        validatorInstance.checkField('username', value);
+    },
+    checkIdNumber: function (e) {
+        var value = e.detail.value;
+        console.log(e);
+        validatorInstance.checkField('idNumber', value);
+    },
+    onSubmit: function () {
+        if (validatorInstance.checkAllData()) {
+            console.log('....鎻愪氦鎴愬姛');
+        }
+        else {
+            console.log('杩樻湁閿欒鏈鐞�');
+        }
+    },
+    onReady: function () {
+        this.initValidator();
+    },
+    initValidator: function () {
+        validatorInstance = new myValidator_1.default({
+            rules: {
+                username: {
+                    required: true,
+                    length: 3
+                },
+                idNumber: {
+                    required: true,
+                    idcard: true
+                },
+            },
+            messages: {
+                username: {
+                    required: '璇疯緭鍏ョ湡瀹炲鍚�',
+                },
+                idNumber: {
+                    required: '璇疯緭鍏ヨ韩浠借瘉鍙�'
+                },
+            },
+            multiCheck: true
+        }, this);
+    },
+});
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZpY2F0aW9uSWRlbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ2ZXJpZmljYXRpb25JZGVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHVEQUFrRDtBQUVsRCxJQUFJLGlCQUE2QixDQUFDO0FBQ2xDLElBQU0sR0FBRyxHQUFHLE1BQU0sRUFBYyxDQUFDO0FBQ2pDLElBQUksQ0FBQztJQUNILElBQUksRUFBRSxFQUVMO0lBQ0QsTUFBTTtRQUNKLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUNELGFBQWEsWUFBQyxDQUFLO1FBQ1gsSUFBQSxzQkFBSyxDQUFhO1FBQ3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDZixpQkFBaUIsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDRCxhQUFhLFlBQUMsQ0FBSztRQUNYLElBQUEsc0JBQUssQ0FBYTtRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2YsaUJBQWlCLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksaUJBQWlCLENBQUMsWUFBWSxFQUFFLEVBQUM7WUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN6QjthQUFNO1lBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFDRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ3RCLENBQUM7SUFDRCxhQUFhO1FBRVgsaUJBQWlCLEdBQUcsSUFBSSxxQkFBVyxDQUFDO1lBQ2xDLEtBQUssRUFBRTtnQkFDTCxRQUFRLEVBQUU7b0JBQ1IsUUFBUSxFQUFFLElBQUk7b0JBQ2QsTUFBTSxFQUFFLENBQUM7aUJBQ1Y7Z0JBQ0QsUUFBUSxFQUFFO29CQUNSLFFBQVEsRUFBRSxJQUFJO29CQUNkLE1BQU0sRUFBRSxJQUFJO2lCQUNiO2FBQ0Y7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsUUFBUSxFQUFFO29CQUNSLFFBQVEsRUFBRSxTQUFTO2lCQUNwQjtnQkFDRCxRQUFRLEVBQUU7b0JBQ1IsUUFBUSxFQUFFLFNBQVM7aUJBQ3BCO2FBQ0Y7WUFDRCxVQUFVLEVBQUMsSUFBSTtTQUNoQixFQUFDLElBQUksQ0FBQyxDQUFBO0lBQ1QsQ0FBQztDQUNGLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNeVZhbGlkYXRvciBmcm9tIFwiLi4vLi4vdXRpbHMvbXlWYWxpZGF0b3JcIjtcclxuXHJcbmxldCB2YWxpZGF0b3JJbnN0YW5jZTpNeVZhbGlkYXRvcjtcclxuY29uc3QgYXBwID0gZ2V0QXBwPElBcHBPcHRpb24+KCk7XHJcblBhZ2Uoe1xyXG4gIGRhdGE6IHtcclxuXHJcbiAgfSxcclxuICBvbkxvYWQoKSB7XHJcbiAgICBjb25zb2xlLmxvZyhhcHApO1xyXG4gIH0sXHJcbiAgY2hlY2tVc2VybmFtZShlOmFueSl7XHJcbiAgICBsZXQgeyB2YWx1ZSB9ID0gZS5kZXRhaWxcclxuICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgdmFsaWRhdG9ySW5zdGFuY2UuY2hlY2tGaWVsZCgndXNlcm5hbWUnLHZhbHVlKTtcclxuICB9LFxyXG4gIGNoZWNrSWROdW1iZXIoZTphbnkpe1xyXG4gICAgbGV0IHsgdmFsdWUgfSA9IGUuZGV0YWlsXHJcbiAgICBjb25zb2xlLmxvZyhlKTtcclxuICAgIHZhbGlkYXRvckluc3RhbmNlLmNoZWNrRmllbGQoJ2lkTnVtYmVyJyx2YWx1ZSk7XHJcbiAgfSxcclxuICBvblN1Ym1pdCgpe1xyXG4gICAgaWYgKHZhbGlkYXRvckluc3RhbmNlLmNoZWNrQWxsRGF0YSgpKXtcclxuICAgICAgY29uc29sZS5sb2coJy4uLi7mj5DkuqTmiJDlip8nKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCfov5jmnInplJnor6/mnKrlpITnkIYnKTtcclxuICAgIH1cclxuICB9LFxyXG4gIG9uUmVhZHkoKSB7XHJcbiAgICB0aGlzLmluaXRWYWxpZGF0b3IoKVxyXG4gIH0sXHJcbiAgaW5pdFZhbGlkYXRvcigpe1xyXG4gICAgLy8g5a6e5L6L5YyWXHJcbiAgICB2YWxpZGF0b3JJbnN0YW5jZSA9IG5ldyBNeVZhbGlkYXRvcih7XHJcbiAgICAgIHJ1bGVzOiB7XHJcbiAgICAgICAgdXNlcm5hbWU6IHtcclxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgICAgICAgbGVuZ3RoOiAzXHJcbiAgICAgICAgfSxcclxuICAgICAgICBpZE51bWJlcjoge1xyXG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXHJcbiAgICAgICAgICBpZGNhcmQ6IHRydWVcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBtZXNzYWdlczoge1xyXG4gICAgICAgIHVzZXJuYW1lOiB7XHJcbiAgICAgICAgICByZXF1aXJlZDogJ+ivt+i+k+WFpeecn+WunuWnk+WQjScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBpZE51bWJlcjoge1xyXG4gICAgICAgICAgcmVxdWlyZWQ6ICfor7fovpPlhaXouqvku73or4Hlj7cnXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgbXVsdGlDaGVjazp0cnVlXHJcbiAgICB9LHRoaXMpXHJcbiAgfSxcclxufSlcclxuZXhwb3J0IHt9XHJcbiJdfQ==
\ No newline at end of file
diff --git a/pages/verificationIdentity/verificationIdentity.json b/pages/verificationIdentity/verificationIdentity.json
new file mode 100644
index 0000000..e08cf06
--- /dev/null
+++ b/pages/verificationIdentity/verificationIdentity.json
@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "韬唤璁よ瘉",
+  "usingComponents": {}
+}
diff --git a/pages/verificationIdentity/verificationIdentity.ts b/pages/verificationIdentity/verificationIdentity.ts
new file mode 100644
index 0000000..1aa46cf
--- /dev/null
+++ b/pages/verificationIdentity/verificationIdentity.ts
@@ -0,0 +1,57 @@
+import MyValidator from "../../utils/myValidator";
+
+let validatorInstance:MyValidator;
+const app = getApp<IAppOption>();
+Page({
+  data: {
+
+  },
+  onLoad() {
+    console.log(app);
+  },
+  checkUsername(e:any){
+    let { value } = e.detail
+    console.log(e);
+    validatorInstance.checkField('username',value);
+  },
+  checkIdNumber(e:any){
+    let { value } = e.detail
+    console.log(e);
+    validatorInstance.checkField('idNumber',value);
+  },
+  onSubmit(){
+    if (validatorInstance.checkAllData()){
+      console.log('....鎻愪氦鎴愬姛');
+    } else {
+      console.log('杩樻湁閿欒鏈鐞�');
+    }
+  },
+  onReady() {
+    this.initValidator()
+  },
+  initValidator(){
+    // 瀹炰緥鍖�
+    validatorInstance = new MyValidator({
+      rules: {
+        username: {
+          required: true,
+          length: 3
+        },
+        idNumber: {
+          required: true,
+          idcard: true
+        },
+      },
+      messages: {
+        username: {
+          required: '璇疯緭鍏ョ湡瀹炲鍚�',
+        },
+        idNumber: {
+          required: '璇疯緭鍏ヨ韩浠借瘉鍙�'
+        },
+      },
+      multiCheck:true
+    },this)
+  },
+})
+export {}
diff --git a/pages/verificationIdentity/verificationIdentity.wxml b/pages/verificationIdentity/verificationIdentity.wxml
new file mode 100644
index 0000000..8019051
--- /dev/null
+++ b/pages/verificationIdentity/verificationIdentity.wxml
@@ -0,0 +1,35 @@
+<!--pages/verificationAccount/verificationAccount.wxml-->
+<view class="container">
+  <view class="content text-center">
+    <view class="header">
+      <icon class="iconfont icon-yonghuziliao"></icon>
+      <view class="desc">
+        涓轰繚闅滀綘鐨勮祫閲戝畨鍏紝璇疯緭鍏ヤ笌鏈井淇$粦瀹氱殑韬唤璇佷欢淇℃伅锛屽淇℃伅涓嶇浼氬鑷存彁鐜板け璐ャ��
+      </view>
+    </view>
+    <van-cell-group class="my-cell-group">
+      <van-field
+          class="my-cell"
+          value="{{ username }}"
+          name="username"
+          label="濮撳悕"
+          placeholder="璇疯緭鍏ョ湡瀹炲鍚�"
+          bind:blur="checkUsername"
+          error-message="{{usernameError}}"
+      />
+      <van-field
+          class="my-cell"
+          value="{{ idNumber }}"
+          name="idNumber"
+          label="璇佷欢鍙�"
+          placeholder="璇疯緭鍏ヨ韩浠借瘉浠跺彿鐮�"
+          bind:blur="checkIdNumber"
+          error-message="{{idNumberError}}"
+          border="{{ false }}"
+      />
+    </van-cell-group>
+
+    <van-button type="default" class="order-button" bind:click="onSubmit">瀹屾垚</van-button>
+  </view>
+
+</view>
diff --git a/pages/verificationIdentity/verificationIdentity.wxss b/pages/verificationIdentity/verificationIdentity.wxss
new file mode 100644
index 0000000..b52a314
--- /dev/null
+++ b/pages/verificationIdentity/verificationIdentity.wxss
@@ -0,0 +1,36 @@
+/* pages/verificationAccount/verificationAccount.wxss */
+page{
+  height: 100%;
+  background-color: var(--container-bgcolor);
+}
+.container {
+  background-color: var(--container-bgcolor);
+  padding: 30rpx 20rpx;
+}
+.content{
+  padding: 50rpx 30rpx;
+  background-color: #fff;
+}
+.header{
+  padding: 20rpx 0;
+}
+.icon-yonghuziliao{
+  color: var(--theme-color);
+  font-size: 88rpx;
+  margin: 20rpx 0;
+}
+.my-cell-group .van-cell-group {
+  margin: 50rpx 0;
+}
+.my-cell .van-cell {
+  padding: 20rpx;
+  background-color: transparent;
+}
+.my-cell .van-field__label{
+  text-align: left;
+}
+.order-button .van-button{
+  background-color: var(--theme-color);
+  padding: 0 150rpx;
+  color: #fff;
+}
diff --git a/project.config.json b/project.config.json
index e3d410d..ab11169 100644
--- a/project.config.json
+++ b/project.config.json
@@ -49,5 +49,24 @@
   "simulatorType": "wechat",
   "simulatorPluginLibVersion": {},
   "appid": "wxec78156626302b78",
-  "condition": {}
+  "condition": {
+    "plugin": {
+      "list": []
+    },
+    "game": {
+      "list": []
+    },
+    "gamePlugin": {
+      "list": []
+    },
+    "miniprogram": {
+      "list": [
+        {
+          "name": "鎻愪氦璁㈠崟",
+          "pathName": "pages/orderSubmit/orderSubmit",
+          "scene": null
+        }
+      ]
+    }
+  }
 }
\ No newline at end of file
diff --git a/utils/myValidator.js b/utils/myValidator.js
new file mode 100644
index 0000000..15f1ba8
--- /dev/null
+++ b/utils/myValidator.js
@@ -0,0 +1,50 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var WeValidator = require('we-validator');
+var MyValidator = (function () {
+    function MyValidator(options, pageInstance) {
+        this.options = options;
+        this.pageInstance = pageInstance;
+        this.options = options;
+        this.validator = new WeValidator(options);
+        this.pageInstance = pageInstance;
+    }
+    MyValidator.prototype.checkField = function (type, value) {
+        var _this = this;
+        var _a, _b, _c;
+        value = value.trim();
+        this.pageInstance.setData((_a = {}, _a[type] = value, _a));
+        if (!this.validator.checkFields((_b = {}, _b[type] = value, _b), ["" + type], function (data) {
+            var _a;
+            console.log(data);
+            _this.pageInstance.setData((_a = {},
+                _a[type + "Error"] = data[type].msg,
+                _a));
+        }))
+            return;
+        this.pageInstance.setData((_c = {},
+            _c[type + "Error"] = '',
+            _c));
+    };
+    MyValidator.prototype.checkAllData = function () {
+        var _this = this;
+        var value = {};
+        var keys = Object.keys(this.options.rules);
+        keys.forEach(function (key) {
+            value[key] = _this.pageInstance.data[key];
+        });
+        return this.validator.checkData(value, function (data) {
+            console.log(data);
+            var error = {};
+            for (var type in data) {
+                if (data.hasOwnProperty(type)) {
+                    error[type + "Error"] = data[type].msg;
+                }
+            }
+            _this.pageInstance.setData(error);
+        });
+    };
+    return MyValidator;
+}());
+exports.default = MyValidator;
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXlWYWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJteVZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVVBLElBQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUU1QztJQUVFLHFCQUFtQixPQUFlLEVBQVEsWUFBZ0I7UUFBdkMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUFRLGlCQUFZLEdBQVosWUFBWSxDQUFJO1FBQ3hELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUNELGdDQUFVLEdBQVYsVUFBVyxJQUFZLEVBQUMsS0FBYTtRQUFyQyxpQkFnQkM7O1FBZkMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sV0FBRSxHQUFDLElBQUksSUFBRSxLQUFLLE1BQUUsQ0FBQztRQUMxQyxJQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLFdBQUUsR0FBQyxJQUFJLElBQUUsS0FBSyxPQUFFLENBQUMsS0FBRyxJQUFNLENBQUMsRUFBQyxVQUFDLElBQVE7O1lBQ2pFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEIsS0FBSSxDQUFDLFlBQVksQ0FBQyxPQUFPO2dCQUN2QixHQUFJLElBQUksVUFBTyxJQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHO29CQUMvQixDQUFBO1FBQ0osQ0FBQyxDQUFDO1lBQUUsT0FBTTtRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTztZQUN2QixHQUFJLElBQUksVUFBTyxJQUFFLEVBQUU7Z0JBQ25CLENBQUE7SUFLSixDQUFDO0lBQ0Qsa0NBQVksR0FBWjtRQUFBLGlCQW1CQztRQWZDLElBQUksS0FBSyxHQUFPLEVBQUUsQ0FBQztRQUNuQixJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFDLEdBQUc7WUFDZixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUMsQ0FBQyxDQUFDLENBQUE7UUFDRixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBQyxVQUFDLElBQVE7WUFDN0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQixJQUFJLEtBQUssR0FBYyxFQUFFLENBQUM7WUFDMUIsS0FBSyxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7Z0JBQ3JCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDN0IsS0FBSyxDQUFJLElBQUksVUFBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQTtpQkFDdkM7YUFDRjtZQUNELEtBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2xDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNILGtCQUFDO0FBQUQsQ0FBQyxBQTVDRCxJQTRDQztBQUVELGtCQUFlLFdBQVcsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIGludGVyZmFjZSB3ZVZhbGlkYXRvciB7XHJcbi8vICAgY2hlY2tGaWVsZHMoZGF0YTogb2JqZWN0LCBmaWVsZHM6QXJyYXk8c3RyaW5nPiwgb25NZXNzYWdlPzogRnVuY3Rpb24sIHNob3dNZXNzYWdlPzogYm9vbGVhbik6Ym9vbGVhbjtcclxuLy8gICBjaGVja0RhdGEoZGF0YTogb2JqZWN0LCBvbk1lc3NhZ2U/OiBGdW5jdGlvbiwgc2hvd01lc3NhZ2U/OiBib29sZWFuLCBmaWVsZE1hcD86IG9iamVjdCk6IGJvb2xlYW47XHJcbi8vIH1cclxudHlwZSBPcHRpb25zID0ge1xyXG4gIHJ1bGVzOiBvYmplY3QsXHJcbiAgbWVzc2FnZXM6IG9iamVjdCxcclxuICBvbk1lc3NhZ2U/OiBGdW5jdGlvbixcclxuICBtdWx0aUNoZWNrPzogYm9vbGVhblxyXG59XHJcbmNvbnN0IFdlVmFsaWRhdG9yID0gcmVxdWlyZSgnd2UtdmFsaWRhdG9yJyk7XHJcblxyXG5jbGFzcyBNeVZhbGlkYXRvciB7XHJcbiAgcHVibGljIHZhbGlkYXRvcjogYW55XHJcbiAgY29uc3RydWN0b3IocHVibGljIG9wdGlvbnM6T3B0aW9ucyxwdWJsaWMgcGFnZUluc3RhbmNlOmFueSkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICAgIHRoaXMudmFsaWRhdG9yID0gbmV3IFdlVmFsaWRhdG9yKG9wdGlvbnMpO1xyXG4gICAgdGhpcy5wYWdlSW5zdGFuY2UgPSBwYWdlSW5zdGFuY2U7XHJcbiAgfVxyXG4gIGNoZWNrRmllbGQodHlwZTogc3RyaW5nLHZhbHVlOiBzdHJpbmcpe1xyXG4gICAgdmFsdWUgPSB2YWx1ZS50cmltKCk7XHJcbiAgICB0aGlzLnBhZ2VJbnN0YW5jZS5zZXREYXRhKHtbdHlwZV06dmFsdWV9KTtcclxuICAgIGlmKCF0aGlzLnZhbGlkYXRvci5jaGVja0ZpZWxkcyh7W3R5cGVdOnZhbHVlfSxbYCR7dHlwZX1gXSwoZGF0YTphbnkpPT57XHJcbiAgICAgIGNvbnNvbGUubG9nKGRhdGEpO1xyXG4gICAgICB0aGlzLnBhZ2VJbnN0YW5jZS5zZXREYXRhKHtcclxuICAgICAgICBbYCR7dHlwZX1FcnJvcmBdOmRhdGFbdHlwZV0ubXNnXHJcbiAgICAgIH0pXHJcbiAgICB9KSkgcmV0dXJuXHJcbiAgICB0aGlzLnBhZ2VJbnN0YW5jZS5zZXREYXRhKHtcclxuICAgICAgW2Ake3R5cGV9RXJyb3JgXTonJ1xyXG4gICAgfSlcclxuICAgIC8vIGNvbnNvbGUubG9nKCh0aGlzIGFzIGFueSkudmFsaWRhdG9ySW5zdGFuY2UuY2hlY2tGaWVsZHMoe3VzZXJuYW1lOnZhbHVlfSxbJ3VzZXJuYW1lJ10pKTtcclxuICAgIC8vIGNvbnNvbGUubG9nKCh0aGlzIGFzIGFueSkudmFsaWRhdG9ySW5zdGFuY2UuaXNWYWxpZCh7dXNlcm5hbWU6dmFsdWV9LFsndXNlcm5hbWUnXSkpO1xyXG5cclxuICAgIC8vIGlmKCEodGhpcyBhcyBhbnkpLnZhbGlkYXRvckluc3RhbmNlLmNoZWNrRGF0YSh2YWx1ZSkpIHJldHVyblxyXG4gIH1cclxuICBjaGVja0FsbERhdGEoKTpib29sZWFuIHtcclxuICAgIGludGVyZmFjZSBlcnJvclR5cGUge1xyXG4gICAgICBbcHJvcGVydHk6c3RyaW5nXTphbnk7XHJcbiAgICB9XHJcbiAgICBsZXQgdmFsdWU6YW55ID0ge307XHJcbiAgICBsZXQga2V5cyA9IE9iamVjdC5rZXlzKHRoaXMub3B0aW9ucy5ydWxlcyk7XHJcbiAgICBrZXlzLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICB2YWx1ZVtrZXldID0gdGhpcy5wYWdlSW5zdGFuY2UuZGF0YVtrZXldXHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdG9yLmNoZWNrRGF0YSh2YWx1ZSwoZGF0YTphbnkpPT57XHJcbiAgICAgIGNvbnNvbGUubG9nKGRhdGEpO1xyXG4gICAgICBsZXQgZXJyb3I6IGVycm9yVHlwZSA9IHt9O1xyXG4gICAgICBmb3IgKGxldCB0eXBlIGluIGRhdGEpIHtcclxuICAgICAgICBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eSh0eXBlKSkge1xyXG4gICAgICAgICAgZXJyb3JbYCR7dHlwZX1FcnJvcmBdID0gZGF0YVt0eXBlXS5tc2dcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5wYWdlSW5zdGFuY2Uuc2V0RGF0YShlcnJvcilcclxuICAgIH0pXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBNeVZhbGlkYXRvclxyXG4iXX0=
\ No newline at end of file
diff --git a/utils/myValidator.ts b/utils/myValidator.ts
new file mode 100644
index 0000000..da23296
--- /dev/null
+++ b/utils/myValidator.ts
@@ -0,0 +1,59 @@
+// interface weValidator {
+//   checkFields(data: object, fields:Array<string>, onMessage?: Function, showMessage?: boolean):boolean;
+//   checkData(data: object, onMessage?: Function, showMessage?: boolean, fieldMap?: object): boolean;
+// }
+type Options = {
+  rules: object,
+  messages: object,
+  onMessage?: Function,
+  multiCheck?: boolean
+}
+const WeValidator = require('we-validator');
+
+class MyValidator {
+  public validator: any
+  constructor(public options:Options,public pageInstance:any) {
+    this.options = options;
+    this.validator = new WeValidator(options);
+    this.pageInstance = pageInstance;
+  }
+  checkField(type: string,value: string){
+    value = value.trim();
+    this.pageInstance.setData({[type]:value});
+    if(!this.validator.checkFields({[type]:value},[`${type}`],(data:any)=>{
+      console.log(data);
+      this.pageInstance.setData({
+        [`${type}Error`]:data[type].msg
+      })
+    })) return
+    this.pageInstance.setData({
+      [`${type}Error`]:''
+    })
+    // console.log((this as any).validatorInstance.checkFields({username:value},['username']));
+    // console.log((this as any).validatorInstance.isValid({username:value},['username']));
+
+    // if(!(this as any).validatorInstance.checkData(value)) return
+  }
+  checkAllData():boolean {
+    interface errorType {
+      [property:string]:any;
+    }
+    let value:any = {};
+    let keys = Object.keys(this.options.rules);
+    keys.forEach((key) => {
+      value[key] = this.pageInstance.data[key]
+    })
+    return this.validator.checkData(value,(data:any)=>{
+      console.log(data);
+      let error: errorType = {};
+      for (let type in data) {
+        if (data.hasOwnProperty(type)) {
+          error[`${type}Error`] = data[type].msg
+        }
+      }
+      this.pageInstance.setData(error)
+    })
+  }
+}
+
+export default MyValidator

--
Gitblit v1.8.0