From 7bfd53851effed96d2e716045df271e623ac93fa Mon Sep 17 00:00:00 2001
From: Drawfans <13729154527@qq.com>
Date: Tue, 9 Jun 2020 16:17:23 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BB=BF=E4=BA=92=E7=AB=99=E5=B0=8F=E7=A8=8B?=
=?UTF-8?q?=E5=BA=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
__wuBaseWxss__/0.wxss | 2006 +++++++++++++++++++++++++++
__wuBaseWxss__/1.wxss | 868 ++++++++++++
app.js | 8 +
app.json | 51 +
app.wxss | 21 +
common/WxValidate.js | 290 ++++
common/common.js | 1058 ++++++++++++++
pages/index/article.js | 63 +
pages/index/article.json | 18 +
pages/index/article.wxml | 4 +
pages/index/article.wxss | 260 ++++
pages/index/index.js | 89 ++
pages/index/index.json | 12 +
pages/index/index.wxml | 13 +
pages/index/index.wxss | 214 +++
pages/index/list.js | 182 +++
pages/index/list.json | 22 +
pages/index/list.wxml | 256 ++++
pages/index/list.wxss | 962 +++++++++++++
pages/index/shop.js | 106 ++
pages/index/shop.json | 15 +
pages/index/shop.wxml | 117 ++
pages/index/shop.wxss | 287 ++++
pages/index/show.js | 131 ++
pages/index/show.json | 25 +
pages/index/show.wxml | 238 ++++
pages/index/show.wxss | 630 +++++++++
pages/member/cart.js | 223 +++
pages/member/cart.json | 15 +
pages/member/cart.wxml | 111 ++
pages/member/cart.wxss | 294 ++++
pages/member/html.js | 115 ++
pages/member/html.json | 25 +
pages/member/html.wxml | 4 +
pages/member/html.wxss | 5 +
pages/member/list/detail.js | 123 ++
pages/member/list/detail.json | 16 +
pages/member/list/detail.wxml | 27 +
pages/member/list/detail.wxss | 5 +
pages/member/list/fav.js | 144 ++
pages/member/list/fav.json | 12 +
pages/member/list/fav.wxml | 125 ++
pages/member/list/fav.wxss | 114 ++
pages/member/list/manage.js | 209 +++
pages/member/list/manage.json | 26 +
pages/member/list/manage.wxml | 90 ++
pages/member/list/manage.wxss | 233 ++++
pages/member/list/message.js | 134 ++
pages/member/list/message.json | 13 +
pages/member/list/message.wxml | 20 +
pages/member/list/message.wxss | 45 +
pages/member/list/order.js | 217 +++
pages/member/list/order.json | 23 +
pages/member/list/order.wxml | 57 +
pages/member/list/order.wxss | 169 +++
pages/member/login.js | 167 +++
pages/member/login.json | 14 +
pages/member/login.wxml | 60 +
pages/member/login.wxss | 67 +
pages/member/member.js | 72 +
pages/member/member.json | 16 +
pages/member/member.wxml | 5 +
pages/member/member.wxss | 361 +++++
pages/member/myorder.js | 179 +++
pages/member/myorder.json | 25 +
pages/member/myorder.wxml | 111 ++
pages/member/myorder.wxss | 652 +++++++++
project.config.json | 53 +
sitemap.json | 9 +
sitemap96.json | 7 +
static/images/cart.png | Bin 0 -> 1550 bytes
static/images/cart_hover.png | Bin 0 -> 1441 bytes
static/images/home.png | Bin 0 -> 1354 bytes
static/images/home_hover.png | Bin 0 -> 1241 bytes
static/images/my.png | Bin 0 -> 1742 bytes
static/images/my_hover.png | Bin 0 -> 1348 bytes
template/member.wxml | 7 +
template/member.wxss | 0
template/template.wxml | 492 +++++++
template/template.wxss | 0
utils/count-down/index.js | 107 ++
utils/count-down/index.json | 13 +
utils/count-down/index.wxml | 2 +
utils/count-down/index.wxss | 0
utils/forview/index.js | 15 +
utils/forview/index.json | 13 +
utils/forview/index.wxml | 8 +
utils/forview/index.wxss | 0
utils/tools.wxs | 41 +
vant/action-sheet/index.js | 38 +
vant/action-sheet/index.json | 13 +
vant/action-sheet/index.wxml | 20 +
vant/action-sheet/index.wxss | 60 +
vant/area/index.js | 155 +++
vant/area/index.json | 14 +
vant/area/index.wxml | 1 +
vant/area/index.wxss | 68 +
vant/badge-group/index.js | 34 +
vant/badge-group/index.json | 13 +
vant/badge-group/index.wxml | 3 +
vant/badge-group/index.wxss | 5 +
vant/badge/index.js | 29 +
vant/badge/index.json | 14 +
vant/badge/index.wxml | 7 +
vant/badge/index.wxss | 41 +
vant/button/index.js | 54 +
vant/button/index.json | 13 +
vant/button/index.wxml | 15 +
vant/button/index.wxss | 219 +++
vant/card/index.js | 31 +
vant/card/index.json | 14 +
vant/card/index.wxml | 27 +
vant/card/index.wxss | 89 ++
vant/cell-group/index.js | 9 +
vant/cell-group/index.json | 13 +
vant/cell-group/index.wxml | 6 +
vant/cell-group/index.wxss | 8 +
vant/cell/index.js | 34 +
vant/cell/index.json | 13 +
vant/cell/index.wxml | 22 +
vant/cell/index.wxss | 127 ++
vant/checkbox-group/index.js | 35 +
vant/checkbox-group/index.json | 13 +
vant/checkbox-group/index.wxml | 1 +
vant/checkbox-group/index.wxss | 1 +
vant/checkbox/index.js | 47 +
vant/checkbox/index.json | 13 +
vant/checkbox/index.wxml | 10 +
vant/checkbox/index.wxss | 65 +
vant/col/index.js | 21 +
vant/col/index.json | 13 +
vant/col/index.wxml | 4 +
vant/col/index.wxss | 198 +++
vant/collapse-item/index.js | 85 ++
vant/collapse-item/index.json | 14 +
vant/collapse-item/index.wxml | 14 +
vant/collapse-item/index.wxss | 34 +
vant/collapse/index.js | 44 +
vant/collapse/index.json | 13 +
vant/collapse/index.wxml | 3 +
vant/collapse/index.wxss | 1 +
vant/common/color.js | 5 +
vant/common/component.js | 44 +
vant/common/utils.js | 34 +
vant/datetime-picker/index.js | 238 ++++
vant/datetime-picker/index.json | 14 +
vant/datetime-picker/index.wxml | 1 +
vant/datetime-picker/index.wxss | 1 +
vant/dialog/dialog.js | 54 +
vant/dialog/index.js | 99 ++
vant/dialog/index.json | 13 +
vant/dialog/index.wxml | 18 +
vant/dialog/index.wxss | 68 +
vant/field/index.js | 150 ++
vant/field/index.json | 14 +
vant/field/index.wxml | 29 +
vant/field/index.wxss | 104 ++
vant/goods-action-button/index.js | 37 +
vant/goods-action-button/index.json | 13 +
vant/goods-action-button/index.wxml | 4 +
vant/goods-action-button/index.wxss | 45 +
vant/goods-action-icon/index.js | 19 +
vant/goods-action-icon/index.json | 13 +
vant/goods-action-icon/index.wxml | 7 +
vant/goods-action-icon/index.wxss | 23 +
vant/goods-action/index.js | 23 +
vant/goods-action/index.json | 13 +
vant/goods-action/index.wxml | 4 +
vant/goods-action/index.wxss | 17 +
vant/icon/index.js | 18 +
vant/icon/index.json | 14 +
vant/icon/index.wxml | 5 +
vant/icon/index.wxss | 1279 +++++++++++++++++
vant/info/index.js | 6 +
vant/info/index.json | 13 +
vant/info/index.wxml | 1 +
vant/info/index.wxss | 22 +
vant/loading/index.js | 16 +
vant/loading/index.json | 13 +
vant/loading/index.wxml | 5 +
vant/loading/index.wxss | 128 ++
vant/mixins/basic.js | 19 +
vant/mixins/button.js | 22 +
vant/mixins/link.js | 21 +
vant/mixins/observer/behavior.js | 37 +
vant/mixins/observer/index.js | 21 +
vant/mixins/observer/props.js | 14 +
vant/mixins/open-type.js | 29 +
vant/mixins/safe-area.js | 46 +
vant/mixins/touch.js | 18 +
vant/mixins/transition.js | 91 ++
vant/nav-bar/index.js | 31 +
vant/nav-bar/index.json | 13 +
vant/nav-bar/index.wxml | 18 +
vant/nav-bar/index.wxss | 60 +
vant/notice-bar/index.js | 127 ++
vant/notice-bar/index.json | 13 +
vant/notice-bar/index.wxml | 12 +
vant/notice-bar/index.wxss | 56 +
vant/notify/index.js | 39 +
vant/notify/index.json | 14 +
vant/notify/index.wxml | 4 +
vant/notify/index.wxss | 17 +
vant/notify/notify.js | 22 +
vant/overlay/index.js | 21 +
vant/overlay/index.json | 14 +
vant/overlay/index.wxml | 1 +
vant/overlay/index.wxss | 9 +
vant/panel/index.js | 9 +
vant/panel/index.json | 14 +
vant/panel/index.wxml | 10 +
vant/panel/index.wxss | 13 +
vant/picker-column/index.js | 113 ++
vant/picker-column/index.json | 13 +
vant/picker-column/index.wxml | 14 +
vant/picker-column/index.wxss | 21 +
vant/picker/index.js | 110 ++
vant/picker/index.json | 15 +
vant/picker/index.wxml | 24 +
vant/picker/index.wxss | 66 +
vant/picker/shared.js | 25 +
vant/popup/index.js | 66 +
vant/popup/index.json | 14 +
vant/popup/index.wxml | 14 +
vant/popup/index.wxss | 136 ++
vant/progress/index.js | 61 +
vant/progress/index.json | 13 +
vant/progress/index.wxml | 7 +
vant/progress/index.wxss | 36 +
vant/radio-group/index.js | 43 +
vant/radio-group/index.json | 13 +
vant/radio-group/index.wxml | 1 +
vant/radio-group/index.wxss | 1 +
vant/radio/index.js | 37 +
vant/radio/index.json | 13 +
vant/radio/index.wxml | 12 +
vant/radio/index.wxss | 64 +
vant/rate/index.js | 79 ++
vant/rate/index.json | 13 +
vant/rate/index.wxml | 3 +
vant/rate/index.wxss | 11 +
vant/row/index.js | 28 +
vant/row/index.json | 13 +
vant/row/index.wxml | 3 +
vant/row/index.wxss | 7 +
vant/search/index.js | 56 +
vant/search/index.json | 14 +
vant/search/index.wxml | 12 +
vant/search/index.wxss | 52 +
vant/slider/index.js | 73 +
vant/slider/index.json | 13 +
vant/slider/index.wxml | 9 +
vant/slider/index.wxss | 41 +
vant/stepper/index.js | 142 ++
vant/stepper/index.json | 13 +
vant/stepper/index.wxml | 7 +
vant/stepper/index.wxss | 112 ++
vant/steps/index.js | 17 +
vant/steps/index.json | 13 +
vant/steps/index.wxml | 27 +
vant/steps/index.wxss | 153 ++
vant/submit-bar/index.js | 55 +
vant/submit-bar/index.json | 13 +
vant/submit-bar/index.wxml | 25 +
vant/submit-bar/index.wxss | 94 ++
vant/swipe-cell/index.js | 68 +
vant/swipe-cell/index.json | 13 +
vant/swipe-cell/index.wxml | 11 +
vant/swipe-cell/index.wxss | 22 +
vant/switch-cell/index.js | 42 +
vant/switch-cell/index.json | 15 +
vant/switch-cell/index.wxml | 3 +
vant/switch-cell/index.wxss | 10 +
vant/switch/index.js | 44 +
vant/switch/index.json | 13 +
vant/switch/index.wxml | 6 +
vant/switch/index.wxss | 45 +
vant/tab/index.js | 35 +
vant/tab/index.json | 13 +
vant/tab/index.wxml | 4 +
vant/tab/index.wxss | 15 +
vant/tabbar-item/index.js | 29 +
vant/tabbar-item/index.json | 14 +
vant/tabbar-item/index.wxml | 14 +
vant/tabbar-item/index.wxss | 39 +
vant/tabbar/index.js | 54 +
vant/tabbar/index.json | 13 +
vant/tabbar/index.wxml | 4 +
vant/tabbar/index.wxss | 18 +
vant/tabs/index.js | 261 ++++
vant/tabs/index.json | 14 +
vant/tabs/index.wxml | 31 +
vant/tabs/index.wxss | 135 ++
vant/tag/index.js | 34 +
vant/tag/index.json | 13 +
vant/tag/index.wxml | 4 +
vant/tag/index.wxss | 40 +
vant/toast/index.js | 27 +
vant/toast/index.json | 15 +
vant/toast/index.wxml | 12 +
vant/toast/index.wxss | 56 +
vant/toast/toast.js | 57 +
vant/transition/index.js | 6 +
vant/transition/index.json | 13 +
vant/transition/index.wxml | 3 +
vant/transition/index.wxss | 61 +
vant/tree-select/index.js | 64 +
vant/tree-select/index.json | 14 +
vant/tree-select/index.wxml | 14 +
vant/tree-select/index.wxss | 74 +
vant/wxs/array.wxs | 4 +
vant/wxs/bem.wxs | 38 +
vant/wxs/memoize.wxs | 39 +
vant/wxs/object.wxs | 8 +
vant/wxs/utils.wxs | 11 +
wxParse/html2json.js | 103 ++
wxParse/htmlparser.js | 48 +
wxParse/wxDiscode.js | 74 +
wxParse/wxParse.js | 75 +
wxParse/wxParse.wxml | 386 ++++++
wxParse/wxParse.wxss | 249 ++++
321 files changed, 22890 insertions(+)
create mode 100644 __wuBaseWxss__/0.wxss
create mode 100644 __wuBaseWxss__/1.wxss
create mode 100644 app.js
create mode 100644 app.json
create mode 100644 app.wxss
create mode 100644 common/WxValidate.js
create mode 100644 common/common.js
create mode 100644 pages/index/article.js
create mode 100644 pages/index/article.json
create mode 100644 pages/index/article.wxml
create mode 100644 pages/index/article.wxss
create mode 100644 pages/index/index.js
create mode 100644 pages/index/index.json
create mode 100644 pages/index/index.wxml
create mode 100644 pages/index/index.wxss
create mode 100644 pages/index/list.js
create mode 100644 pages/index/list.json
create mode 100644 pages/index/list.wxml
create mode 100644 pages/index/list.wxss
create mode 100644 pages/index/shop.js
create mode 100644 pages/index/shop.json
create mode 100644 pages/index/shop.wxml
create mode 100644 pages/index/shop.wxss
create mode 100644 pages/index/show.js
create mode 100644 pages/index/show.json
create mode 100644 pages/index/show.wxml
create mode 100644 pages/index/show.wxss
create mode 100644 pages/member/cart.js
create mode 100644 pages/member/cart.json
create mode 100644 pages/member/cart.wxml
create mode 100644 pages/member/cart.wxss
create mode 100644 pages/member/html.js
create mode 100644 pages/member/html.json
create mode 100644 pages/member/html.wxml
create mode 100644 pages/member/html.wxss
create mode 100644 pages/member/list/detail.js
create mode 100644 pages/member/list/detail.json
create mode 100644 pages/member/list/detail.wxml
create mode 100644 pages/member/list/detail.wxss
create mode 100644 pages/member/list/fav.js
create mode 100644 pages/member/list/fav.json
create mode 100644 pages/member/list/fav.wxml
create mode 100644 pages/member/list/fav.wxss
create mode 100644 pages/member/list/manage.js
create mode 100644 pages/member/list/manage.json
create mode 100644 pages/member/list/manage.wxml
create mode 100644 pages/member/list/manage.wxss
create mode 100644 pages/member/list/message.js
create mode 100644 pages/member/list/message.json
create mode 100644 pages/member/list/message.wxml
create mode 100644 pages/member/list/message.wxss
create mode 100644 pages/member/list/order.js
create mode 100644 pages/member/list/order.json
create mode 100644 pages/member/list/order.wxml
create mode 100644 pages/member/list/order.wxss
create mode 100644 pages/member/login.js
create mode 100644 pages/member/login.json
create mode 100644 pages/member/login.wxml
create mode 100644 pages/member/login.wxss
create mode 100644 pages/member/member.js
create mode 100644 pages/member/member.json
create mode 100644 pages/member/member.wxml
create mode 100644 pages/member/member.wxss
create mode 100644 pages/member/myorder.js
create mode 100644 pages/member/myorder.json
create mode 100644 pages/member/myorder.wxml
create mode 100644 pages/member/myorder.wxss
create mode 100644 project.config.json
create mode 100644 sitemap.json
create mode 100644 sitemap96.json
create mode 100644 static/images/cart.png
create mode 100644 static/images/cart_hover.png
create mode 100644 static/images/home.png
create mode 100644 static/images/home_hover.png
create mode 100644 static/images/my.png
create mode 100644 static/images/my_hover.png
create mode 100644 template/member.wxml
create mode 100644 template/member.wxss
create mode 100644 template/template.wxml
create mode 100644 template/template.wxss
create mode 100644 utils/count-down/index.js
create mode 100644 utils/count-down/index.json
create mode 100644 utils/count-down/index.wxml
create mode 100644 utils/count-down/index.wxss
create mode 100644 utils/forview/index.js
create mode 100644 utils/forview/index.json
create mode 100644 utils/forview/index.wxml
create mode 100644 utils/forview/index.wxss
create mode 100644 utils/tools.wxs
create mode 100644 vant/action-sheet/index.js
create mode 100644 vant/action-sheet/index.json
create mode 100644 vant/action-sheet/index.wxml
create mode 100644 vant/action-sheet/index.wxss
create mode 100644 vant/area/index.js
create mode 100644 vant/area/index.json
create mode 100644 vant/area/index.wxml
create mode 100644 vant/area/index.wxss
create mode 100644 vant/badge-group/index.js
create mode 100644 vant/badge-group/index.json
create mode 100644 vant/badge-group/index.wxml
create mode 100644 vant/badge-group/index.wxss
create mode 100644 vant/badge/index.js
create mode 100644 vant/badge/index.json
create mode 100644 vant/badge/index.wxml
create mode 100644 vant/badge/index.wxss
create mode 100644 vant/button/index.js
create mode 100644 vant/button/index.json
create mode 100644 vant/button/index.wxml
create mode 100644 vant/button/index.wxss
create mode 100644 vant/card/index.js
create mode 100644 vant/card/index.json
create mode 100644 vant/card/index.wxml
create mode 100644 vant/card/index.wxss
create mode 100644 vant/cell-group/index.js
create mode 100644 vant/cell-group/index.json
create mode 100644 vant/cell-group/index.wxml
create mode 100644 vant/cell-group/index.wxss
create mode 100644 vant/cell/index.js
create mode 100644 vant/cell/index.json
create mode 100644 vant/cell/index.wxml
create mode 100644 vant/cell/index.wxss
create mode 100644 vant/checkbox-group/index.js
create mode 100644 vant/checkbox-group/index.json
create mode 100644 vant/checkbox-group/index.wxml
create mode 100644 vant/checkbox-group/index.wxss
create mode 100644 vant/checkbox/index.js
create mode 100644 vant/checkbox/index.json
create mode 100644 vant/checkbox/index.wxml
create mode 100644 vant/checkbox/index.wxss
create mode 100644 vant/col/index.js
create mode 100644 vant/col/index.json
create mode 100644 vant/col/index.wxml
create mode 100644 vant/col/index.wxss
create mode 100644 vant/collapse-item/index.js
create mode 100644 vant/collapse-item/index.json
create mode 100644 vant/collapse-item/index.wxml
create mode 100644 vant/collapse-item/index.wxss
create mode 100644 vant/collapse/index.js
create mode 100644 vant/collapse/index.json
create mode 100644 vant/collapse/index.wxml
create mode 100644 vant/collapse/index.wxss
create mode 100644 vant/common/color.js
create mode 100644 vant/common/component.js
create mode 100644 vant/common/utils.js
create mode 100644 vant/datetime-picker/index.js
create mode 100644 vant/datetime-picker/index.json
create mode 100644 vant/datetime-picker/index.wxml
create mode 100644 vant/datetime-picker/index.wxss
create mode 100644 vant/dialog/dialog.js
create mode 100644 vant/dialog/index.js
create mode 100644 vant/dialog/index.json
create mode 100644 vant/dialog/index.wxml
create mode 100644 vant/dialog/index.wxss
create mode 100644 vant/field/index.js
create mode 100644 vant/field/index.json
create mode 100644 vant/field/index.wxml
create mode 100644 vant/field/index.wxss
create mode 100644 vant/goods-action-button/index.js
create mode 100644 vant/goods-action-button/index.json
create mode 100644 vant/goods-action-button/index.wxml
create mode 100644 vant/goods-action-button/index.wxss
create mode 100644 vant/goods-action-icon/index.js
create mode 100644 vant/goods-action-icon/index.json
create mode 100644 vant/goods-action-icon/index.wxml
create mode 100644 vant/goods-action-icon/index.wxss
create mode 100644 vant/goods-action/index.js
create mode 100644 vant/goods-action/index.json
create mode 100644 vant/goods-action/index.wxml
create mode 100644 vant/goods-action/index.wxss
create mode 100644 vant/icon/index.js
create mode 100644 vant/icon/index.json
create mode 100644 vant/icon/index.wxml
create mode 100644 vant/icon/index.wxss
create mode 100644 vant/info/index.js
create mode 100644 vant/info/index.json
create mode 100644 vant/info/index.wxml
create mode 100644 vant/info/index.wxss
create mode 100644 vant/loading/index.js
create mode 100644 vant/loading/index.json
create mode 100644 vant/loading/index.wxml
create mode 100644 vant/loading/index.wxss
create mode 100644 vant/mixins/basic.js
create mode 100644 vant/mixins/button.js
create mode 100644 vant/mixins/link.js
create mode 100644 vant/mixins/observer/behavior.js
create mode 100644 vant/mixins/observer/index.js
create mode 100644 vant/mixins/observer/props.js
create mode 100644 vant/mixins/open-type.js
create mode 100644 vant/mixins/safe-area.js
create mode 100644 vant/mixins/touch.js
create mode 100644 vant/mixins/transition.js
create mode 100644 vant/nav-bar/index.js
create mode 100644 vant/nav-bar/index.json
create mode 100644 vant/nav-bar/index.wxml
create mode 100644 vant/nav-bar/index.wxss
create mode 100644 vant/notice-bar/index.js
create mode 100644 vant/notice-bar/index.json
create mode 100644 vant/notice-bar/index.wxml
create mode 100644 vant/notice-bar/index.wxss
create mode 100644 vant/notify/index.js
create mode 100644 vant/notify/index.json
create mode 100644 vant/notify/index.wxml
create mode 100644 vant/notify/index.wxss
create mode 100644 vant/notify/notify.js
create mode 100644 vant/overlay/index.js
create mode 100644 vant/overlay/index.json
create mode 100644 vant/overlay/index.wxml
create mode 100644 vant/overlay/index.wxss
create mode 100644 vant/panel/index.js
create mode 100644 vant/panel/index.json
create mode 100644 vant/panel/index.wxml
create mode 100644 vant/panel/index.wxss
create mode 100644 vant/picker-column/index.js
create mode 100644 vant/picker-column/index.json
create mode 100644 vant/picker-column/index.wxml
create mode 100644 vant/picker-column/index.wxss
create mode 100644 vant/picker/index.js
create mode 100644 vant/picker/index.json
create mode 100644 vant/picker/index.wxml
create mode 100644 vant/picker/index.wxss
create mode 100644 vant/picker/shared.js
create mode 100644 vant/popup/index.js
create mode 100644 vant/popup/index.json
create mode 100644 vant/popup/index.wxml
create mode 100644 vant/popup/index.wxss
create mode 100644 vant/progress/index.js
create mode 100644 vant/progress/index.json
create mode 100644 vant/progress/index.wxml
create mode 100644 vant/progress/index.wxss
create mode 100644 vant/radio-group/index.js
create mode 100644 vant/radio-group/index.json
create mode 100644 vant/radio-group/index.wxml
create mode 100644 vant/radio-group/index.wxss
create mode 100644 vant/radio/index.js
create mode 100644 vant/radio/index.json
create mode 100644 vant/radio/index.wxml
create mode 100644 vant/radio/index.wxss
create mode 100644 vant/rate/index.js
create mode 100644 vant/rate/index.json
create mode 100644 vant/rate/index.wxml
create mode 100644 vant/rate/index.wxss
create mode 100644 vant/row/index.js
create mode 100644 vant/row/index.json
create mode 100644 vant/row/index.wxml
create mode 100644 vant/row/index.wxss
create mode 100644 vant/search/index.js
create mode 100644 vant/search/index.json
create mode 100644 vant/search/index.wxml
create mode 100644 vant/search/index.wxss
create mode 100644 vant/slider/index.js
create mode 100644 vant/slider/index.json
create mode 100644 vant/slider/index.wxml
create mode 100644 vant/slider/index.wxss
create mode 100644 vant/stepper/index.js
create mode 100644 vant/stepper/index.json
create mode 100644 vant/stepper/index.wxml
create mode 100644 vant/stepper/index.wxss
create mode 100644 vant/steps/index.js
create mode 100644 vant/steps/index.json
create mode 100644 vant/steps/index.wxml
create mode 100644 vant/steps/index.wxss
create mode 100644 vant/submit-bar/index.js
create mode 100644 vant/submit-bar/index.json
create mode 100644 vant/submit-bar/index.wxml
create mode 100644 vant/submit-bar/index.wxss
create mode 100644 vant/swipe-cell/index.js
create mode 100644 vant/swipe-cell/index.json
create mode 100644 vant/swipe-cell/index.wxml
create mode 100644 vant/swipe-cell/index.wxss
create mode 100644 vant/switch-cell/index.js
create mode 100644 vant/switch-cell/index.json
create mode 100644 vant/switch-cell/index.wxml
create mode 100644 vant/switch-cell/index.wxss
create mode 100644 vant/switch/index.js
create mode 100644 vant/switch/index.json
create mode 100644 vant/switch/index.wxml
create mode 100644 vant/switch/index.wxss
create mode 100644 vant/tab/index.js
create mode 100644 vant/tab/index.json
create mode 100644 vant/tab/index.wxml
create mode 100644 vant/tab/index.wxss
create mode 100644 vant/tabbar-item/index.js
create mode 100644 vant/tabbar-item/index.json
create mode 100644 vant/tabbar-item/index.wxml
create mode 100644 vant/tabbar-item/index.wxss
create mode 100644 vant/tabbar/index.js
create mode 100644 vant/tabbar/index.json
create mode 100644 vant/tabbar/index.wxml
create mode 100644 vant/tabbar/index.wxss
create mode 100644 vant/tabs/index.js
create mode 100644 vant/tabs/index.json
create mode 100644 vant/tabs/index.wxml
create mode 100644 vant/tabs/index.wxss
create mode 100644 vant/tag/index.js
create mode 100644 vant/tag/index.json
create mode 100644 vant/tag/index.wxml
create mode 100644 vant/tag/index.wxss
create mode 100644 vant/toast/index.js
create mode 100644 vant/toast/index.json
create mode 100644 vant/toast/index.wxml
create mode 100644 vant/toast/index.wxss
create mode 100644 vant/toast/toast.js
create mode 100644 vant/transition/index.js
create mode 100644 vant/transition/index.json
create mode 100644 vant/transition/index.wxml
create mode 100644 vant/transition/index.wxss
create mode 100644 vant/tree-select/index.js
create mode 100644 vant/tree-select/index.json
create mode 100644 vant/tree-select/index.wxml
create mode 100644 vant/tree-select/index.wxss
create mode 100644 vant/wxs/array.wxs
create mode 100644 vant/wxs/bem.wxs
create mode 100644 vant/wxs/memoize.wxs
create mode 100644 vant/wxs/object.wxs
create mode 100644 vant/wxs/utils.wxs
create mode 100644 wxParse/html2json.js
create mode 100644 wxParse/htmlparser.js
create mode 100644 wxParse/wxDiscode.js
create mode 100644 wxParse/wxParse.js
create mode 100644 wxParse/wxParse.wxml
create mode 100644 wxParse/wxParse.wxss
diff --git a/__wuBaseWxss__/0.wxss b/__wuBaseWxss__/0.wxss
new file mode 100644
index 0000000..125d4b7
--- /dev/null
+++ b/__wuBaseWxss__/0.wxss
@@ -0,0 +1,2006 @@
+.icons {
+ background-image: url(https://statics.huzhan.com/h5/icons.png);
+}
+
+.u {
+ text-decoration: underline;
+}
+
+.gray {
+ color: #999;
+}
+
+.red {
+ color: red;
+}
+
+.blue {
+ color: #00f;
+}
+
+.orange {
+ color: #f60;
+}
+
+.green {
+ color: #3a933a;
+}
+
+.yellow {
+ color: orange;
+}
+
+.black {
+ color: #000;
+}
+
+.white {
+ color: #fff;
+}
+
+.left {
+ float: left;
+}
+
+.right {
+ float: right;
+}
+
+.hide {
+ display: none;
+}
+
+.show {
+ display: block;
+}
+
+.center {
+ text-align: center;
+}
+
+.tleft {
+ text-align: left;
+}
+
+.tright {
+ text-align: right;
+}
+
+.middle {
+ vertical-align: middle;
+}
+
+.middle2 {
+ margin-top: -2px;
+ vertical-align: middle;
+}
+
+.b {
+ font-weight: 700;
+}
+
+.fz14 {
+ font-size: 14px;
+}
+
+image {
+ border: 0;
+}
+
+.m-10 {
+ margin: 10px;
+}
+
+.ml-10 {
+ margin-left: 10px;
+}
+
+.mr-10 {
+ margin-right: 10px;
+}
+
+.mt-10 {
+ margin-top: 10px;
+}
+
+.mb-10 {
+ margin-bottom: 10px;
+}
+
+.p-10 {
+ padding: 10px;
+}
+
+.pl-10 {
+ padding-left: 10px;
+}
+
+.pr-10 {
+ padding-right: 10px;
+}
+
+.pt-10 {
+ padding-top: 10px;
+}
+
+.pb-10 {
+ padding-bottom: 10px;
+}
+
+.m-5 {
+ margin: 5px;
+}
+
+.ml-5 {
+ margin-left: 5px;
+}
+
+.mr-5 {
+ margin-right: 5px;
+}
+
+.mt-5 {
+ margin-top: 5px;
+}
+
+.mb-5 {
+ margin-bottom: 5px;
+}
+
+.p-5 {
+ padding: 5px;
+}
+
+.pl-5 {
+ padding-left: 5px;
+}
+
+.pr-5 {
+ padding-right: 5px;
+}
+
+.pt-5 {
+ padding-top: 5px;
+}
+
+.pb-5 {
+ padding-bottom: 5px;
+}
+
+.wxParse view {
+ display: inline;
+}
+
+.inline {
+ display: inline;
+}
+
+.wxParse .wxParse-p {
+ display: block;
+}
+
+.row-flex {
+ display: flex;
+ flex-direction: row;
+}
+
+.wrap-flex {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.flex-item {
+ flex: 1;
+}
+
+.hover {
+ opacity: .8;
+}
+
+.fixed {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 99;
+ width: 100%;
+}
+
+.formLoad {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 10000;
+ width: 100%;
+ height: 100%;
+ background: rgba(0,0,0,0);
+}
+
+.MoneyMark:before {
+ content: '¥';
+ font-size: 0.8em;
+ padding-right: 0.2em;
+}
+
+.rightArrow {
+ position: relative;
+ font-size: 6px;
+ padding-left: 10px;
+}
+
+.rightArrow:after {
+ margin-right: 0;
+ position: absolute;
+ top: 50%;
+ right: 0;
+ margin-top: -0.65em;
+ content: " ";
+ display: inline-block;
+ height: 1em;
+ width: 1em;
+ border-width: 2px 2px 0 0;
+ border-color: #ccc;
+ border-style: solid;
+ transform: matrix(.71,.71,-.71,.71,0,0);
+ border-radius: 2px;
+}
+
+.line {
+ position: relative;
+}
+
+.line:after {
+ content: '';
+ position: absolute;
+ z-index: 2;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 1px;
+ border-bottom: 1px solid #e2e2e2;
+ transform: scaleY(.5);
+ transform-origin: 0 100%;
+}
+
+.line.T:after {
+ top: 0;
+ left: 0;
+}
+
+.c-icon {
+ display: inline-block;
+ margin: 0 1px;
+ width: 16px;
+ height: 16px;
+ background-size: contain;
+ background-repeat: repeat-x;
+ vertical-align: -3px;
+}
+
+.c-i-s1 {
+ background-image: url(https://statics.huzhan.com/app/images/s-1.png);
+}
+
+.c-i-s2 {
+ background-image: url(https://statics.huzhan.com/app/images/s-2.png);
+}
+
+.c-i-s3 {
+ background-image: url(https://statics.huzhan.com/app/images/s-3.png);
+}
+
+.c-i-s4 {
+ background-image: url(https://statics.huzhan.com/app/images/s-4.png);
+}
+
+.c-i-b1 {
+ background-image: url(https://statics.huzhan.com/app/images/b-1.png);
+}
+
+.c-i-b2 {
+ background-image: url(https://statics.huzhan.com/app/images/b-2.png);
+}
+
+.c-i-b3 {
+ background-image: url(https://statics.huzhan.com/app/images/b-3.png);
+}
+
+.c-i-b4 {
+ background-image: url(https://statics.huzhan.com/app/images/b-3.png);
+}
+
+.c-i-t2 {
+ vertical-align: -2px;
+}
+
+.c-i-t1 {
+ vertical-align: -1px;
+}
+
+.c-i-t0 {
+ vertical-align: 0;
+}
+
+.c-i-lw2 {
+ width: 31px;
+}
+
+.c-i-lw3 {
+ width: 47px;
+}
+
+.c-i-lw4 {
+ width: 63px;
+}
+
+.c-i-lw5 {
+ width: 79px;
+}
+
+.review {
+ display: inline-block;
+ width: 78px;
+ height: 16px;
+ background: url(https://fw.jd.com/images/comment_star.png) no-repeat 0 -84px;
+ vertical-align: -4px;
+}
+
+.star {
+ display: inline-block;
+ height: 16px;
+ background: url(https://fw.jd.com/images/iconStar.png) no-repeat 0 0;
+}
+
+.loadImage {
+ background: url(https://statics.huzhan.com/h5/loading.svg) center center no-repeat;
+}
+
+.bfiles image {
+ margin: 3px 6px 3px 0;
+ padding: 3px;
+ width: 80px;
+ height: 60px;
+ border: 1px solid #eee;
+ border-radius: 2px;
+ background: #fff;
+}
+
+.certification>view:not(.tit) {
+ margin: 0 4px -4px 0;
+ width: 18px;
+ height: 18px;
+ background: url(https://statics.huzhan.com/app/images/rev-ico.png);
+ background-repeat: no-repeat;
+ display: inline-block;
+ background-size: auto 18px;
+}
+
+.certification.big>view:not(.tit) {
+ width: 40px;
+ height: 40px;
+ background-size: auto 40px;
+ margin-right: 10px;
+}
+
+.certification>view.email {
+ BACKGROUND-POSITION: 66.9% 0;
+}
+
+.certification>view.company {
+ BACKGROUND-POSITION: 100% 0;
+}
+
+.certification>view.idcard {
+ BACKGROUND-POSITION: 33.5% 0;
+}
+
+.certification>view.phone {
+ BACKGROUND-POSITION: 0 0;
+}
+
+.gicon {
+ position: absolute;
+ top: 0;
+ right: 0;
+ padding-left: 3px;
+ background: #fff;
+}
+
+.gicon view,.goods_handle view {
+ display: inline-block;
+ margin-left: 5px;
+ width: 16px;
+ height: 16px;
+ border: 1px #c5c5c5 solid;
+ border-radius: 0;
+ color: #666;
+ text-align: center;
+ font-size: 12px;
+ line-height: 16px;
+}
+
+.gicon .cBtn {
+ border: 1px #f60 solid;
+ background: #fffbfa;
+ color: #f60;
+}
+
+.gicon .score {
+ border-color: #ff7e00;
+ background: #fff5ee;
+ color: #f60;
+}
+
+.gicon .install0,.gicon a.bsuc {
+ border-color: #71a3f5;
+ background: #eef9ff;
+ color: #498bf8;
+}
+
+.gicon .send {
+ border-color: #e3c8bd;
+ background: #fffbf6;
+ color: #b68571;
+}
+
+.gicon .protect {
+ border-color: #6a4;
+ background: #eff;
+ color: #6a4;
+}
+
+.gicon .not {
+ border-color: #e3c8bd;
+ background: #fff;
+ color: #999;
+}
+
+.gicon .installi {
+ border-color: #f5717d;
+ background: #ffeef3;
+ color: #f84976;
+}
+
+.eva .van-icon {
+ overflow: hidden;
+ margin: -3px 1px 0 0;
+ height: 18px;
+ vertical-align: middle;
+ font-size: 18px;
+ line-height: 18px;
+}
+
+.eva.good {
+ color: #f50;
+}
+
+.eva.good:after {
+ content: "好评";
+}
+
+.eva.normal {
+ color: orange;
+}
+
+.eva.normal:after {
+ content: "中评";
+}
+
+.eva.bad {
+ color: #000;
+}
+
+.eva.bad:after {
+ content: "差评";
+}
+
+.alipay {
+ color: #00aaef;
+}
+
+.bank {
+ color: #082f67;
+}
+
+.tenpay {
+ color: #ff8500;
+}
+
+.wechat {
+ color: #1ea838;
+}
+
+.contact view {
+ display: inline-block;
+}
+
+.contact view:before {
+ content: "";
+ background-image: url(https://statics.huzhan.com/h5/icons.png);
+ display: block;
+ width: 19px;
+ height: 20px;
+}
+
+.contact .qq:before {
+ background-position: -117.5px -67px;
+}
+
+.contact .phone:before {
+ background-position: -136px -67.5px;
+}
+
+.PageCount {
+ position: fixed;
+ bottom: 30px;
+ left: 0;
+ width: 100%;
+ text-align: center;
+}
+
+.PageCount .box {
+ display: inline-block;
+ padding: 3px 10px;
+ border-radius: .6rem;
+ background: rgba(0,0,0,.4);
+}
+
+.PageCount .box view {
+ position: relative;
+ color: #fff;
+}
+
+.loading {
+ margin: 10px auto;
+ height: 20px;
+ color: rgba(69,90,100,.6);
+ text-align: center;
+}
+
+.listfailview {
+ padding: 10px 0;
+ text-align: center;
+}
+
+.gotop {
+ transition: transform .4s ease-out;
+ transition: transform .4s ease-out,-webkit-transform .4s ease-out;
+ position: fixed;
+ right: 25px;
+ bottom: 25px;
+ z-index: 9999;
+ overflow: hidden;
+ height: 30px;
+ border-radius: 50%;
+ background: rgba(255,255,255,.4);
+ color: #bbb;
+}
+
+.gotop.gobottom {
+ transform: rotate(180deg);
+}
+
+.formbutton {
+ position: relative;
+ clear: both;
+ box-sizing: border-box;
+ margin: 20rpx 0;
+ padding: 0 24rpx;
+ min-width: 104rpx;
+ min-height: 88rpx;
+ border: none;
+ border-radius: 8rpx;
+ background: #33cd5f;
+ color: #fff;
+ vertical-align: middle;
+ text-overflow: ellipsis;
+ font-size: 32rpx;
+ line-height: 84rpx;
+}
+
+.formbutton.primary {
+ color: #555;
+ background: #fff;
+ border-color: #ebedf0;
+}
+
+.loadingFull {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 100000;
+ display: -webkit-box;
+ width: 100%;
+ height: 100%;
+ background: rgba(255,255,255,.1);
+ font-size: 16px;
+ -webkit-box-align: center;
+ -webkit-box-pack: center;
+}
+
+.loadingFull .content {
+ text-align: center;
+}
+
+.btn {
+ overflow: hidden;
+ margin: 40rpx 10%;
+ padding: 20rpx 0;
+ width: 80%;
+ border-radius: 10rpx;
+ background: #000;
+ color: #fff;
+ text-align: center;
+}
+
+.ly_bg {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1000;
+ display: table;
+ overflow: hidden;
+ width: 100%;
+ height: 100%;
+ background: #000;
+ opacity: .5;
+}
+
+.ly {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1001;
+ overflow: hidden;
+ width: 100%;
+ height: 100%;
+ border-radius: 3px;
+ text-align: center;
+}
+
+.ly.hide,.ly_bg.hide {
+ display: none;
+}
+
+.ly:before {
+ display: inline-block;
+ margin-right: -.25em;
+ height: 100%;
+ content: '';
+ vertical-align: middle;
+}
+
+.ly .content {
+ display: inline-block;
+ overflow: hidden;
+ overflow-y: auto;
+ max-width: 100%;
+ max-height: 100%;
+ min-width: 50%;
+ border-radius: 3px;
+ background: #fff;
+ vertical-align: middle;
+}
+
+.ly.show .content {
+ animation-duration: .3s;
+ animation-name: bounceIn;
+}
+
+@-webkit-keyframes bounceIn {
+ 0% {
+ opacity: 0;
+ transform: scale(.5);
+ }
+
+ 100% {
+ opacity: 1;
+ transform: scale(1);
+ }
+}
+
+@keyframes bounceIn {
+ 0% {
+ opacity: 0;
+ transform: scale(.5);
+ }
+
+ 100% {
+ opacity: 1;
+ transform: scale(1);
+ }
+}
+
+.ly .btn {
+ display: inline-block;
+ padding: 10px;
+ border-top: 1px solid #e8e8ea;
+ color: #3cc51f;
+ text-align: center;
+ font: 20px "microsoft yahei";
+}
+
+.ly_install {
+ border: 1px solid #dadada;
+ border-right: 0;
+ border-bottom: 0;
+ background: #fff;
+ color: #666;
+ text-align: center;
+ font-size: 12px;
+}
+
+.ly_install .name,.ly_install .td {
+ padding: 10px;
+ border-right: 1px solid #dadada;
+ border-bottom: 1px solid #dadada;
+}
+
+.ly_install .money {
+ color: red;
+}
+
+.ly_install .free {
+ color: green;
+}
+
+.ly_install .add {
+ display: inline;
+}
+
+.ly_install .td:first-child {
+ width: 55px;
+}
+
+.ly_install .td:last-child {
+ text-align: left;
+ flex: 1;
+}
+
+.ly_install .name {
+ width: auto;
+ text-align: center;
+ font-weight: 700;
+}
+
+.ly_install .tr {
+ display: flex;
+ flex-direction: row;
+}
+
+.ly_contact {
+ font-size: 14px;
+}
+
+.ly_contact .list {
+ display: flex;
+ padding: 0 15px 10px 15px;
+ flex-direction: row;
+}
+
+.ly_contact .list view {
+ text-align: left;
+ line-height: 30px;
+}
+
+.ly_contact .list .value {
+ flex: 1;
+}
+
+.ly_contact .list .type {
+ width: 75px;
+ color: #000;
+}
+
+.ly_contact .bottom {
+ margin: 0 15px;
+ padding: 6px 5px 7px 5px;
+ border-top: #bcccee 1px dotted;
+ text-align: center;
+}
+
+.ly_contact .bottom view {
+ overflow: hidden;
+ height: 20px;
+ color: #999;
+ font-size: 12px;
+ line-height: 20px;
+}
+
+.ly_contact .header {
+ overflow: hidden;
+ margin-bottom: 10px;
+ padding: 0 40px 0 10px;
+ height: 37px;
+ border-bottom: 1px solid #eee;
+ background: #f6f9ff;
+ color: #333;
+ font-size: 14px;
+ line-height: 37px;
+}
+
+.ly_contact .header image {
+ margin: -2px 7px 0 0;
+ padding: 1px;
+ width: 20px;
+ height: 20px;
+ border: 1px solid #ddd;
+ vertical-align: middle;
+}
+
+.ly_contact .header view {
+ display: inline-block;
+ color: #f60;
+}
+
+.store-top {
+ position: relative;
+ overflow: hidden;
+ padding: 15px;
+ background: #d8e7fa;
+}
+
+.store-top .avatar {
+ width: 40px;
+ height: 40px;
+}
+
+.store-top .avatar image {
+ width: 100%;
+ height: 100%;
+ border-radius: 5px;
+}
+
+.store-top .info {
+ margin-left: 10px;
+}
+
+.store-top .name {
+ font-size: 14px;
+ line-height: 1.5;
+}
+
+.store-top .bond.van-icon {
+ position: absolute;
+ top: 50%;
+ right: 10px;
+ margin-top: -14px;
+ height: 24px;
+ color: #999;
+ font-size: 24px;
+ line-height: 24px;
+}
+
+.store-top .bond.van-icon.suc {
+ color: #2e8a11;
+}
+
+.store-score {
+ padding: 5px 0 0 0;
+ font-size: 12px;
+ line-height: 12px;
+}
+
+.store-score text {
+ padding-right: 3px;
+ color: #666;
+ vertical-align: 0;
+}
+
+.store-score>view:first-child {
+ padding: 0;
+ border: 0;
+}
+
+.store-score>view {
+ margin: 0;
+ padding-left: 5px;
+ border-left: #ccc 1px solid;
+}
+
+.store-score view {
+ display: inline-block;
+}
+
+.store-score .down {
+ color: #479313;
+}
+
+.store-score .up {
+ color: #e0241b;
+}
+
+.store-score .van-icon {
+ margin: -2px 0 0 -7px;
+ width: 18px;
+ height: 12px;
+ vertical-align: middle;
+ line-height: 12px;
+}
+
+.shopList .item {
+ overflow: hidden;
+ color: #999;
+ position: relative;
+ margin: 10px 10px 0 10px;
+ background: #fff;
+ padding: 10px;
+ border-radius: 2px;
+}
+
+.shopList .avatar {
+ height: 40px;
+ width: 40px;
+ padding: 2px;
+ border-radius: 2px;
+ margin-right: 10px;
+ border: 1px solid #eee;
+ overflow: hidden;
+}
+
+.shopList .avatar image {
+ width: 40px;
+ height: 40px;
+ border-radius: 2px;
+}
+
+.shopList .shop {
+ padding: 3px 0;
+ position: relative;
+ line-height: 20px;
+}
+
+.shopList .shop .info {
+ text-align: right;
+ position: absolute;
+ right: 0;
+ top: 0;
+ height: 40px;
+}
+
+.shopList .shop .van-icon {
+ font-size: 18px;
+ padding: 0 0 5px 15px;
+ line-height: 25px;
+ color: #999;
+}
+
+.shopList .action {
+ line-height: 20px;
+ text-align: center;
+ background-color: rgba(255,255,255,.9);
+ position: absolute;
+ right: 0;
+ top: 0;
+ height: 100%;
+ width: 60%;
+ transform: translateY(100%);
+}
+
+.shopList .action .van-icon {
+ line-height: 28px;
+ width: 100%;
+ font-size: 20px;
+ color: #fff;
+}
+
+.shopList .action .flex-item .icon {
+ margin-top: 10px;
+ background: #498bf8;
+ border-radius: 50%;
+ width: 30px;
+ height: 30px;
+ display: inline-block;
+}
+
+.shopList .action .flex-item:first-child .icon {
+ background: #3eabc3;
+}
+
+.shopList .action .flex-item:last-child .icon {
+ background: #c1c1c1;
+}
+
+.revList {
+ background-color: #fafafa;
+ color: #4d4d4d;
+ color: #4d4d4d;
+}
+
+.revList .item {
+ margin-left: 15px;
+ padding: 15px 0;
+ border-bottom: 1px #eee solid;
+}
+
+.revList .flex-item {
+ min-width: 0;
+}
+
+.revList .avatar {
+ margin-top: 5px;
+ width: 13%;
+ max-width: 106px;
+ min-width: 56px;
+}
+
+.revList .avatar>view {
+ overflow: hidden;
+ margin: 10px 0 0 0;
+ padding: 2px;
+ max-width: 100px;
+ min-width: 50px;
+ border: 1px #eee solid;
+ border-radius: 50px;
+ background: #fff;
+}
+
+.revList .avatar>view>view {
+ padding-bottom: 100%;
+ width: 100%;
+ height: 0;
+}
+
+.revList .avatar image {
+ width: 100%;
+ border-radius: 50px;
+}
+
+.revList .goods {
+ overflow: hidden;
+ padding: 5px 0;
+ border: 1px #f1f1f1 solid;
+ border-bottom-left-radius: 50px;
+ border-top-left-radius: 50px;
+ background: #f7f7f7;
+ color: #247fbd;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.revList .goods text {
+ color: red;
+}
+
+.revList .goods text:before {
+ padding-left: 5px;
+ content: "¥";
+ font-size: 10px;
+}
+
+.revList .info {
+ padding: 8px 13px 0 10px;
+ line-height: 1.4;
+}
+
+.revList .name text {
+ font-weight: 700;
+}
+
+.revList .append {
+ padding-top: 10px;
+ color: #36c;
+}
+
+.revList .time {
+ color: #999;
+ font-size: 12px;
+}
+
+.revList .reply {
+ position: relative;
+ margin-top: 12px;
+ padding: 6px 10px;
+ border: 1px solid #dee4e9;
+ border-radius: 3px;
+ background: #f8f8f8;
+ box-shadow: 0 1px 2px #dee4e9;
+}
+
+.revList .reply .j-br {
+ border-color: transparent transparent #d9d9d9 transparent;
+ TOP: -20px;
+}
+
+.revList .reply .j-bg {
+ border-color: transparent transparent #f8f8f8 transparent;
+ TOP: -19px;
+}
+
+.revList .reply .j-bg,.revList .reply .j-br {
+ position: absolute;
+ left: 20px;
+ overflow: hidden;
+ width: 0;
+ height: 0;
+ border-style: solid dashed dashed dashed;
+ border-width: 10px;
+}
+
+.revList .text {
+ padding: 2px 0 5px 0;
+}
+
+.revList .name {
+ position: relative;
+}
+
+.revList .name .eva {
+ position: absolute;
+ top: 50%;
+ right: 0;
+ margin-top: -10px;
+}
+
+.revList .name.buy {
+ padding-bottom: 3px;
+}
+
+.revList .reply .name {
+ color: #dd2727;
+}
+
+.revList .van-radio {
+ padding: 0 4px;
+}
+
+.revList .van-radio__label {
+ color: #4d4d4d;
+}
+
+.revList .radio-group {
+ margin: 0 15px;
+ padding: 8px 0;
+ border-bottom: 1px #eee solid;
+ text-align: center;
+}
+
+.ListAction {
+ text-align: right;
+ padding: 10px 0;
+}
+
+.ListAction .van-button {
+ margin: 0 0 0 8px;
+ line-height: 25px;
+ font-size: 12px;
+ padding: 0 5px;
+ border: 1px solid #e1e1e1;
+ color: #555;
+ height: 26px;
+ min-width: auto;
+}
+
+.ListAction .van-button .van-icon {
+ vertical-align: middle;
+ margin-top: -2px;
+ margin-right: 2px;
+}
+
+.ListAction .van-button.green {
+ color: #3a933a;
+ border-color: #3a933a;
+}
+
+.ListAction .van-button.orange {
+ color: #f60;
+ border-color: #f60;
+}
+
+.ListAction .van-button.gray {
+ color: #999;
+}
+
+.formSubmit {
+ position: relative;
+}
+
+.formSubmit .default {
+ position: absolute;
+ height: 44px;
+ top: 0;
+ left: 0;
+ border-radius: 0;
+ padding: 0;
+ opacity: .01;
+ width: 100%;
+ background: #000;
+}
+
+.formSubmit #send {
+ height: 30px;
+}
+
+.formSubmit .default.click {
+ opacity: .2;
+}
+
+.bfile {
+ display: flex;
+ padding: 0 0 8px 0;
+ flex-flow: row wrap;
+ align-content: flex-start;
+}
+
+.bfile>view {
+ margin: 8px 0 0 0;
+ flex: 1 49%;
+}
+
+.bfile>view>view {
+ overflow: hidden;
+ border: 1px #ccc solid;
+ border-radius: 2px;
+ background: #fff;
+}
+
+.bfile>view:nth-child(even) {
+ margin-left: 2%;
+}
+
+.bfile>view>view>view {
+ position: relative;
+ padding-bottom: 80%;
+ width: 100%;
+ height: 0;
+}
+
+.bfile>view image {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ margin: auto;
+ width: 100%;
+}
+
+.form {
+ overflow: hidden;
+ padding: 0 12px;
+ background: #fff;
+}
+
+.form .van-cell {
+ background: 0 0;
+}
+
+.form .van-cell__title {
+ max-width: 78px;
+ min-width: 78px;
+ color: #666;
+}
+
+.form .van-radio {
+ margin-left: 5px;
+}
+
+.form .textarea {
+ line-height: 20px;
+ padding: 2px 0;
+ height: auto;
+ min-height: 160px;
+ max-height: 300px;
+}
+
+.form .textarea.height200 {
+ min-height: 200px;
+}
+
+.form .textarea.height100 {
+ min-height: 100px;
+}
+
+.form .textarea.height60 {
+ min-height: 60px;
+}
+
+.form .textarea.dashed {
+ border: 2px dashed #e6e6e6;
+ padding: 3px;
+}
+
+.form .black {
+ color: #333;
+}
+
+.form .radioTabs {
+ margin-bottom: -1px;
+ padding-bottom: 0;
+}
+
+.form .radioTabs:before {
+ content: '';
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ height: 1px;
+ width: 100%;
+ background: #eee;
+}
+
+.form .radioTabs .van-cell__title {
+ line-height: 30px;
+}
+
+.form .radioTabs .van-radio {
+ margin: 0;
+ padding: 5px 10px 4px 8px;
+ border: #fff solid 1px;
+ position: relative;
+ border-bottom-color: #eee;
+}
+
+.form .radioTabs .van-radio.checked:before {
+ content: '';
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ height: 1px;
+ width: 100%;
+ background: #fafafa;
+ z-index: 1;
+}
+
+.form .radioTabs .van-radio.checked {
+ background: #fafafa;
+ border-radius: 1px;
+ border: #f0f0f0 solid 1px;
+ padding-bottom: 5px;
+ margin-bottom: -1px;
+ border-bottom-color: #fafafa;
+}
+
+.form .radioBox .box {
+ font-size: 12px;
+ padding: 5px 8px;
+ background: #fafafa;
+ border-radius: 1px;
+ border: #eee solid 1px;
+ line-height: 18px;
+}
+
+.form .radioBox .van-cell__title {
+ text-align: left;
+}
+
+.form .radioLeft .van-cell__value {
+ text-align: left;
+}
+
+.form .van-field__error-message {
+ text-align: right;
+}
+
+.form .toggleCheckbox .van-checkbox__icon-wrap {
+ padding-left: calc(100% - 19px);
+}
+
+.form .checkboxInline .van-checkbox__label {
+ margin-left: 3px;
+}
+
+.form .checkboxInline .van-checkbox {
+ display: inline-block;
+ margin-left: 5px;
+}
+
+.form .van-field__input.gray {
+ color: #999;
+}
+
+.form .van-field__input.red {
+ color: red;
+}
+
+.form .van-field__input.blue {
+ color: #00f;
+}
+
+.form .van-field__input.orange {
+ color: #f60;
+}
+
+.form .van-field__input.green {
+ color: #3a933a;
+}
+
+.form .picker .van-cell__right-icon-wrap {
+ width: 24px;
+ margin: 0;
+}
+
+.form .picker .van-icon-arrow-down {
+ width: 24px;
+ text-align: center;
+ transform: rotate(0);
+ transition: .3s;
+}
+
+.form .picker.Show .van-icon-arrow-down {
+ transform: rotate(-180deg);
+}
+
+.form .van-rate {
+ display: inline-block;
+ vertical-align: middle;
+ margin-top: -1px;
+ line-height: 1;
+}
+
+.nativeInput {
+ height: 22px;
+ line-height: 22px;
+ border: 1px solid #eee;
+ background: #fff;
+ border-radius: 2px;
+ padding: 0 5px;
+ display: block;
+}
+
+.notes {
+ counter-reset: number 0;
+ font-size: 12px;
+ padding: 7px 8px 10px 8px;
+ background: #f6f9ff;
+}
+
+.notes .item {
+ padding-left: 19px;
+ position: relative;
+ line-height: 1.3;
+ padding-bottom: 4px;
+ text-align: left;
+}
+
+.notes .item:not(.notmark):after {
+ content: ";";
+}
+
+.notes .item:last-child:after {
+ content: "。";
+}
+
+.notes .item view {
+ display: inline;
+}
+
+.notes .item .u {
+ padding: 0 1.5px;
+}
+
+.notes .item:not(.notnumber) .number {
+ position: absolute;
+ top: 0;
+ left: -5px;
+ counter-increment: number;
+ font-weight: 700;
+ padding-right: 6px;
+ color: #666;
+ font-size: 14px;
+ text-align: right;
+ width: 20px;
+}
+
+.notes .item:not(.notnumber) .number:before {
+ content: counter(number) ".";
+}
+
+.notes .title {
+ padding-left: 0;
+ line-height: 18px;
+ margin: 3px 0;
+ position: relative;
+ text-align: left;
+}
+
+.notes .title text {
+ font-size: 13px;
+ padding: 0 0 0 16px;
+ font-weight: 700;
+}
+
+.notes .title .icons {
+ height: 17px;
+ width: 13px;
+ background-position: -105px -68px;
+ display: inline-block;
+ position: absolute;
+ left: 0;
+ top: 50%;
+ margin-top: -9px;
+}
+
+.notice {
+ height: auto;
+ padding: 10px;
+ line-height: 18px;
+ color: #ed6a0c;
+ background-color: #fffbe8;
+}
+
+.notice.blue {
+ color: #1989fa;
+ background: #ecf9ff;
+}
+
+.claimsInfo {
+ background: #fff;
+}
+
+.claimsInfo .row-flex.top:first-child {
+ background: #f1f9fe;
+}
+
+.claimsInfo .top .label {
+ border-right: 1px solid #f1f1f1;
+ padding: 15px 10px 15px 0;
+}
+
+.claimsInfo .top .label view {
+ font-size: 17px;
+ font-weight: 700;
+}
+
+.claimsInfo .top .flex-item {
+ padding: 15px;
+}
+
+.claimsInfo .flex-item {
+ padding: 10px;
+}
+
+.claimsInfo .flex-item>view>view {
+ display: inline;
+}
+
+.claimsInfo .row-flex {
+ border-bottom: 1px solid #f1f1f1;
+ line-height: 18px;
+}
+
+.claimsInfo .row-flex:nth-child(odd) {
+ background: #f5f8fa;
+}
+
+.claimsInfo .label {
+ text-align: right;
+ width: 80px;
+ padding: 10px 10px 10px 0;
+ color: #999;
+ border-right: 1px solid #f1f1f1;
+}
+
+.claimsInfo .suc {
+ color: #51863c;
+}
+
+.claimsInfo .ing {
+ color: #f60;
+}
+
+.claimsInfo .no {
+ color: #97731f;
+}
+
+.editionChoose {
+ background: #fafafa;
+ margin: 10px 0 2px 0;
+ padding: 8px 12px 3px 12px;
+}
+
+.editionChoose .price {
+ font-weight: 700;
+ color: #ff5000;
+ font-size: 18px;
+ line-height: 26px;
+}
+
+.editionChoose .price:before {
+ content: "¥";
+ font-size: 14px;
+}
+
+.editionChoose .row-flex {
+ padding: 2px 0;
+}
+
+.editionChoose .name {
+ line-height: 26px;
+ display: inline-block;
+ min-width: 60px;
+ text-align: right;
+}
+
+.editionList .item {
+ position: relative;
+ display: inline-block;
+ text-align: center;
+ border: 1px solid #ddd;
+ color: #666;
+ padding: 0 8px;
+ line-height: 24px;
+ margin: 0 8px 5px 0;
+}
+
+.editionList .item:last-child {
+ margin-right: 0;
+}
+
+.editionList .on {
+ color: #222;
+ border-color: #ff7f02;
+}
+
+.editionList .van-icon {
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ font-size: 14px;
+ overflow: hidden;
+ display: none;
+ width: 14px;
+ line-height: 14px;
+ color: #ff7f02;
+}
+
+.editionList .on .van-icon {
+ display: inline-block;
+}
+
+.editionRadio {
+ position: relative;
+ display: inline-block;
+ border: 1px solid #ddd;
+ color: #666;
+ margin: 0 3px 5px 0;
+}
+
+.editionRadio.checked {
+ color: #222;
+ border-color: #ff7f02;
+}
+
+.editionRadio .van-radio__label {
+ padding: 0 8px;
+ line-height: 24px;
+ text-align: center;
+}
+
+.editionRadio .van-radio__input {
+ position: absolute;
+ bottom: 0;
+ right: 0;
+}
+
+.editionRadio .van-icon {
+ display: none;
+ color: #ff7f02;
+}
+
+.editionRadio .van-radio__icon--checked .van-icon {
+ display: inline-block;
+}
+
+.lyTop {
+ background: #f2f2f2;
+ padding: 18px 10px 18px 18px;
+ border-top: 2px solid #f60;
+ border-bottom: 1px solid #e5e5e5;
+ display: flex;
+ flex-direction: row;
+}
+
+.lyTop .good {
+ color: #36c;
+ text-align: center;
+ font-size: 14px;
+ width: 74px;
+ margin-right: 15px;
+ border: 1px solid #ddd;
+ padding: 2px;
+ background: #fff;
+ overflow: hidden;
+ line-height: 74px;
+ height: 74px;
+}
+
+.lyTop .good image {
+ width: 100%;
+ vertical-align: top;
+}
+
+.lyTop .tit {
+ font-size: 14px;
+ font-weight: 700;
+ color: #555;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.lyTop .money {
+ color: #f60;
+ font-weight: 700;
+ padding-right: 2px;
+}
+
+.lyTop .info {
+ flex: 1;
+ min-width: 0;
+}
+
+.lyTop .info>view {
+ margin-top: 6px;
+}
+
+.table {
+ width: 100%;
+ display: table;
+ word-wrap: break-word;
+ word-break: break-all;
+ text-align: center;
+ border-collapse: collapse;
+}
+
+.table .thead {
+ display: table-header-group;
+}
+
+.table .thead .tr {
+ background: #f0f0f0;
+ font-size: 14px;
+}
+
+.table .tbody {
+ display: table-row-group;
+}
+
+.table .tr {
+ display: flex;
+ width: 100%;
+}
+
+.table .OE .tr:nth-child(odd) {
+ background: #f5f8fa;
+}
+
+.table .td {
+ padding: 10px 0 10px 10px;
+ vertical-align: middle;
+ text-align: center;
+}
+
+.table .td:last-child {
+ padding-right: 10px;
+}
+
+.table .td.tleft {
+ text-align: left;
+}
+
+.table .td.tright {
+ text-align: right;
+}
+
+.table .flex {
+ flex: 1;
+}
+
+.upload {
+ padding: 6px;
+ border: 2px dashed #e8e8e8;
+}
+
+.upload .top {
+ position: relative;
+}
+
+.upload .top .button {
+ position: absolute;
+ right: 0;
+ top: 50%;
+ margin-top: -15px;
+}
+
+.upload .top .tips {
+ text-align: right;
+ padding-right: 90px;
+}
+
+.upload .top .tips view {
+ line-height: 14px;
+ min-height: 30px;
+ display: flex;
+ align-items: center;
+ color: #ccc;
+}
+
+.upload .title {
+ padding: 7px 5px 0 5px;
+ color: #999;
+}
+
+.upload .title text {
+ font-weight: 700;
+ color: #333;
+ padding-right: 10px;
+}
+
+.upload .single {
+ text-align: center;
+ border: #eee solid 1px;
+ padding: 5px;
+ margin-top: 5px;
+}
+
+.upload.autoright {
+ text-align: right;
+ border: 0;
+ padding-right: 0;
+}
+
+.upload.autoright .single {
+ display: inline-block;
+}
+
+.upload .list {
+ background: #f8f8f8;
+ border: #ececec solid 1px;
+ padding: 3px 5px 10px 5px;
+ margin-top: 5px;
+}
+
+.upload .list .pic {
+ width: 33.33333333333%;
+ display: inline-block;
+ vertical-align: top;
+}
+
+.upload .list .pic>view:first-child {
+ margin: 10px 5px 0 5px;
+ overflow: hidden;
+ border: 1px #eee solid;
+ border-radius: 2px;
+ background: #fff;
+}
+
+.upload .list .pic>view>view {
+ position: relative;
+ padding-bottom: 80%;
+ width: 100%;
+ height: 0;
+}
+
+.upload .list .pic .text {
+ position: absolute;
+ height: 100%;
+ width: 100%;
+ background: rgba(255,255,255,.9);
+ z-index: 1;
+ display: flex;
+ align-items: center;
+ text-align: center;
+}
+
+.upload .list .pic .text view {
+ width: 100%;
+}
+
+.upload .list .pic .err view {
+ color: red;
+}
+
+.upload .list .pic .file view {
+ color: #36c;
+ font-weight: 700;
+ font-size: 16px;
+}
+
+.upload .list .pic image {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ margin: auto;
+ width: 100%;
+}
+
+.upload .status {
+ background: #fff;
+ text-align: center;
+ margin: 0 5px;
+ padding: 6px 0;
+ border: 1px #eee solid;
+ border-top: 0;
+}
+
+.acticle {
+ background: #fff;
+}
+
+.acticle {
+ overflow: hidden;
+}
+
+.acticle .head {
+ border-bottom: 1px solid #e5e5e5;
+ overflow: hidden;
+ margin: 0 10px;
+ padding: 10px 0;
+}
+
+.acticle .title {
+ width: 100%;
+ color: #222;
+ font-size: 1rem;
+ font-weight: 700;
+ line-height: 1.2;
+}
+
+.acticle .head .par {
+ padding: 5px 0 0 0;
+ color: #999;
+}
+
+.acticle .head .par text {
+ color: #666;
+}
+
+.acticle .head .par text:first-child {
+ padding-right: 5px;
+}
+
+.acticle .body {
+ overflow: hidden;
+ padding: 10px;
+ line-height: 1.5;
+}
+
+.acticle .body .a {
+ font-weight: 700;
+}
+
+.acticle .body .p {
+ padding: 5px;
+}
+
+.acticle-list {
+ padding: 0 15px;
+ background-color: #fff;
+}
+
+.acticle-list .link {
+ line-height: 1.2;
+ padding: 15px 0 15px 0;
+}
+
+.acticle-list .link.line:last-child:after {
+ display: none;
+}
+
+.acticle-list .icon-q {
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA9hJREFUWAnlVz1MVEEQ3nmgUKCGkFhAZYzhx0YJcAeJoaKxUBKtKAmx0sJYqImJjTExFDZ2opWxUgOW0mhA7g5IbJA7YwyF0YKEEBISkJ83zrfvzbIHJ7wDQuM1M29255tvZ3dn54z5339UTgKmpr5f3OSNXmZzSfwamLke/kT0W8QvIjNWQZXD7e3nvsCe5JeIQDZbuB4SPzLMjUlAhdG3gOlBOt30Zq/5uxLI5QpnQsOvZaXpvYBKjUtmsoGhvlSqaa7UOGz/JDAxme8mNm8leJ3nvEiGRgIKRowJZ2tq6pB6s7y8UL9p+DwxXWHDV8VUqz5CYoHJXOvqaP6kNl+WJBAF51HZ62PRZFoNAvO0Mjj+pK3t7JIPsF2fnv5xaiNcuxuG5rYxXI1xORvrTNRTisQOAnHap3TlsuJfAVGvpHF6e7DdvgWnLWQelow0RCRoQbajfft2BNtB4j23aUdwrg5S5QYHJnzgCwx8Y0HAhu7/igjgtG8dOEm7rLzrQqMF8J2S6vAFhmzCKnyAjRi+fxEBe9XiUez5flbug0MHBrDU7seAzRHITM+2evd8EQdOnQ4qY6xFiyO1BAVNMR0BCgnXx/5w1fY67To3iQQWMHUuqqnqjkBcXq09uuc65XAkE79XpKJYahRpr0v0Hc569kNRKwx99YBcLC8D0cOCSVrhPIcDqz6m3Ab7iAHUEThwhD0AVlY2Qp0ildEVQEcgflLtHNR2nXxYcr1i6fQWFs2r7giIwSs4QYtOODS5bloVS8rzT9UdATQTagw5dFdSbUmlVLr+TK7wXPbZpdn6MvcohlTHj05XBZ2M6nhS8arpd1KJ4HLdhpjDgcxkXmREolAonJBy3Kc48jJ+UN1lwLZR0snEA7V4UnVSUinhOjWoYdOvJBaX+I7YT1ocopnO9qbPiukIwIA2SgfwnuNJ1e8kMt3ReEPO90s3NyLxTp6h+85meHBLL9ERZXL5jLC1LRieUjyp5byIyABWjgz4gaDLoRhPp5q75ca5K1mUAUxCD4c2CjqaCVoNc+VkQny5s6N5QKK5MwUsBKWqqn4/OOw7CMjzOYceDm0UJoDEJvNYdjL/OMnBxIHLThYeymovw19/kpkgXPtzDxlSG2TRhz+QtClFhbNFBvfcXjXqkyDRgUMAWTmCO2w5I8gQMgXbPwlgMO4P99+Wy54j7Vh50ZnwSOxKACTwQxtV5h+TGdm8QVnpqzgDOw6mbPGLzlTLQCICEQ1jSv01ix4Wmkd5tRUuCEbTbY3j6qMSe190O4hudaWan+n4kUhLIjc7NJHL3zySgEmC/AX92868En0QqAAAAABJRU5ErkJggg==) no-repeat;
+ background-size: 16px;
+ box-sizing: border-box;
+ width: 16px;
+ height: 16px;
+ vertical-align: middle;
+ margin-top: -1px;
+ margin-left: 3px;
+}
+
+.acticle-list .icon-l {
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAACiElEQVR4Xu3dMU7bYABHcX/qQdoV9QRRh16Fm5DehKOwECN2krU9SOWOJS6phMn2fkwIxZbe+57+BhaP6dXX4/yyH2Pcvf7ZR75fluXHt93X/dZ7HJ6Oy9ZrXfe2gfWZDAG0UhFA67z/oRWAAM4eyx4BsSAsQOzA17gCEMDlR0DcTRL/7HeApIE4tAAEEDcQx7cAAogbiONbAAHEDcTxLYAA4gbi+BZAAHEDcXwLIIC4gTi+BRBA3EAc3wIIIG4gjm8BBBA3EMe3AAKIG4jjWwABxA3E8S2AAOIG4vgWQABxA3F8CyCAuIE4vgUQQNxAHN8CCCBuII5vAQQQNxDHtwACiBuI41sAAcQNxPEtgADiBuL4FkAAcQNxfAsggLiBOL4FEEDcQBzfAgggbiCObwEEEDcQxz9bgHk+fVk+TZ+v5WT8nn7tdjc/t97v8Hz6vvVa171tYH0m3hsYK8Vr42IHvsYVgAC8OrbcgAUon/40TQIQwOVHwDyfbpdpub2WozGN+93u5n7r/Q7z8WHrta678Gfg6kz8JzBeigAEEDcQx7cAAogbiONbAAHEDcTxLYAA4gbi+BZAAHEDcXwLIIC4gTi+BRBA3EAc3wIIIG4gjm8BBBA3EMe3AAKIG4jjWwABxA3E8S2AAOIG4vgWQABxA3F8CyCAuIE4vgUQQNxAHN8CCCBuII5vAQQQNxDHtwACiBuI41sAAcQNxPEtgADiBuL4FkAAcQNxfAsggLiBOL4FEEDcQBzfAgggbiCObwEEEDcQx7cAAogbiONbAAH8NfA4v+zHGHfXcrJ+SeF773t4Oi7vvcbn/2/AiyPjhQhAAF4eXW7AApRP38uj46cvAAGsHwF/AJboWZDGztttAAAAAElFTkSuQmCC) no-repeat;
+ background-size: 14px;
+ box-sizing: border-box;
+ width: 14px;
+ height: 14px;
+ vertical-align: middle;
+ margin-top: 1px;
+ margin-right: 3px;
+}
+
+.acticle-list .rightArrow {
+ font-size: 8px;
+}
\ No newline at end of file
diff --git a/__wuBaseWxss__/1.wxss b/__wuBaseWxss__/1.wxss
new file mode 100644
index 0000000..605b56b
--- /dev/null
+++ b/__wuBaseWxss__/1.wxss
@@ -0,0 +1,868 @@
+.u-club {
+ background: #fff;
+ position: relative;
+}
+
+.u-club .tabs {
+ position: absolute;
+ right: 0;
+ top: -41px;
+ text-align: center;
+ overflow: hidden;
+}
+
+.u-club .tabs .van-icon {
+ font-size: 24px;
+ color: #888;
+ width: 45px;
+ line-height: 43px;
+ height: 40px;
+ border: solid 1px #f1f1f1;
+ border-bottom: 0;
+ display: inline-block;
+ background: #f1f1f1;
+}
+
+.u-club .tabs .van-icon.on {
+ color: #666;
+ border-color: #eee;
+ background: #fff;
+}
+
+.u-club .box {
+ width: 100%;
+}
+
+.u-club .box .row-flex {
+ position: relative;
+}
+
+.u-club .box .item .van-icon {
+ overflow: hidden;
+ font-size: 25px;
+ line-height: 25px;
+ color: #888;
+}
+
+.u-club .box .item>view {
+ color: #686868;
+ text-align: center;
+ padding: 13px 0 15px 0;
+}
+
+.u-club .box .item text {
+ display: block;
+ font-size: 12px;
+ line-height: 12px;
+}
+
+.u-club .box .item:nth-child(3):before {
+ position: absolute;
+ left: 5%;
+ top: 0;
+ content: " ";
+ width: 90%;
+ height: 1px;
+ background: #eee;
+}
+
+.u-club .title {
+ font-size: 12px;
+ line-height: 32px;
+ padding: 2px 15px;
+ border-bottom: dotted 1px #e1e1e1;
+ color: #686868;
+}
+
+.u-club .title view:last-child {
+ text-align: right;
+ color: #a8a9ab;
+ display: inline-block;
+}
+
+.u-club .title .middle2 {
+ margin-top: -3px;
+}
+
+.u-icon {
+ background: #fff;
+ margin-top: 10px;
+}
+
+.u-icon .box {
+ width: 100%;
+}
+
+.u-icon .box .item>view {
+ color: #686868;
+ padding: 20px 0;
+ border-top: solid 1px #eee;
+ border-right: solid 1px #eee;
+ text-align: center;
+}
+
+.u-icon .box .item>view:last-child {
+ border-right: 0;
+}
+
+.u-icon .box .item>view .van-icon {
+ font-size: 30px;
+ line-height: 30px;
+ color: #888;
+}
+
+.u-icon .box .item>view text {
+ display: block;
+ font-size: 12px;
+ line-height: 14px;
+ padding-top: 2px;
+}
+
+.u-header {
+ background: #f1f1f1;
+ position: relative;
+ padding: 18px 0 18px 18px;
+}
+
+.u-header .action {
+ position: absolute;
+ right: 0;
+ top: 0;
+}
+
+.u-header .action>view {
+ position: relative;
+ display: inline-block;
+ height: 40px;
+ line-height: 40px;
+ width: 47px;
+ text-align: center;
+}
+
+.u-header .message .van-icon {
+ font-size: 22px;
+ vertical-align: middle;
+}
+
+.u-header .message .unread {
+ position: absolute;
+ right: 5px;
+ top: 2px;
+ min-width: 12px;
+ text-align: center;
+ line-height: 12px;
+ display: inline-block;
+ background: red;
+ color: #fff;
+ border-radius: 17px;
+ padding: 4px;
+ font-size: 16px;
+ transform: scale(.7);
+ font-family: Helvetica;
+ vertical-align: middle;
+}
+
+.u-header .avatar {
+ position: relative;
+ height: 55px;
+ width: 55px;
+ border-radius: 100%;
+ border: 4px solid #fff;
+ overflow: hidden;
+}
+
+.u-header .avatar .van-icon {
+ position: absolute;
+ left: 0;
+ top: -2px;
+ color: #45a1de;
+ background: #fff;
+ font-size: 58px;
+}
+
+.u-header .avatar image {
+ width: 100%;
+ height: 100%;
+}
+
+.u-header .info {
+ padding: 0 0 0 10px;
+}
+
+.u-header .info view {
+ display: inline-block;
+}
+
+.u-header .info .c-icon {
+ margin-left: 5px;
+}
+
+.u-header .info .name {
+ font-size: 14px;
+ line-height: 25px;
+ padding-top: 7px;
+}
+
+.u-header .info .assets {
+ display: block;
+ line-height: 14px;
+ padding-top: 4px;
+}
+
+.u-header .info .number {
+ color: #f60;
+ margin-right: 5px;
+}
+
+.onpay {
+ margin: 10px -12px;
+}
+
+.onpay .van-search {
+ margin: 10px;
+ padding: 0;
+ border-radius: 3px;
+}
+
+.onpay .van-icon-balance2 {
+ color: #999;
+ font-size: 24px;
+}
+
+.onpay .paylist {
+ padding: 0 10px;
+}
+
+.onpay .paylist .row-flex {
+ padding: 5px 10px;
+ margin-top: 10px;
+ line-height: 28px;
+ background: #fff;
+ border: 1px solid #e5e5e5;
+ border-radius: 3px;
+}
+
+.onpay .paylist .flex-item {
+ font-size: 14px;
+ line-height: 29px;
+}
+
+.onpay .paylist .logo {
+ font-size: 28px;
+ margin: -2px 20px 0 0;
+ vertical-align: middle;
+}
+
+.onpay .paylist .van-icon-passed {
+ border-radius: 50%;
+}
+
+.appealPost {
+ border: 1px solid #a7cbff;
+ padding: 30px 10px;
+ color: #666;
+ background: #fff;
+ margin: 10px;
+ border-radius: 2px;
+ text-align: center;
+}
+
+.cartpay {
+ overflow: hidden;
+}
+
+.cartpay .item {
+ background: #fafafa;
+ overflow: hidden;
+ margin-bottom: 10px;
+ border-bottom: 1px #e9e9e9 solid;
+ border-top: 1px #e9e9e9 solid;
+}
+
+.cartpay .shop {
+ line-height: 20px;
+ background: #fff;
+ padding: 10px;
+ color: #999;
+ border-bottom: 1px #e5e5e5 solid;
+ position: relative;
+}
+
+.cartpay .shop .name {
+ color: #333;
+ max-width: 40%;
+ font-size: 14px;
+ padding-left: 26px;
+}
+
+.cartpay .shop .van-icon {
+ color: #333;
+ font-size: 18px;
+}
+
+.cartpay .shop .gicon {
+ left: 10px;
+ padding: 0;
+ right: auto;
+ top: 50%;
+ margin-top: -10px;
+}
+
+.cartpay .shop .total {
+ position: absolute;
+ right: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+
+.cartpay .good {
+ padding: 10px 0;
+ border-bottom: 1px #f1f1f1 solid;
+ margin: 0 10px;
+}
+
+.cartpay .good:last-child {
+ border-bottom: 0;
+}
+
+.cartpay .good .pic {
+ text-align: center;
+ overflow: hidden;
+ line-height: 40px;
+ height: 40px;
+ width: 50px;
+ color: #36c;
+ margin: 0 8px 0 0;
+ border: 1px solid #eee;
+ background: #fafafa;
+}
+
+.cartpay .good .pic image {
+ width: 100%;
+ display: block;
+}
+
+.cartpay .good .info {
+ color: #999;
+ position: relative;
+ min-width: 0;
+}
+
+.cartpay .good .money {
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ display: block;
+ width: 100%;
+}
+
+.cartpay .good .money>text:first-child {
+ color: #f40;
+ vertical-align: -1px;
+}
+
+.cartpay .m:before {
+ content: "¥";
+ font-size: .8em;
+}
+
+.cartpay .order {
+ background: #eef7fe;
+}
+
+.cartpay .order>view {
+ line-height: 20px;
+ padding: 8px;
+ display: flex;
+ flex-direction: row;
+ border-bottom: #e5ecf2 solid 1px;
+}
+
+.cartpay .order .gicon {
+ top: 0;
+ left: 0;
+ right: auto;
+ padding: 0;
+}
+
+.cartpay .order .gicon view {
+ margin: 0;
+}
+
+.cartpay .order .title {
+ padding-left: 20px;
+}
+
+.cartpay .order .top {
+ color: #111;
+ font-size: 14px;
+ background: #e5ecf2;
+ padding: 8px 10px;
+}
+
+.cartpay .order .label {
+ width: 72px;
+ text-align: right;
+}
+
+.cartpay .order>view>view:last-child {
+ flex: 1;
+ padding-right: 10px;
+ min-width: 0;
+ position: relative;
+}
+
+.cashier {
+ padding: 10px 10px 0 10px;
+ background: #fff;
+ overflow: hidden;
+}
+
+.cashier .safe {
+ line-height: 38px;
+ height: 38px;
+ background: #fff;
+ border: 1px #56aa16 solid;
+ padding: 0 10px;
+}
+
+.cashier .onpay {
+ margin: 10px -10px;
+}
+
+.cashier .onpay .row-flex {
+ border-radius: 0;
+}
+
+.ptips {
+ font-size: 14px;
+ line-height: 28px;
+ margin: 0 0 10px 0;
+ padding: 5px 10px;
+ height: 28px;
+ position: relative;
+}
+
+.ptips .tright {
+ right: 10px;
+ top: 50%;
+ margin-top: -14px;
+ position: absolute;
+}
+
+.ptips .van-checkbox {
+ border: #e0e0e0 solid 1px;
+ height: 38px;
+}
+
+.ptips .van-checkbox .van-checkbox__icon-wrap {
+ display: block;
+ height: 40px;
+ position: relative;
+}
+
+.ptips .van-checkbox {
+ left: 0;
+ top: 0;
+ width: 100%;
+ position: absolute;
+ z-index: 1;
+}
+
+.ptips .van-checkbox .van-checkbox__icon {
+ left: 10px;
+ top: 50%;
+ margin-top: -11px;
+ position: absolute;
+}
+
+.ptips .van-checkbox .van-checkbox__label {
+ left: 28px;
+ top: 50%;
+ margin-top: -10px;
+ position: absolute;
+}
+
+.pay-checked,.ptips .van-checkbox.pay-checked {
+ border: #85a1d4 solid 1px;
+}
+
+.ptips .tright .b {
+ color: #f60;
+ padding: 0 3px;
+}
+
+.ptips .text {
+ padding-left: 25px;
+}
+
+.prompt {
+ background: #eff8e4;
+ height: 100%;
+ font-size: 14px;
+ position: fixed;
+ width: 100%;
+}
+
+.prompt .body {
+ padding: 5px 15px;
+}
+
+.prompt.no {
+ background: #ffeeea;
+}
+
+.prompt.way {
+ background: #fff3e2;
+}
+
+.prompt.no .text {
+ color: #ff9393;
+}
+
+.prompt.way .icons {
+ background-position: -59px -419px;
+}
+
+.prompt .text {
+ line-height: 20px;
+ padding: 3px 0;
+ font-weight: 700;
+}
+
+.prompt .text {
+ color: #91c26c;
+}
+
+.prompt .text>view {
+ margin: 10px 0;
+}
+
+.prompt .text>view>view {
+ display: inline;
+}
+
+.prompt .text .label {
+ font-size: 14px;
+ color: #333;
+}
+
+.prompt .text input {
+ width: 358px;
+ background: #e2f2ff;
+ border: #bed3f0 solid 2px;
+ line-height: 25px;
+}
+
+.prompt .text input:hover {
+ background: #e2f2ff;
+ border: #8cb6f0 solid 2px;
+}
+
+.prompt .action navigator {
+ line-height: 14px;
+ font-size: 14px;
+ color: #999;
+ display: inline-block;
+ padding: 0 10px;
+ position: relative;
+ border-left: #999 solid 1px;
+}
+
+.prompt .action navigator:first-child {
+ border: 0;
+ padding-left: 0;
+}
+
+.prompt .action navigator:last-child {
+ padding-right: 0;
+}
+
+.prompt .trun .item {
+ display: flex;
+ flex-direction: row;
+}
+
+.prompt .trun .item>view {
+ flex: 1;
+ border-color: #ffeeea;
+ border: #ff9393 solid 2px;
+ color: #ff9393;
+ text-align: center;
+ margin: 12px 12px 12px 0;
+ padding: 8px 0;
+}
+
+.prompt .trun .item>view>view {
+ font-weight: 700;
+ font-size: 18px;
+}
+
+.prompt .trun .item>view:last-child {
+ margin-right: 0;
+}
+
+.prompt .trun .item>view.ok {
+ border-color: #eff8e4;
+ border: #91c26c solid 2px;
+ color: #91c26c;
+}
+
+.prompt .trun .top {
+ text-align: center;
+ padding: 12px 0 0 0;
+ font-weight: 700;
+}
+
+.prompt .trun button {
+ font-size: 13px;
+ color: #333;
+ background: #e2f2ff;
+ border: #bed3f0 solid 2px;
+ padding: 1px 0;
+ margin-bottom: 10px;
+}
+
+.prompt .trun button:after {
+ border: 0;
+}
+
+.prompt button,.prompt button::after {
+ border-radius: 1px;
+}
+
+.central .item {
+ overflow: hidden;
+ position: relative;
+ margin: 10px 10px 0 10px;
+ background: #fff;
+ padding: 5px 10px;
+ border-radius: 2px;
+}
+
+.central .item:last-child {
+ margin: 10px;
+}
+
+.central .top {
+ padding: 10px 5px;
+ line-height: 18px;
+}
+
+.central .center {
+ text-align: right;
+ color: #090;
+}
+
+.central .center .van-icon {
+ padding-right: 2px;
+ font-size: 18px;
+ vertical-align: middle;
+ margin-top: -3px;
+}
+
+.central .center.not {
+ color: #999;
+}
+
+.central .center.warn {
+ color: red;
+}
+
+.central .tright {
+ min-width: 80px;
+}
+
+.central .tright navigator,.central .tright view {
+ color: #428bca;
+ display: inline-block;
+}
+
+.central .tright navigator:nth-child(2) {
+ margin-left: 5px;
+}
+
+.central .tright navigator:nth-child(2):before {
+ content: "|";
+ padding-right: 5px;
+ color: #ccc;
+}
+
+.central .bottom {
+ padding: 10px 5px;
+ color: #999;
+}
+
+.whiteList {
+ margin-bottom: 5px;
+}
+
+.whiteList .items {
+ position: relative;
+ color: #666;
+ margin: 0 10px;
+ padding: 10px 0 10px 40px;
+}
+
+.whiteList .items:nth-child(2) {
+ border-top: #eee solid 1px;
+}
+
+.whiteList .name {
+ position: absolute;
+ left: 0;
+ top: 50%;
+ margin-top: -7px;
+ color: #000;
+ line-height: 14px;
+ width: 45px;
+ text-align: right;
+}
+
+.whiteList .lists.ip view {
+ line-height: 20px;
+}
+
+.whiteList .lists.region view {
+ border: 1px solid #eee;
+ background: #f9f9f9;
+ line-height: 12px;
+ font-size: 12px;
+ text-transform: capitalize;
+ margin: 3px 6px 3px 0;
+ padding: 3px 5px 4px 5px;
+ border-radius: 3px;
+ display: inline-block;
+}
+
+.detailList {
+ min-height: 1px;
+}
+
+.detailList .item {
+ margin: 10px 10px 0 10px;
+ overflow: hidden;
+ background: #fff;
+ padding: 10px;
+ line-height: 18px;
+ border-radius: 2px;
+}
+
+.detailList .add:before {
+ content: '+';
+ color: #0b9a00;
+ vertical-align: 1px;
+}
+
+.detailList .add:before {
+ content: '+';
+ color: #0b9a00;
+ vertical-align: 1px;
+}
+
+.detailList .green {
+ color: #87a34d;
+}
+
+.detailList .arrow {
+ color: #999;
+ vertical-align: middle;
+ margin: -2px -3px 0 0;
+ line-height: 16px;
+ height: 16px;
+ padding-left: 10px;
+}
+
+.detailList .tcenter {
+ flex: 1;
+ min-width: 0;
+}
+
+.detailList .cashed {
+ font-size: 28px;
+ line-height: 28px;
+ height: 28px;
+}
+
+.detailList .tleft,.detailList .tright {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.detailList .tleft>view,.detailList .tright>view {
+ width: 100%;
+}
+
+.detailList .sub:before {
+ content: '-';
+ color: red;
+ vertical-align: 1px;
+}
+
+.detailList .link {
+ color: #056dae;
+}
+
+.bond {
+ background-color: #f1f1f1;
+ overflow: hidden;
+ width: 100%;
+}
+
+.bond .info {
+ padding: 15px 0;
+ background: #fff;
+}
+
+.bond .info:first-child {
+ font-size: 12px;
+ background: 0 0;
+ border-bottom: 2px #e1e1e1 solid;
+ padding: 11px 0 10px 0;
+}
+
+.bond .info .van-icon {
+ color: #555;
+ vertical-align: middle;
+ font-size: 18px;
+ margin: -2px 3px 0 0;
+}
+
+.bond .info rich-text {
+ display: inline-block;
+}
+
+.bond .info .flex-item {
+ padding: 0 0 0 14px;
+ border-right: 1px #f1f1f1 solid;
+}
+
+.bond .info .label {
+ color: #666;
+}
+
+.bond .info .money {
+ line-height: 30px;
+ vertical-align: -2px;
+ font-size: 26px;
+ color: #6b6b6b;
+}
+
+.mendsign {
+ background: #f8ffe0;
+ text-align: center;
+ padding: 30px 0 50px 0;
+}
+
+.mend_top {
+ padding: 20px 20px 5px 20px;
+ font-size: 14px;
+ font-weight: 400;
+ color: #707b5b;
+ line-height: 1.5;
+}
+
+.mend_top span {
+ font-size: 26px;
+}
\ No newline at end of file
diff --git a/app.js b/app.js
new file mode 100644
index 0000000..186eda2
--- /dev/null
+++ b/app.js
@@ -0,0 +1,8 @@
+App({
+ onLaunch: function(n) {
+ wx.setStorageSync("apiurl", "https://m.huzhan.com/");
+ },
+ globalData: {
+ userInfo: null
+ }
+});
\ No newline at end of file
diff --git a/app.json b/app.json
new file mode 100644
index 0000000..c42eb34
--- /dev/null
+++ b/app.json
@@ -0,0 +1,51 @@
+{
+ "pages": [
+ "pages/index/index",
+ "pages/member/member",
+ "pages/index/article",
+ "pages/member/myorder",
+ "pages/index/show",
+ "pages/index/list",
+ "pages/index/shop",
+ "pages/member/html",
+ "pages/member/cart",
+ "pages/member/login",
+ "pages/member/list/fav",
+ "pages/member/list/order",
+ "pages/member/list/detail",
+ "pages/member/list/manage",
+ "pages/member/list/message"
+ ],
+ "window": {
+ "backgroundTextStyle": "light",
+ "navigationBarBackgroundColor": "#fff",
+ "navigationBarTitleText": "互站网",
+ "navigationBarTextStyle": "black",
+ "enablePullDownRefresh": true
+ },
+ "tabBar": {
+ "color": "#7a7e83",
+ "selectedColor": "#e93b3d",
+ "list": [
+ {
+ "pagePath": "pages/index/index",
+ "text": "首页",
+ "iconPath": "static/images/home.png",
+ "selectedIconPath": "static/images/home_hover.png"
+ },
+ {
+ "pagePath": "pages/member/cart",
+ "text": "购物车",
+ "iconPath": "static/images/cart.png",
+ "selectedIconPath": "static/images/cart_hover.png"
+ },
+ {
+ "pagePath": "pages/member/member",
+ "text": "我的",
+ "iconPath": "static/images/my.png",
+ "selectedIconPath": "static/images/my_hover.png"
+ }
+ ]
+ },
+ "sitemapLocation": "sitemap96.json"
+}
\ No newline at end of file
diff --git a/app.wxss b/app.wxss
new file mode 100644
index 0000000..fe71aa1
--- /dev/null
+++ b/app.wxss
@@ -0,0 +1,21 @@
+[is="utils/forview/index"] {
+ display: contents;
+}
+
+[is="vant/goods-action-button/index"] {
+ flex: 1;
+}
+
+[is="vant/tabbar-item/index"] {
+ flex: 1;
+}
+
+navigator {
+ color: #333;
+}
+
+page {
+ font-size: 14px;
+ color: #333;
+ background: #f2f2f2;
+}
\ No newline at end of file
diff --git a/common/WxValidate.js b/common/WxValidate.js
new file mode 100644
index 0000000..5a386c5
--- /dev/null
+++ b/common/WxValidate.js
@@ -0,0 +1,290 @@
+function t(t, e) {
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
+}
+
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+});
+
+var e = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
+ return typeof t;
+} : function(t) {
+ return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
+}, n = function() {
+ function t(t, e) {
+ for (var n = 0; n < e.length; n++) {
+ var i = e[n];
+ i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0),
+ Object.defineProperty(t, i.key, i);
+ }
+ }
+ return function(e, n, i) {
+ return n && t(e.prototype, n), i && t(e, i), e;
+ };
+}(), i = function() {
+ function i() {
+ var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
+ t(this, i), Object.assign(this, {
+ data: {},
+ rules: e,
+ messages: n
+ }), this.__init();
+ }
+ return n(i, [ {
+ key: "__init",
+ value: function() {
+ this.__initMethods(), this.__initDefaults(), this.__initData();
+ }
+ }, {
+ key: "__initData",
+ value: function() {
+ this.form = {}, this.errorList = [];
+ }
+ }, {
+ key: "__initDefaults",
+ value: function() {
+ this.defaults = {
+ messages: {
+ required: "不能为空",
+ email: "请输入有效的邮箱地址",
+ phone: "请输入11位的手机号码",
+ qq: "请输入5~11位的QQ号码",
+ url: "请输入有效的网址",
+ nice: "昵称必须为2~7位的数字、字母或汉字",
+ date: "请输入有效的日期",
+ dateISO: "请输入有效的日期(ISO),例如:2009-06-23,1998/01/22",
+ number: "请输入有效的数字",
+ digits: "只能输入数字",
+ idcard: "请输入18位的有效身份证",
+ safe: "不少于6位,且同时包含数字+字母",
+ pass: "密码长度要求6-20位",
+ vcode: "验证码错误,请重新输入",
+ equalTo: this.formatTpl("输入值必须和 {0} 相同"),
+ contains: this.formatTpl("输入值必须包含 {0}"),
+ minlength: this.formatTpl("最少需要输入 {0} 个字符"),
+ maxlength: this.formatTpl("最多允许输入 {0} 个字符"),
+ rangelength: this.formatTpl("长度要求:{0} 到 {1} 个字符"),
+ min: this.formatTpl("请输入不小于 {0} 的数字"),
+ max: this.formatTpl("请输入不大于 {0} 的数字"),
+ range: this.formatTpl("允许数字范围: {0} 到 {1} 之间")
+ }
+ };
+ }
+ }, {
+ key: "__initMethods",
+ value: function() {
+ var t = this;
+ t.methods = {
+ required: function(e, n) {
+ if (!t.depend(n)) return "dependency-mismatch";
+ if ("number" == typeof e) e = e.toString(); else if ("boolean" == typeof e) return !0;
+ return e.length > 0;
+ },
+ email: function(e) {
+ return t.optional(e) || /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(e);
+ },
+ phone: function(e) {
+ return t.optional(e) || /^1[345789]\d{9}$/.test(e);
+ },
+ qq: function(e) {
+ return t.optional(e) || /^[1-9]\d{5,11}$/.test(e);
+ },
+ nice: function(e) {
+ return t.optional(e) || /^[\u4e00-\u9fa5a_a-zA-Z0-9\-]{2,14}$/.test(e);
+ },
+ pass: function(e) {
+ return t.optional(e) || /^\S{6,20}$/.test(e);
+ },
+ vcode: function(e) {
+ return t.optional(e) || /^\S{4,6}$/.test(e);
+ },
+ url: function(e) {
+ return t.optional(e) || /^(?:(?:(?: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.test(e);
+ },
+ date: function(e) {
+ return t.optional(e) || !/Invalid|NaN/.test(new Date(e).toString());
+ },
+ dateISO: function(e) {
+ return t.optional(e) || /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(e);
+ },
+ number: function(e) {
+ return t.optional(e) || /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(e);
+ },
+ digits: function(e) {
+ return t.optional(e) || /^\d+$/.test(e);
+ },
+ idcard: function(e) {
+ return t.optional(e) || /^[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)$/.test(e);
+ },
+ equalTo: function(e, n) {
+ return t.optional(e) || e === t.data[n];
+ },
+ contains: function(e, n) {
+ return t.optional(e) || e.indexOf(n) >= 0;
+ },
+ minlength: function(e, n) {
+ return t.optional(e) || e.length >= n;
+ },
+ maxlength: function(e, n) {
+ return t.optional(e) || e.length <= n;
+ },
+ rangelength: function(e, n) {
+ return t.optional(e) || e.length >= n[0] && e.length <= n[1];
+ },
+ min: function(e, n) {
+ return t.optional(e) || e >= n;
+ },
+ max: function(e, n) {
+ return t.optional(e) || e <= n;
+ },
+ range: function(e, n) {
+ return t.optional(e) || e >= n[0] && e <= n[1];
+ },
+ safe: function(e, n) {
+ return t.optional(e) || /(?=^.*?\d)(?=^.*?[a-zA-Z])^[0-9a-zA-Z]{6,32}$/.test(e);
+ }
+ };
+ }
+ }, {
+ key: "addMethod",
+ value: function(t, e, n) {
+ this.methods[t] = e, this.defaults.messages[t] = void 0 !== n ? n : this.defaults.messages[t];
+ }
+ }, {
+ key: "isValidMethod",
+ value: function(t) {
+ var e = [];
+ for (var n in this.methods) n && "function" == typeof this.methods[n] && e.push(n);
+ return -1 !== e.indexOf(t);
+ }
+ }, {
+ key: "formatTpl",
+ value: function(t, e) {
+ var n = this;
+ return 1 === arguments.length ? function() {
+ var e = Array.from(arguments);
+ return e.unshift(t), n.formatTpl.apply(this, e);
+ } : void 0 === e ? t : (arguments.length > 2 && e.constructor !== Array && (e = Array.from(arguments).slice(1)),
+ e.constructor !== Array && (e = [ e ]), e.forEach(function(e, n) {
+ t = t.replace(new RegExp("\\{" + n + "\\}", "g"), function() {
+ return e;
+ });
+ }), t);
+ }
+ }, {
+ key: "depend",
+ value: function(t) {
+ switch (void 0 === t ? "undefined" : e(t)) {
+ case "boolean":
+ t = t;
+ break;
+
+ case "string":
+ t = !!t.length;
+ break;
+
+ case "function":
+ t = t();
+
+ default:
+ t = !0;
+ }
+ return t;
+ }
+ }, {
+ key: "optional",
+ value: function(t) {
+ return !this.methods.required(t) && "dependency-mismatch";
+ }
+ }, {
+ key: "customMessage",
+ value: function(t, n) {
+ var i = this.messages[t], r = "object" === (void 0 === i ? "undefined" : e(i));
+ if (i && r) return i[n.method];
+ }
+ }, {
+ key: "defaultMessage",
+ value: function(t, n) {
+ var i = this.customMessage(t, n) || this.defaults.messages[n.method], r = void 0 === i ? "undefined" : e(i);
+ return "undefined" === r ? i = "Warning: No message defined for " + n.method + "." : "function" === r && (i = i.call(this, n.parameters)),
+ void 0 !== this.messages[t] && this.messages[t].label ? i = "【" + this.messages[t].label + "】" + i : "required" == n.method && "不能为空" == i && (i = "此项" + i),
+ i;
+ }
+ }, {
+ key: "formatTplAndAdd",
+ value: function(t, e, n) {
+ var i = this.defaultMessage(t, e);
+ this.errorList.push({
+ param: t,
+ msg: i,
+ value: n
+ });
+ }
+ }, {
+ key: "checkParam",
+ value: function(t, n, i) {
+ if (this.data = i, void 0 === i[t]) return !0;
+ if (n.isShow) {
+ var r = !0;
+ for (var o in n.isShow) {
+ var a = n.isShow[o];
+ ("object" == e(i[o]) ? i[o].join("") : i[o]) !== a && (r = !1);
+ }
+ if (!r) return !0;
+ }
+ var s = null !== i[t] ? i[t] : "";
+ for (var u in n) if ("isShow" != u && this.isValidMethod(u)) {
+ var f = {
+ method: u,
+ parameters: n[u]
+ }, l = this.methods[u](s, f.parameters);
+ if (this.setValue(t, u, l, s), !l || "dependency-mismatch" === l) return this.formatTplAndAdd(t, f, s),
+ !1;
+ }
+ return !0;
+ }
+ }, {
+ key: "setView",
+ value: function(t) {
+ this.form[t] = {
+ $name: t,
+ $valid: !0,
+ $invalid: !1,
+ $error: {},
+ $success: {},
+ $viewValue: ""
+ };
+ }
+ }, {
+ key: "setValue",
+ value: function(t, e, n, i) {
+ var r = this.form[t];
+ r.$valid = n, r.$invalid = !n, r.$error[e] = !n, r.$success[e] = n, r.$viewValue = i;
+ }
+ }, {
+ key: "checkForm",
+ value: function(t) {
+ this.__initData();
+ for (var e in this.rules) if (!(t.Send && [ "phone", "email" ].indexOf(e) < 0 || (this.setView(e),
+ this.checkParam(e, this.rules[e], t)))) return !1;
+ return this.valid();
+ }
+ }, {
+ key: "valid",
+ value: function() {
+ return 0 === this.size();
+ }
+ }, {
+ key: "size",
+ value: function() {
+ return this.errorList.length;
+ }
+ }, {
+ key: "validationErrors",
+ value: function() {
+ return this.errorList;
+ }
+ } ]), i;
+}();
+
+exports.default = i;
\ No newline at end of file
diff --git a/common/common.js b/common/common.js
new file mode 100644
index 0000000..1931bb9
--- /dev/null
+++ b/common/common.js
@@ -0,0 +1,1058 @@
+function e(e) {
+ return e && e.__esModule ? e : {
+ default: e
+ };
+}
+
+function t(e, t, a) {
+ return t in e ? Object.defineProperty(e, t, {
+ value: a,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : e[t] = a, e;
+}
+
+function a(e) {
+ var t = void 0 !== M.data.listIndex ? M.data.getdata[M.data.listIndex] : M.data.getdata, a = void 0 !== M.data.listIndex ? M.data.listdata[M.data.listIndex] : M.data.listdata;
+ s({
+ url: M.data.Form.apiurl,
+ data: t
+ }, function(n) {
+ if ("fail" != n) {
+ if (0 === n.state) return m(n);
+ a.list && n.CurPage > 1 && (n.list = a.list.concat(n.list)), void 0 === M.data.listIndex && 1 === t.page && wx.pageScrollTo({
+ scrollTop: 0,
+ duration: 0
+ });
+ }
+ e && e(n);
+ });
+}
+
+function n(e) {
+ wx.setClipboardData({
+ data: e,
+ success: function() {
+ wx.showToast({
+ title: "复制成功",
+ mask: !0
+ });
+ }
+ });
+}
+
+function i() {
+ M.onPullDownRefresh && (M.onPullDownRefresh(), wx.stopPullDownRefresh());
+}
+
+function o() {
+ var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 1, t = getCurrentPages(), a = t[t.length - 1], n = a.route;
+ if (1 != e) return n;
+ var i = a.options, o = n + "?";
+ for (var r in i) o += r + "=" + i[r] + "&";
+ return o = o.substring(0, o.length - 1);
+}
+
+function r(e, t) {
+ var a = e.match(new RegExp(t + "=(\\S*);"));
+ return a && a[1] ? a[1] : "";
+}
+
+function s(e, t) {
+ var a = wx.getStorageSync("sessionid"), n = wx.getStorageSync("ci_session"), i = wx.getStorageSync("cid");
+ "string" == typeof e && (e = {
+ url: e
+ }), "http" != e.url.substring(0, 4) && (e.url = wx.getStorageSync("apiurl") + e.url),
+ e.header || (e.header = {}), e.header.platform = M.data.SystemInfo.platform, e.header.system = M.data.SystemInfo.system,
+ e.header.cookie = n ? "ci_session=" + n + "; " : "", e.header.cookie += i ? "cid=" + i + "; " : "cid=aaaaaaaaaaadwd2d22d1; ",
+ e.header.sessionid = a || null, "GET" != e.method && (e.method = "POST", e.header = Object.assign({
+ "content-Type": "application/x-www-form-urlencoded"
+ }, e.header)), e.success = function(e) {
+ e.data.title && !e.data.share && wx.hideShareMenu(), !n && wx.setStorageSync("ci_session", r(e.header["Set-Cookie"], "ci_session")),
+ !i && r(e.header["Set-Cookie"], "cid") && wx.setStorageSync("cid", r(e.header["Set-Cookie"], "cid")),
+ 200 == e.statusCode && t && t(e.data);
+ }, e.fail = function(e) {
+ wx.showToast({
+ title: "加载失败",
+ icon: "none",
+ duration: 2e3
+ }), t("fail");
+ }, wx.request(e);
+}
+
+function l(e, a, n) {
+ var i = x();
+ !a.initial && M.data[i] && M.data[i].form && M.data[i].form.upload && M.data[i].form.upload.list.ing.length > 0 ? (M.setData(t({}, i + ".form.upload.being", !0)),
+ w(Object.assign({
+ postUrl: e
+ }, a), function(t) {
+ if (t) {
+ if (a.formToUpload) return u(t, n);
+ c({
+ url: e,
+ data: a,
+ method: "POST"
+ }, function(e) {
+ u(e, n);
+ });
+ }
+ })) : c({
+ url: e,
+ data: a,
+ method: "POST"
+ }, function(e) {
+ u(e, n);
+ });
+}
+
+function c(e, t) {
+ "string" == typeof e && (e = {
+ url: e
+ }), wx.getStorageSync("sessionid") || null || -1 != e.url.indexOf("islogin=0") ? (e.header || (e.header = {}),
+ e.header.islogin = -1 != e.url.indexOf("islogin=0") ? 0 : 1, s(e, function(a) {
+ f(a, t, e);
+ })) : (wx.setStorageSync("loginback", o()), wx.navigateTo({
+ url: "/pages/member/login?action=authorize"
+ }));
+}
+
+function u(e, t) {
+ t ? t(e) : e.title && p(e);
+}
+
+function f(e, t, a) {
+ if (-2 == e.state) b(function(e) {
+ "success" == e ? a ? s(a, function(e) {
+ t(e);
+ }) : i(M) : (wx.setStorageSync("loginback", o()), wx.navigateTo({
+ url: "/pages/member/login?action=" + e
+ }));
+ }); else {
+ if (0 === e.state) return m(e);
+ "authorize" != e.state && "binding" != e.state || !e.sessionid ? u(e, t) : (wx.setStorageSync("loginback", o()),
+ wx.navigateTo({
+ url: "/pages/member/login?action=" + e.state
+ }));
+ }
+}
+
+function d(e) {
+ wx.requestPayment({
+ timeStamp: e.timeStamp,
+ nonceStr: e.nonceStr,
+ package: e.package,
+ signType: e.signType,
+ paySign: e.paySign,
+ success: function(t) {
+ if (wx.showLoading({
+ title: "请稍等…"
+ }), e.success) return m(e.success);
+ },
+ fail: function(t) {
+ if (e.fail) return m(e.success);
+ k();
+ }
+ });
+}
+
+function m(e) {
+ var t = x();
+ return e.appPayment ? d(e.appPayment) : (delete e.state, !e.info && e.url ? y({
+ action: 301,
+ info: e.url
+ }) : (e.info ? (e.btn && (e.confirmtext = e.btn), (e.btn2 || e.url2 || e.action2 || e.back2 || e.backfun2) && (e.canceltext = e.btn2 || "取消"),
+ (e.url || e.url2 || e.action || e.action2 || e.back || e.back2 || e.backfun || e.backfun2 || e.element || e.fun) && (e.buttons = {},
+ (e.url || e.action || e.back || e.backfun || e.element || e.fun) && (e.buttons.confirm = {
+ info: e.fun || e.url || e.backfun || e.element || "",
+ data: e.data || null,
+ action: e.fun ? "fun" : 1 == e.back ? "back" : 1 === e.url ? "refresh" : e.element ? "backfocus" : e.backfun ? "backfun" : e.action ? e.action : "url"
+ }), (e.url2 || e.action2 || e.back2 || e.backfun2) && (e.buttons.cancel = {
+ info: e.url2 || e.backfun2 || "",
+ data: e.data || null,
+ action: 1 === e.url2 ? "refresh" : 1 == e.back2 ? "back" : e.backfun2 ? "backfun" : e.action2 ? e.action2 : "url"
+ }))) : M.data[t] && M.data[t].form && M.data[t].form.formLoad && k(), y(e)));
+}
+
+function p(e) {
+ var a;
+ wx.setNavigationBarTitle({
+ title: e.title
+ });
+ var n = {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {},
+ rate: {}
+ }
+ }, i = x();
+ for (var o in e) if ("onloadFun" != o) if ("form" != o) n[o] = e[o]; else for (var r in e[o]) n.form[r] = e[o][r];
+ M.setData((a = {}, t(a, i, n), t(a, "spin", !1), a)), n.input && y({
+ action: "formValidate",
+ list: n.input
+ }), e.onloadFun && y(e.onloadFun), wx.stopPullDownRefresh();
+}
+
+function g(e, t) {
+ s({
+ url: e,
+ method: "GET"
+ }, function(e) {
+ f(e, function(e) {
+ t(e);
+ });
+ });
+}
+
+function b(e) {
+ wx.login({
+ success: function(t) {
+ wx.request({
+ url: wx.getStorageSync("apiurl") + "get/login",
+ data: {
+ code: t.code
+ },
+ header: {
+ platform: M.data.SystemInfo.platform,
+ system: M.data.SystemInfo.system
+ },
+ success: function(t) {
+ var a = t.data;
+ a.sessionid ? (wx.setStorageSync("sessionid", a.sessionid), e(a.state)) : wx.showModal({
+ title: "提示",
+ content: a.info,
+ showCancel: !1
+ });
+ }
+ });
+ }
+ });
+}
+
+function v() {
+ var e = getCurrentPages(), t = e[e.length - 1], a = t.route, n = t.options, i = "/" + a + "?";
+ for (var o in n) i += o + "=" + n[o] + "&";
+ return i = i.substring(0, i.length - 1);
+}
+
+function h() {
+ var e = x(), a = setInterval(function() {
+ var n = M.data[e].form.send;
+ if (!n) return L = !1, clearInterval(a);
+ var i = n.interval > 0 ? n.interval : 60;
+ if (!L && n.time > 0 || 0 == n.time && "boolean" != typeof n.Stop) var o = n.time > 0 ? n.time : i, r = {
+ Stop: !0,
+ Tips: o + "s后重发",
+ time: o - 1,
+ interval: i
+ }; else {
+ L = !1, clearInterval(a);
+ r = {
+ Stop: !1,
+ Tips: "发送验证码",
+ time: 0,
+ interval: i
+ };
+ }
+ M.setData(t({}, e + ".form.send", r));
+ }.bind(M), 1e3);
+}
+
+function x() {
+ return M.data.popupForm && M.data.popupForm.show ? "popupForm" : "Form";
+}
+
+function w(e, a) {
+ var n = x(), i = M.data[n].form.upload, o = i.list.ing.shift(), r = i.ingFiles.shift(), s = e.formToUpload, l = s ? e.postUrl : i.apiurl, c = wx.getStorageSync("sessionid"), u = wx.getStorageSync("ci_session");
+ if (!o || "" == o) return a(!0);
+ wx.uploadFile({
+ url: wx.getStorageSync("apiurl") + l,
+ filePath: o,
+ name: "file",
+ formData: Object.assign({
+ osize: r.size,
+ lastDate: new Date().getTime(),
+ maxnum: i.max
+ }, s ? e : {}, i.post ? i.post : {}),
+ header: {
+ "Content-Type": "multipart/form-data",
+ platform: M.data.SystemInfo.platform,
+ system: M.data.SystemInfo.system,
+ cookie: u ? "ci_session=" + u : null,
+ sessionid: c || null
+ },
+ complete: function(r) {
+ if (s) return f(JSON.parse(r.data), a);
+ if ("uploadFile:ok" == r.errMsg) {
+ if (r.data) {
+ var l = JSON.parse(r.data);
+ i.number.ing -= 1, "0" == l.state ? (i.list.suc = i.list.suc.concat([ o ]), i.number.suc = (i.number.suc || 0) + 1) : (i.list.err = i.list.err.concat([ o ]),
+ i.number.err = (i.number.err || 0) + 1, i.msg[o] = l.state);
+ }
+ } else i.number.ing -= 1, i.number.err = (i.number.err || 0) + 1, i.list.err = i.list.err.concat([ o ]),
+ i.msg[o] = r.errMsg;
+ i.being = i.list.ing.length > 0, M.setData(t({}, n + ".form.upload", i)), i.list.ing.length > 0 ? w(e, a) : a && a(!0);
+ }
+ });
+}
+
+function y(e) {
+ var a, n = [ "loading", "spin", "popupSpin" ], o = x();
+ for (var r in n) {
+ var s = n[r];
+ M.data[s] && M.setData(t({}, s, !1));
+ }
+ var u = e.currentTarget ? e.currentTarget.dataset : e, f = u.action;
+ switch (-1 !== [ "formSubmit", "checkbox", "picker", "input", "radio", "swiper" ].indexOf(f) && ((u = e).action = f),
+ u.action) {
+ case "copy":
+ wx.setClipboardData({
+ data: u.info,
+ success: function() {
+ wx.showToast({
+ title: u.title || u.data || "复制成功",
+ mask: !0
+ });
+ }
+ });
+ break;
+
+ case "go":
+ wx.pageScrollTo({
+ scrollTop: "top" == u.info ? 0 : u.info,
+ duration: 300
+ });
+ break;
+
+ case "refresh":
+ i(M);
+ break;
+
+ case "geturl":
+ return v();
+
+ case "back":
+ wx.navigateBack({
+ delta: u.delta || 1
+ });
+ break;
+
+ case "backfun":
+ ve = (be = getCurrentPages())[be.length - 2];
+ wx.navigateBack({
+ delta: u.delta || 1,
+ success: function() {
+ ve[u.info]();
+ }
+ });
+ break;
+
+ case "fun":
+ var d = u.name || u.info;
+ if (d) {
+ var m = Array.isArray(d) ? d : d.split(",");
+ for (var r in m) {
+ var p = m[r];
+ -1 != p.indexOf("Commom ") ? M.Commom({
+ action: p.replace("Commom ", "")
+ }) : M[p](u.data);
+ }
+ }
+ break;
+
+ case "swiper":
+ b = (D = u.currentTarget.dataset).name;
+ (W = M.data[o].form || {}).picker || (W.picker = {}), W.picker[b] || (W.picker[b] = 0),
+ W.picker[b] = u.detail.current, M.setData(t({}, o + ".form", W)), D.endbind && y({
+ action: "fun",
+ name: D.endbind,
+ data: e
+ });
+ break;
+
+ case "picker":
+ var b = (D = u.currentTarget.dataset).name, h = M.data[o].form.picker[b], w = {
+ show: !h || !h.show
+ };
+ h && !isNaN(h.index) && (w.index = h.index), "confirm" == u.type && (w.index = u.detail.index),
+ M.setData((a = {}, t(a, o + ".form.textareaToggle", w.show), t(a, o + ".form.picker." + b, w),
+ a)), D.endbind && y({
+ action: "fun",
+ name: D.endbind,
+ data: D.data
+ });
+ break;
+
+ case "input":
+ case "radio":
+ case "checkbox":
+ var D = u.currentTarget.dataset, F = u.action, T = D.name, I = "input" == F ? u.detail.value : D.info || u.detail, z = M.data[o].form;
+ z[F] && z[F][T] === I || ("input" == F ? z.focus = T : delete z.focus, z[F] || (z[F] = {}),
+ z[F][T] = I, M.setData(t({}, o + ".form", z))), D.endbind && y({
+ action: "fun",
+ name: D.endbind,
+ data: D.data
+ });
+ break;
+
+ case "formSubmit":
+ var L = u.detail.value, V = u.currentTarget.dataset;
+ if (u.detail.target && "send" == u.detail.target.id) L.Send = !0; else {
+ var R;
+ M.setData((R = {}, t(R, o + ".form.formLoad", !0), t(R, o + ".form.textareaToggle", !0),
+ R));
+ }
+ if (!M.WxValidate.checkForm(L)) {
+ var H = M.WxValidate.errorList[0];
+ return H.action = "focus", H.field = o + ".form", y(H);
+ }
+ var B = C(L);
+ if (u.detail.target && "send" == u.detail.target.id) return _(B);
+ if (V.url) return l(-1 != V.url.indexOf("/") ? V.url : "post/" + V.url, B);
+ l(M.data.url, B);
+ break;
+
+ case "formValidate":
+ var J = {}, U = {}, W = M.data[o].form, q = !1, G = [ "checkbox", "toggle", "stepper", "rate", "radio" ], E = [], Q = function(e) {
+ if (e.name && !1 !== e.intoForm && (-1 !== G.indexOf(e.type) || e.intoForm)) {
+ var t = "input", a = e.name;
+ -1 !== [ "stepper", "rate", "radio" ].indexOf(e.type) ? t = "radio" : -1 !== [ "checkbox", "toggle" ].indexOf(e.type) && (t = "checkbox"),
+ W[t] || (W[t] = {}), W[t][a] = e.value, q = !0;
+ }
+ if (e.endbind && -1 === E.indexOf(e.endbind) && E.push(e.endbind), e.validateRules) {
+ var n = e.validateName || e.name;
+ J[n] = e.validateRules, U[n] = e.validateMessages ? e.validateMessages : {
+ label: e.label || !1
+ };
+ }
+ };
+ !function e(t) {
+ for (var a in t) {
+ var n = t[a];
+ Q(n), n.list && e(n.list);
+ }
+ }(u.list), q && M.setData(t({}, o + ".form", W)), E.length > 0 && y({
+ action: "fun",
+ name: E
+ }), M.WxValidate = new N.default(J, U);
+ break;
+
+ case "pop":
+ case "ajax":
+ var $ = u.method, K = {}, X = [ "action", "method" ];
+ for (var r in u) if ("data" == r && u[r] && "object" == P(JSON.parse(u[r]))) {
+ var Y = JSON.parse(u[r]);
+ for (var Z in Y) K[Z] = Y[Z];
+ } else X.indexOf(r) < 0 && "" !== u[r] && (K[r] = u[r]);
+ "pop" == u.action ? (M.setData({
+ popupSpin: !0
+ }), c({
+ url: $,
+ data: K
+ }, function(e) {
+ "curr" == e.postUrl && (e.postUrl = $), e.form = Object.assign({
+ popupForm: !0,
+ radio: {},
+ checkbox: {},
+ picker: {}
+ }, e.form), e.show = !0, M.setData({
+ popupForm: e,
+ popupSpin: !1
+ }), e.input && y({
+ action: "formValidate",
+ list: e.input
+ });
+ })) : ("curr" == $ && ($ = "Form" == o ? M.data.url : M.data[o].postUrl), l($, K));
+ break;
+
+ case "phone":
+ isNaN(u.info) || wx.showModal({
+ content: "确定拨打电话【" + u.info + "】?",
+ success: function(e) {
+ e.confirm && wx.makePhoneCall({
+ phoneNumber: u.info
+ });
+ }
+ });
+ break;
+
+ case "lazyHeight":
+ O(u.element);
+ break;
+
+ case "upload":
+ u.method && !M.data[o].form.upload.being && A[u.method](u);
+ break;
+
+ case "uploadInit":
+ var ee = {
+ list: {
+ ing: [],
+ err: [],
+ suc: [],
+ del: []
+ },
+ ingFiles: [],
+ direct: !1,
+ number: {},
+ msg: {},
+ max: 5,
+ tips: {
+ ing: "待传列表为点击最后的“确认提交”时开始上传"
+ },
+ apiurl: "upload"
+ };
+ if (u.customOptions) {
+ var te = JSON.parse(u.customOptions);
+ if (te.list) {
+ var ae = te.list;
+ delete te.list;
+ }
+ ee = Object.assign(ee, te), ae && ae.length > 0 && (ee.list.suc = ae, ee.number.suc = ae.length,
+ ee.number.count = ae.length);
+ }
+ ee.note || (ee.note = "非必传,可上传" + ee.max + "张图片附件(含已传)"), M.setData(t({}, o + ".form.upload", ee));
+ break;
+
+ case "uploadPreview":
+ if (u.data && u.method) {
+ var ne = u.data, ie = M.data[o].form.upload.list[u.method];
+ wx.previewImage({
+ current: ne + "?v=preview",
+ urls: ie.map(function(e) {
+ return e + "?v=preview";
+ })
+ });
+ }
+ break;
+
+ case "preview":
+ if (u.src || u.data) {
+ var oe = (u.src ? u.src : u.data).split("!")[0] + "?v=preview";
+ wx.previewImage({
+ current: oe,
+ urls: [ oe ]
+ });
+ }
+ break;
+
+ case "allPreview":
+ var re = u.src, se = M.data.previewList[u.field], le = [];
+ if (se && re) {
+ for (var ce in se) le.push(se[ce] + "?v=preview");
+ wx.previewImage({
+ current: re.split("!")[0] + "?v=preview",
+ urls: le
+ });
+ }
+ break;
+
+ case "intoPreview":
+ var ue = u.src, fe = u.field;
+ if (ue && fe) {
+ M.data.previewList || M.setData({
+ previewList: []
+ });
+ var de = M.data.previewList[fe] || [], me = ue.split("!")[0];
+ if (-1 !== de.indexOf(me)) return !1;
+ de.push(me.split("!")[0]), M.setData(t({}, "previewList." + fe, de));
+ }
+ break;
+
+ case "contact":
+ if (M.setData({
+ popupSpin: !0
+ }), u.data) {
+ var pe = JSON.parse(u.data);
+ if (pe.name) return S({
+ info: pe,
+ tempname: "contact",
+ scroll: !0,
+ closable: !0,
+ customstyle: "width:88%;"
+ }), !1;
+ }
+ g("html/contact/" + u.info, function(e) {
+ S({
+ info: e,
+ tempname: "contact",
+ scroll: !0,
+ closable: !0,
+ customstyle: "width:88%;"
+ });
+ });
+ break;
+
+ case "install":
+ M.setData({
+ popupSpin: !0
+ }), g("html/install/" + u.info, function(e) {
+ S({
+ info: e,
+ tempname: "install",
+ scroll: !0,
+ closable: !0,
+ title: !1,
+ customstyle: "width:80%;max-height:90%;z-index:100000"
+ });
+ });
+ break;
+
+ case 301:
+ case "301":
+ case "url":
+ var ge = u.info;
+ if ("back" == ge) y({
+ action: "back"
+ }); else if (1 === ge) y({
+ action: "refresh"
+ }); else if (-1 != ge.indexOf("alert_")) y({
+ info: ge = ge.replace("alert_", "")
+ }); else if (-1 != ge.indexOf("before_")) {
+ ge = ge.replace("before_", "");
+ var be = getCurrentPages(), ve = be[be.length - 2];
+ wx.navigateBack({
+ delta: u.delta || 1,
+ success: function() {
+ y({
+ info: ge,
+ action: "url"
+ });
+ }
+ });
+ } else -1 != ge.indexOf("self_") ? (ge = ge.replace("self_", ""), wx.redirectTo({
+ url: ge,
+ complete: function(e) {
+ -1 != e.errMsg.indexOf("tabbar") && y({
+ action: "taburl",
+ info: u.info
+ });
+ }
+ })) : -1 != ge.indexOf("reLaunch_") ? (ge = ge.replace("reLaunch_", ""), wx.reLaunch({
+ url: "/pages/member/member"
+ })) : wx.navigateTo({
+ url: ge,
+ complete: function(e) {
+ -1 != e.errMsg.indexOf("tabbar") && y({
+ action: "taburl",
+ info: u.info
+ });
+ }
+ });
+ break;
+
+ case "confirm":
+ var he = JSON.parse(decodeURIComponent(u.data)), xe = {}, we = [ "info", "title", "align", "zindex", "closable", "masknoclosa" ];
+ if (he.cancel || !1 === he.cancel || (he.cancel = {
+ btn: "取消"
+ }), he.attrData) {
+ var ye = he.attrData;
+ delete u.attrData, delete u.action, delete u.info, delete u.data;
+ for (var ke in ye) {
+ var Se = ye[ke];
+ he[Se] = Object.assign(u, he[Se]);
+ }
+ }
+ for (var r in u) -1 !== we.indexOf(r) && (xe[r] = u[r]);
+ y(Object.assign(xe, {
+ buttons: he
+ }));
+ break;
+
+ case "backfocus":
+ k(u.info);
+ break;
+
+ case "focus":
+ j.default.alert({
+ title: u.title || "提示",
+ message: u.msg,
+ zIndex: 2e4
+ }).then(function() {
+ u.param && k(u.param);
+ });
+ break;
+
+ case "storage":
+ var De = u.method, Fe = u.data;
+ "delete" != De ? wx.setStorage({
+ key: De,
+ data: Fe,
+ success: function(e) {
+ e && u.callback && y(u.callback);
+ }
+ }) : wx.removeStorage({
+ key: Fe,
+ success: function(e) {
+ e && u.callback && y(u.callback);
+ }
+ });
+ break;
+
+ case "taburl":
+ wx.switchTab({
+ url: u.info
+ });
+ break;
+
+ default:
+ if (!u.info) return;
+ Ie = {};
+ if (u.buttons) {
+ var Oe = "string" == typeof u.buttons ? JSON.parse(u.buttons) : u.buttons, Te = [ "confirm", "cancel" ], Ie = {};
+ for (var r in Te) {
+ var Ce = Te[r];
+ Oe[Ce] && (Oe[Ce].btn && (u[Ce + "text"] = Oe[Ce].btn, delete Oe[Ce].btn), Object.keys(Oe[Ce]).length && (Ie[Ce] = Oe[Ce]));
+ }
+ }
+ j.default.alert({
+ title: u.title || "信息",
+ message: -1 != u.info.indexOf("%3C") ? decodeURIComponent(u.info) : u.info,
+ messageAlign: u.align || "center",
+ zIndex: u.zindex || 2e4,
+ overlay: !u.nomask,
+ transition: u.transition || "scale",
+ closeOnClickOverlay: !0 === u.masknoclosa,
+ showCancelButton: !(!u.cancelbutton && !u.canceltext),
+ cancelButtonText: u.canceltext ? u.canceltext : "取消",
+ confirmButtonText: u.confirmtext ? u.confirmtext : "确定",
+ closable: u.closable || !1
+ }).then(function() {
+ Ie.confirm && Ie.confirm.url || k(), Ie.confirm && y(Ie.confirm);
+ }).catch(function() {
+ k(), Ie.cancel && y(Ie.cancel);
+ });
+ }
+}
+
+function k() {
+ var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0], a = x();
+ M.data[a] && M.data[a].form && M.data[a].form.formLoad && setTimeout(function() {
+ var n;
+ M.setData((n = {}, t(n, a + ".form.focus", e || null), t(n, a + ".form.formLoad", !1),
+ t(n, a + ".form.textareaToggle", !1), n));
+ }, 100);
+}
+
+function S(e) {
+ var a = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
+ switch (e.action) {
+ case "close":
+ M.setData(t({}, "popup[" + e.index + "]", {}));
+ break;
+
+ case "closeAll":
+ M.setData({
+ popup: {}
+ });
+ break;
+
+ case "closeForm":
+ var n = x();
+ M.setData(t({}, n, {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {}
+ }
+ })), M.WxValidate = {};
+ break;
+
+ default:
+ var i = D(e);
+ a && a(i);
+ }
+}
+
+function D(e, a) {
+ var n, a = isNaN(a) ? M.data.popup.length : a;
+ /[<]+/.test(e.info) && /[>]+/.test(e.info) && (z.wxParse("popuphtml[" + a + "]", "html", e.info, M, 10),
+ e.info = "wxParse");
+ var i = {
+ title: e.title || "",
+ info: e.info,
+ show: !0,
+ zindex: a + 2e4,
+ overlay: !1 !== e.overlay,
+ position: e.position || "center",
+ duration: e.duration || 300,
+ customstyle: e.customstyle || "",
+ overlaystyle: e.overlaystyle || "",
+ closeonclickoverlay: !1 !== e.closeonclickoverlay,
+ safeareainsetbottom: !1 !== e.safeareainsetbottom,
+ safeareainsettop: e.safeareainsettop || !1,
+ tempname: e.tempname || "PopupTem",
+ closable: !e.noclosa,
+ scroll: !!e.scroll,
+ timg: e.timg || !1,
+ tleft: e.tleft || !1,
+ tcolor: e.tcolor || !1,
+ tbg: e.tbg || !1
+ };
+ return M.setData((n = {}, t(n, "popup[" + a + "]", i), t(n, "popupSpin", !1), n)),
+ a;
+}
+
+function F(e, t) {
+ wx.createSelectorQuery().select(e).boundingClientRect(function(e) {
+ t(e);
+ }).exec();
+}
+
+function O(e) {
+ F(e, function(e) {
+ var a;
+ M.setData((a = {}, t(a, "Form.lazy.pos", Math.ceil(M.data.SystemInfo.windowHeight / e.height) * M.data.Form.lazy.add),
+ t(a, "Form.lazy.height", e.height), t(a, "initialValue.Form.lazy.pos", Math.ceil(M.data.SystemInfo.windowHeight / e.height) * M.data.Form.lazy.add),
+ t(a, "initialValue.Form.lazy.height", e.height), a));
+ });
+}
+
+function T() {
+ wx.getSystemInfo({
+ success: function(e) {
+ var t = {
+ navHeight: e.statusBarHeight,
+ windowHeight: e.windowHeight % 2 == 0 ? e.windowHeight : e.windowHeight + 1,
+ windowWidth: e.windowWidth % 2 == 0 ? e.windowWidth : e.windowWidth + 1,
+ system: e.system.split(" ")[0],
+ platform: "wechatApp"
+ };
+ if (M.data.CustomNavigation) {
+ var a = wx.getMenuButtonBoundingClientRect();
+ t.CustomBar = a.bottom + a.top - e.statusBarHeight;
+ }
+ M.setData({
+ SystemInfo: t
+ });
+ }
+ });
+}
+
+function I(e, t) {
+ var a = t.split("-");
+ if (t.length <= 0) return e;
+ if (a.length <= 1) return e[a.join("")];
+ for (var n in a) return I(e[a[n]], a.slice(1).join("-"));
+}
+
+function C(e) {
+ var t = [];
+ for (var a in e) {
+ var n = e[a], i = a.split("-");
+ if (/^[0-9]+$/.test(a) || /.*[\u4e00-\u9fa5]+.*$/.test(a) || "" == a) delete e[a]; else if (("string" == typeof n || Array.isArray(n)) && n.length <= 0) delete e[a]; else if (i.length > 1) {
+ var o = i[0];
+ e[o] || (e[o] = []), "" == i[1] || null == i[1] || -1 != i[1].indexOf("Auto") ? (e[o].push(n),
+ -1 === t.indexOf(o) && t.push(o)) : e[o + "[" + i[1] + "]"] = n, delete e[a];
+ } else Array.isArray(n) && -1 === t.indexOf(a) && t.push(a);
+ }
+ for (var r in t) {
+ var s = t[r];
+ if (Array.isArray(e[s])) {
+ for (var l = 0; l < e[s].length; l++) e[s + "[" + l + "]"] = e[s][l];
+ delete e[s];
+ }
+ }
+ return e;
+}
+
+function _(e) {
+ var a = x();
+ if (M.data[a].form.send && M.data[a].form.send.Stop) return !1;
+ M.setData(t({}, a + ".form.send.Stop", "ing")), h(), l("post/sendCode" + (1 == e.noLogin ? "?islogin=0" : ""), e, function(e) {
+ isNaN(e.time) || (0 == e.time ? L = !0 : M.setData(t({}, a + ".form.send.time", parseInt(e.time))),
+ y(e));
+ });
+}
+
+var P = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
+ return typeof e;
+} : function(e) {
+ return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
+}, N = e(require("../common/WxValidate.js")), j = e(require("../vant/dialog/dialog")), z = require("../wxParse/wxParse.js"), M = (getApp(),
+{}), L = !1, A = {
+ choose: function(e) {
+ var a = x(), n = M.data[a].form.upload, i = n.max - (n.number.count || 0);
+ return !n.being && (i <= 0 && n.max > 1 ? wx.showToast({
+ title: "图片限传" + n.max + "个",
+ icon: "none",
+ duration: 2e3
+ }) : void wx.chooseImage({
+ count: i,
+ sizeType: [ "compressed" ],
+ sourceType: [ "album", "camera" ],
+ success: function(i) {
+ var o = i.tempFilePaths;
+ n.max > 1 ? (n.list.ing = n.list.ing.concat(o), n.ingFiles = n.ingFiles.concat(i.tempFiles),
+ n.number.ing = o.length + (n.number.ing || 0), n.number.count = o.length + (n.number.count || 0)) : (n.list.ing = o,
+ n.ingFiles = i.tempFiles, n.number.ing = 1, n.number.count = 1), M.setData(t({}, a + ".form.upload", n)),
+ n.direct && setTimeout(function() {
+ w(e.data);
+ }, 500);
+ }
+ }));
+ },
+ delete: function(e) {
+ var a = x(), n = M.data[a].form.upload, i = e.info, o = e.data;
+ if (n.being) return !1;
+ if ("suc" == o) {
+ var r = n.list[o][i].split("/").slice(-1).join(""), s = r.split(".").slice(-1).join(""), l = [ "jpg", "png", "gif", "svg" ].indexOf(s) >= 0 ? "图片" : "附件";
+ wx.showModal({
+ title: "提示",
+ content: "您确定要删除此" + l + "吗?",
+ success: function(e) {
+ e.confirm && (n.list.del.push(r), n.list[o].splice(i, 1), n.number[o] -= 1, n.number.count -= 1,
+ wx.showModal({
+ title: "小提示",
+ content: l + "在最终操作“确认提交”后实际删除",
+ confirmText: "我知道了",
+ showCancel: !1,
+ success: function(e) {
+ M.setData(t({}, a + ".form.upload", n));
+ }
+ }));
+ }
+ });
+ } else "ing" == o && n.ingFiles.splice(i, 1), n.list[o].splice(i, 1), n.number[o] -= 1,
+ n.number.count -= 1, M.setData(t({}, a + ".form.upload", n));
+ }
+};
+
+module.exports = {
+ lazyHeight: O,
+ dynamicGet: I,
+ querySelect: F,
+ initialFun: function() {
+ var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0], a = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];
+ if (a.push("spin", "url", "__proto__", "__webviewId__", "initialValue"), e) {
+ var n = JSON.parse(JSON.stringify(M.data.initialValue));
+ for (var i in n) a.indexOf(i) < 0 && M.setData(t({}, i, n[i]));
+ } else if (!M.data.initialValue) {
+ var o = {}, r = JSON.parse(JSON.stringify(M.data));
+ for (var i in r) a.indexOf(i) < 0 && (o[i] = r[i]);
+ M.setData({
+ initialValue: o
+ });
+ }
+ },
+ Http: s,
+ HttpMember: c,
+ PostMember: l,
+ formInput: C,
+ uploadStart: w,
+ Gethtml: g,
+ UrlOptions: function(e) {
+ var t = "", a = "";
+ if (e) {
+ for (var n in e) "url" == n ? t = e[n] : a += "&" + n + "=" + e[n];
+ "" != a && (a = "?" + a.substr(1));
+ }
+ return t + a;
+ },
+ ArrayToUrl: function(e) {
+ var t = "&";
+ for (var a in e) t += a + "=" + e[a] + "&";
+ return t.substring(0, t.length - 1);
+ },
+ getTableName: x,
+ initializeRefresh: p,
+ sendInterval: h,
+ Wxlogin: b,
+ Apage: a,
+ feesTips: function() {
+ var e = x(), a = M.data[e].form;
+ if (a.input.money || "" == a.input.money) {
+ var n = parseFloat(a.input.money || 0), i = parseFloat(a.input.rate), o = a.radio.fees, r = parseFloat((n * i).toFixed(2));
+ a.feesData = {
+ show: !1
+ }, n > 0 && (a.feesData.show = !0, "buy" == o ? (a.feesData.buy = parseFloat((1 * n + 1 * r).toFixed(2)),
+ a.feesData.sell = parseFloat(n)) : "sell" == o ? (a.feesData.buy = parseFloat(n),
+ a.feesData.sell = parseFloat((n - r).toFixed(2))) : (a.feesData.buy = parseFloat((n + r / 2).toFixed(2)),
+ a.feesData.sell = parseFloat((n - r / 2).toFixed(2)))), M.setData(t({}, e + ".form", a));
+ }
+ },
+ CashierTotal: function() {
+ var e = x(), a = M.data[e].form, n = a.cashData;
+ if (a.radio.paytype) {
+ var i;
+ if (!a.radio.paytype) return !1;
+ var o = a.radio.paytype || "j", r = {
+ j: parseFloat(n.j),
+ m: parseFloat(n.m)
+ }, s = {
+ j: parseFloat(n.mj),
+ m: parseFloat(n.mm)
+ }, l = a.radio.piece || 1, c = parseFloat(r[o] * l), u = !0;
+ c > s[o] ? n.info = "j" == o ? "积分不足 " + c + " 积分,无法兑换" : "余额不足 " + c + " 元,无法兑换" : (n.info = c + ("j" == o ? " 积分" : " 元"),
+ u = !1), M.setData((i = {}, t(i, e + ".form.cashData", n), t(i, e + ".submit[0].disabled", u),
+ i));
+ } else {
+ var f = a.radio.editionIndex, d = M.data[e].Mlist[f], m = parseFloat(d.money), p = a.radio.piece || 1, g = parseFloat(m * p);
+ M.setData(t({}, e + ".form.cashData", {
+ total: g,
+ money: m,
+ edition: d.edition
+ }));
+ }
+ },
+ GetList: function(e) {
+ M.setData({
+ loading: !0
+ }), a(function(a) {
+ var n, i = M.data, o = void 0 !== i.listIndex ? "listdata." + i.listIndex : "listdata";
+ if (M.setData((n = {}, t(n, o, a), t(n, "loading", !1), n)), i.Form.lazy) {
+ var r = i.Form.lazy;
+ r.pos > 0 && r.pos != i.initialValue.Form.lazy.pos && M.setData(t({}, "Form.lazy.pos", r.pos + r.add));
+ }
+ e && e(a);
+ });
+ },
+ Alert: function(e, t) {
+ wx.showModal({
+ title: e.title || "提示",
+ content: e.text,
+ showCancel: !e.showcancel,
+ cancelText: e.canceltext || "取消",
+ cancelColor: e.cancelcolor || "#000000",
+ confirmText: e.confirmtext || "确定",
+ confirmColor: e.confirmcolor || "#3cc51f",
+ success: function(t) {
+ var a = e.action;
+ t.confirm && "clip" == a && n(e.cliptext || e.text);
+ }
+ });
+ },
+ timestamp: function() {
+ var e = Date.parse(new Date());
+ return e /= 1e3;
+ },
+ Refresh: i,
+ getShare: function() {
+ var e = {}, t = [ "Form" ], a = [ "title", "path", "image" ];
+ for (var n in a) {
+ var i = a[n];
+ for (var r in t) {
+ var s = t[r];
+ M.data[s] && (M.data[s].share && M.data[s].share[i] ? e[i] = M.data[s].share[i] : M.data[s][i] && (e[i] = M.data[s][i]));
+ }
+ }
+ return {
+ title: e.title || "互站网",
+ path: e.path || o(),
+ imageUrl: e.image || !1
+ };
+ },
+ Getdom: function(e, t) {
+ var a = wx.createSelectorQuery();
+ a.select(e).boundingClientRect(), a.exec(function(e) {
+ t(e[0]);
+ });
+ },
+ Popup: S,
+ Lay: y,
+ init: function(e) {
+ M.data && e.route == M.route && e.__wxExparserNodeId__ == M.__wxExparserNodeId__ || (M = e,
+ T());
+ }
+};
\ No newline at end of file
diff --git a/pages/index/article.js b/pages/index/article.js
new file mode 100644
index 0000000..0988365
--- /dev/null
+++ b/pages/index/article.js
@@ -0,0 +1,63 @@
+var t = require("../../common/common.js");
+
+Page({
+ data: {
+ url: "",
+ popup: []
+ },
+ initialize: function() {
+ var i = this;
+ i.setData({
+ spin: !0,
+ popupSpin: !1,
+ Form: {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {},
+ rate: {}
+ }
+ },
+ popupForm: {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {}
+ }
+ }
+ }), t.Gethtml(i.data.url, function(i) {
+ t.initializeRefresh(i);
+ });
+ },
+ onPullDownRefresh: function() {
+ this.initialize();
+ },
+ onLoad: function(i) {
+ i.url ? this.setData({
+ url: t.UrlOptions(i)
+ }) : this.setData({
+ url: "get/article/help"
+ }), t.init(this), this.initialize();
+ },
+ searchSubmit: function(i) {
+ t.Lay({
+ action: "url",
+ info: t.Lay({
+ action: "geturl"
+ }) + "/search/" + i.detail.value
+ });
+ },
+ onShow: function() {
+ t.init(this);
+ },
+ Lay: function(i) {
+ t.Lay(JSON.parse(JSON.stringify(i)));
+ },
+ Commom: function(i) {
+ var a = JSON.parse(JSON.stringify((i.currentTarget, i))), n = i.currentTarget ? a.currentTarget.dataset.action : a.action;
+ t[n](a);
+ },
+ Popup: function(i) {
+ t.Popup(i.currentTarget.dataset);
+ }
+});
\ No newline at end of file
diff --git a/pages/index/article.json b/pages/index/article.json
new file mode 100644
index 0000000..e7003b7
--- /dev/null
+++ b/pages/index/article.json
@@ -0,0 +1,18 @@
+{
+ "usingComponents": {
+ "down": "/utils/count-down/index",
+ "van-field": "/vant/field/index",
+ "van-cell": "/vant/cell/index",
+ "van-cell-group": "/vant/cell-group/index",
+ "van-notice-bar": "/vant/notice-bar/index",
+ "van-search": "/vant/search/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/index/article.wxml b/pages/index/article.wxml
new file mode 100644
index 0000000..cf86206
--- /dev/null
+++ b/pages/index/article.wxml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/pages/index/article.wxss b/pages/index/article.wxss
new file mode 100644
index 0000000..32200af
--- /dev/null
+++ b/pages/index/article.wxss
@@ -0,0 +1,260 @@
+@import "../../__wuBaseWxss__/0.wxss";
+
+.help-top {
+ height: 135px;
+ background: linear-gradient(to right,#5a8ef3,#6760fb);
+ background-color: #5a8ef3;
+ position: relative;
+ background-image: url(https://statics.huzhan.com/app/images/help-top-bg.jpg);
+ background-size: cover;
+ background-repeat: no-repeat;
+ background-position: center center;
+}
+
+.help-top .search-box {
+ width: 90%;
+ position: absolute;
+ left: 1rem;
+ bottom: .3rem;
+}
+
+.help-top .search-box .van-icon {
+ position: absolute;
+ left: 8px;
+ top: 8px;
+ font-size: 18px;
+}
+
+.help-top .search {
+ background: #fefefe;
+ border-radius: 5px;
+ position: relative;
+ width: 100%;
+ height: 35px;
+}
+
+.help-top .search input {
+ border: none;
+ font-size: .8rem;
+ height: 35px;
+ border-radius: 22px;
+ padding: 0 0 0 30px;
+}
+
+.help-top .link {
+ padding: .5rem 0 .5rem 0;
+ color: #fff;
+}
+
+.help-top .link navigator {
+ color: #fff;
+ display: inline-block;
+ margin-right: .3rem;
+ font-size: .82rem;
+}
+
+.help-palace {
+ background: #fff;
+ padding: .5rem 0;
+ position: relative;
+ overflow: hidden;
+ margin-top: 10px;
+}
+
+.help-palace .flex-item {
+ position: relative;
+ padding: 1px;
+ margin: 5px 0;
+}
+
+.help-palace .icon {
+ width: 30px;
+ height: 30px;
+ margin: 0 auto;
+}
+
+.help-palace .icon image {
+ display: block;
+ width: 100%;
+ height: 100%;
+ border: none;
+}
+
+.help-palace .text {
+ display: block;
+ text-align: center;
+ color: #333;
+ font-size: .85rem;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ padding-top: .2rem;
+}
+
+.help-palace .text {
+ font-size: .8rem;
+ font-weight: 400;
+ color: #666;
+}
+
+.help-block {
+ background: #fff;
+ padding: 1rem 1rem;
+ overflow: hidden;
+ margin: 10px 0;
+}
+
+.help-block .row-flex {
+ width: 50%;
+ float: left;
+ position: relative;
+}
+
+.help-block .row-flex:first-child:after {
+ content: '';
+ position: absolute;
+ z-index: 0;
+ top: 0;
+ right: 0;
+ height: 100%;
+ border-right: 1px solid #d9d9d9;
+ transform: scaleX(.5);
+ transform-origin: 100% 0;
+}
+
+.help-block .row-flex:last-child .pic {
+ margin-left: 10px;
+}
+
+.help-block .row-flex:last-child .flex-item {
+ margin-right: 5px;
+}
+
+.help-block .pic {
+ width: 40px;
+ height: 40px;
+ margin-right: .2rem;
+}
+
+.help-block .pic image {
+ width: 40px;
+ height: 40px;
+ border: none;
+ display: block;
+ border-radius: 3px;
+}
+
+.help-block .flex-item {
+ text-align: right;
+ margin-right: 1.5rem;
+ font-weight: 500;
+ font-size: 1rem;
+ color: #3d4457;
+}
+
+.help-block .flex-item view {
+ font-weight: 400;
+ font-size: .8rem;
+ color: #a9a9a9;
+}
+
+.help-tabs.van-tabs--card {
+ margin: 0;
+ padding: 10px 0 0 0;
+ background: #fff;
+}
+
+.help-tabs.van-tabs--card .van-tab.van-tab--active {
+ background: 0 0;
+ border: 0;
+}
+
+.help-tabs.van-tabs--card .van-tab.van-tab--active .van-tab__title {
+ color: #fff;
+ background: #6060fb;
+}
+
+.help-tabs .van-tabs__nav {
+ display: flex;
+ height: auto;
+ flex-wrap: wrap;
+ align-content: flex-start;
+}
+
+.help-tabs .van-tabs__wrap {
+ height: auto!important;
+ position: static;
+}
+
+.help-tabs .van-tabs__scroll--card {
+ border-radius: 0;
+ border: 0;
+ box-shadow: 0 3px 3px #e8e8e8;
+ padding: 0 5px;
+ margin-bottom: 6px;
+}
+
+.help-tabs .van-tabs__nav--card .van-tab {
+ padding: 0;
+ border: 0;
+}
+
+.help-tabs .van-tab {
+ border: 0;
+ position: relative;
+ text-align: center;
+ color: #585858;
+ font-size: .9rem;
+ flex: 0 0 33.333333%;
+ margin-bottom: 10px;
+}
+
+.help-tabs .van-tab .van-tab__title {
+ background: #f1f4f7;
+ margin: 0 5px;
+ border: 0;
+ color: #777;
+ line-height: 30px;
+}
+
+.help_table {
+ border-collapse: collapse;
+ border: solid #e0e0e0;
+ border-width: 0 1px 1px 1px;
+ width: 100%;
+}
+
+.help_table .a {
+ color: #056dae;
+}
+
+.help_table .thead .td {
+ background: #f0f0f0;
+ font-size: 14px;
+ border-width: 1px 0;
+ border-color: #e0e0e0;
+}
+
+.help_table .td {
+ padding: 5px 6px;
+ border: #e0e0e0 solid;
+ border-width: 1px 1px 1px 1px;
+}
+
+.help_table .tbody .tr {
+ background: #fff;
+}
+
+.help_table .tbody .tr.odd {
+ background: #fafafa;
+}
+
+.help_body .a {
+ color: #056dae;
+ display: inline-block!important;
+}
+
+.help_body image {
+ width: 100%;
+ vertical-align: middle;
+}
\ No newline at end of file
diff --git a/pages/index/index.js b/pages/index/index.js
new file mode 100644
index 0000000..765c290
--- /dev/null
+++ b/pages/index/index.js
@@ -0,0 +1,89 @@
+function t(t, i, a) {
+ return i in t ? Object.defineProperty(t, i, {
+ value: a,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : t[i] = a, t;
+}
+
+var i, a = require("../../common/common.js");
+
+Page({
+ data: (i = {
+ spin: !0,
+ popup: [],
+ popupSpin: !1,
+ loading: !1,
+ Form: {},
+ getdata: {},
+ listdata: {}
+ }, t(i, "popup", []), t(i, "ListSh", {}), t(i, "gotop", !1), t(i, "Form", {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {},
+ rate: {}
+ }
+ }), t(i, "popupForm", {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {}
+ }
+ }), i),
+ initialize: function() {
+ var t = this;
+ a.Gethtml("get/index", function(i) {
+ a.initialFun(!1), a.initializeRefresh(i), t.tabsChange();
+ });
+ },
+ tabsChange: function() {
+ var i = this, e = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {
+ detail: {
+ index: 0
+ }
+ }).detail.index, n = i.data.Form.tabs.list[e];
+ if (!i.data.getdata[e]) {
+ var r;
+ i.setData((r = {
+ listIndex: e
+ }, t(r, "getdata." + e, n), t(r, "listdata." + e, {
+ list: [],
+ CurPage: 0
+ }), r)), a.GetList();
+ }
+ },
+ ListSh: function(i) {
+ var a = this, e = i.currentTarget.id, n = "ListSh." + e, r = wx.createAnimation({
+ duration: 200,
+ timingFunction: "ease",
+ delay: 0
+ });
+ a.data.ListSh[e] ? (r.translateY("100%").step(), setTimeout(function() {
+ a.setData(t({}, n, !1));
+ }, 201)) : (a.setData(t({}, n, !0)), r.translateY("0").step()), this.setData(t({}, n, r.export()));
+ },
+ onLoad: function() {
+ a.init(this), this.initialize();
+ },
+ onShow: function() {
+ a.init(this);
+ },
+ onShareAppMessage: function() {
+ return a.getShare();
+ },
+ onPullDownRefresh: function() {
+ a.initialFun(), this.initialize();
+ },
+ Lay: function(t) {
+ a.Lay(JSON.parse(JSON.stringify(t)));
+ },
+ Commom: function(t) {
+ var i = JSON.parse(JSON.stringify((t.currentTarget, t))), e = t.currentTarget ? i.currentTarget.dataset.action : i.action;
+ a[e](i);
+ },
+ Popup: function(t) {
+ a.Popup(t.currentTarget.dataset);
+ }
+});
\ No newline at end of file
diff --git a/pages/index/index.json b/pages/index/index.json
new file mode 100644
index 0000000..050b0b9
--- /dev/null
+++ b/pages/index/index.json
@@ -0,0 +1,12 @@
+{
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/index/index.wxml b/pages/index/index.wxml
new file mode 100644
index 0000000..9efd54a
--- /dev/null
+++ b/pages/index/index.wxml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/index/index.wxss b/pages/index/index.wxss
new file mode 100644
index 0000000..2288022
--- /dev/null
+++ b/pages/index/index.wxss
@@ -0,0 +1,214 @@
+@import "../../__wuBaseWxss__/0.wxss";
+
+@import "list.wxss";
+
+.i-swiper {
+ position: relative;
+ z-index: 0;
+}
+
+.i-swiper swiper {
+ height: 100%;
+ width: 100%;
+}
+
+.i-swiper image {
+ width: 100%;
+ height: 100%;
+}
+
+.i-swiper .wx-swiper-dots.wx-swiper-dots-horizontal {
+ margin-bottom: 32rpx;
+}
+
+.i-swiper .wx-swiper-dot {
+ width: 13rpx;
+ display: inline-flex;
+ height: 13rpx;
+ opacity: .8;
+ justify-content: space-between;
+}
+
+.i-swiper .wx-swiper-dot::before {
+ content: '';
+ flex-grow: 1;
+ background: #fff;
+ border-radius: 8rpx;
+}
+
+.i-swiper .wx-swiper-dot-active {
+ width: 18rpx;
+}
+
+.i-swiper .wx-swiper-dot-active::before {
+ background: #f80;
+}
+
+.i_notice {
+ margin: 10px;
+ font-size: 14px;
+ line-height: 30px;
+ height: 30px;
+ overflow: hidden;
+}
+
+.i_notice .van-icon {
+ font-size: 24px;
+ color: #45a1de;
+ vertical-align: middle;
+ margin-top: -2px;
+}
+
+.i_notice .flex-item {
+ padding: 0 5px;
+ height: 30px;
+}
+
+.i_notice swiper,.i_notice swiper view {
+ height: 30px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.i_notice .more {
+ width: 30px;
+ text-align: center;
+ color: gray;
+}
+
+.i_icon {
+ position: relative;
+ z-index: 1;
+ border-top-left-radius: 12px;
+ border-top-right-radius: 12px;
+ background: #fff;
+ margin: -10px 0 0 0;
+ text-align: center;
+ padding: 10px 5px 25px 5px;
+}
+
+.i_icon .box {
+ margin: 15px 0 5px 0;
+ display: inline-block;
+ width: 46px;
+ height: 46px;
+ border-radius: 100%;
+ background: #ff3030;
+}
+
+.i_icon text {
+ display: block;
+}
+
+.i_icon .van-icon {
+ font-size: 27px;
+ color: #fff;
+ line-height: 46px;
+}
+
+.i_tab {
+ text-align: center;
+ background: #fff;
+ margin: 0;
+ line-height: 42px;
+ border-bottom: 1px #eee solid;
+}
+
+.i_shop {
+ background: #fff;
+ overflow: hidden;
+ padding: 10px 10px 0 10px;
+}
+
+.i_shop .shop {
+ margin: 0 0 20px 0;
+ text-align: center;
+ width: 50%;
+ position: relative;
+}
+
+.i_shop .avatar {
+ position: absolute;
+ left: 50%;
+ top: 0;
+ margin-left: -35px;
+ width: 70px;
+ height: 70px;
+}
+
+.i_shop .avatar image {
+ background: #fff;
+ padding: 3px;
+ box-shadow: 0 -2px 1px 0 rgba(0,0,0,.15);
+ border-radius: 50%;
+ height: 100%;
+ display: block;
+ width: 100%;
+}
+
+.i_shop .shop .link {
+ display: block;
+ height: 100%;
+ padding: 0 10px;
+}
+
+.i_shop .info {
+ margin-top: 20px;
+ padding: 58px 0 8px 0;
+ text-align: center;
+ background: #fafafa;
+ border-radius: 5px;
+ width: 100%;
+ box-shadow: 0 1px 1px 0 rgba(0,0,0,.08);
+ line-height: 1.5;
+ border: #f5f5f5 1px solid;
+ border-bottom: 0;
+}
+
+.footer {
+ background: #fff;
+ clear: both;
+ padding: 0 0 10px 0;
+}
+
+.footbar {
+ height: 40px;
+ padding: 0 10px;
+ background: #fff;
+ margin-top: 10px;
+ border: solid 1px #eee;
+ border-width: 1px 0 1px 0;
+}
+
+.footbar navigator {
+ display: block;
+ height: 30px;
+ line-height: 30px;
+ float: left;
+ margin: 5px 0;
+ padding: 0 12px;
+ border-radius: 2px;
+}
+
+.login_btn {
+ background: #eff2f5;
+ margin-right: 10px;
+}
+
+.backtop_btn {
+ background: #eff2f5;
+ float: right!important;
+}
+
+.footlink {
+ text-align: center;
+ line-height: 20px;
+ margin-top: 10px;
+}
+
+.footlink navigator {
+ margin: 0 20px;
+ color: #45a1de;
+ display: inline-block;
+}
\ No newline at end of file
diff --git a/pages/index/list.js b/pages/index/list.js
new file mode 100644
index 0000000..4679ddb
--- /dev/null
+++ b/pages/index/list.js
@@ -0,0 +1,182 @@
+function t(t, a, e) {
+ return a in t ? Object.defineProperty(t, a, {
+ value: e,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : t[a] = e, t;
+}
+
+var a = require("../../common/common.js");
+
+Page({
+ data: {
+ loading: !1,
+ Form: {},
+ sortValue: "",
+ search: "",
+ getdata: {},
+ listdata: {},
+ popup: [],
+ ListSh: {},
+ gotop: !1,
+ spin: !0,
+ filter: {
+ icon: !1,
+ show: "",
+ selectName: {},
+ selectValue: {}
+ }
+ },
+ onPageScroll: function(a) {
+ var e = this, i = a.scrollTop, r = e.data.gotop, n = 2 * e.data.SystemInfo.windowHeight;
+ if ((i >= n && !r || i < n && r) && e.setData({
+ gotop: !r
+ }), e.data.Form.lazy && e.data.Form.lazy.add > 0) {
+ var s = e.data.Form.lazy, o = Math.ceil((i + e.data.SystemInfo.windowHeight) / s.height) * e.data.Form.lazy.add;
+ o > s.pos && e.setData(t({}, "Form.lazy.pos", o));
+ }
+ },
+ onLoad: function(t) {
+ a.init(this);
+ var e = this;
+ t.url || (t.url = "get/lists/code"), a.Gethtml(t.url, function(t) {
+ a.initializeRefresh(t);
+ var i = {
+ page: 1,
+ type: t.type
+ };
+ t.par && (i.par = t.par), t.check && (i.check = t.check), t.store && (i.store = t.store.bh),
+ e.setData({
+ getdata: i,
+ listdata: {}
+ }), a.initialFun(!1), a.GetList(function(t) {
+ a.querySelect(".top", function(t) {
+ e.setData({
+ topHeight: t.height,
+ spin: !1
+ });
+ });
+ });
+ });
+ },
+ initialize: function() {
+ a.initialFun(), a.GetList(function(t) {
+ wx.stopPullDownRefresh();
+ });
+ },
+ onShow: function() {
+ a.init(this);
+ },
+ tabsChange: function(t) {
+ var e = this, i = t.currentTarget.dataset.field, r = e.data.Form, n = r.tabs, s = r[i], o = r.store && r.store.id ? "/" + r.store.id : "";
+ for (var l in n) if (n[l].index === t.detail && s != l) {
+ a.initialFun(), e.onLoad({
+ url: "type" == i ? "get/lists/" + l + o : "get/lists/demand/" + l
+ });
+ break;
+ }
+ },
+ ListSh: function(a) {
+ var e = this, i = a.currentTarget.id, r = "ListSh." + i, n = wx.createAnimation({
+ duration: 200,
+ timingFunction: "ease",
+ delay: 0
+ });
+ e.data.ListSh[i] ? (n.translateY("100%").step(), setTimeout(function() {
+ e.setData(t({}, r, !1));
+ }, 201)) : (e.setData(t({}, r, !0)), n.translateY("0").step()), this.setData(t({}, r, n.export()));
+ },
+ sortChange: function(t) {
+ var e = t.currentTarget.dataset.value;
+ if (e != this.data.sortValue) {
+ var i = this.data.getdata;
+ i.page = 1, e.length > 0 ? i.order = e : delete i.order, this.setData({
+ getdata: i,
+ listdata: {},
+ sortValue: e
+ }), a.GetList();
+ }
+ },
+ Fselect: function(a) {
+ var e = this, i = "filter.show";
+ if ("value" == a.currentTarget.id) {
+ var r, n = "filter.selectValue." + a.currentTarget.dataset.id, s = "filter.selectName." + a.currentTarget.dataset.id;
+ e.setData((r = {}, t(r, n, a.currentTarget.dataset.value), t(r, s, a.currentTarget.dataset.name),
+ t(r, i, 0), r));
+ } else "back" != a.currentTarget.id ? e.setData(t({}, i, a.currentTarget.id)) : e.setData(t({}, i, 0));
+ },
+ filterSubmit: function(e) {
+ var i = this, r = !1, n = e.detail.value, s = i.data.getdata;
+ for (var o in n) s.hasOwnProperty(o) && n[o].length <= 0 ? delete s[o] : n[o].length > 0 && (s[o] = n[o],
+ r = !0);
+ i.setData(t({
+ getdata: s
+ }, "filter.icon", r)), i.filterHide(!0), a.GetList();
+ },
+ filterReset: function(t) {
+ var a = JSON.parse(JSON.stringify(this.data.initialValue.filter));
+ a.show = 0, this.setData({
+ filter: a
+ });
+ },
+ filterShow: function() {
+ var a = this.data.filter;
+ this.setData(t({
+ filterOld: a
+ }, "filter.show", 0));
+ },
+ filterHide: function(a) {
+ var e = this;
+ !0 === a ? e.setData(t({
+ filterOld: ""
+ }, "filter.show", "")) : e.setData(t({
+ filter: e.data.filterOld
+ }, "filter.show", ""));
+ },
+ inputChange: function(a) {
+ this.setData(t({}, "filter.money." + a.target.id, a.detail.value));
+ },
+ checkboxChange: function(a) {
+ this.setData(t({}, "filter.checkbox." + a.target.id, a.detail.value.length > 0));
+ },
+ searchChange: function(t) {
+ var a = t.detail ? t.detail.replace(/\s+/g, "") : "";
+ this.setData({
+ search: a
+ });
+ },
+ searchSubmit: function(t) {
+ var e = this, i = e.data.getdata;
+ e.data.search !== i.key && (i.page = 1, e.data.search.length > 0 ? i.key = e.data.search : delete i.key,
+ e.setData({
+ getdata: i,
+ listdata: {}
+ }), a.GetList());
+ },
+ loginBackPage: function() {
+ this.onReachBottom(!0);
+ },
+ onReachBottom: function(t) {
+ var e = this.data.listdata;
+ this.data.loading || !(e.CurPage < e.TotalPage) || e.failview && !0 !== t || (this.setData({
+ "getdata.page": 1 * this.data.getdata.page + 1
+ }), a.GetList());
+ },
+ onPullDownRefresh: function() {
+ this.initialize();
+ },
+ Lay: function(t) {
+ a.Lay(JSON.parse(JSON.stringify(t)));
+ },
+ Commom: function(t) {
+ var e = JSON.parse(JSON.stringify((t.currentTarget, t))), i = t.currentTarget ? e.currentTarget.dataset.action : e.action;
+ a[i](e);
+ },
+ Popup: function(t) {
+ a.Popup(t.currentTarget.dataset);
+ },
+ onShareAppMessage: function() {
+ return a.getShare();
+ }
+});
\ No newline at end of file
diff --git a/pages/index/list.json b/pages/index/list.json
new file mode 100644
index 0000000..c9c7ddd
--- /dev/null
+++ b/pages/index/list.json
@@ -0,0 +1,22 @@
+{
+ "enablePullDownRefresh": true,
+ "backgroundTextStyle": "dark",
+ "navigationBarBackgroundColor": "#fff",
+ "navigationBarTextStyle": "black",
+ "usingComponents": {
+ "van-search": "/vant/search/index",
+ "van-tabbar": "/vant/tabbar/index",
+ "van-tabbar-item": "/vant/tabbar-item/index",
+ "van-field": "/vant/field/index",
+ "van-cell": "/vant/cell/index",
+ "van-cell-group": "/vant/cell-group/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/index/list.wxml b/pages/index/list.wxml
new file mode 100644
index 0000000..bbf2aba
--- /dev/null
+++ b/pages/index/list.wxml
@@ -0,0 +1,256 @@
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+ 宝贝数:{{item.goods}}
+
+
+
+
+
+
+
+
+
+
+ 收藏店铺
+
+
+
+
+
+
+ 逛逛店铺
+
+
+
+
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.tit}}
+
+
+
+
+ {{item.jifen}}积分
+ +
+ {{item.money}}元
+ 兑出{{item.sales}}件
+
+
+
+
+
+
+
+
+
+
+
+ {{item.typename}}{{item.tit}}
+
+
+ {{item.money}}
+
+ {{item.view}}关注 | {{item.bid}}人报价
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.money}}{{item.tit}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.tit}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.txt}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.tit}}
+
+
+
+
+
+
+ {{is.text}}
+
+
+ 评分:{{item.score.total>0?item.score.total:'暂无'}}
+
+
+ ¥{{item.money}}
+
+
+
+
+
+
+
+ 关闭
+
+
+
+ {{item.seller.name}}
+
+ 商家信誉
+
+
+
+ 服务态度
+
+
+
+
+
+ 工作效率
+
+
+
+
+
+ 商品质量
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.tit}}
+
+
+
+
+
+
+ {{is.text}}
+
+
+ {{item.types}}
+
+
+ ¥{{item.money}}
+
+
+
+
+
+
+
+
+
+
+
+ {{item.seller.name}}
+
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/index/list.wxss b/pages/index/list.wxss
new file mode 100644
index 0000000..f04644e
--- /dev/null
+++ b/pages/index/list.wxss
@@ -0,0 +1,962 @@
+@import "../../__wuBaseWxss__/0.wxss";
+
+page {
+ height: 100%;
+}
+
+.filter_box {
+ height: 100%;
+ width: 100%;
+ z-index: 999;
+ overflow-y: auto;
+ position: relative;
+}
+
+.filter_t {
+ text-align: center;
+ height: 50px;
+ line-height: 50px;
+ position: relative;
+ background-color: #eee;
+ border-bottom: #f2f2f2 solid 1px;
+}
+
+.filter_t .back {
+ position: absolute;
+ left: 0;
+ top: 0;
+ padding: 0 .2rem;
+ font-size: 26px;
+ color: #999;
+ line-height: 50px;
+}
+
+.filter_t .ok-btn {
+ position: absolute;
+ display: inline-block;
+ right: 10px;
+ top: 50%;
+ color: #3993cf;
+ line-height: 30px;
+ height: 30px;
+ font-size: 14px;
+ margin-top: -15px;
+}
+
+.filter_t .title {
+ display: inline-block;
+ font-size: 14px;
+}
+
+.filter_b {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+}
+
+.filter_b .row-flex {
+ padding: 20rpx 30rpx;
+}
+
+.filter_b .flex-item {
+ padding: 0 15rpx 0 0;
+}
+
+.filter_b .flex-item:last-child {
+ padding: 0 0 0 15rpx;
+}
+
+.filter_b button {
+ font-size: 16px;
+ color: #3993cf;
+ width: 100%;
+ height: 40px;
+ line-height: 40px;
+ border: #3993cf 1px solid;
+}
+
+.filter_b button.ok-btn {
+ color: #fff;
+ background: #3993cf;
+}
+
+.filter_a .ul {
+ border-bottom: #f0f0f0 1px solid;
+ padding: 20rpx 30rpx;
+ overflow: hidden;
+}
+
+.filter_a .name {
+ font-size: 14px;
+ padding-bottom: 0;
+}
+
+.filter_a .name .choice-res {
+ color: #3993cf;
+ font-weight: 400;
+ position: absolute;
+ right: 2rem;
+ top: 0;
+ line-height: 2rem;
+}
+
+.filter_a .name em.iconfont {
+ position: absolute;
+ right: .48rem;
+ top: 0;
+ font-size: .68rem;
+ color: #ccc;
+ line-height: 2rem;
+}
+
+.filter_a .name em:last-child {
+ display: none;
+}
+
+.filter_a label {
+ display: inline-block;
+ margin: 10px 15px 0 0;
+}
+
+.filter_a .money view {
+ color: #ccc;
+ display: inline-block;
+ line-height: 30px;
+ padding: 0 10px;
+ vertical-align: bottom;
+}
+
+.filter_a .money input {
+ background: #f5f5f5;
+ margin: 10px 0 0 0;
+ width: 100px;
+ border: #dcdcdc 1px solid;
+ padding: 0 5px;
+ display: inline-block;
+}
+
+.filter_a .attach checkbox-group,.filter_a .attach view {
+ display: inline-block;
+ line-height: 15px;
+ vertical-align: middle;
+}
+
+.filter_a checkbox .wx-checkbox-input {
+ border-radius: 3rpx;
+ height: 28rpx;
+ width: 28rpx;
+}
+
+.filter_a checkbox .wx-checkbox-input.wx-checkbox-input-checked {
+ border-color: #3993cf;
+ background: #3993cf;
+}
+
+.filter_a checkbox .wx-checkbox-input.wx-checkbox-input-checked::before {
+ border-radius: 50%;
+ width: 28rpx;
+ height: 28rpx;
+ line-height: 26rpx;
+ text-align: center;
+ font-size: 22rpx;
+ color: #fff;
+ background: 0 0;
+ transform: translate(-50%,-50%) scale(1);
+}
+
+.filter_s .ul {
+ border-bottom: #f0f0f0 1px solid;
+ padding: 0 30rpx;
+ line-height: 40px;
+ height: 40px;
+ position: relative;
+ text-align: right;
+}
+
+.filter_s .ul .name {
+ margin: 0;
+ font-size: 14px;
+ position: absolute;
+ margin-top: -20px;
+ top: 50%;
+ left: 30rpx;
+}
+
+.filter_s .ul .arrow {
+ position: absolute;
+ top: 19.5px;
+ right: 30rpx;
+}
+
+.filter_s .ul .check {
+ display: inline-block;
+ margin-right: 10px;
+}
+
+.filter_s .ul .check input {
+ line-height: 37px;
+ height: 37px;
+ text-align: right;
+ color: #3993cf;
+}
+
+.filter_select {
+ height: 100%;
+ overflow-y: auto;
+ position: fixed;
+ width: 100%;
+ z-index: 1000;
+ right: 0;
+ top: 0;
+ background: #fff;
+ text-align: left;
+}
+
+.filter_select .ul .van-icon {
+ color: #ccc;
+ font-size: 14px;
+}
+
+.codeList {
+ padding: 0 5px;
+}
+
+.codeList .item {
+ width: 50%;
+ display: inline-block;
+ vertical-align: top;
+}
+
+.codeList .item>view {
+ overflow: hidden;
+ position: relative;
+ margin: 10px 5px 0 5px;
+ background: #fff;
+ border-radius: 2px;
+}
+
+.codeList .pic {
+ height: 0;
+ padding-bottom: 80%;
+ overflow: hidden;
+}
+
+.codeList .pic image {
+ width: 100%;
+}
+
+.codeList .info {
+ padding: 5px 5px 8px 5px;
+}
+
+.codeList .info .bot {
+ position: relative;
+ height: 20px;
+ margin: 6px 0 0 0;
+ line-height: 20px;
+ display: block;
+ text-align: right;
+}
+
+.codeList .info .text {
+ position: absolute;
+ top: 50%;
+ margin-top: -9.5px;
+ left: 0;
+ color: #ccc;
+ line-height: 19px;
+ height: 19px;
+}
+
+.codeList .info .tit {
+ overflow: hidden;
+ height: 30px;
+ line-height: 15px;
+ font-size: 12px;
+ margin: 3px 0 0 0;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ word-break: break-all;
+}
+
+.codeList .info .num {
+ font-size: 14px;
+ display: inline-block;
+}
+
+.codeList .info .bot:last-child {
+ margin: 0;
+}
+
+.codeList .info .bot:last-child .text {
+ display: inline;
+ font-size: 12px;
+ color: #f30;
+ padding: 0;
+}
+
+.codeList .info .ListSh {
+ display: inline-block;
+ padding: 0 0 5px 10px;
+ line-height: 25px;
+ height: 20px;
+ color: #999;
+}
+
+.codeList .shop {
+ background-color: rgba(255,255,255,.9);
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ transform: translateY(100%);
+}
+
+.codeList .shop .action navigator,.codeList .shop .action view {
+ display: inline-block;
+ margin: 5% 0 0 5%;
+ background: #fff;
+ width: 41%;
+ font-size: 14px;
+ line-height: 32px;
+ text-align: center;
+ border: 1px #e1e1e1 solid;
+ border-radius: 3px;
+}
+
+.codeList .shop .seller {
+ overflow: hidden;
+ margin: 5% 0 0 5%;
+ width: 87%;
+ padding: 1px;
+ border: 1px solid #e1e1e1;
+ background: #fff;
+}
+
+.codeList .shop .name {
+ line-height: 20px;
+ height: 40px;
+ margin-left: 45px;
+}
+
+.codeList .shop .avatar {
+ float: left;
+ width: 40px;
+ height: 40px;
+}
+
+.codeList .shop .name view {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ height: 20px;
+}
+
+.codeList .shop .ListSh {
+ margin-top: 10px;
+ text-align: center;
+ line-height: 32px;
+ background: #eee;
+}
+
+.serveList .item {
+ position: relative;
+ overflow: hidden;
+ background: #fff;
+ margin: 10px 10px 0 10px;
+ border-radius: 2px;
+ padding: 10px;
+ height: 100px;
+ vertical-align: top;
+}
+
+.serveList .pic {
+ float: left;
+ width: 100px;
+ height: 100px;
+}
+
+.serveList .pic image {
+ width: 100px;
+ height: 100px;
+}
+
+.serveList .info {
+ position: relative;
+ margin-left: 110px;
+ height: 100px;
+}
+
+.serveList .info .tit {
+ overflow: hidden;
+ height: 32px;
+ line-height: 16px;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.serveList .info .bot {
+ position: relative;
+ height: 20px;
+ margin: 28px 0 2px 0;
+ line-height: 20px;
+ display: block;
+}
+
+.serveList .info .text {
+ color: #ccc;
+ height: 19px;
+ line-height: 19px;
+}
+
+.serveList .info .num:last-child {
+ font-size: 14px;
+}
+
+.serveList .info .money {
+ margin: 0;
+ text-align: right;
+}
+
+.serveList .info .money .text {
+ position: absolute;
+ top: 50%;
+ margin-top: -9.5px;
+ left: -2px;
+ display: inline-block;
+ font-size: 12px;
+ color: #f30;
+ padding: 0;
+}
+
+.serveList .info .num {
+ font-size: 16px;
+ display: inline-block;
+}
+
+.serveList .info .ListSh {
+ display: inline-block;
+ padding: 0 0 5px 10px;
+ line-height: 25px;
+ height: 20px;
+ color: #999;
+}
+
+.serveList .shop {
+ color: #333;
+ background-color: rgba(255,255,255,.5);
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ transform: translateY(100%);
+}
+
+.serveList .shop>view {
+ position: relative;
+}
+
+.serveList .shop .seller {
+ background-color: rgba(255,255,255,.9);
+ float: left;
+ height: 100px;
+ width: 82%;
+}
+
+.serveList .shop .avatar {
+ width: 16px;
+ height: 16px;
+ vertical-align: -3px;
+ padding-right: 5px;
+}
+
+.serveList .shop .tname {
+ color: #666;
+ padding-right: 5px;
+ display: inline-block;
+}
+
+.serveList .shop .litem {
+ vertical-align: top;
+ width: 100%;
+ height: 20px;
+ line-height: 20px;
+ display: inline-block;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.serveList .shop .action {
+ position: absolute;
+ top: 0;
+ right: 0;
+ height: 100%;
+ width: 18%;
+}
+
+.serveList .shop .action navigator,.serveList .shop .action view {
+ text-align: center;
+ display: block;
+ width: 100%;
+ height: 33.5px;
+ line-height: 33.5px;
+ color: #fff;
+}
+
+.serveList .shop .action .imfav {
+ background: #ff9402;
+}
+
+.serveList .shop .action .see {
+ background: #ff5000;
+}
+
+.serveList .shop .action view:last-child {
+ background: #c1c1c1;
+}
+
+.webList .item {
+ position: relative;
+ overflow: hidden;
+ background: #fff;
+ margin: 10px 10px 0 10px;
+ border-radius: 2px;
+ box-shadow: 2px 2px 5px #ccc;
+ vertical-align: top;
+}
+
+.webList .top {
+ width: 100%;
+ overflow: hidden;
+ padding: 10px 0;
+}
+
+.webList .bottom {
+ width: 100%;
+}
+
+.webList .avatar {
+ float: left;
+ height: 42px;
+ width: 42px;
+ padding: 0 10px;
+}
+
+.webList .avatar image {
+ width: 38px;
+ height: 38px;
+ border-radius: 50px;
+ border: 2px solid #fff;
+ box-shadow: 0 1px 5px #c1c1c1;
+}
+
+.webList .info {
+ padding-right: 10px;
+ margin-left: 65px;
+}
+
+.webList .info navigator {
+ font-size: 12px;
+ display: block;
+ color: #247fbd;
+ overflow: hidden;
+ height: 16px;
+ line-height: 16px;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.webList .attr {
+ line-height: 20px;
+ height: 20px;
+ width: 100%;
+ background: #fff;
+ border: 1px solid #e1e1e1;
+ margin-top: 5px;
+}
+
+.webList .url {
+ float: left;
+ border-left: 0;
+ padding: 0 5px;
+ color: #888;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.webList .money {
+ font-weight: 700;
+ overflow: hidden;
+ display: block;
+ text-align: center;
+ background: #fff3eb;
+ height: 20px;
+ margin: -1px 0 0 -1px;
+ border: 1px solid #fdc7a2;
+ float: left;
+ color: #f60;
+ padding: 0 5px;
+}
+
+.webList .thumb {
+ position: relative;
+ float: left;
+ width: 100%;
+ height: 0;
+ padding-bottom: 79%;
+ overflow: hidden;
+}
+
+.webList .thumb navigator {
+ display: block;
+ width: 100%;
+ text-align: center;
+ height: 100%;
+}
+
+.webList .thumb image {
+ border-top: 1px solid #dfe0e2;
+ display: block;
+ width: 100%;
+}
+
+.webList .thumb .lay {
+ position: absolute;
+ bottom: 0;
+ height: 100%;
+ left: 0;
+ width: 100%;
+ transform: translateY(100%);
+}
+
+.webList .thumb .lay view {
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: block;
+ background: #000;
+ opacity: .6;
+ height: 96%;
+ width: 96%;
+ padding: 2%;
+}
+
+.webList .thumb .lay view.cdes {
+ color: #fff;
+ background: 0 0;
+ opacity: 1;
+ background: 0 0;
+ font-family: serif;
+ line-height: 24px;
+}
+
+.webList .action {
+ background: #fafafa;
+ font-size: 14px;
+ white-space: nowrap;
+ background: #fff;
+ float: left;
+ width: 96%;
+ padding: 10px 2%;
+ border-top: 1px solid #e1e1e1;
+ color: #c1c1c1;
+}
+
+.webList .action .van-icon {
+ position: relative;
+ float: right;
+ font-size: 26px;
+ line-height: 30px;
+ height: 30px;
+ margin: 0 5px;
+ color: #ccc;
+ overflow: hidden;
+}
+
+.webList .action .stats {
+ float: left;
+}
+
+.webList .action view {
+ float: left;
+ line-height: 30px;
+}
+
+.webList dd .l4 span {
+ position: absolute;
+ top: 0;
+ right: 0;
+ height: 1rem;
+ width: 100%;
+}
+
+.webList dd .l4 span p {
+ padding-left: 100%;
+}
+
+.ddList .item {
+ border-radius: 2px;
+ margin: 10px 10px 0 10px;
+ position: relative;
+ background: #fff;
+ display: block;
+ overflow: hidden;
+ padding: 0 10px;
+}
+
+.ddList .top {
+ border-bottom: 1px solid #e1e1e1;
+ width: 100%;
+ overflow: hidden;
+ padding: 10px 0;
+ line-height: 20px;
+ max-height: 40px;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.ddList .money,.ddList .top .money {
+ color: #ff5000;
+ padding-right: 5px;
+}
+
+.ddList .money:before {
+ content: "¥";
+ font-size: 12px;
+}
+
+.ddList .top view {
+ font-weight: 700;
+ display: inline-block;
+ color: #007cd5;
+ padding-right: 2px;
+}
+
+.ddList .info {
+ border-bottom: 1px dashed #eee;
+ line-height: 16px;
+ height: 16px;
+ background: #fafafa;
+ white-space: nowrap;
+ background: #fff;
+ overflow: hidden;
+ padding: 10px 0;
+ color: #c1c1c1;
+}
+
+.ddList .info .money {
+ float: left;
+ font-weight: 700;
+}
+
+.ddList .info .index {
+ float: right;
+}
+
+.ddList .info .index view {
+ display: inline-block;
+ color: #247fbd;
+}
+
+.ddList .info .index view.bid {
+ color: #693;
+}
+
+.ddList .bottom {
+ line-height: 30px;
+ height: 30px;
+ background: #fafafa;
+ white-space: nowrap;
+ background: #fff;
+ overflow: hidden;
+ padding: 5px 0;
+ color: #c1c1c1;
+}
+
+.ddList .bottom image {
+ border-radius: 50px;
+ border: 1px solid #e1e1e1;
+ width: 25px;
+ height: 25px;
+}
+
+.ddList .bottom .van-icon {
+ position: relative;
+ float: right;
+ font-size: 26px;
+ margin: 0 5px;
+ color: #ccc;
+ overflow: hidden;
+}
+
+.ddList .bottom view {
+ float: left;
+ line-height: 28px;
+ margin-left: 5px;
+}
+
+.ddList .bottom view navigator {
+ color: #c1c1c1;
+}
+
+.jifenList {
+ padding: 5px;
+}
+
+.jifenList .item {
+ width: 50%;
+ display: inline-block;
+ vertical-align: top;
+}
+
+.jifenList .item>view {
+ overflow: hidden;
+ position: relative;
+ margin: 5px;
+ background: #fff;
+ border-radius: 2px;
+}
+
+.jifenList .pic {
+ height: 0;
+ padding-bottom: 100%;
+ overflow: hidden;
+ border-bottom: 1px dashed #e6e9ef;
+}
+
+.jifenList .pic image {
+ width: 100%;
+}
+
+.jifenList .info {
+ padding: 8px 8px;
+ line-height: 20px;
+}
+
+.jifenList .info .tit {
+ font-size: 14px;
+ overflow: hidden;
+ height: 20px;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ word-break: break-all;
+}
+
+.jifenList .info .money {
+ position: relative;
+ height: 20px;
+}
+
+.jifenList .info .money text {
+ display: inline-block;
+ font-weight: 700;
+ padding: 0 2px;
+}
+
+.jifenList .info .money .add {
+ color: #999;
+ padding: 0 3px;
+}
+
+.jifenList .info .money .num {
+ font-weight: 700;
+}
+
+.jifenList .info .money .sales {
+ position: absolute;
+ color: #333;
+ bottom: 0;
+ right: 0;
+}
+
+.jifenList .info .money {
+ color: rgb(217,22,28);
+}
+
+.jifenList .info .money text:first-child {
+ padding-left: 0;
+}
+
+.sort {
+ font-size: 13px;
+ color: #565d65;
+ position: relative;
+ line-height: 40px;
+ background: #fff;
+ border-bottom: 1px solid #eee;
+}
+
+.sort .flex-item {
+ text-align: center;
+}
+
+.sort .flex-item.on,.sort .flex-item.on .van-icon {
+ color: #f60;
+}
+
+.sort .updown {
+ width: 7px;
+ vertical-align: middle;
+ margin: -2px 0 0 3px;
+ display: inline-block;
+}
+
+.sort .updown view {
+ width: 0;
+ height: 0;
+ border: 3px solid transparent;
+}
+
+.sort .updown view.up {
+ border-bottom: 4px solid #666;
+ margin: 0 0 2px 0;
+}
+
+.sort .updown view.down {
+ border-top: 4px solid #666;
+ margin: 2px 0 0 0;
+}
+
+.sort .updown view.up.on {
+ border-bottom-color: #f60;
+}
+
+.sort .updown view.down.on {
+ border-top-color: #f60;
+}
+
+.sort .filter-icon {
+ font-size: 14px;
+ height: 14px;
+ line-height: 14px;
+ vertical-align: middle;
+ margin: -3px 0 0 1px;
+ color: #666;
+}
+
+.top-search .van-search__content {
+ border-radius: 5px;
+ background: #e7e7e7;
+}
+
+.top-search .van-icon-search {
+ color: #b2b2b2;
+}
+
+view.top-search {
+ padding: 10px 20px 0 20px;
+}
+
+.van-tabbar-item {
+ background: #f9f9f9;
+}
\ No newline at end of file
diff --git a/pages/index/shop.js b/pages/index/shop.js
new file mode 100644
index 0000000..6552847
--- /dev/null
+++ b/pages/index/shop.js
@@ -0,0 +1,106 @@
+function t(t, a, e) {
+ return a in t ? Object.defineProperty(t, a, {
+ value: e,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : t[a] = e, t;
+}
+
+var a = require("../../common/common.js");
+
+Page({
+ data: {
+ previewList: [],
+ spin: !0,
+ popup: [],
+ gotop: !1,
+ tabIndex: 0,
+ getdata: {},
+ listdata: {},
+ loading: !1,
+ fixedOn: !1,
+ Form: {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {},
+ rate: {},
+ send: {}
+ }
+ },
+ popupForm: {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {}
+ }
+ }
+ },
+ initialize: function() {
+ var t = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0], e = this;
+ a.Gethtml(e.data.url, function(i) {
+ a.initialFun(t), a.initializeRefresh(i), e.setData({
+ getdata: {
+ page: 1,
+ store: i.store.bh
+ },
+ spin: !1
+ }), wx.stopPullDownRefresh();
+ });
+ },
+ tabsChange: function(t) {
+ "评价" != t.detail.title || this.data.getdata.CurPage || a.GetList(), this.setData({
+ tabIndex: t.detail.index
+ });
+ },
+ radioChange: function(e) {
+ if (this.data.getdata.filter !== e.detail) {
+ var i;
+ this.setData((i = {}, t(i, "getdata.filter", e.detail), t(i, "getdata.page", 1),
+ i)), a.GetList();
+ }
+ },
+ onPageScroll: function(t) {
+ var a = this.data.gotop, e = t.scrollTop;
+ (e >= 1e3 && !a || e < 1e3 && a) && this.setData({
+ gotop: !a
+ });
+ },
+ onReachBottom: function() {
+ var t = this.data.listdata;
+ !this.data.loading && t.CurPage < t.TotalPage && (this.setData({
+ "getdata.page": 1 * this.data.getdata.page + 1
+ }), a.GetList());
+ },
+ contact: function() {
+ a.Lay({
+ action: "contact",
+ info: this.data.Form.store.bh
+ });
+ },
+ Lay: function(t) {
+ a.Lay(JSON.parse(JSON.stringify(t)));
+ },
+ Commom: function(t) {
+ var e = JSON.parse(JSON.stringify((t.currentTarget, t))), i = t.currentTarget ? e.currentTarget.dataset.action : e.action;
+ a[i](e);
+ },
+ Popup: function(t) {
+ a.Popup(t.currentTarget.dataset);
+ },
+ onLoad: function(t) {
+ this.setData({
+ url: t.url ? t.url : "get/ishop/"
+ }), a.init(this), this.initialize(!1);
+ },
+ onShow: function() {
+ a.init(this);
+ },
+ onPullDownRefresh: function() {
+ this.initialize();
+ },
+ onShareAppMessage: function() {
+ return a.getShare();
+ }
+});
\ No newline at end of file
diff --git a/pages/index/shop.json b/pages/index/shop.json
new file mode 100644
index 0000000..497d2f9
--- /dev/null
+++ b/pages/index/shop.json
@@ -0,0 +1,15 @@
+{
+ "usingComponents": {
+ "van-goods-action-button": "/vant/goods-action-button/index",
+ "van-popup": "/vant/popup/index",
+ "van-radio": "/vant/radio/index",
+ "van-radio-group": "/vant/radio-group/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/index/shop.wxml b/pages/index/shop.wxml
new file mode 100644
index 0000000..b4d53a6
--- /dev/null
+++ b/pages/index/shop.wxml
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+ 推荐{{item.name}}
+ 更多
+
+
+
+
+
+
+
+
+
+
+
+ {{goods.tit}}
+
+ ¥{{goods.money}}
+
+
+ {{is.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+ 全部
+ 好评
+ 中评
+ 差评
+ 非自评
+ 有追加
+
+
+
+
+
+
+
+
+
+
+
+
+ {{data.goods.money}} {{data.goods.tit}}
+
+
+
+ {{data.user.name}}
+
+
+
+
+
+
+ {{e.name}}
+
+
+ {{e.text}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{e.time}}
+
+
+
+
+ {{e.reply.name}}
+ {{e.reply.text}}
+
+
+
+
+
+
+
+
+
+
+ {{e.reply.time}}
+
+
+
+
+
+
+
+
+
+
+
+ 客服
+
+
diff --git a/pages/index/shop.wxss b/pages/index/shop.wxss
new file mode 100644
index 0000000..dcec400
--- /dev/null
+++ b/pages/index/shop.wxss
@@ -0,0 +1,287 @@
+@import "../../__wuBaseWxss__/0.wxss";
+
+page {
+ background: #eee;
+}
+
+.nav-tabs .van-tab__title {
+ color: #666;
+}
+
+.nav-tabs .van-tab--active .van-tab__title {
+ color: #f60;
+}
+
+.nav-tabs .van-tab__title .van-icon {
+ font-size: 20px;
+ line-height: 20px;
+ height: 20px;
+ overflow: hidden;
+ margin: 6px 0 -2px 0;
+}
+
+.nav-tabs .van-tab {
+ text-align: center;
+ font-size: 12px;
+ line-height: 16px;
+ height: 50px;
+}
+
+.nav-tabs.van-tabs--line .van-tabs__wrap {
+ height: 50px;
+}
+
+.nav-tabs.van-tabs--line {
+ padding-top: 50px;
+}
+
+.store-nav {
+ height: 1rem;
+ background: #fff;
+ margin-bottom: 10px;
+}
+
+.store-nav.fixed {
+ top: 0;
+ width: 100%;
+ background: #3993cf;
+ z-index: 1000;
+ opacity: 0.99;
+}
+
+.store-nav ul {
+ height: 100%;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -moz-flex;
+ display: flex;
+}
+
+.store-nav ul li {
+ border-bottom: #e9e9e9 .05rem solid;
+ text-align: center;
+ height: .95rem;
+ -webkit-box-flex: 1;
+ flex: 1;
+}
+
+.store-nav ul li a {
+ overflow: hidden;
+ display: block;
+ color: #666;
+ padding-top: .12rem;
+}
+
+.store-nav.fixed ul li a {
+ color: #fff;
+}
+
+.store-nav ul li.on a {
+ color: #f60;
+}
+
+.store-nav ul li.on {
+ border-color: #f60;
+}
+
+.store-nav.fixed ul li.on a {
+ color: #fffc00;
+}
+
+.store-nav.fixed ul li {
+ border-bottom-color: #3993cf;
+}
+
+.store-nav ul li p em {
+ font-family: iconfont;
+ font-size: 0.42rem;
+}
+
+.store-nav ul li p {
+ font-size: 0.32rem;
+}
+
+.store-search {
+ background: #fff;
+}
+
+.store-list {
+ overflow: hidden;
+ margin-bottom: 10px;
+}
+
+.store-ibox {
+ padding: 5px;
+ display: flex;
+ flex-flow: row wrap;
+ align-content: flex-start;
+}
+
+.store-ibox .item {
+ flex: 1 50%;
+}
+
+.store-ibox .item.big {
+ flex: 1 100%;
+}
+
+.store-ibox .item>view {
+ margin: 5px;
+ background: #fff;
+}
+
+.store-ibox .pic {
+ display: block;
+ height: 0;
+ padding-bottom: 80%;
+ overflow: hidden;
+ border: #f0f0f0 1px solid;
+}
+
+.store-ibox .pic image {
+ display: block;
+ width: 100%;
+}
+
+.store-ibox .serve .pic {
+ padding-bottom: 100%;
+}
+
+.store-ibox .info {
+ background: #fff;
+ overflow: hidden;
+ display: block;
+ padding: 0 6px;
+ border: #f1f1f1 1px solid;
+}
+
+.store-ibox .bottom {
+ display: block;
+ overflow: hidden;
+ padding: 0 0 10px 0;
+ width: 100%;
+ position: relative;
+}
+
+.store-ibox .title {
+ color: #555;
+ overflow: hidden;
+ height: 28px;
+ line-height: 14px;
+ font-size: 12px;
+ margin: 5px 0 5px 0;
+}
+
+.store-ibox .money {
+ font-family: Helvetica;
+ color: #f00;
+}
+
+.store-ibox .info text {
+ font-size: 14px;
+}
+
+.store-ibox .gicon {
+ position: absolute;
+ top: 0;
+ right: 0;
+}
+
+.store-ibox .tname {
+ padding-top: .2em;
+ line-height: 1.6em;
+}
+
+.store-ibox .tname i {
+ color: #999;
+}
+
+.store-name {
+ position: relative;
+ margin: 0 10px 0 10px;
+ line-height: 30px;
+ font-size: 16px;
+ text-align: center;
+}
+
+.store-name:first-child {
+ margin-top: 10px;
+}
+
+.store-name text {
+ position: relative;
+ text-align: center;
+ padding: 0 15px;
+ background: #eee;
+}
+
+.store-name .line {
+ border-radius: 45%;
+ position: absolute;
+ background: #CCC;
+ height: 2px;
+ width: 60%;
+ left: 20%;
+ margin-top: -1px;
+ top: 50%;
+}
+
+.store-name navigator {
+ font-size: 12px;
+ color: #999;
+ position: absolute;
+ top: 50%;
+ right: 0;
+ margin-top: -10px;
+ line-height: 20px;
+ height: 20px;
+}
+
+.store-name .van-icon {
+ font-size: 12px;
+ line-height: 10px;
+ height: 10px;
+ margin: -2px 0 0 2px;
+}
+
+.shop_info .item {
+ border-radius: 8px;
+ background: #fff;
+ margin: 10px 10px 0 10px;
+ overflow: hidden;
+ color: #666;
+}
+
+.shop_info .title {
+ font-size: 14px;
+ display: block;
+ height: 40px;
+ line-height: 40px;
+ border-bottom: 1px solid #eee;
+ color: #444;
+ padding-left: 15px;
+ background: #fff;
+}
+
+.shop_info .item>view:last-child {
+ padding: 12px 15px;
+ color: #555;
+}
+
+.shop_desc {
+ font-size: 12px;
+ line-height: 1.4;
+}
+
+.shop_skill view {
+ padding: 8px 12px;
+ border-radius: 5px;
+ border: 1px solid #e0e0e0;
+ text-align: center;
+ display: inline-block;
+ margin: 5px 5px 5px 0;
+}
+
+.shop_ver view.icons {
+ margin-right: 6px;
+}
\ No newline at end of file
diff --git a/pages/index/show.js b/pages/index/show.js
new file mode 100644
index 0000000..f6e4ff0
--- /dev/null
+++ b/pages/index/show.js
@@ -0,0 +1,131 @@
+function t(t, a, e) {
+ return a in t ? Object.defineProperty(t, a, {
+ value: e,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : t[a] = e, t;
+}
+
+!function(t) {
+ t && t.__esModule;
+}(require("../../common/WxValidate.js"));
+
+var a = require("../../common/common.js");
+
+Page({
+ data: {
+ spin: !0,
+ loading: !1,
+ previewList: [],
+ getdata: {},
+ listdata: {},
+ popup: [],
+ gotop: !1,
+ tabIndex: 0,
+ popupSpin: !1,
+ Form: {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {},
+ rate: {},
+ send: {}
+ }
+ },
+ popupForm: {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {}
+ }
+ }
+ },
+ initialize: function() {
+ var t = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0], e = this;
+ e.setData({
+ spin: !0
+ }), a.Gethtml(e.data.url, function(i) {
+ a.initialFun(t), a.initializeRefresh(i), e.setData({
+ getdata: {
+ page: 1,
+ goods: i.data.bh
+ },
+ spin: !1
+ }), i.ShowAttr && i.ShowAttr.Countdown && a.Countdown(i.ShowAttr.Countdown, "Form"),
+ "task" == i.type && e.getBidList(), wx.stopPullDownRefresh();
+ });
+ },
+ onShow: function() {
+ a.init(this);
+ },
+ onLoad: function(t) {
+ a.init(this), t.url ? this.setData({
+ url: a.UrlOptions(t)
+ }) : this.setData({
+ url: "get/shows/code/0"
+ }), this.initialize(!1);
+ },
+ tabsChange: function(t) {
+ "评价记录" != t.detail.title || this.data.getdata.CurPage || a.GetList(), this.setData({
+ tabIndex: t.detail.index
+ });
+ },
+ getBidList: function() {
+ var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0], i = this, n = i.data.getdata.filter, o = i.data.Form.form.radio.filter || 0, r = e.currentTarget ? e.currentTarget.dataset.info : o;
+ if (r !== n) {
+ var s, d = 0 != r && /^[+-]?\d*\.?\d*$/.test(r) ? {
+ bh: r
+ } : {};
+ i.setData((s = {}, t(s, "getdata.filter", "reset" != r ? r : o), t(s, "getdata.page", 1),
+ t(s, "Form.form.goBid", d), s)), a.GetList(function(t) {
+ d.bh && a.querySelect(".item", function(t) {
+ a.Lay({
+ action: "go",
+ info: t.top
+ });
+ });
+ });
+ }
+ },
+ revChange: function(e) {
+ if (this.data.getdata.filter !== e.detail) {
+ var i;
+ this.setData((i = {}, t(i, "getdata.filter", e.detail), t(i, "getdata.page", 1),
+ i)), a.GetList();
+ }
+ },
+ addServe: function(t) {
+ var e = t.currentTarget.dataset, i = this.data.Form.data;
+ if (i.allmoney) {
+ var n = this.data.Form.AllmoneyOn || 0;
+ i.allmoney[n] && (e = Object.assign(i.allmoney[n], e));
+ }
+ a.Lay(e);
+ },
+ gaChange: function(a) {
+ this.setData(t({}, "Form." + a.currentTarget.dataset.field, a.currentTarget.id));
+ },
+ Lay: function(t) {
+ a.Lay(JSON.parse(JSON.stringify(t)));
+ },
+ Commom: function(t) {
+ var e = JSON.parse(JSON.stringify((t.currentTarget, t))), i = t.currentTarget ? e.currentTarget.dataset.action : e.action;
+ a[i]();
+ },
+ Popup: function(t) {
+ a.Popup(t.currentTarget.dataset);
+ },
+ onReachBottom: function() {
+ var t = this.data.listdata;
+ !this.data.loading && t.CurPage < t.TotalPage && (this.setData({
+ "getdata.page": 1 * this.data.getdata.page + 1
+ }), a.GetList());
+ },
+ onPullDownRefresh: function() {
+ this.initialize();
+ },
+ onShareAppMessage: function() {
+ return a.getShare();
+ }
+});
\ No newline at end of file
diff --git a/pages/index/show.json b/pages/index/show.json
new file mode 100644
index 0000000..3bb3a3a
--- /dev/null
+++ b/pages/index/show.json
@@ -0,0 +1,25 @@
+{
+ "usingComponents": {
+ "down": "/utils/count-down/index",
+ "van-goods-action": "/vant/goods-action/index",
+ "van-goods-action-icon": "/vant/goods-action-icon/index",
+ "van-goods-action-button": "/vant/goods-action-button/index",
+ "van-radio": "/vant/radio/index",
+ "van-radio-group": "/vant/radio-group/index",
+ "van-field": "/vant/field/index",
+ "van-cell": "/vant/cell/index",
+ "van-cell-group": "/vant/cell-group/index",
+ "van-stepper": "/vant/stepper/index",
+ "van-picker": "/vant/picker/index",
+ "van-checkbox": "/vant/checkbox/index",
+ "van-checkbox-group": "/vant/checkbox-group/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/index/show.wxml b/pages/index/show.wxml
new file mode 100644
index 0000000..87ab98a
--- /dev/null
+++ b/pages/index/show.wxml
@@ -0,0 +1,238 @@
+
+
+
+ 信息ID:{{Form.data.id}}
+
+
+
+
+
+
+ {{Form.data.money}}
+
+ {{Form.data.tit}}
+
+
+
+ 价 格:
+
+
+ {{Form.data.allmoney[Form.AllmoneyOn||0].money}}
+
+
+
+
+ 版 本:
+
+
+ {{items.edition}}
+
+
+
+
+
+
+
+
+
+ {{items.name}}
+
+
+ {{Form.Guarantee[Form.GuaranteeOn||0].text}}
+
+
+ 商品属性
+
+
+ {{items.title}}:
+
+
+
+
+
+
+
+
+
+
+
+ {{Form.role.name}}
+
+
+ 商家认证:
+
+
+
+ 店铺评分:
+
+
+ {{index}}
+
+ {{item.value}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 全部
+ 好评
+ 中评
+ 差评
+ 非自评
+ 有追加
+
+
+
+
+
+
+
+
+
+
+
+
+ {{data.goods.money}} {{data.goods.tit}}
+
+
+
+ {{data.user.name}}
+
+
+
+
+
+
+ {{e.name}}
+
+
+ {{e.text}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{e.time}}
+
+
+
+
+ {{e.reply.name}}
+ {{e.reply.text}}
+
+
+
+
+
+
+
+
+
+
+ {{e.reply.time}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{Form.data.tit}}
+
+
+
+ {{items.title}}:
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{Form.data.tit}}
+
+
+
+ {{items.title}}:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/index/show.wxss b/pages/index/show.wxss
new file mode 100644
index 0000000..c94008d
--- /dev/null
+++ b/pages/index/show.wxss
@@ -0,0 +1,630 @@
+@import "../../__wuBaseWxss__/0.wxss";
+
+@import "../../vant/area/index.wxss";
+
+page {
+ padding-bottom: 60px;
+}
+
+.pro_bigImg {
+ background: #f2f2f2;
+ text-align: center;
+ overflow: hidden;
+}
+
+.pro_bigImg image {
+ width: 100%;
+ max-width: 350px;
+ vertical-align: top;
+}
+
+.pro_baseInfor {
+ overflow: hidden;
+ background: #fff;
+ padding: 10px 3%;
+}
+
+.pro_baseInfor .title {
+ line-height: 18px;
+ font-size: 13px;
+ margin: 5px 0;
+ color: #000;
+}
+
+.pro_baseInfor .money {
+ font-weight: 700;
+ color: #f40;
+ font-size: 18px;
+ margin-right: 10px;
+ font-size: 24px;
+}
+
+.pro_baseInfor .money:before {
+ content: "¥";
+ font-size: 14px;
+}
+
+.pro_baseInfor .ul cite {
+ color: #b68571;
+ font-size: 18px;
+}
+
+.pro_baseInfor .ul cite:before {
+ font-family: iconfont;
+ content: "\e662";
+ font-size: .4rem;
+ vertical-align: -1px;
+}
+
+.jgoods-info {
+ line-height: 20px;
+ padding: 12px 0;
+ background: #fff;
+}
+
+.jgoods-info .title {
+ font-size: 14px;
+ margin: 0 15px;
+ color: #000;
+}
+
+.jgoods-info .spe {
+ color: #666;
+}
+
+.jgoods-info .spe .bg {
+ margin: 7px 0 2px 0;
+ background: #fafafa;
+ font-size: 14px;
+ padding: 7px 0;
+}
+
+.jgoods-info .spe .item {
+ padding: 5px 15px;
+}
+
+.jgoods-info .spe .text {
+ color: #333;
+ display: inline;
+}
+
+.jgoods-info .spe .price {
+ display: inline-block;
+ height: 24px;
+ line-height: 24px;
+ font-size: 22px;
+ color: #e71f19;
+ vertical-align: -2px;
+}
+
+.jgoods-info .spe .price text {
+ color: #333;
+ font-size: 14px;
+ vertical-align: 3px;
+}
+
+.pro_guarantee {
+ overflow: hidden;
+ background: #f8f8f8;
+ width: 100%;
+}
+
+.pro_guarantee .top {
+ padding: 0 10px;
+ height: 34px;
+ overflow-y: hidden;
+}
+
+.pro_guarantee .tit {
+ height: 19px;
+ overflow: hidden;
+ display: inline-block;
+ padding: 7px 10px;
+ font-size: 12px;
+}
+
+.pro_guarantee .tit.on {
+ margin-top: 1px;
+ color: #444;
+ background: #fff;
+ position: relative;
+ z-index: 1;
+}
+
+.pro_guarantee .tit view {
+ display: inline-block;
+ position: relative;
+}
+
+.pro_guarantee .tit .van-icon {
+ padding-right: 2px;
+ font-size: 15px;
+ vertical-align: middle;
+ margin-top: -4px;
+ color: #69a519;
+}
+
+.pro_guarantee .bottom {
+ padding: 8px 10px;
+ margin-top: -1px;
+ line-height: 20px;
+ background: #fff;
+ color: #444;
+}
+
+.pro_attr {
+ background: #fff;
+ margin: 10px 0 0 0;
+}
+
+.pro_attr .tit {
+ line-height: 38px;
+ color: #666;
+ margin: 0 10px 5px 10px;
+}
+
+.pro_attr .list {
+ overflow: hidden;
+ margin: 5px 0 5px 10px;
+ padding: 3px 0 10px 0;
+}
+
+.pro_attr .item {
+ float: left;
+ width: 56%;
+ margin: 5px 0;
+}
+
+.pro_attr .item:nth-child(odd) {
+ width: 44%;
+}
+
+.pro_attr .name {
+ float: left;
+ color: #999;
+ min-width: 72px;
+ text-align: right;
+}
+
+.pro_attr .text {
+ margin-left: 72px;
+ color: #666;
+}
+
+.pro_attr .text navigator,.pro_attr .text view {
+ display: inline-block;
+}
+
+.pro_attr .demo {
+ color: #00a1ec;
+}
+
+.pro_attr .demo .van-icon {
+ font-size: 16px;
+ margin: -2px 2px 0 0;
+ vertical-align: middle;
+}
+
+.pro_ishop {
+ overflow: hidden;
+ background: #fff;
+ padding: 12px 10px 2px 10px;
+ margin: 10px 0 0 0;
+}
+
+.pro_ishop .bottom,.pro_ishop .top {
+ float: left;
+ padding: 0 0 12px 0;
+ width: 100%;
+}
+
+.pro_ishop .top image {
+ float: left;
+ width: 60px;
+ height: 60px;
+ border-radius: 3px;
+ border: 1px #eee solid;
+ padding: 1px;
+}
+
+.pro_ishop .top .info {
+ margin-left: 74px;
+ color: #999;
+ line-height: 22px;
+}
+
+.pro_ishop .top .name {
+ color: #111;
+}
+
+.pro_ishop .top .tit {
+ color: #666;
+ display: inline;
+}
+
+.pro_ishop .top .store-score {
+ display: inline-block;
+}
+
+.pro_ishop .top .num {
+ padding-right: 5px;
+ display: inline;
+}
+
+.pro_ishop .top .num {
+ color: #c70100;
+}
+
+.pro_ishop .top .icons {
+ display: inline-block;
+}
+
+.pro_ishop .bottom .flex-item {
+ line-height: 14px;
+ height: 14px;
+ text-align: center;
+ margin-right: 15px;
+ padding: 8px 0 10px 0;
+ border: 1px #f0f0f0 solid;
+ border-radius: 4px;
+ box-shadow: 0 1px 2px #fafafa;
+ color: #555;
+}
+
+.pro_ishop .bottom .flex-item:nth-child(3) {
+ margin: 0;
+}
+
+.pro_ishop .bottom .flex-item.bond {
+ color: #2e8a11;
+ border-color: #c6f6bc;
+ background: #f6fdf4;
+}
+
+.pro_ishop .bottom .flex-item .van-icon {
+ font-size: 18px;
+}
+
+.pro_main {
+ overflow: hidden;
+ background: #fff;
+ margin: 10px 0 0 0;
+}
+
+.pro_main .ul {
+ padding: 10px;
+ overflow: auto;
+ word-wrap: break-word;
+ white-space: normal;
+ word-break: break-all;
+}
+
+.pro_info .table {
+ border-right: 1px solid #f0f0f0;
+ border-bottom: 1px solid #f0f0f0;
+ margin: 5px 0;
+}
+
+.pro_info .table .td {
+ padding: 8px 2px;
+ border-left: 1px solid #f0f0f0;
+ border-top: 1px solid #f0f0f0;
+}
+
+.pro_info .table .tr .td {
+ flex: 1;
+}
+
+.pro_info .gimg {
+ width: 100%;
+}
+
+.lay_pic {
+ display: block;
+ width: 100%;
+ height: 20px;
+ background: url(https://statics.huzhan.com/image/lazyload.gif) center center no-repeat;
+ background-size: .3rem .3rem;
+}
+
+.pro_rule .item {
+ font-size: 14px;
+ display: block;
+ width: 100%;
+}
+
+.pro_rule .tit {
+ display: block;
+ border-bottom: 2px solid #eee;
+ height: 28px;
+ margin-top: 2px;
+}
+
+.pro_rule .h1 {
+ display: inline-block;
+ position: relative;
+ padding: 0 1px;
+ font-weight: 700;
+ border-bottom: 2px solid #f70;
+ font-size: 16px;
+ height: 26px;
+ line-height: 26px;
+ bottom: -2px;
+}
+
+.pro_rule .txt {
+ display: block;
+ color: #666;
+ margin: 10px 0;
+}
+
+.pro_rule .txt img {
+ margin-top: 15px;
+}
+
+.pro_table {
+ background: #fff;
+}
+
+.pro_table .tit {
+ text-align: justify;
+ max-height: 44px;
+ overflow: hidden;
+ line-height: 22px;
+ font-size: 18px;
+ padding: 10px;
+ color: #333;
+}
+
+.pro_table .row {
+ background: #fafafa;
+ margin: 0 10px;
+ padding: 10px;
+}
+
+.pro_table .list {
+ padding-bottom: 10px;
+}
+
+.pro_table .row:nth-child(even) {
+ background: #fff;
+}
+
+.pro_table .row view {
+ display: inline-block;
+ color: #333;
+}
+
+.pro_table .row .name {
+ color: #999;
+}
+
+.pro_table .row .money {
+ color: #ff5000;
+}
+
+.pro_table .row .money:before {
+ content: "¥";
+ font-size: 12px;
+}
+
+.pro_table .row .stats {
+ margin: -2px 0;
+ display: inline-block;
+ color: #6a4;
+ border: 1px solid #6a4;
+ background: #eff;
+ padding: 1px 5px;
+ border-radius: 1px;
+ margin-left: 5px;
+}
+
+.pro_table .row .stats.links {
+ color: #498bf8;
+ border-color: #71a3f5;
+ background: #eef9ff;
+}
+
+.pro_table .row .bid {
+ display: inline-block;
+ color: #6899ec;
+ border: 2px dashed #6899ec;
+ font-size: 12px;
+ padding: 2px 6px;
+ border-radius: 1px;
+ margin: -2px 0 0 5px;
+}
+
+.bidTit {
+ position: relative;
+ color: #666;
+ background: #fff;
+ border-bottom: 1px solid #e5e5e5;
+ border-top: 1px solid #e5e5e5;
+ overflow: hidden;
+ line-height: 34px;
+ margin-top: 10px;
+}
+
+.bidTit .title {
+ font-size: 14px;
+ color: #333;
+ font-weight: 700;
+ width: 90px;
+ text-align: center;
+ background: #ededed;
+}
+
+.bidTit .total {
+ color: #666;
+ padding: 0 10px;
+}
+
+.bidTit .van-radio {
+ padding-left: 8px;
+}
+
+.bidTit .goBid {
+ position: absolute;
+ top: 0;
+ width: 100%;
+ z-index: 1;
+}
+
+.bidTit .goBid>view {
+ background: #fff;
+ position: relative;
+ margin-left: 90px;
+ padding: 0 10px;
+}
+
+.bidTit .goBid van-icon {
+ background: #fff;
+ position: absolute;
+ right: 5px;
+ top: 5px;
+}
+
+.bidInfo {
+ background: #f5faff;
+ border-top: 1px solid #d4e7f6;
+ border-bottom: 1px solid #d4e7f6;
+ text-align: center;
+ margin: 10px 0;
+ padding: 20px;
+}
+
+.bidInfo .add {
+ padding: 10px;
+ font-size: 14px;
+ color: #247fbd;
+}
+
+.bidList .item {
+ display: block;
+ border: 1px solid #ededed;
+ border-top: 0;
+}
+
+.bidList .top {
+ background: #f9f9f9;
+ padding: 10px;
+}
+
+.bidList .top .slink>navigator,.bidList .top .slink>view {
+ font-size: .8rem;
+ padding: 0 5px;
+ text-align: center;
+ line-height: 22px;
+ background: #fff;
+ border: 1px solid #ededed;
+ color: #666;
+ border-radius: 2px;
+}
+
+.bidList .top .slink>navigator:first-child {
+ margin-bottom: 6px;
+}
+
+.bidList .avatar {
+ background: #fff;
+ width: 50px;
+ height: 50px;
+ padding: 1px;
+ border: 1px solid #ededed;
+}
+
+.bidList .binfo {
+ padding-right: 5px;
+}
+
+.bidList .binfo>view {
+ display: flex;
+ align-items: center;
+ height: 100%;
+ width: 100%;
+}
+
+.bidList .binfo text {
+ display: block;
+ font-weight: 700;
+ color: #ff4800;
+ font-size: 1.2rem;
+ border: 1px solid #f60;
+ background: #fffbfa;
+ padding: 3px 6px;
+ border-radius: 2px;
+}
+
+.bidList .binfo text.red {
+ color: red;
+ border: 1px solid #f10;
+}
+
+.bidList .baction,.bidList .slink {
+ max-width: 64px;
+}
+
+.bidList .baction navigator {
+ background: #f5faff;
+ border: 1px solid #d4e7f6;
+ color: #74b4ea;
+}
+
+.bidList .baction .won {
+ color: #eaa374;
+ border-color: #ffe0cc;
+ background: #fff8f4;
+}
+
+.bidList .user {
+ flex: 1;
+ color: #666;
+ padding: 0 10px;
+}
+
+.bidList .user>view {
+ display: flex;
+ align-items: center;
+ height: 100%;
+ width: 100%;
+}
+
+.bidList .user .name {
+ font-size: 14px;
+ padding-right: 3px;
+ color: #247fbd;
+ line-height: 15px;
+}
+
+.bidList .user .contact {
+ margin-top: 3px;
+}
+
+.bidList .body {
+ padding: 10px 10px 0 10px;
+ border-top: 1px dashed #ddd;
+ background: #fff;
+ line-height: 16px;
+}
+
+.bidList .bottom {
+ background: #fff;
+ padding: 0 10px 10px 10px;
+ line-height: 22px;
+}
+
+.bidList .bottom text {
+ padding-right: 15px;
+ color: #999;
+}
+
+.info-id {
+ position: fixed;
+ top: 45px;
+ left: 0;
+ z-index: -1;
+ width: 100%;
+ text-align: center;
+ color: #c0c0c0;
+}
\ No newline at end of file
diff --git a/pages/member/cart.js b/pages/member/cart.js
new file mode 100644
index 0000000..e016ed0
--- /dev/null
+++ b/pages/member/cart.js
@@ -0,0 +1,223 @@
+function t(t, a, e) {
+ return a in t ? Object.defineProperty(t, a, {
+ value: e,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : t[a] = e, t;
+}
+
+var a = require("../../common/common.js");
+
+Page({
+ data: {
+ loading: !1,
+ Form: {},
+ ListSh: {},
+ getdata: "",
+ listdata: {},
+ popup: [],
+ title: "",
+ tabCurrent: 0,
+ MyJifen: 0,
+ CartMoney: 0,
+ CartCount: 0,
+ CartTotal: 0,
+ CartPost: {},
+ Allchecked: !0,
+ spin: !0,
+ timestamp: 0,
+ previewList: []
+ },
+ onReachBottom: function() {
+ var t = this, e = this.data.listdata;
+ !t.data.loading && e.CurPage < e.TotalPage && (t.setData({
+ "getdata.page": 1 * t.data.getdata.page + 1,
+ spin: !0,
+ timestamp: a.timestamp()
+ }), a.GetList(function(a) {
+ t.create_cartList("init");
+ }));
+ },
+ create_cartList: function(t) {
+ var e = this, o = e.data.listdata.list, i = [], n = [], s = [], d = [], r = 0, c = 0, g = 0, l = {};
+ for (var h in o) {
+ var u = o[h];
+ for (var f in u.goods) {
+ var m = u.goods[f];
+ m.gchecked && (i[r] = m.bh, n[r] = m.yjifen, s[r] = m.type, d[r] = m.achecked ? 1 : 0,
+ c += Number(m.money), m.achecked && (c += Number(m.amoney)), m.yjifen > 0 && (c -= Number((.1 * m.yjifen).toFixed(2))),
+ "init" != t && m["m_" + m.bh] && (l["m_" + m.bh] = m["m_" + m.bh], l["z_" + m.bh] = m["z_" + m.bh]),
+ r++), m.gdisabled || g++;
+ }
+ }
+ var y = {
+ id: i.join("|"),
+ jf: n.join("|"),
+ ty: s.join("|"),
+ az: d.join("|")
+ };
+ "init" == t ? e.setData({
+ CartMoney: c,
+ CartCount: r,
+ CartTotal: g,
+ CartPost: y,
+ spin: !1
+ }) : (e.setData({
+ postIng: !0
+ }), a.HttpMember({
+ url: "post/cart",
+ data: Object.assign(y, l)
+ }, function(t) {
+ e.setData({
+ postIng: !1
+ }), "url" == t.action && a.Lay(t);
+ }));
+ },
+ AllChange: function(a) {
+ if (a.detail && (a.detail.checked || this.data.CartTotal == this.data.CartCount && this.data.CartCount > 0)) {
+ var e = this, o = a.detail.checked, i = e.data.listdata.list;
+ for (var n in i) for (var s in i[n].goods) o !== i[n].goods[s].gchecked && e.goodChange({
+ detail: {
+ name: "good_" + n + "_" + i[n].goods[s].bh,
+ checked: o
+ }
+ });
+ e.setData(t({
+ ListSh: {},
+ Allchecked: o
+ }, "listdata.list", i));
+ }
+ },
+ ListSh: function(a) {
+ var e = this, o = a.currentTarget.id, i = "ListSh." + o, n = wx.createAnimation({
+ duration: 200,
+ timingFunction: "ease",
+ delay: 0
+ });
+ e.data.ListSh[o] ? (n.translateX("100%").step(), setTimeout(function() {
+ e.setData(t({}, i, !1));
+ }, 201)) : (e.setData(t({}, i, !0)), n.translateX("0").step()), this.setData(t({}, i, n.export()));
+ },
+ action: function(e) {
+ var o = this, i = o.data.listdata.list, n = e.currentTarget.dataset, s = n.action, d = n.id, r = n.gid, c = i[d].goods, g = c[r], l = i[d].sell, h = c.length <= 1;
+ a.PostMember("post/" + s, {
+ action: s,
+ bh: g.bh,
+ tab: g.type
+ }, function(a) {
+ if (1 != a.state) return !1;
+ var e = wx.createAnimation({
+ duration: 300,
+ timingFunction: "ease",
+ delay: 0
+ });
+ e.translateX("120%").step(), o.setData(t({}, "delAnimation." + (h ? l : g.bh), e.export())),
+ setTimeout(function() {
+ h ? i.splice(d, 1) : i[d].goods.splice(r, 1);
+ var a = t({
+ delAnimation: {}
+ }, "listdata.list", i);
+ h && (a.ListSh = {}), o.setData(a), o.create_cartList("init");
+ }, 301);
+ });
+ },
+ goodChange: function(a) {
+ if (a.detail) {
+ var e = this, o = a.detail.checked, i = a.detail.name.split("_"), n = i[0], s = i[1], d = i[2], r = e.data.listdata.list[s], c = {
+ no: 0,
+ ok: 0
+ }, g = "listdata.list[" + s + "]";
+ if ("install" == n || "jifen" == n) for (var l in r.goods) r.goods[l].bh != d || r.goods[l].gdisabled || (o && !r.goods[l].gchecked && e.goodChange({
+ detail: {
+ name: "good_" + s + "_" + d,
+ checked: o
+ }
+ }), "install" == n ? (r.goods[l].achecked = o, e.setData({
+ CartMoney: e.data.CartMoney + Number(o ? r.goods[l].amoney : -1 * r.goods[l].amoney)
+ })) : (r.goods[l].jchecked = o, o ? (r.goods[l].yjifen = e.data.MyJifen <= r.goods[l].kjifen ? e.data.MyJifen : r.goods[l].kjifen,
+ e.setData({
+ MyJifen: e.data.MyJifen - r.goods[l].yjifen,
+ CartMoney: e.data.CartMoney - Number((.1 * r.goods[l].yjifen).toFixed(2))
+ })) : (e.setData({
+ MyJifen: e.data.MyJifen + r.goods[l].yjifen,
+ CartMoney: e.data.CartMoney + Number((.1 * r.goods[l].yjifen).toFixed(2))
+ }), r.goods[l].yjifen = 0))); else if ("good" == n) {
+ for (var l in r.goods) if (!r.goods[l].gdisabled) {
+ if (r.goods[l].bh == d) {
+ var h = r.goods[l].achecked, u = r.goods[l].jchecked;
+ r.goods[l].gchecked = o, o ? (e.setData({
+ CartCount: e.data.CartCount + 1,
+ CartMoney: e.data.CartMoney + Number(r.goods[l].money)
+ }), r.goods[l].achecked || (r.goods[l].achecked = r.goods[l].amoney <= 0)) : (e.setData({
+ CartCount: e.data.CartCount - 1,
+ CartMoney: e.data.CartMoney - Number(r.goods[l].money)
+ }), r.goods[l].achecked = !1, r.goods[l].jchecked = !1), r.goods[l].achecked !== h && e.goodChange({
+ detail: {
+ name: "install_" + s + "_" + d,
+ checked: r.goods[l].achecked
+ }
+ }), r.goods[l].jchecked !== u && e.goodChange({
+ detail: {
+ name: "jifen_" + s + "_" + d,
+ checked: r.goods[l].jchecked
+ }
+ });
+ }
+ r.goods[l].gchecked ? c.ok++ : c.no++;
+ }
+ e.data.CartTotal > e.data.CartCount && e.data.Allchecked && e.setData({
+ Allchecked: !1
+ }), e.data.CartTotal != e.data.CartCount || e.data.Allchecked || e.setData({
+ Allchecked: !0
+ }), 0 != c.ok && 0 != c.no || (r.schecked = 0 === c.no);
+ } else if ("shop" == n) {
+ for (var l in r.goods) r.goods[l].gdisabled || r.goods[l].gchecked === o || (e.goodChange({
+ detail: {
+ name: "good_" + s + "_" + r.goods[l].bh,
+ checked: o
+ }
+ }), r.goods[l].gchecked = o);
+ r.schecked !== o && (r.schecked = o);
+ }
+ e.setData(t({}, g, r));
+ }
+ },
+ initialize: function() {
+ var t = this;
+ t.setData({
+ spin: !0,
+ postIng: !1
+ }), a.HttpMember("get/member/cart?islogin=0", function(e) {
+ a.initializeRefresh(e), t.setData({
+ "getdata.page": 1,
+ MyJifen: e.Myjifen,
+ timestamp: a.timestamp()
+ }), wx.stopPullDownRefresh(), a.GetList(function(a) {
+ t.create_cartList("init");
+ });
+ });
+ },
+ Lay: function(t) {
+ a.Lay(JSON.parse(JSON.stringify(t)));
+ },
+ Commom: function(t) {
+ var e = JSON.parse(JSON.stringify((t.currentTarget, t))), o = t.currentTarget ? e.currentTarget.dataset.action : e.action;
+ a[o](e);
+ },
+ Popup: function(t) {
+ a.Popup(t.currentTarget.dataset);
+ },
+ onLoad: function() {
+ a.init(this);
+ },
+ onShow: function() {
+ a.init(this);
+ var t = a.timestamp();
+ (!wx.getStorageSync("sessionid") || t - this.data.timestamp >= 30) && this.initialize();
+ },
+ onPullDownRefresh: function() {
+ this.initialize();
+ },
+ onShareAppMessage: function() {}
+});
\ No newline at end of file
diff --git a/pages/member/cart.json b/pages/member/cart.json
new file mode 100644
index 0000000..69128e9
--- /dev/null
+++ b/pages/member/cart.json
@@ -0,0 +1,15 @@
+{
+ "usingComponents": {
+ "van-submit-bar": "/vant/submit-bar/index",
+ "van-checkbox": "/vant/checkbox/index",
+ "van-checkbox-group": "/vant/checkbox-group/index",
+ "van-popup": "/vant/popup/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/member/cart.wxml b/pages/member/cart.wxml
new file mode 100644
index 0000000..f08fb6f
--- /dev/null
+++ b/pages/member/cart.wxml
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{shop.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{data.pic.value}}
+
+
+ [{{data.typename}}]{{data.tit}}
+
+
+
+ 保
+
+
+
+ {{data.error.text}}
+ 查看详情
+
+
+
+
+ ¥{{data.money}}
+
+
+
+
+
+
+ 联系商家
+
+
+
+
+
+ 删除商品
+
+
+
+
+
+ 移至收藏
+
+
+
+
+
+ 关闭
+
+
+
+
+
+
+
+ 安装服务
+
+
+ 购买前请看【要求说明】
+
+
+ ¥{{data.amoney}}
+
+ 免费
+
+
+
+
+
+ 积分抵价
+
+
+ 您当前可用积分不足
+ 商品支持使用{{data.kjifen}}积分
+ 当前准备使用{{data.yjifen}}积分
+
+
+ -¥{{data.yjifen/10}}
+
+
+
+
+
+
+
+
+ 全选({{CartCount}})
+
+
diff --git a/pages/member/cart.wxss b/pages/member/cart.wxss
new file mode 100644
index 0000000..30d4097
--- /dev/null
+++ b/pages/member/cart.wxss
@@ -0,0 +1,294 @@
+@import "../../__wuBaseWxss__/0.wxss";
+
+.nologin {
+ position: absolute;
+ margin-top: -100px;
+ top: 50%;
+ left: 0;
+ width: 100%;
+ text-align: center;
+}
+
+.cartList .item {
+ position: relative;
+ background: #fff;
+ margin-bottom: 10px;
+ border-bottom: 1px #ddd solid;
+ border-top: 1px #ddd solid;
+}
+
+.cartList .item:last-child {
+ margin: 0;
+}
+
+.cartList .shops {
+ padding: 10px;
+}
+
+.cartList .ListSh {
+ display: inline-block;
+ margin-bottom: -5px;
+ padding: 0 0 5px 10px;
+ line-height: 20px;
+ font-size: 14px;
+ color: #999;
+}
+
+.cartList .info {
+ position: relative;
+ background: #fafafa;
+ padding: 10px;
+ border-top: 1px #e1e1e1 solid;
+}
+
+.cartList .info .more {
+ position: absolute;
+ width: 100%;
+ background-color: rgba(255,255,255,.9);
+ text-align: center;
+ top: 0;
+ left: 0;
+ height: 100%;
+ font-size: 12px;
+ line-height: 24px;
+ transform: translateX(100%);
+}
+
+.cartList .info .more.hide {
+ display: none;
+}
+
+.cartList .info .action {
+ padding-top: 14px;
+}
+
+.cartList .info .action .van-icon {
+ background: #c1c1c1;
+ border-radius: 50%;
+ padding: 5px;
+ color: #fff;
+ font-size: 20px;
+}
+
+.cartList .info .pic {
+ overflow: hidden;
+ margin: 0 10px 0 0;
+ line-height: 58px;
+ height: 58px;
+ width: 76px;
+ color: #36c;
+ border: 1px solid #eee;
+}
+
+.cartList .info .pic image {
+ width: 76px;
+ height: 58px;
+}
+
+.cartList .info .tit {
+ overflow: hidden;
+ height: 32px;
+ line-height: 16px;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.cartList .info .bot {
+ position: relative;
+ height: 20px;
+ line-height: 20px;
+ display: block;
+}
+
+.cartList .info .bot .gicon {
+ padding: 0;
+ background: 0 0;
+ left: 0;
+ right: auto;
+}
+
+.cartList .info .bot .gicon view {
+ margin: 0 5px 0 0;
+}
+
+.cartList .info .text {
+ color: #ccc;
+ height: 19px;
+ line-height: 19px;
+ font-size: 14px;
+}
+
+.cartList .info .money .text {
+ display: inline;
+ font-size: 12px;
+ color: #f30;
+}
+
+.cartList .info .num {
+ font-size: 14px;
+ display: inline-block;
+ font-weight: 700;
+}
+
+.cartList .attach {
+ background: #fff;
+ padding: 8px 10px;
+ line-height: 18px;
+ font-size: 14px;
+ border-top: 1px solid #eee;
+}
+
+.cartList .attach .van-checkbox {
+ margin-top: -2px;
+}
+
+.cartList .attach .explain {
+ font-size: 12px;
+ color: rgba(69,90,100,.6);
+}
+
+.cartList .attach .explain .b {
+ font-weight: 700;
+}
+
+.cartList .attach .explain view {
+ display: inline-block;
+}
+
+.cartList .attach .money .text {
+ display: inline;
+ font-size: 12px;
+ color: #f30;
+}
+
+.cartList .attach .money .green {
+ color: #3a933a;
+}
+
+.cartList .attach .money .num {
+ display: inline-block;
+ font-weight: 700;
+}
+
+.cartList .shop {
+ color: #333;
+ background-color: rgba(255,255,255,.5);
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+}
+
+.cartList .shop .seller {
+ background-color: rgba(255,255,255,.9);
+ float: left;
+ height: 100px;
+ width: 82%;
+}
+
+.cartList .shop .avatar {
+ display: inline-block;
+ width: 20px;
+ height: 20px;
+}
+
+.cartList .shop .avatar image {
+ width: 16px;
+ height: 16px;
+}
+
+.cartList .shop .name {
+ color: #000;
+}
+
+.cartList .shop .tname {
+ color: #666;
+ padding-right: 5px;
+ display: inline-block;
+}
+
+.cartList .shop .litem {
+ float: left;
+ width: 100%;
+ height: 20px;
+ line-height: 20px;
+ display: inline-block;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.cartList .shop .action {
+ float: right;
+ height: 100%;
+ width: 18%;
+}
+
+.cartList .shop .action .navigator,.cartList .shop .action view {
+ text-align: center;
+ display: block;
+ width: 100%;
+ height: 33.5px;
+ line-height: 33.5px;
+ background: #ff9402;
+ color: #fff;
+}
+
+.cartList .shop .action navigator:nth-child(1) {
+ background: #ff5000;
+}
+
+.cartList .shop .action view {
+ background: #c1c1c1;
+}
+
+.shop_view {
+ padding-bottom: 50px;
+}
+
+.shop_list {
+ height: 100px;
+ border-bottom: 1px solid #dbdbdb;
+ line-height: 100px;
+ padding-left: 20px;
+}
+
+.fixed_top {
+ background: #ff774f;
+}
+
+.fixed_top .ui-col {
+ color: #fff;
+}
+
+.fixed_bottom {
+ background: #fff;
+ box-shadow: 0 -8px 10px 0 #eaeaea;
+}
+
+.fixed_bottom .form_list {
+ background: #fe6a3c;
+ color: #fff;
+ height: 50px;
+ text-align: center;
+ line-height: 50px;
+ font-size: 16px;
+}
+
+.fixed_bottom .money {
+ color: #f30;
+ display: inline-block;
+ font-size: 12px;
+}
+
+.fixed_bottom .money .num {
+ font-size: 20px;
+ display: inline-block;
+ font-weight: 700;
+}
+
+.fixed_bottom .form_num {
+ display: inline-block;
+}
\ No newline at end of file
diff --git a/pages/member/html.js b/pages/member/html.js
new file mode 100644
index 0000000..af39a23
--- /dev/null
+++ b/pages/member/html.js
@@ -0,0 +1,115 @@
+function t(t, e, i) {
+ return e in t ? Object.defineProperty(t, e, {
+ value: i,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : t[e] = i, t;
+}
+
+var e = function(t) {
+ return t && t.__esModule ? t : {
+ default: t
+ };
+}(require("../../vant/dialog/dialog")), i = require("../../common/common.js");
+
+Page({
+ data: {
+ url: "",
+ popup: [],
+ previewList: []
+ },
+ initialize: function() {
+ var t = this;
+ t.setData({
+ spin: !0,
+ popupSpin: !1,
+ Form: {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {},
+ rate: {}
+ }
+ },
+ popupForm: {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {}
+ }
+ }
+ }), i.HttpMember(t.data.url, function(t) {
+ i.initializeRefresh(t);
+ });
+ },
+ onPullDownRefresh: function() {
+ this.initialize();
+ },
+ onLoad: function(t) {
+ t && this.setData({
+ url: i.UrlOptions(t)
+ }), i.init(this), this.initialize();
+ },
+ onShow: function() {
+ i.init(this), this.data.Form.form.formLoad && this.initialize();
+ },
+ Lay: function(t) {
+ i.Lay(JSON.parse(JSON.stringify(t)));
+ },
+ Commom: function(t) {
+ var e = JSON.parse(JSON.stringify((t.currentTarget, t))), a = t.currentTarget ? e.currentTarget.dataset.action : e.action;
+ i[a](e);
+ },
+ Popup: function(t) {
+ i.Popup(t.currentTarget.dataset);
+ },
+ AllmoneyChange: function(e) {
+ var i = commom.getTableName(), a = this.data[i].form, r = a.radio.SelectEdition, o = a.radio.piece, n = a.allMoney;
+ if (r) {
+ var l = r.split("-|-");
+ n.edition = l[0], n.money = parseInt(l[1]);
+ }
+ n.count = parseInt(o * n.money), a.allMoney = n, this.setData(t({}, i + ".form", a));
+ },
+ allMoney: function(i) {
+ var a = this, r = i.currentTarget.dataset.action, o = i.currentTarget.dataset.data, n = 0, l = [];
+ for (var s in a.data.Form.input) if ("moneyBox" == a.data.Form.input[s].id) var u = s;
+ var f = a.data.Form.input[u].list[1].list[0].list[1].list, m = f.length;
+ if ("up" == r || "down" == r) {
+ var c = JSON.parse(JSON.stringify(f[o])), d = "up" == r ? o <= 0 ? m - 1 : o - 1 : o >= m - 1 ? 0 : o + 1;
+ f[o] = f[d], f[o] = f[d], f[d] = c, f[d] = c;
+ } else if ("del" == r) {
+ if (m <= 1) return e.default.alert({
+ title: "提示",
+ message: '至少需要保留1个价格!',
+ overlay: !0,
+ closable: !1
+ }).then(function() {
+ var e;
+ a.setData((e = {}, t(e, "Form.form.formLoad", !1), t(e, "Form.form.textareaToggle", !1),
+ e));
+ }), !1;
+ delete f[o];
+ } else if ("add" == r) {
+ if (m >= 5) return e.default.alert({
+ title: "提示",
+ message: '最多只能设置5个动态价格!',
+ overlay: !0,
+ closable: !1
+ }).then(function() {
+ var e;
+ a.setData((e = {}, t(e, "Form.form.formLoad", !1), t(e, "Form.form.textareaToggle", !1),
+ e));
+ }), !1;
+ f[m] = JSON.parse(JSON.stringify(f[0])), f[m].list[0].list[0].value = "", f[m].list[1].list[0].value = "";
+ }
+ for (var s in f) {
+ f[s].list[0].list[0].name = f[s].list[0].list[0].name.replace(/[\d]/g, "") + n,
+ f[s].list[1].list[0].name = f[s].list[1].list[0].name.replace(/[\d]/g, "") + n;
+ for (var p in f[s].list[2].list) f[s].list[2].list[p].data = n;
+ l[n] = f[s], n++;
+ }
+ a.setData(t({}, "Form.input[" + u + "].list[1].list[0].list[1].list", l));
+ }
+});
\ No newline at end of file
diff --git a/pages/member/html.json b/pages/member/html.json
new file mode 100644
index 0000000..96d5430
--- /dev/null
+++ b/pages/member/html.json
@@ -0,0 +1,25 @@
+{
+ "usingComponents": {
+ "down": "/utils/count-down/index",
+ "van-field": "/vant/field/index",
+ "van-radio": "/vant/radio/index",
+ "van-radio-group": "/vant/radio-group/index",
+ "van-cell": "/vant/cell/index",
+ "van-cell-group": "/vant/cell-group/index",
+ "van-stepper": "/vant/stepper/index",
+ "van-picker": "/vant/picker/index",
+ "van-checkbox": "/vant/checkbox/index",
+ "van-checkbox-group": "/vant/checkbox-group/index",
+ "van-notice-bar": "/vant/notice-bar/index",
+ "van-search": "/vant/search/index",
+ "van-steps": "/vant/steps/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/member/html.wxml b/pages/member/html.wxml
new file mode 100644
index 0000000..72570b3
--- /dev/null
+++ b/pages/member/html.wxml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/pages/member/html.wxss b/pages/member/html.wxss
new file mode 100644
index 0000000..06367b1
--- /dev/null
+++ b/pages/member/html.wxss
@@ -0,0 +1,5 @@
+@import "../../__wuBaseWxss__/0.wxss";
+
+@import "../../__wuBaseWxss__/1.wxss";
+
+@import "../../vant/area/index.wxss";
\ No newline at end of file
diff --git a/pages/member/list/detail.js b/pages/member/list/detail.js
new file mode 100644
index 0000000..68ed1d3
--- /dev/null
+++ b/pages/member/list/detail.js
@@ -0,0 +1,123 @@
+function t(t, a, e) {
+ return a in t ? Object.defineProperty(t, a, {
+ value: e,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : t[a] = e, t;
+}
+
+var a = require("../../../common/common.js");
+
+Page({
+ data: {
+ previewList: [],
+ dropShow: !1,
+ searchVal: [],
+ loading: !1,
+ Form: {},
+ getdata: [],
+ listdata: [],
+ popup: [],
+ spin: !0,
+ listIndex: 0,
+ loadnot: !1,
+ gotop: !1,
+ popupForm: {}
+ },
+ onLoad: function(t) {
+ a.init(this);
+ var e = this;
+ a.HttpMember({
+ url: "get/member/detail",
+ data: {
+ mode: t.mode
+ }
+ }, function(i) {
+ var n = {
+ getdata: {},
+ listdata: {},
+ listIndex: 0,
+ searchVal: []
+ };
+ i.tabs.forEach(function(a, e) {
+ a.value === t.mode && (n.listIndex = e), n.getdata[e] = {
+ mode: a.value,
+ page: 1
+ }, n.listdata[e] = {
+ list: [],
+ CurPage: 0
+ };
+ }), a.initializeRefresh(i), t.bh && i.tabs[n.listIndex].search && (n.getdata[n.listIndex].bh = t.bh,
+ n.searchVal[n.listIndex] = t.bh), e.setData({
+ getdata: n.getdata,
+ listdata: n.listdata,
+ listIndex: n.listIndex,
+ searchVal: n.searchVal
+ }), a.initialFun(!1), a.GetList(function(t) {
+ e.setData({
+ spin: !1
+ });
+ });
+ });
+ },
+ onShow: function() {
+ a.init(this);
+ },
+ initialize: function() {
+ var e, i = this, n = i.data.listIndex;
+ i.setData((e = {}, t(e, "initialValue.listIndex", n), t(e, "listdata." + n, {
+ list: [],
+ CurPage: 0
+ }), e)), a.initialFun(!0), a.GetList(function(t) {
+ wx.stopPullDownRefresh();
+ });
+ },
+ searchSubmit: function(e) {
+ var i, n = this, s = n.data.listIndex, o = e.detail ? e.detail.replace(/\s+/g, "") : "", l = n.data.searchVal[s], d = n.data.getdata;
+ if (l === o) return "" == o && a.Lay({
+ info: "亲,搜索内容不能为空!"
+ }), !1;
+ "" == o ? delete d[s].bh : d[s].bh = o, d[s].page = 1, n.setData((i = {
+ getdata: d
+ }, t(i, "searchVal." + s, o), t(i, "listdata." + s, {
+ list: [],
+ CurPage: 0
+ }), i)), a.GetList();
+ },
+ onReachBottom: function() {
+ var e = this, i = e.data.listIndex, n = e.data.listdata[i];
+ if (!e.data.loadnot && !e.data.loading && n.CurPage < n.TotalPage) {
+ var s = "getdata." + i + ".page";
+ e.setData(t({}, s, 1 * e.data.getdata[i].page + 1)), a.GetList();
+ }
+ },
+ tabChange: function(t) {
+ var e = this, i = t.detail.index, n = e.data.listdata[i];
+ i != e.data.listIndex && (e.setData({
+ listIndex: i
+ }), wx.setNavigationBarTitle({
+ title: e.data.Form.tabs[i].title
+ }), n.CurPage ? n.CurPage < n.TotalPage ? this.loadnot = !1 : this.loadnot = !0 : a.GetList());
+ },
+ onPageScroll: function(t) {
+ var a = this, e = t.scrollTop, i = a.data.gotop, n = 2 * a.data.SystemInfo.windowHeight;
+ (e >= n && !i || e < n && i) && a.setData({
+ gotop: !i
+ });
+ },
+ Lay: function(t) {
+ a.Lay(JSON.parse(JSON.stringify(t)));
+ },
+ Commom: function(t) {
+ var e = JSON.parse(JSON.stringify((t.currentTarget, t))), i = t.currentTarget ? e.currentTarget.dataset.action : e.action;
+ a[i](e);
+ },
+ Popup: function(t) {
+ a.Popup(t.currentTarget.dataset);
+ },
+ onPullDownRefresh: function() {
+ this.initialize();
+ },
+ onShareAppMessage: function() {}
+});
\ No newline at end of file
diff --git a/pages/member/list/detail.json b/pages/member/list/detail.json
new file mode 100644
index 0000000..5f7aa4e
--- /dev/null
+++ b/pages/member/list/detail.json
@@ -0,0 +1,16 @@
+{
+ "usingComponents": {
+ "van-search": "/vant/search/index",
+ "van-field": "/vant/field/index",
+ "van-cell": "/vant/cell/index",
+ "van-cell-group": "/vant/cell-group/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/member/list/detail.wxml b/pages/member/list/detail.wxml
new file mode 100644
index 0000000..f4823d0
--- /dev/null
+++ b/pages/member/list/detail.wxml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{data.text}}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/member/list/detail.wxss b/pages/member/list/detail.wxss
new file mode 100644
index 0000000..4d2616e
--- /dev/null
+++ b/pages/member/list/detail.wxss
@@ -0,0 +1,5 @@
+@import "../../../__wuBaseWxss__/0.wxss";
+
+@import "../../../__wuBaseWxss__/1.wxss";
+
+@import "../../../vant/area/index.wxss";
\ No newline at end of file
diff --git a/pages/member/list/fav.js b/pages/member/list/fav.js
new file mode 100644
index 0000000..b178a5d
--- /dev/null
+++ b/pages/member/list/fav.js
@@ -0,0 +1,144 @@
+function t(t, a, i) {
+ return a in t ? Object.defineProperty(t, a, {
+ value: i,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : t[a] = i, t;
+}
+
+var a = require("../../../common/common.js");
+
+Page({
+ data: {
+ loading: !1,
+ getdata: [],
+ listdata: [],
+ ListSh: {},
+ spin: !0,
+ Form: {},
+ listIndex: 0,
+ loadnot: !1,
+ gotop: !1,
+ popupForm: {},
+ itemAnimation: {}
+ },
+ onLoad: function(t) {
+ a.init(this);
+ var i = this;
+ a.HttpMember({
+ url: "get/member/fav",
+ data: {
+ mode: t.mode
+ }
+ }, function(e) {
+ var n = {
+ getdata: {},
+ listdata: {},
+ listIndex: 0
+ };
+ e.tabs.forEach(function(a, i) {
+ a.value === t.mode && (n.listIndex = i), n.getdata[i] = {
+ mode: a.value,
+ page: 1
+ }, n.listdata[i] = {
+ list: [],
+ CurPage: 0
+ };
+ }), a.initializeRefresh(e), t.bh && e.tabs[n.listIndex].search && (n.getdata[n.listIndex].bh = t.bh,
+ n.searchVal[n.listIndex] = t.bh), i.setData({
+ getdata: n.getdata,
+ listdata: n.listdata,
+ listIndex: n.listIndex
+ }), a.initialFun(!1), a.GetList(function(t) {
+ i.setData({
+ spin: !1
+ });
+ });
+ });
+ },
+ onShow: function() {
+ a.init(this);
+ },
+ initialize: function() {
+ var i, e = this, n = e.data.listIndex;
+ e.setData((i = {}, t(i, "initialValue.listIndex", n), t(i, "listdata." + n, {
+ list: [],
+ CurPage: 0
+ }), i)), a.initialFun(!0), a.GetList(function(t) {
+ wx.stopPullDownRefresh();
+ });
+ },
+ ListSh: function(a) {
+ var i = this, e = a.currentTarget.id, n = "ListSh." + e, s = wx.createAnimation({
+ duration: 200,
+ timingFunction: "ease",
+ delay: 0
+ });
+ i.data.ListSh[e] ? (s.translateY("100%").step(), setTimeout(function() {
+ i.setData(t({}, n, !1));
+ }, 201)) : (i.setData(t({}, n, !0)), s.translateY("0").step()), this.setData(t({}, n, s.export()));
+ },
+ action: function(i) {
+ var e = this, n = e.data.listIndex, s = e.data.listdata[n], o = i.currentTarget.dataset, r = o.id, l = o.action, d = s.list[r].bh, u = e.data.Form.tabs[n].value;
+ a.PostMember("post/fav", {
+ action: l,
+ bh: d,
+ tab: u
+ }, function(a) {
+ if (1 != a.state) return !1;
+ if ("del" == l) {
+ var i = wx.createAnimation({
+ duration: 300,
+ timingFunction: "ease",
+ delay: 0
+ });
+ i.translateX("120%").step(), e.setData(t({}, "itemAnimation." + d, i.export())),
+ setTimeout(function() {
+ s.Total--, s.list.splice(r, 1), e.setData(t({
+ itemAnimation: {}
+ }, "listdata." + n, s));
+ }, 301);
+ } else if ("up" == l || "down" == l) {
+ var o = s.list.splice(r, 1)[0];
+ o.top = Number(!Boolean(parseInt(o.top))), "up" == l ? s.list.unshift(o) : s.list.push(o),
+ e.setData(t({}, "listdata." + n, s));
+ }
+ });
+ },
+ onReachBottom: function() {
+ var i = this, e = i.data.listIndex, n = i.data.listdata[e];
+ if (!i.data.loadnot && !i.data.loading && n.CurPage < n.TotalPage) {
+ var s = "getdata." + e + ".page";
+ i.setData(t({}, s, 1 * i.data.getdata[e].page + 1)), a.GetList();
+ }
+ },
+ tabChange: function(t) {
+ var i = this, e = t.detail.index, n = i.data.listdata[e];
+ e != i.data.listIndex && (i.setData({
+ listIndex: e
+ }), wx.setNavigationBarTitle({
+ title: i.data.Form.tabs[e].title
+ }), n.CurPage ? n.CurPage < n.TotalPage ? this.loadnot = !1 : this.loadnot = !0 : a.GetList());
+ },
+ onPageScroll: function(t) {
+ var a = this, i = t.scrollTop, e = a.data.gotop, n = 2 * a.data.SystemInfo.windowHeight;
+ (i >= n && !e || i < n && e) && a.setData({
+ gotop: !e
+ });
+ },
+ Lay: function(t) {
+ a.Lay(JSON.parse(JSON.stringify(t)));
+ },
+ Commom: function(t) {
+ var i = JSON.parse(JSON.stringify((t.currentTarget, t))), e = t.currentTarget ? i.currentTarget.dataset.action : i.action;
+ a[e](i);
+ },
+ Popup: function(t) {
+ a.Popup(t.currentTarget.dataset);
+ },
+ onPullDownRefresh: function() {
+ this.initialize();
+ },
+ onShareAppMessage: function() {}
+});
\ No newline at end of file
diff --git a/pages/member/list/fav.json b/pages/member/list/fav.json
new file mode 100644
index 0000000..050b0b9
--- /dev/null
+++ b/pages/member/list/fav.json
@@ -0,0 +1,12 @@
+{
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/member/list/fav.wxml b/pages/member/list/fav.wxml
new file mode 100644
index 0000000..9092e73
--- /dev/null
+++ b/pages/member/list/fav.wxml
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+ 宝贝数:{{item.goods}}
+
+
+
+
+
+
+
+
+
+
+ 删除收藏
+
+
+
+
+
+ 取消置顶
+
+
+
+
+
+ 置顶收藏
+
+
+
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.typename}}
+
+
+
+ {{item.typename}}
+
+
+
+
+ {{item.tit}}
+
+ {{item.tit}}
+
+
+
+
+ {{item.money}}
+
+ {{item.state.text}}
+
+
+
+
+
+
+
+
+
+
+ 放购物车
+
+
+
+
+
+ 删除收藏
+
+
+
+
+
+ 取消置顶
+
+
+
+
+
+ 置顶收藏
+
+
+
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/member/list/fav.wxss b/pages/member/list/fav.wxss
new file mode 100644
index 0000000..7b35aa2
--- /dev/null
+++ b/pages/member/list/fav.wxss
@@ -0,0 +1,114 @@
+@import "../../../__wuBaseWxss__/0.wxss";
+
+.favList .item {
+ overflow: hidden;
+ color: #999;
+ position: relative;
+ margin: 10px 10px 0 10px;
+ background: #fff;
+ padding: 10px;
+ border-radius: 2px;
+}
+
+.favList .pic {
+ color: #333;
+ font-size: 14px;
+ overflow: hidden;
+ width: 100px;
+ text-align: center;
+ height: 80px;
+ line-height: 80px;
+ background: #fafafa;
+ border: 1px #eee solid;
+}
+
+.favList .pic image {
+ width: 100px;
+ height: 80px;
+}
+
+.favList .info {
+ position: relative;
+ height: 80px;
+ margin-left: 10px;
+}
+
+.favList .info .tit {
+ line-height: 16px;
+ font-size: 12px;
+ height: 32px;
+ overflow: hidden;
+}
+
+.favList .info .bottom {
+ position: absolute;
+ right: 0;
+ bottom: -10px;
+ width: 100%;
+ line-height: 25px;
+}
+
+.favList .info .bottom .money {
+ color: #ff5000;
+ padding-right: 5px;
+}
+
+.favList .info .bottom .money:before {
+ content: "¥";
+ font-size: 12px;
+}
+
+.favList .info .bottom .ListSh {
+ font-size: 18px;
+ padding: 0 0 5px 15px;
+ line-height: 25px;
+ color: #999;
+}
+
+.favList .info .action {
+ line-height: 20px;
+ text-align: center;
+ background-color: rgba(255,255,255,.9);
+ position: absolute;
+ right: 0;
+ top: 0;
+ height: 100%;
+ width: 100%;
+ transform: translateY(100%);
+}
+
+.favList .info .action .van-icon {
+ line-height: 28px;
+ width: 100%;
+ font-size: 20px;
+ color: #fff;
+}
+
+.favList .info .icon {
+ margin-top: 18px;
+ border-radius: 50%;
+ width: 30px;
+ height: 30px;
+ display: inline-block;
+ background: #f60;
+}
+
+.action .row-flex .flex-item .icon.delete {
+ background: #f00;
+}
+
+.action .row-flex .flex-item .icon.up {
+ background: #498BF8;
+}
+
+.action .row-flex .flex-item .icon.cross {
+ background: #c1c1c1;
+}
+
+.action .row-flex .flex-item .icon.down {
+ background: #3eabc3;
+}
+
+.action .row-flex .flex-item:last-child {
+ flex: 0.7;
+}
\ No newline at end of file
diff --git a/pages/member/list/manage.js b/pages/member/list/manage.js
new file mode 100644
index 0000000..e499574
--- /dev/null
+++ b/pages/member/list/manage.js
@@ -0,0 +1,209 @@
+function t(t, a, e) {
+ return a in t ? Object.defineProperty(t, a, {
+ value: e,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : t[a] = e, t;
+}
+
+var a = require("../../../common/common.js");
+
+Page({
+ data: {
+ postShow: !1,
+ searchShow: !1,
+ searchVal: "",
+ searchFocus: !1,
+ loading: !1,
+ getdata: [],
+ listdata: [],
+ popup: [],
+ spin: !0,
+ listIndex: 0,
+ loadnot: !1,
+ gotop: !1,
+ active: {},
+ previewList: [],
+ Form: {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {}
+ }
+ },
+ popupForm: {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {}
+ }
+ }
+ },
+ onLoad: function(t) {
+ a.init(this);
+ var e = this;
+ a.HttpMember({
+ url: "get/member/manage",
+ data: {
+ list: t.list || "goods"
+ }
+ }, function(i) {
+ a.initializeRefresh(i);
+ var s = {
+ listIndex: 0,
+ getdata: {},
+ listdata: {},
+ active: {}
+ };
+ i.tabs.total.forEach(function(a, e) {
+ s.getdata[e] = {
+ page: 1,
+ mode: a.key,
+ type: a.default
+ }, s.listdata[e] = {
+ list: [],
+ CurPage: 0
+ }, s.active[e] = 0, t.mode === a.key && (s.listIndex = e, t.type && i.tabs[a.key] && i.tabs[a.key].forEach(function(a, i) {
+ t.type === a.key && (s.active[e] = i, s.getdata[e].type = a.key);
+ }));
+ }), e.setData({
+ active: s.active,
+ getdata: s.getdata,
+ listdata: s.listdata,
+ listIndex: s.listIndex
+ }), a.initialFun(!1), a.GetList(function(t) {
+ e.setData({
+ spin: !1
+ });
+ });
+ });
+ },
+ initialize: function() {
+ a.initialFun(!0), a.GetList(function(t) {
+ wx.stopPullDownRefresh();
+ });
+ },
+ onShow: function() {
+ a.init(this), this.data.Form.form.formLoad && this.initialize();
+ },
+ searchRemove: function() {
+ (!(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0]) && "" != this.data.searchVal.replace(/(^\s*)|(\s*$)/g, "") && this.searchSubmit({
+ detail: ""
+ }), this.setData({
+ searchShow: !1,
+ searchVal: ""
+ });
+ },
+ searchSubmit: function(e) {
+ var i = this, s = i.data.listIndex, o = e.detail ? e.detail.replace(/\s+/g, "") : "", n = i.data.searchVal, r = i.data.getdata;
+ if (n === o) return "" == o && a.Lay({
+ info: "亲,搜索内容不能为空!"
+ }), !1;
+ "" == o ? delete r[s].key : r[s].key = o, r[s].page = 1, i.setData(t({
+ getdata: r,
+ searchVal: o
+ }, "listdata." + s, {
+ list: [],
+ CurPage: 0
+ })), a.GetList();
+ },
+ searchToggle: function(t) {
+ var a = this, e = a.data.searchShow;
+ a.setData({
+ searchShow: !e,
+ searchFocus: !1
+ }), e || setTimeout(function() {
+ a.setData({
+ searchFocus: !0
+ });
+ }, 100);
+ },
+ postToggle: function() {
+ this.setData({
+ postShow: !this.data.postShow
+ });
+ },
+ onReachBottom: function() {
+ var e = this, i = e.data.listIndex, s = e.data.listdata[i];
+ if (!e.data.loadnot && !e.data.loading && s.CurPage < s.TotalPage) {
+ var o = "getdata." + i + ".page";
+ e.setData(t({}, o, 1 * e.data.getdata[i].page + 1)), a.GetList();
+ }
+ },
+ typeChange: function(e) {
+ var i = this, s = e.detail, o = i.data.listIndex, n = i.data.getdata[o], r = i.data.Form.tabs[n.mode];
+ if (n.type != r[s].key) {
+ var d;
+ n.type = r[s].key, n.page = 1, n.key && (i.searchRemove(!1), delete n.key), i.setData((d = {},
+ t(d, "active." + o, s), t(d, "getdata." + o, n), t(d, "listdata." + o, {
+ list: [],
+ CurPage: 0
+ }), d)), a.GetList();
+ }
+ },
+ tabChange: function(t) {
+ var e = this, i = t.detail.index, s = e.data.listdata[i];
+ i != e.data.listIndex && (e.setData({
+ listIndex: i
+ }), s.CurPage ? s.CurPage < s.TotalPage ? this.loadnot = !1 : this.loadnot = !0 : a.GetList());
+ },
+ onPageScroll: function(t) {
+ var a = this, e = t.scrollTop, i = a.data.gotop, s = 2 * a.data.SystemInfo.windowHeight;
+ (e >= s && !i || e < s && i) && a.setData({
+ gotop: !i
+ });
+ },
+ UpdateTabs: function(a) {
+ var e, i = this.data.Form.tabs;
+ for (var s in a) {
+ var o = a[s];
+ for (var n in i) for (var r in i[n]) ("total" == n && i[n][r].key == o.mode || n == o.mode && i[n][r].key == o.type) && (i[n][r].num = o.number > 0 ? parseInt(i[n][r].num) + parseInt(o.number) : parseInt(i[n][r].num) - parseInt(-1 * o.number));
+ }
+ this.setData((e = {}, t(e, "Form.tabs", i), t(e, "initialValue.Form.tabs", i), e));
+ },
+ ExecuteCallBack: function(a) {
+ var e = this, i = e.data.listIndex, s = e.data.listdata[i], o = a.action, n = a.index;
+ if ("uptime" == o) s.list[n].time = a.time; else {
+ var r = a.mode, d = a.toMode, l = a.type;
+ if (s.list.splice(n, 1), s.Total--, "updown" == o) {
+ var c = [ {
+ type: l,
+ mode: r,
+ number: -1
+ }, {
+ type: l,
+ mode: d,
+ number: 1
+ } ], u = e.data.getdata;
+ for (var h in u) if (d == u[h].mode && l == u[h].type && e.data.listdata[h].list.length > 0) {
+ var p;
+ e.setData((p = {}, t(p, "listdata." + h, {
+ list: [],
+ CurPage: 0
+ }), t(p, "getdata." + h + ".page", 1), p));
+ break;
+ }
+ } else if ("del" == o) c = [ {
+ type: l,
+ mode: r,
+ number: -1
+ } ];
+ e.UpdateTabs(c);
+ }
+ e.setData(t({}, "listdata." + i, s));
+ },
+ Lay: function(t) {
+ a.Lay(JSON.parse(JSON.stringify(t)));
+ },
+ Commom: function(t) {
+ var e = JSON.parse(JSON.stringify((t.currentTarget, t))), i = t.currentTarget ? e.currentTarget.dataset.action : e.action;
+ a[i](e);
+ },
+ Popup: function(t) {
+ a.Popup(t.currentTarget.dataset);
+ },
+ onPullDownRefresh: function() {
+ this.initialize();
+ }
+});
\ No newline at end of file
diff --git a/pages/member/list/manage.json b/pages/member/list/manage.json
new file mode 100644
index 0000000..cf24d45
--- /dev/null
+++ b/pages/member/list/manage.json
@@ -0,0 +1,26 @@
+{
+ "usingComponents": {
+ "van-search": "/vant/search/index",
+ "van-picker": "/vant/picker/index",
+ "van-tabbar": "/vant/tabbar/index",
+ "van-tabbar-item": "/vant/tabbar-item/index",
+ "van-transition": "/vant/transition/index",
+ "van-field": "/vant/field/index",
+ "van-radio": "/vant/radio/index",
+ "van-radio-group": "/vant/radio-group/index",
+ "van-cell": "/vant/cell/index",
+ "van-cell-group": "/vant/cell-group/index",
+ "van-rate": "/vant/rate/index",
+ "van-stepper": "/vant/stepper/index",
+ "van-checkbox": "/vant/checkbox/index",
+ "van-checkbox-group": "/vant/checkbox-group/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/member/list/manage.wxml b/pages/member/list/manage.wxml
new file mode 100644
index 0000000..1d5d590
--- /dev/null
+++ b/pages/member/list/manage.wxml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+ {{tabs.name}}
+
+
+
+
+
+
+ {{item.time.name}}{{item.time.value}}
+
+ {{item.djl.name}}{{item.djl.value}}
+
+
+
+ {{item.state.text}}
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{info}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{info}}
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+
+ {{is.text}}
+
+
+
+
+
+ {{btn.text}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/member/list/manage.wxss b/pages/member/list/manage.wxss
new file mode 100644
index 0000000..8689783
--- /dev/null
+++ b/pages/member/list/manage.wxss
@@ -0,0 +1,233 @@
+@import "../../../__wuBaseWxss__/0.wxss";
+
+@import "../../../vant/area/index.wxss";
+
+page {
+ padding-bottom: 50px;
+}
+
+.manageList {
+ min-height: 1px;
+}
+
+.manageList .item {
+ overflow: hidden;
+ background: #fff;
+ margin: 10px 10px 0 10px;
+ padding: 0 10px;
+ border-radius: 2px;
+}
+
+.manageList .top {
+ position: relative;
+ height: 36px;
+ line-height: 36px;
+ border-bottom: 1px #eee solid;
+}
+
+.manageList .top .state {
+ text-align: right;
+ position: absolute;
+ right: 0;
+ top: 50%;
+ margin-top: -18px;
+}
+
+.manageList .top .state.green {
+ color: #58ba5b;
+}
+
+.manageList .top .state .van-icon {
+ line-height: 14px;
+ vertical-align: middle;
+ margin: -2.6px 2px 0 0;
+ font-size: 14px;
+}
+
+.manageList .top .time {
+ color: #777;
+}
+
+.manageList .top .time text {
+ font-family: Helvetica;
+ padding: 0 5px 0 3px;
+ color: #999;
+}
+
+.manageList .top .time text:last-child {
+ padding-right: 0;
+}
+
+.manageList .bot {
+ position: relative;
+}
+
+.manageList .bot .gicon {
+ padding: 0;
+ left: 0;
+ right: auto;
+ top: 11px;
+}
+
+.manageList .bot .gicon view {
+ border-radius: 2px;
+ padding: 3px 5px;
+ margin: 0 5px 0 0;
+ width: auto;
+ height: auto;
+}
+
+.manageList .bot .gicon view:last-child {
+ margin: 0;
+}
+
+.manageList .bot .gicon .van-icon.stats {
+ vertical-align: middle;
+ margin-top: -3px;
+ font-size: 22px;
+ margin-right: 2px;
+ border: 0;
+ color: #498BF8;
+}
+
+.manageList .bot .gicon .van-icon.image {
+ color: #6a4;
+}
+
+.manageList .info {
+ position: relative;
+ padding: 10px 0;
+ border-bottom: solid 1px #eee;
+}
+
+.manageList .info .pic {
+ border: 1px #eee solid;
+ width: 96px;
+ height: 76px;
+ overflow: hidden;
+}
+
+.manageList .info .pic image {
+ width: 100%;
+}
+
+.manageList .info .flex-item {
+ position: relative;
+ display: block;
+ margin-left: 10px;
+}
+
+.manageList .info .flex-item .tit {
+ text-overflow: -o-ellipsis-lastline;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ line-height: 16px;
+ font-size: 12px;
+ color: #333;
+ max-height: 32px;
+}
+
+.manageList .info .flex-item .note {
+ color: #999;
+ position: absolute;
+ left: 0;
+ bottom: 5px;
+ width: 100%;
+}
+
+.manageList .info .flex-item .note>view {
+ position: relative;
+}
+
+.manageList .info .flex-item .note>view view {
+ display: inline-block;
+}
+
+.manageList .info .flex-item .note .tright {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+}
+
+.manageList .info .flex-item .note .van-icon {
+ font-size: 14px;
+ margin-top: -2.6px;
+ vertical-align: middle;
+}
+
+.manageList .info .flex-item .note .text {
+ padding: 0 2px;
+}
+
+.manageList .info .flex-item .money {
+ font-family: Helvetica;
+ color: #f60;
+ padding-right: 2px;
+}
+
+.manageList .info .flex-item .money:first-child:before {
+ content: '¥';
+ font-size: 12px;
+}
+
+.manageAction {
+ width: 48px;
+ background: #fafafa;
+}
+
+.manageAction .Action-icon {
+ font-size: 20px;
+ color: #888;
+ line-height: 44px;
+ width: 40px;
+ text-align: center;
+}
+
+.tab-search.van-search {
+ padding: 5px 5px 5px 10px;
+ margin-top: 1px;
+}
+
+.released {
+ padding: 10px;
+ text-align: center;
+}
+
+.released .flex-item {
+ color: #3e98e2;
+ margin: 10px;
+ padding: 20px 35px;
+ border: #cde4f6 1px solid;
+ font-size: 18px;
+ border-radius: 6px;
+ background: #edf6fe;
+}
+
+.released .demand .flex-item {
+ color: #ff8521;
+ border: #ffe0cc 1px solid;
+ background: #fff8f4;
+}
+
+.released .flex-item:hover {
+ opacity: .8;
+}
+
+.released .title {
+ color: #666;
+ font-size: 18px;
+ line-height: 30px;
+}
+
+.released text {
+ vertical-align: top;
+}
+
+.released .van-icon {
+ font-size: 32px;
+ display: block;
+ margin-top: 3px;
+}
\ No newline at end of file
diff --git a/pages/member/list/message.js b/pages/member/list/message.js
new file mode 100644
index 0000000..74f7b81
--- /dev/null
+++ b/pages/member/list/message.js
@@ -0,0 +1,134 @@
+function t(t, a, e) {
+ return a in t ? Object.defineProperty(t, a, {
+ value: e,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : t[a] = e, t;
+}
+
+var a = require("../../../common/common.js");
+
+Page({
+ data: {
+ search: "",
+ loading: !1,
+ Form: {},
+ getdata: [],
+ listdata: [],
+ spin: !0,
+ listIndex: 0,
+ loadnot: !1,
+ gotop: !1,
+ popupForm: {}
+ },
+ onLoad: function() {
+ a.init(this);
+ var t = this;
+ a.HttpMember("get/member/message", function(e) {
+ a.initializeRefresh(e);
+ var i = {
+ getdata: {},
+ listdata: {}
+ };
+ e.tabs.forEach(function(t, a) {
+ i.getdata[a] = {
+ mode: "message",
+ page: 1,
+ state: a
+ }, i.listdata[a] = {
+ list: [],
+ CurPage: 0
+ };
+ }), t.setData({
+ getdata: i.getdata,
+ listdata: i.listdata
+ }), a.initialFun(!1), a.GetList(function(a) {
+ t.setData({
+ spin: !1
+ });
+ });
+ });
+ },
+ initialize: function() {
+ var e, i = this, n = i.data.listIndex;
+ i.setData((e = {}, t(e, "initialValue.listIndex", n), t(e, "listdata." + n, {
+ list: [],
+ CurPage: 0
+ }), e)), a.initialFun(!0), a.GetList(function(t) {
+ wx.stopPullDownRefresh();
+ });
+ },
+ onShow: function() {
+ a.init(this);
+ },
+ searchChange: function(t) {
+ this.setData({
+ search: t.detail
+ });
+ },
+ searchSubmit: function() {
+ var t = this, e = {
+ getdata: {},
+ listdata: {}
+ };
+ t.data.Form.tabs.forEach(function(a, i) {
+ e.getdata[i] = {
+ page: 1,
+ state: i,
+ mode: "message"
+ }, "" != t.data.search && (e.getdata[i].key = t.data.search), e.listdata[i] = {
+ list: [],
+ CurPage: 0
+ };
+ }), t.setData({
+ getdata: e.getdata,
+ listdata: e.listdata
+ }), a.GetList();
+ },
+ onReachBottom: function() {
+ var e = this, i = e.data.listIndex, n = e.data.listdata[i];
+ if (!e.data.loadnot && !e.data.loading && n.CurPage < n.TotalPage) {
+ var s = "getdata." + i + ".page";
+ e.setData(t({}, s, 1 * e.data.getdata[i].page + 1)), a.GetList();
+ }
+ },
+ tabChange: function(t) {
+ var e = this, i = t.detail.index, n = e.data.listdata[i];
+ i != e.data.listIndex && (e.setData({
+ listIndex: i
+ }), n.CurPage ? n.CurPage < n.TotalPage ? e.loadnot = !1 : e.loadnot = !0 : a.GetList());
+ },
+ onPageScroll: function(t) {
+ var a = this, e = t.scrollTop, i = a.data.gotop, n = 2 * a.data.SystemInfo.windowHeight;
+ (e >= n && !i || e < n && i) && a.setData({
+ gotop: !i
+ });
+ },
+ readMessage: function(e) {
+ var i = this, n = e.currentTarget.dataset, s = n.index, o = n.url;
+ 0 == n.state && (i.setData(t({}, "listdata." + i.data.listIndex + ".list[" + s + "].state", 1)),
+ a.Lay({
+ action: "ajax",
+ method: "execute",
+ batch: "message_read",
+ id: n.id
+ })), wx.navigateTo({
+ url: o
+ });
+ },
+ Lay: function(t) {
+ a.Lay(JSON.parse(JSON.stringify(t)));
+ },
+ Commom: function(t) {
+ var e = JSON.parse(JSON.stringify((t.currentTarget, t))), i = t.currentTarget ? e.currentTarget.dataset.action : e.action;
+ a[i](e);
+ },
+ Popup: function(t) {
+ a.Popup(t.currentTarget.dataset);
+ },
+ onPullDownRefresh: function() {
+ this.initialize();
+ },
+ onShareAppMessage: function() {}
+});
\ No newline at end of file
diff --git a/pages/member/list/message.json b/pages/member/list/message.json
new file mode 100644
index 0000000..a33c4a8
--- /dev/null
+++ b/pages/member/list/message.json
@@ -0,0 +1,13 @@
+{
+ "usingComponents": {
+ "van-search": "/vant/search/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/member/list/message.wxml b/pages/member/list/message.wxml
new file mode 100644
index 0000000..c1ef650
--- /dev/null
+++ b/pages/member/list/message.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{item.sorts}}{{item.time}}
+ {{item.text}}
+
+
+
+
+
+
+
diff --git a/pages/member/list/message.wxss b/pages/member/list/message.wxss
new file mode 100644
index 0000000..b2d8927
--- /dev/null
+++ b/pages/member/list/message.wxss
@@ -0,0 +1,45 @@
+@import "../../../__wuBaseWxss__/0.wxss";
+
+.messageList .item {
+ position: relative;
+ overflow: hidden;
+ margin: 10px 10px 0 10px;
+}
+
+.messageList .state {
+ background: #f00;
+ width: 8px;
+ height: 8px;
+ top: 50%;
+ left: 0;
+ position: absolute;
+ margin-top: -5px;
+ border-radius: 50px;
+}
+
+.messageList .state.v1 {
+ background: #c1c1c1;
+}
+
+.messageList .info {
+ margin-left: 18px;
+ background: #fff;
+ padding: 10px 10px 10px 13px;
+ line-height: 16px;
+ border: 1px #eee solid;
+ border-radius: 3px;
+}
+
+.messageList .info .time {
+ color: #999;
+ line-height: 12px;
+ padding-bottom: 5px;
+}
+
+.messageList .info text {
+ padding-right: 15px;
+}
+
+.messageList .info .text {
+ text-indent: -6px;
+}
\ No newline at end of file
diff --git a/pages/member/list/order.js b/pages/member/list/order.js
new file mode 100644
index 0000000..b95cc89
--- /dev/null
+++ b/pages/member/list/order.js
@@ -0,0 +1,217 @@
+function t(t, a, e) {
+ return a in t ? Object.defineProperty(t, a, {
+ value: e,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : t[a] = e, t;
+}
+
+var a = function(t) {
+ return t && t.__esModule ? t : {
+ default: t
+ };
+}(require("../../../vant/dialog/dialog")), e = require("../../../common/common.js");
+
+Page({
+ data: {
+ dropShow: !1,
+ dropTips: "请输入订单号",
+ dropField: "order",
+ dropName: "订单号",
+ searchVal: "",
+ loading: !1,
+ Form: {},
+ getdata: [],
+ listdata: [],
+ animation: {},
+ popupSpin: !1,
+ popupForm: {},
+ previewList: [],
+ popup: [],
+ spin: !0,
+ listIndex: 0,
+ role: "buy",
+ loadnot: !1,
+ gotop: !1
+ },
+ onLoad: function(t) {
+ e.init(this);
+ var a = this;
+ e.HttpMember({
+ url: "get/member/order",
+ data: {
+ role: t.role || a.data.role
+ }
+ }, function(o) {
+ e.initializeRefresh(o);
+ var i = {
+ getdata: {},
+ listdata: {}
+ };
+ o.tabs.forEach(function(t, a) {
+ i.getdata[a] = {
+ mode: o.role,
+ page: 1,
+ state: t.value
+ }, i.listdata[a] = {
+ list: [],
+ CurPage: 0
+ };
+ }), a.setData({
+ role: t.role || a.data.role,
+ getdata: i.getdata,
+ listdata: i.listdata,
+ listIndex: t.mode || 0
+ }), e.initialFun(!1), e.GetList(function(t) {
+ a.setData({
+ spin: !1
+ });
+ });
+ });
+ },
+ onShow: function() {
+ e.init(this);
+ },
+ initialize: function() {
+ e.initialFun(!0), e.GetList(function(t) {
+ wx.stopPullDownRefresh();
+ });
+ },
+ confirmHandle: function(t) {
+ var o = t.currentTarget.dataset;
+ a.default.alert({
+ title: "提示",
+ message: decodeURIComponent(o.info),
+ overlay: !0,
+ showCancelButton: !0,
+ cancelButtonText: "返回",
+ closable: !1
+ }).then(function() {
+ e.HttpMember({
+ url: "deal/" + o.method,
+ data: o.data
+ });
+ }).catch(function() {});
+ },
+ orderHandlePopup: function(t) {
+ var a = t.currentTarget.dataset;
+ e.Lay({
+ table: "popupForm",
+ action: "pop",
+ method: "deal/" + a.method,
+ data: JSON.stringify({
+ number: a.data,
+ role: this.data.role,
+ action: a.action,
+ index: a.index
+ })
+ });
+ },
+ dropOpen: function() {
+ this.setData({
+ dropShow: !this.data.dropShow
+ });
+ },
+ searchChange: function(t) {
+ this.setData({
+ searchVal: t.detail
+ });
+ },
+ searchSubmit: function(t) {
+ var a = this, o = {
+ getdata: {},
+ listdata: {}
+ };
+ a.data.Form.tabs.forEach(function(t, e) {
+ o.getdata[e] = {
+ page: 1,
+ state: t.value,
+ mode: a.data.role,
+ first_input: a.data.searchVal,
+ first_select: a.data.dropField
+ }, o.listdata[e] = {
+ list: [],
+ CurPage: 0
+ };
+ }), a.setData({
+ listIndex: 0,
+ getdata: o.getdata,
+ listdata: o.listdata
+ }), e.GetList();
+ },
+ dropChange: function(t) {
+ var a = this, e = t.detail, o = a.data.Form.dropValue[e.index];
+ a.setData({
+ dropTips: "请输入" + e.value,
+ dropField: o,
+ dropName: e.value,
+ dropShow: !1
+ });
+ },
+ onReachBottom: function() {
+ var a = this, o = a.data.listIndex, i = a.data.listdata[o];
+ if (!a.data.loadnot && !a.data.loading && i.CurPage < i.TotalPage) {
+ var n = "getdata." + o + ".page";
+ a.setData(t({}, n, 1 * a.data.getdata[o].page + 1)), e.GetList();
+ }
+ },
+ tabChange: function(t) {
+ var a = this, o = t.detail.index, i = a.data.listdata[o];
+ o != a.data.listIndex && (a.setData({
+ listIndex: o
+ }), i.CurPage ? i.CurPage < i.TotalPage ? this.loadnot = !1 : this.loadnot = !0 : e.GetList());
+ },
+ onPageScroll: function(a) {
+ var e = this, o = a.scrollTop, i = e.data.gotop, n = 2 * e.data.SystemInfo.windowHeight;
+ if ((o >= n && !i || o < n && i) && e.setData({
+ gotop: !i
+ }), e.data.Form.lazy && e.data.Form.lazy.add > 0) {
+ var r = e.data.Form.lazy, d = Math.ceil((o + e.data.SystemInfo.windowHeight) / r.height) * e.data.Form.lazy.add;
+ d > r.pos && e.setData(t({}, "Form.lazy.pos", d));
+ }
+ },
+ ExecuteCallBack: function(a) {
+ var o = this, i = o.data.listIndex, n = a.index;
+ e.Popup({
+ action: "closeForm"
+ }), e.HttpMember({
+ url: o.data.Form.apiurl,
+ data: {
+ mode: o.data.role,
+ first_input: a.ddbh,
+ first_select: "order"
+ }
+ }, function(a) {
+ if (1 === a.Total) {
+ var e = a.list.shift(), r = wx.createAnimation({
+ duration: 600,
+ timingFunction: "ease"
+ });
+ r.rotateY(90).step(), setTimeout(function() {
+ o.setData(t({}, "animation." + e.ddbh, r.export()), function() {
+ setTimeout(function() {
+ r.rotateY(0).step(), o.setData(t({}, "animation." + e.ddbh, r.export()), function() {
+ o.setData(t({}, "listdata." + i + ".list[" + n + "]", e));
+ });
+ }, 600);
+ });
+ }, 100);
+ }
+ });
+ },
+ Lay: function(t) {
+ e.Lay(JSON.parse(JSON.stringify(t)));
+ },
+ Commom: function(t) {
+ var a = JSON.parse(JSON.stringify((t.currentTarget, t))), o = t.currentTarget ? a.currentTarget.dataset.action : a.action;
+ e[o](a);
+ },
+ Popup: function(t) {
+ e.Popup(t.currentTarget.dataset);
+ },
+ onPullDownRefresh: function() {
+ this.initialize();
+ },
+ onShareAppMessage: function() {}
+});
\ No newline at end of file
diff --git a/pages/member/list/order.json b/pages/member/list/order.json
new file mode 100644
index 0000000..644d859
--- /dev/null
+++ b/pages/member/list/order.json
@@ -0,0 +1,23 @@
+{
+ "usingComponents": {
+ "down": "/utils/count-down/index",
+ "van-search": "/vant/search/index",
+ "van-picker": "/vant/picker/index",
+ "van-cell": "/vant/cell/index",
+ "van-cell-group": "/vant/cell-group/index",
+ "van-field": "/vant/field/index",
+ "van-radio": "/vant/radio/index",
+ "van-radio-group": "/vant/radio-group/index",
+ "van-checkbox": "/vant/checkbox/index",
+ "van-checkbox-group": "/vant/checkbox-group/index",
+ "van-rate": "/vant/rate/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/member/list/order.wxml b/pages/member/list/order.wxml
new file mode 100644
index 0000000..c8c2673
--- /dev/null
+++ b/pages/member/list/order.wxml
@@ -0,0 +1,57 @@
+
+
+
+
+ {{dropName}}
+ 搜索
+
+
+
+
+
+
+
+
+
+ {{item.dfinfo.role}}:{{item.dfinfo.name}}
+
+
+
+ ¥{{item.money}}{{item.jifen}}积分
+
+
+
+
+
+
+
+ {{item.thumb.value}}
+
+
+
+ {{item.title}}
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+ {{item.time.text}}
+ {{item.time.value}}
+
+
+
+
+ {{btn.text}}
+
+
+
+
+
+
+
+
diff --git a/pages/member/list/order.wxss b/pages/member/list/order.wxss
new file mode 100644
index 0000000..993ed0f
--- /dev/null
+++ b/pages/member/list/order.wxss
@@ -0,0 +1,169 @@
+@import "../../../__wuBaseWxss__/0.wxss";
+
+@import "../../../vant/area/index.wxss";
+
+.orderList .item {
+ overflow: hidden;
+ margin: 10px 10px 0 10px;
+ background: #fff;
+ padding: 0 10px;
+ border-radius: 2px;
+}
+
+.orderList .r {
+ position: absolute;
+ right: 0;
+ top: 0;
+}
+
+.orderList .top {
+ position: relative;
+ height: 40px;
+ line-height: 40px;
+ color: #999;
+}
+
+.orderList .top .name {
+ color: #666;
+}
+
+.orderList .top .money {
+ font-family: Helvetica;
+ color: red;
+}
+
+.orderList .top .money text {
+ color: #f60;
+}
+
+.orderList .top .money text:before {
+ content: " + ";
+ color: #ccc;
+}
+
+.orderList .top>view {
+ display: inline-block;
+}
+
+.orderList .top .contact view {
+ padding: 8px 3px;
+ vertical-align: middle;
+ margin-top: -2px;
+}
+
+.orderList .top .contact view:first-child {
+ margin-left: 5px;
+}
+
+.orderList .ts {
+ font-size: 12px;
+ height: 40px;
+ line-height: 40px;
+ position: relative;
+}
+
+.orderList .ts .time {
+ color: #999;
+}
+
+.orderList .ts .time .van-icon {
+ font-size: 19px;
+ line-height: 19px;
+ vertical-align: middle;
+ margin-top: -2px;
+}
+
+.orderList .action {
+ padding: 10px 0;
+}
+
+.orderList .action .van-button {
+ margin: 0 0 0 10px;
+ line-height: 23px;
+ font-size: 12px;
+ padding: 0 5px;
+ border: 1px solid #ededed;
+ color: #444;
+ height: 26px;
+ min-width: auto;
+}
+
+.orderList .action .van-button.green {
+ color: #3a933a;
+ border-color: #3a933a;
+}
+
+.orderList .action .van-button.orange {
+ color: #f60;
+ border-color: #f60;
+}
+
+.orderList .action .van-button.gray {
+ color: #999;
+}
+
+.orderList .action .van-button .van-icon {
+ vertical-align: middle;
+ margin-top: -2px;
+ margin-right: 2px;
+}
+
+.orderList .info {
+ padding: 12px 0;
+ width: 100%;
+}
+
+.orderList .info .pic {
+ color: #36c;
+ border: 1px #eee solid;
+ width: 96px;
+ height: 76px;
+ line-height: 76px;
+ overflow: hidden;
+ text-align: center;
+}
+
+.orderList .info .pic image {
+ width: 100%;
+}
+
+.orderList .info .attr {
+ margin-left: 10px;
+ position: relative;
+}
+
+.orderList .info .gicon {
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ top: auto;
+ right: auto;
+}
+
+.orderList .info .gicon view {
+ border-radius: 2px;
+ padding: 3px 8px 4px 8px;
+ margin: 0 5px 0 0;
+ width: auto;
+ height: auto;
+}
+
+.orderList .info .attr .title {
+ line-height: 20px;
+ color: #333;
+ max-height: 40px;
+ text-overflow: -o-ellipsis-lastline;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.orderList .info .attr navigator {
+ color: #333;
+}
+
+.nav_top {
+ border-bottom: solid 1px #eee;
+}
\ No newline at end of file
diff --git a/pages/member/login.js b/pages/member/login.js
new file mode 100644
index 0000000..0011d6c
--- /dev/null
+++ b/pages/member/login.js
@@ -0,0 +1,167 @@
+var t = function(t) {
+ return t && t.__esModule ? t : {
+ default: t
+ };
+}(require("../../vant/dialog/dialog")), e = require("../../common/common.js");
+
+Page({
+ data: {
+ username: "",
+ password: "",
+ options: {},
+ switchvalue: !1,
+ spin: !0,
+ current: 0,
+ tabs: [ {
+ key: 0,
+ title: "绑定已有帐号"
+ }, {
+ key: 1,
+ title: "新注册并绑定"
+ } ],
+ title: {
+ binding: "账号绑定",
+ authorize: "登录授权",
+ forget: "找回密码"
+ },
+ userInfo: [],
+ placeholderStyle: "font-size:12px;color:#ccc",
+ forgetSteps: [ {
+ text: "账号信息"
+ }, {
+ text: "手机验证"
+ }, {
+ text: "重设密码"
+ } ],
+ forgetFlow: 0
+ },
+ initialize: function() {
+ var t = this;
+ wx.getSetting({
+ success: function(e) {
+ e.authSetting["scope.userInfo"] && wx.getUserInfo({
+ success: function(e) {
+ t.setData({
+ userInfo: e.userInfo
+ });
+ }
+ });
+ }
+ }), t.setData({
+ spin: !0,
+ popupSpin: !1,
+ Form: {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {},
+ rate: {}
+ }
+ },
+ popupForm: {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {}
+ }
+ }
+ }), e.Http("html/login", function(t) {
+ e.initializeRefresh(t);
+ });
+ },
+ onLoad: function(t) {
+ e.init(this), this.initialize(), t.action || (t.action = "authorize"), this.setData({
+ options: t,
+ backfun: t.backfun || !1,
+ spin: !1
+ }), wx.setNavigationBarTitle({
+ title: this.data.title[t.action]
+ });
+ },
+ loginTypeChange: function(t) {
+ t.detail.value = 1 == t.detail.index ? "phone" : "name", e.Lay(t);
+ },
+ notBindSubmit: function(n) {
+ var i = n.detail.target.dataset.title;
+ t.default.alert({
+ title: "提示",
+ message: '您确定不绑定微信' + i + "吗?
绑定微信可以一键快捷登录账号",
+ closeOnClickOverlay: !1,
+ showCancelButton: !0,
+ cancelButtonText: "不绑定" + i,
+ confirmButtonText: "绑定" + i
+ }).then(function() {
+ e.Lay(n);
+ }).catch(function() {
+ n.detail.value.notbind = !0, e.Lay(n);
+ });
+ },
+ formSubmit: function(t) {
+ if ("notbind" == t.detail.target.dataset.method) return this.notBindSubmit(t);
+ e.Lay(t);
+ },
+ Lay: function(t) {
+ e.Lay(JSON.parse(JSON.stringify(t)));
+ },
+ Commom: function(t) {
+ var n = JSON.parse(JSON.stringify((t.currentTarget, t))), i = t.currentTarget ? n.currentTarget.dataset.action : n.action;
+ e[i](n);
+ },
+ Popup: function(t) {
+ e.Popup(t.currentTarget.dataset);
+ },
+ register: function() {
+ wx.navigateTo({
+ url: "register/register"
+ });
+ },
+ backurl: function() {
+ wx.getStorageSync("loginback");
+ this.setData({
+ forgetFlow: 0
+ }), this.data.backfun ? e.Lay({
+ action: "backfun",
+ info: this.data.backfun
+ }) : wx.reLaunch({
+ url: "/pages/member/member"
+ });
+ },
+ binding: function() {
+ this.setData({
+ "options.action": "binding"
+ });
+ },
+ bindGetUserInfo: function(t) {
+ var n = this;
+ t.detail;
+ e.Wxlogin(function(e) {
+ n.WxloginCallBack({
+ state: e
+ }, t);
+ });
+ },
+ WxloginCallBack: function(t, n) {
+ var i = this;
+ "success" == t.state ? i.backurl() : "binding" == t.state ? i.binding() : "authorize" == t.state && (n.detail.userInfo ? (n.detail.value = {
+ endata: encodeURIComponent(n.detail.encryptedData),
+ iv: encodeURIComponent(n.detail.iv),
+ signature: n.detail.signature
+ }, e.Lay(n)) : wx.showModal({
+ content: "必须授权才能继续操作,是否重新手动授权?",
+ confirmText: "授权",
+ cancelText: "取消",
+ success: function(t) {
+ t.confirm ? wx.openSetting({
+ success: function(t) {
+ t.authSetting["scope.userInfo"] && i.initialize();
+ }
+ }) : wx.reLaunch({
+ url: "/pages/index/index"
+ });
+ }
+ }));
+ },
+ onPullDownRefresh: function() {
+ this.initialize();
+ }
+});
\ No newline at end of file
diff --git a/pages/member/login.json b/pages/member/login.json
new file mode 100644
index 0000000..e575d2a
--- /dev/null
+++ b/pages/member/login.json
@@ -0,0 +1,14 @@
+{
+ "usingComponents": {
+ "van-field": "../../vant/field/index",
+ "van-steps": "../../vant/steps/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/member/login.wxml b/pages/member/login.wxml
new file mode 100644
index 0000000..6d8bed7
--- /dev/null
+++ b/pages/member/login.wxml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+ 微信{{!userInfo.language?'授权':''}}登录
+
+
+
+ 返回首页
+
+
+
+
+
+
+
+
+
+
+ 返回首页
+
+ 忘记密码
+
+
+
+
+
+
+
+
+
diff --git a/pages/member/login.wxss b/pages/member/login.wxss
new file mode 100644
index 0000000..c2d0918
--- /dev/null
+++ b/pages/member/login.wxss
@@ -0,0 +1,67 @@
+@import "../../__wuBaseWxss__/0.wxss";
+
+@import "../../__wuBaseWxss__/1.wxss";
+
+page {
+ background: #fff;
+}
+
+.notbind {
+ background: none;
+ border: 0;
+ height: 20px;
+ line-height: 20px;
+ font-size: 14px;
+ color: #666;
+ margin: 20px 0;
+}
+
+.notbind:after {
+ display: none;
+}
+
+.login_wrap {
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+}
+
+.portrait {
+ text-align: center;
+ padding: 100rpx 0;
+ flex: 1;
+ background: #f5f5f5;
+}
+
+.portrait image {
+ overflow: hidden;
+ border: 3px solid #fff;
+ border-radius: 50%;
+ width: 80px;
+ height: 80px;
+}
+
+.login_content {
+ padding: 20px 20px 0 20px;
+}
+
+.login_bottom {
+ position: fixed;
+ bottom: 10px;
+ left: 0;
+ width: 100%;
+ text-align: center;
+}
+
+.login_bottom view {
+ display: inline-block;
+ padding: 5px;
+ font-size: 14px;
+ color: #9C9C9C;
+ color: #D4D4D4;
+}
+
+.login_bottom navigator {
+ display: inline-block;
+ padding: 5px;
+}
\ No newline at end of file
diff --git a/pages/member/member.js b/pages/member/member.js
new file mode 100644
index 0000000..e9f0822
--- /dev/null
+++ b/pages/member/member.js
@@ -0,0 +1,72 @@
+function t(t, i, e) {
+ return i in t ? Object.defineProperty(t, i, {
+ value: e,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : t[i] = e, t;
+}
+
+var i = require("../../common/common.js");
+
+Page({
+ data: {
+ spin: !0,
+ CustomNavigation: !0,
+ timestamp: 0
+ },
+ initialize: function() {
+ this.setData({
+ spin: !0,
+ popupSpin: !1,
+ Form: {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {},
+ rate: {}
+ }
+ },
+ popupForm: {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {}
+ }
+ },
+ timestamp: i.timestamp()
+ }), i.HttpMember("get/member/index?islogin=0", function(t) {
+ i.initializeRefresh(t);
+ });
+ },
+ onShow: function(t) {
+ i.init(this), i.timestamp() - this.data.timestamp >= 30 && this.initialize();
+ },
+ signHide: function() {
+ var i = this.data.Form.form;
+ i.radio.sign = !0, this.setData(t({}, "Form.form", i));
+ },
+ onLoad: function() {
+ i.init(this);
+ },
+ onPullDownRefresh: function() {
+ this.initialize();
+ },
+ swiperAutoHeight: function(e) {
+ var n = this, r = e.currentTarget.dataset, a = (n.data.Form.form.swiperHeight || {})[r.name] || {};
+ a[e.detail.current] || i.querySelect("#swiper-" + r.name + "-" + e.detail.current, function(i) {
+ a[e.detail.current] = "height:" + i.height + "px;", n.setData(t({}, "Form.form.swiperHeight." + r.name, a));
+ });
+ },
+ Lay: function(t) {
+ i.Lay(JSON.parse(JSON.stringify("Event" == t.type ? t.detail : t)));
+ },
+ Commom: function(t) {
+ var e = JSON.parse(JSON.stringify((t.currentTarget, t))), n = t.currentTarget ? e.currentTarget.dataset.action : e.action;
+ i[n](e);
+ },
+ Popup: function(t) {
+ i.Popup(t.currentTarget.dataset);
+ },
+ onShareAppMessage: function() {}
+});
\ No newline at end of file
diff --git a/pages/member/member.json b/pages/member/member.json
new file mode 100644
index 0000000..6f94ff0
--- /dev/null
+++ b/pages/member/member.json
@@ -0,0 +1,16 @@
+{
+ "usingComponents": {
+ "van-field": "/vant/field/index",
+ "van-cell": "/vant/cell/index",
+ "van-cell-group": "/vant/cell-group/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ },
+ "navigationStyle": "custom"
+}
\ No newline at end of file
diff --git a/pages/member/member.wxml b/pages/member/member.wxml
new file mode 100644
index 0000000..0ff61d3
--- /dev/null
+++ b/pages/member/member.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/pages/member/member.wxss b/pages/member/member.wxss
new file mode 100644
index 0000000..c04debc
--- /dev/null
+++ b/pages/member/member.wxss
@@ -0,0 +1,361 @@
+@import "../../__wuBaseWxss__/0.wxss";
+
+@import "../../__wuBaseWxss__/1.wxss";
+
+.m-bg {
+ height: 180px;
+ background-image: linear-gradient(to right,#8debff,#6cacff);
+ background-color: #6cacff;
+ border-radius: 0 0 16px 16px;
+ z-index: 0;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+}
+
+.member {
+ position: relative;
+ z-index: 1;
+ padding: 6px 15px 15px 15px;
+ font-size: 1rem;
+}
+
+.m-topicon {
+ z-index: 999;
+ height: 28px;
+ position: absolute;
+ top: -30px;
+ left: 15px;
+}
+
+.m-topicon .van-icon {
+ color: #fafafa;
+ font-size: 28px;
+ line-height: 28px;
+ height: 28px;
+}
+
+.m-box {
+ background: #fff;
+ border-radius: 8px;
+ padding: 15px;
+ margin-bottom: 15px;
+ box-shadow: 0 1px 4px #e0e0e0;
+}
+
+.m-box:last-child {
+ margin: 0;
+}
+
+.m-user {
+ position: relative;
+}
+
+.m-user .myid {
+ font-size: 0.8rem;
+ position: absolute;
+ right: -5px;
+ top: -5px;
+ color: #c0c0c0;
+}
+
+.m-user image {
+ width: 50px;
+ height: 50px;
+ border-radius: 100%;
+ border: none;
+}
+
+.m-user .info {
+ padding: 3px 0 0 12px;
+ overflow: hidden;
+}
+
+.m-user .name {
+ font-weight: 700;
+ margin-bottom: 2px;
+ padding-right: 2.2rem;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.m-assets {
+ text-align: center;
+ padding: 15px 0 0 0;
+ font-size: 0.8rem;
+}
+
+.m-assets .flex-item {
+ position: relative;
+}
+
+.m-assets .flex-item:not(:last-child):after {
+ content: " ";
+ position: absolute;
+ pointer-events: none;
+ box-sizing: border-box;
+ transform-origin: center;
+ top: -30%;
+ left: -50%;
+ right: -50%;
+ bottom: -30%;
+ transform: scale(.5);
+ border: 0 solid #e5e5e5;
+ border-right-width: 1px;
+}
+
+.m-assets .number {
+ font-size: 1rem;
+ color: #333;
+ padding-bottom: 2px;
+}
+
+.m-notice {
+ color: #666;
+ padding: 10px 0 0 0;
+ margin-top: 15px;
+}
+
+.m-notice .van-icon {
+ font-size: 1.2rem;
+ color: #9b9b9b;
+ vertical-align: middle;
+ margin-top: -3px;
+}
+
+.m-notice .flex-item {
+ padding: 0 5px;
+ height: 20px;
+ color: #666;
+}
+
+.m-notice swiper,.m-notice swiper view {
+ height: 20px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.m-block {
+ text-align: center;
+ padding: 12px 0 12px 0;
+}
+
+.m-block .row-flex {
+ padding: 8px 0;
+}
+
+.m-block .flex-item {
+ line-height: 20px;
+}
+
+.m-block .flex-item .icon {
+ display: inline-block;
+ position: relative;
+}
+
+.m-block .flex-item .number {
+ position: absolute;
+ top: -5px;
+ right: -5px;
+ border-radius: 12px;
+ font-size: 12px;
+ line-height: 12px;
+ background: #fff;
+ border: 1px #FEA832 solid;
+ color: #FEA832;
+ padding: 1px 3px;
+ min-width: 8px;
+ text-align: center;
+}
+
+.m-block .flex-item .count0 {
+ display: none;
+}
+
+.m-block .flex-item text {
+ display: block;
+ padding-top: 3px;
+}
+
+.m-block .flex-item .van-icon {
+ font-size: 1.8rem;
+ color: #a9a9a9;
+}
+
+.m-title {
+ padding: 3px 0 12px 0;
+ margin: 0 15px 8px 15px;
+ line-height: 1.2rem;
+}
+
+.m-title .row-flex {
+ padding: 0;
+}
+
+.m-title .van-icon {
+ margin-top: -2px;
+}
+
+.m-title text {
+ font-weight: 700;
+ font-size: 1rem;
+}
+
+.m-title .flex-item {
+ padding: 0 3px;
+ font-size: .9rem;
+ color: #a9a9a9;
+ text-align: right;
+}
+
+.m-icon .wx-swiper-dots.wx-swiper-dots-horizontal {
+ bottom: -10px;
+}
+
+.m-icon .wx-swiper-dot {
+ width: 16px;
+ display: inline-flex;
+ height: 2px;
+ opacity: .8;
+ justify-content: space-between;
+}
+
+.m-icon .wx-swiper-dot::before {
+ content: '';
+ flex-grow: 1;
+ background: #ccc;
+}
+
+.m-icon .wx-swiper-dot-active::before {
+ background: #f80;
+}
+
+.m-strip .row-flex {
+ line-height: 20px;
+ padding: 10px 0;
+}
+
+.m-strip .row-flex:first-child {
+ padding-top: 3px;
+}
+
+.m-strip .row-flex:last-child {
+ padding-bottom: 3px;
+}
+
+.m-strip .van-icon {
+ font-size: 1.3rem;
+ color: #9b9b9b;
+ vertical-align: middle;
+ margin-top: -3px;
+}
+
+.m-strip .flex-item {
+ padding: 0 3px;
+ font-size: .9rem;
+ color: #999;
+ text-align: right;
+}
+
+.m-strip text {
+ padding-left: 8px;
+}
+
+.datadiff_top {
+ position: fixed;
+ width: 100%;
+ top: 42px;
+ border-bottom: 1px solid #e5e5e5;
+ box-shadow: 0 1px 2px #e6e6e6;
+ background: #fff;
+}
+
+.datadiff .datadiff_top tr td {
+ text-align: left;
+ padding: 10px;
+ color: #999;
+}
+
+.datadiff_bottom {
+ border-top: 2px solid rgb(222,229,237);
+ position: fixed;
+ width: 100%;
+ bottom: 0;
+ background: #f2f5f8;
+}
+
+.datadiff_bottom tr td {
+ background-color: #f2f5f8;
+}
+
+.datadiff_center {
+ width: 100%;
+ margin-bottom: 44px;
+}
+
+.datadiff_center td {
+ border-bottom: rgb(222,229,237) solid 1px;
+}
+
+.datadiff .datadiff_bottom tr td {
+ text-align: center;
+ padding: 10px;
+}
+
+.datadiff tr td {
+ text-align: center;
+ padding: 15px;
+ word-wrap: break-word;
+ word-break: break-all;
+}
+
+.datadiff tr td.tcer {
+ background: #fbfdff;
+ border-left: rgb(222,229,237) solid 1px;
+ border-right: rgb(222,229,237) solid 1px;
+}
+
+.datadiff .action {
+ top: 42px;
+ padding: 10px 0;
+ position: fixed;
+ right: 5px;
+ width: 100%;
+ text-align: center;
+}
+
+.datadiff .action {
+ top: 42px;
+ padding: 10px 0;
+ position: fixed;
+ right: 5px;
+ width: 100%;
+ text-align: center;
+}
+
+.datadiff img {
+ border: #e5e5e5 1px solid;
+ border-radius: 2px;
+ box-shadow: 0 2px 3px rgba(0,0,0,.1);
+}
+
+.datadiff_txt {
+ display: block;
+ text-align: center;
+}
+
+.datadiff_img img {
+ margin: 3px;
+}
+
+.datadiff_action {
+ bottom: 40px;
+ padding: 10px 0;
+ position: fixed;
+ right: 0;
+ width: 100%;
+ text-align: center;
+}
\ No newline at end of file
diff --git a/pages/member/myorder.js b/pages/member/myorder.js
new file mode 100644
index 0000000..43f0268
--- /dev/null
+++ b/pages/member/myorder.js
@@ -0,0 +1,179 @@
+function t(t, i, e) {
+ return i in t ? Object.defineProperty(t, i, {
+ value: e,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : t[i] = e, t;
+}
+
+var i = function(t) {
+ return t && t.__esModule ? t : {
+ default: t
+ };
+}(require("../../vant/dialog/dialog")), e = require("../../common/common.js");
+
+Page({
+ data: {
+ bh: "",
+ spin: !0,
+ popupSpin: !1,
+ popup: [],
+ flowShow: !1,
+ timestamp: 0,
+ gotop: !1,
+ row: [],
+ height: {
+ ListAction: 0
+ },
+ historyDispute: {},
+ previewList: [],
+ Form: {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {}
+ }
+ },
+ popupForm: {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {}
+ }
+ }
+ },
+ onLoad: function(t) {
+ t.bh && this.setData({
+ bh: t.bh
+ }), e.init(this), this.initialize(!1);
+ },
+ onShow: function() {
+ e.init(this), this.data.Form.form.formLoad && this.initialize();
+ },
+ initialize: function() {
+ var t = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0], i = this;
+ i.setData({
+ spin: !0
+ }), e.initialFun(t), e.HttpMember("get/myorder/" + i.data.bh, function(t) {
+ if (wx.setNavigationBarTitle({
+ title: "订单详情"
+ }), wx.setNavigationBarColor({
+ frontColor: "#ffffff",
+ backgroundColor: "#FE952B",
+ animation: {
+ duration: 0,
+ timingFunc: "easeIn"
+ }
+ }), 0 === t.state) return e.Lay(i, {
+ info: t.info
+ });
+ i.setData({
+ row: t,
+ spin: !1,
+ timestamp: e.timestamp()
+ }), wx.stopPullDownRefresh();
+ });
+ },
+ flowChange: function() {
+ this.setData({
+ flowShow: !this.data.flowShow
+ });
+ },
+ onPageScroll: function(t) {
+ var i = this, e = t.scrollTop, a = i.data.gotop, o = 2 * i.data.SystemInfo.windowHeight;
+ if (i.data.height.main >= o) {
+ var n = Math.ceil((i.data.height.main - i.data.SystemInfo.windowHeight) / 2);
+ (e <= n && !0 === a || e > n && !0 !== a) && i.setData({
+ gotop: !0 !== a || i.data.height.bottom
+ });
+ }
+ },
+ htmlHeight: function() {
+ var t = this;
+ wx.createSelectorQuery().selectAll("#main,#ListAction").boundingClientRect(function(i) {
+ var e = {
+ bottom: 10
+ };
+ for (var a in i) {
+ var o = i[a];
+ e[o.id] = Math.ceil(o.height), e.bottom += e[o.id];
+ }
+ t.setData({
+ height: e,
+ gotop: e.bottom >= 2 * t.data.SystemInfo.windowHeight && e.bottom
+ });
+ }).exec();
+ },
+ Lay: function(t) {
+ e.Lay(JSON.parse(JSON.stringify(t)));
+ },
+ Commom: function(t) {
+ var i = JSON.parse(JSON.stringify((t.currentTarget, t))), a = t.currentTarget ? i.currentTarget.dataset.action : i.action;
+ e[a](i);
+ },
+ Popup: function(t) {
+ e.Popup(t.currentTarget.dataset);
+ },
+ confirmHandle: function(t) {
+ var a = t.currentTarget.dataset;
+ i.default.alert({
+ title: "提示",
+ message: decodeURIComponent(a.info),
+ overlay: !0,
+ showCancelButton: !0,
+ cancelButtonText: "返回",
+ closable: !1
+ }).then(function() {
+ e.HttpMember({
+ url: "deal/" + a.method,
+ data: a.data
+ });
+ }).catch(function() {});
+ },
+ orderHandlePopup: function(t) {
+ var i = t.currentTarget.dataset;
+ e.Lay({
+ action: "pop",
+ method: "deal/" + i.method,
+ data: JSON.stringify({
+ number: this.data.bh,
+ role: this.data.row.myRole,
+ action: i.action,
+ utime: this.data.row.order.utime
+ })
+ });
+ },
+ orderHide: function() {
+ this.setData({
+ Form: {
+ form: {
+ radio: {},
+ checkbox: {},
+ picker: {}
+ }
+ }
+ }), this.WxValidate = {};
+ },
+ disputeChange: function() {
+ var i = this, a = i.data.historyDispute;
+ if (i.setData({
+ popupSpin: !0
+ }), a.html) {
+ var o;
+ i.setData((o = {}, t(o, "historyDispute.show", !a.show), t(o, "popupSpin", !1),
+ o));
+ } else e.HttpMember("get/myorder/" + i.data.bh + "/dispute", function(e) {
+ var a;
+ i.setData((a = {}, t(a, "initialValue.historyDispute.html", e.html), t(a, "historyDispute", e),
+ t(a, "popupSpin", !1), a));
+ });
+ wx.setNavigationBarTitle({
+ title: a.show ? "退款历史记录" : "订单详情"
+ });
+ },
+ onPullDownRefresh: function() {
+ this.initialize();
+ },
+ onShareAppMessage: function() {}
+});
\ No newline at end of file
diff --git a/pages/member/myorder.json b/pages/member/myorder.json
new file mode 100644
index 0000000..6735a47
--- /dev/null
+++ b/pages/member/myorder.json
@@ -0,0 +1,25 @@
+{
+ "enablePullDownRefresh": false,
+ "usingComponents": {
+ "down": "/utils/count-down/index",
+ "van-steps": "/vant/steps/index",
+ "van-field": "/vant/field/index",
+ "van-radio": "/vant/radio/index",
+ "van-radio-group": "/vant/radio-group/index",
+ "van-cell": "/vant/cell/index",
+ "van-cell-group": "/vant/cell-group/index",
+ "van-stepper": "/vant/stepper/index",
+ "van-picker": "/vant/picker/index",
+ "van-rate": "/vant/rate/index",
+ "van-checkbox": "/vant/checkbox/index",
+ "van-checkbox-group": "/vant/checkbox-group/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/member/myorder.wxml b/pages/member/myorder.wxml
new file mode 100644
index 0000000..6ffe194
--- /dev/null
+++ b/pages/member/myorder.wxml
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+ {{row.order.state}}
+ 订单号:{{bh}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{data.text}}
+
+
+
+
+ {{index}}
+
+
+
+
+
+
+ {{txt.title}}
+ {{txt.time}}
+
+
+ {{txt.text}}
+
+
+ 图片附件
+
+
+
+
+
+
+
+
+
+
+
+
+ 非图片附件(仅能在PC端查看内容)
+
+
+ {{data}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{btn.value}}
+
+
+
+
+
+
+ {{row.order.typename}}
+
+
+ {{row.order.tit}}
+ 金额:{{row.order.money}}元
+ 订单号:{{bh}}
+
+
+
+
+
+ {{item.text}}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/member/myorder.wxss b/pages/member/myorder.wxss
new file mode 100644
index 0000000..1e5175b
--- /dev/null
+++ b/pages/member/myorder.wxss
@@ -0,0 +1,652 @@
+@import "../../__wuBaseWxss__/0.wxss";
+
+@import "../../vant/area/index.wxss";
+
+.oinfo {
+ overflow: hidden;
+ width: 100%;
+ background: #fff;
+}
+
+.oinfo .row-flex {
+ margin: 0 10px;
+}
+
+.oinfo .tright {
+ padding: 12px 10px 12px 0;
+ line-height: 20px;
+ color: #000;
+ border-right: 1px #f1f1f1 solid;
+ width: 65px;
+}
+
+.oinfo .flex-item {
+ padding: 12px 0 12px 10px;
+ line-height: 20px;
+ position: relative;
+}
+
+.oinfo navigator,.oinfo text,.oinfo view {
+ word-break: break-all;
+}
+
+.oinfo .flex-item .contact {
+ position: absolute;
+ right: 0;
+ top: 50%;
+ height: 40px;
+ margin-top: -20px;
+}
+
+.oinfo .flex-item .contact view {
+ padding: 10px 3px;
+}
+
+.oinfo .flex-item .but {
+ margin: 5px 5px 0 0;
+ height: 20px;
+ line-height: 20px;
+ padding: 0 5px;
+ border: 1px solid #6a4;
+ background: #eff;
+ color: #6a4;
+ display: inline-block;
+ border-radius: 2px;
+}
+
+.oinfo .flex-item .but.buy_install {
+ margin-right: 100px;
+ border-color: #c9c9c9;
+ background: #fff;
+ color: #666;
+}
+
+.oinfo .txt .top {
+ overflow: hidden;
+ background: #f9f9f9;
+ color: #666;
+ padding: 5px 10px;
+ border-bottom: #eee solid 1px;
+ line-height: 20px;
+}
+
+.oinfo .txt .top .left {
+ color: #000;
+}
+
+.oinfo .no .bottom,.oinfo .ok .bottom {
+ padding: 8px 10px;
+}
+
+.oinfo .txt .top:before {
+ content: '有效';
+ color: #090;
+ margin-left: 10px;
+ float: right;
+}
+
+.oinfo .txt .no .top:before {
+ content: '无效';
+ color: red;
+}
+
+.oinfo .txt .box {
+ border: #eee solid 1px;
+ margin-top: 10px;
+ border-radius: 3px;
+}
+
+.oinfo .txt .box:first-child {
+ margin: 0;
+}
+
+.oinfo .txt .text {
+ line-height: 18px;
+}
+
+.oinfo .txt .filetit {
+ border: 1px solid #f1f1f1;
+ background: #f9f9f9;
+ padding: 5px 10px;
+ line-height: 20px;
+ margin-top: 8px;
+}
+
+.oinfo .txt .other {
+ border: 1px solid #eee;
+ border-top: 0;
+}
+
+.oinfo .txt .other view {
+ line-height: 18px;
+ margin: 0 5px;
+ padding: 2px 0;
+ border-bottom: 1px solid #f1f1f1;
+}
+
+.ostate {
+ overflow: hidden;
+ background: #fff;
+ border-bottom: 1px solid #f6f6f6;
+}
+
+.ostate .top {
+ position: relative;
+ font-size: 14px;
+ padding: 0 5px;
+ line-height: 32px;
+ height: 32px;
+ border-bottom: 2px solid #fe952b;
+ border-left: 0;
+ border-right: 0;
+}
+
+.ostate .top .icon {
+ width: 34px;
+}
+
+.ostate .top .icon .van-icon {
+ color: #fe952b;
+ margin-bottom: -1.5px;
+ font-size: 34px;
+ line-height: 34px;
+}
+
+.ostate .top .more {
+ width: 22px;
+ padding-left: 5px;
+}
+
+.ostate .top .more .van-icon {
+ font-size: 22px;
+ line-height: 31px;
+}
+
+.ostate .top .state {
+ color: #fe952b;
+ padding-left: 5px;
+ width: 110px;
+ font-size: 14px;
+}
+
+.ostate .top .tright {
+ color: #666;
+}
+
+.ohtml {
+ position: relative;
+ overflow: hidden;
+ background: #fff7eb;
+ text-align: left;
+ color: #666;
+}
+
+.ohtml .tmain {
+ padding: 5px 15px;
+ font-size: 12px;
+}
+
+.ohtml .p {
+ border-top: 1px dotted #ccc;
+ padding: 10px 0;
+}
+
+.ohtml .p:first-child {
+ border-top: 0;
+}
+
+.ohtml .p:after {
+ content: ";";
+}
+
+.ohtml .p:last-child:after {
+ content: "。";
+}
+
+.ohtml .p>view {
+ display: inline;
+}
+
+.ohtml .u {
+ text-decoration: underline;
+}
+
+.ostate_tips div.ostate_ico {
+ margin-top: 5px;
+ height: 35px;
+ float: left;
+ width: 2.5rem;
+ background: url(//static.huzhan.com/img/claims_ico.png) no-repeat;
+}
+
+.ostate_suc div.ostate_ico {
+ background-position: .8rem -80px;
+}
+
+.ostate_suc .p {
+ color: #51863c;
+}
+
+.ostate_ing div.ostate_ico {
+ background-position: .8rem -1px;
+}
+
+.ostate_ing .p {
+ color: #f60;
+}
+
+.ostate_no div.ostate_ico {
+ background-position: .8rem -40px;
+}
+
+.ostate_no .p {
+ color: #97731f;
+}
+
+.appeal {
+ position: relative;
+ margin: 8px 0 -2px 0;
+ border: #a6c5ef solid 1px;
+ background: #edf7ff;
+ padding: 8px 10px;
+ border-radius: 4px;
+ box-shadow: 0 1px 3px #e6ecf3;
+}
+
+.dispute {
+ position: relative;
+ margin: 0 0 -2px 0;
+ overflow: hidden;
+ border: 1px solid #e5e5e5;
+ background: #fff;
+ border-radius: 5px;
+ padding: 10px;
+}
+
+.dispute.history {
+ margin: 0;
+ border-radius: 0;
+ border: 0;
+}
+
+.dispute .dl {
+ margin-bottom: 10px;
+ padding: 5px 0 5px 42px;
+ overflow: hidden;
+ position: relative;
+}
+
+.dispute .dl.mine {
+ padding: 5px 42px 5px 0;
+ text-align: right;
+}
+
+.dispute .avatar {
+ position: absolute;
+ left: 0;
+ width: 32px;
+ height: 32px;
+ border-radius: 50%;
+ top: 5px;
+ overflow: hidden;
+}
+
+.dispute .avatar image {
+ width: 100%;
+ border-radius: 50%;
+}
+
+.dispute .mine .avatar {
+ left: auto;
+ right: 0;
+}
+
+.dispute .head {
+ overflow: hidden;
+}
+
+.dispute .head view {
+ display: inline-block;
+ line-height: 22px;
+ font-size: 12px;
+ white-space: nowrap;
+ color: #999;
+ padding-right: 10px;
+ font-style: normal;
+}
+
+.dispute .body {
+ margin: 3px 0 0 0;
+ position: relative;
+ padding: 10px;
+ background: #f0f0f0;
+ border-radius: 3px;
+ color: #333;
+ word-break: break-all;
+ margin-right: 35px;
+}
+
+.dispute .body:after {
+ content: '';
+ position: absolute;
+ left: -6px;
+ top: 15px;
+ width: 0;
+ height: 0;
+ border-style: solid dashed dashed;
+ border-color: #f0f0f0 transparent transparent;
+ overflow: hidden;
+ border-width: 6px;
+}
+
+.dispute .mine .head view {
+ float: right;
+ padding-left: 10px;
+ padding-right: 0;
+}
+
+.dispute .mine .body {
+ line-height: 1.5;
+ margin: 0 0 0 35px;
+}
+
+.dispute .mine .body:after {
+ left: auto;
+ right: -6px;
+}
+
+.dispute .fortips {
+ padding: 10px 0;
+ text-align: center;
+}
+
+.dispute .fortips .body {
+ float: none;
+ background: #fafafa;
+ border: #ddd solid 1px;
+ padding: 8px 10px;
+ margin: 0;
+ border-radius: 5px;
+ display: inline-block;
+ box-shadow: 1px 1px 8px rgba(0,0,0,.2);
+}
+
+.dispute .fortips .body:after {
+ display: none;
+}
+
+.dispute .moneyInfo view {
+ padding: 4px 3px 5px 8px;
+ border: 1px solid #e0e0e0;
+ border-bottom: 1px solid #c5c5c5;
+ box-shadow: 0 1px 1px #dbdbdb;
+ background: #fafafa;
+ border-radius: 3px;
+ margin-bottom: 5px;
+ color: #555;
+ display: inline-block;
+}
+
+.dispute .notMoney .moneyInfo view,.dispute .notUpquote .txt {
+ text-decoration: line-through;
+}
+
+.ohis {
+ text-align: right;
+ background: #f6f7f6;
+}
+
+.ohis view {
+ display: inline-block;
+ font-size: 12px;
+ color: #999;
+ margin: 8px 8px 8px 0;
+ padding: 2px 6px;
+ background: #f5faff;
+ border: #d4e7f6 solid 1px;
+}
+
+.oflow {
+ background: #fff;
+ overflow: hidden;
+ padding: 10px 0 10px 19px;
+}
+
+.oflow .row {
+ position: relative;
+ padding: 0 0 0 19px;
+ border-left: 1px solid #cecece;
+ color: #999;
+}
+
+.oflow .row:before {
+ content: "";
+ position: absolute;
+ left: -6px;
+ top: 50%;
+ margin-top: -5px;
+ border-radius: 100%;
+ width: 10px;
+ height: 10px;
+ background: #cecece;
+}
+
+.oflow .info {
+ border-bottom: 1px solid #f1f1f1;
+ padding: 15px 0;
+ font-size: 14px;
+}
+
+.oflow .info .text {
+ line-height: 25px;
+}
+
+.oflow .info .desc {
+ font-size: 12px;
+ color: #999;
+}
+
+.oflow .row:last-child .info {
+ border: 0;
+}
+
+.oflow .row.cur .text {
+ color: #333;
+}
+
+.oflow .row.cur:before {
+ background: #f55b5b;
+ border: 2px solid #fbc1c1;
+ left: -8px;
+ margin-top: -7px;
+ width: 12px;
+ height: 12px;
+}
+
+.ListAction {
+ bottom: 0;
+ top: auto;
+ text-align: right;
+ overflow: hidden;
+ padding-top: 0;
+ border-top: 1px #eee solid;
+ background: #fff;
+ width: 100%;
+}
+
+.ListAction>view {
+ padding-left: 42px;
+ position: relative;
+}
+
+.ListAction .shuaxin {
+ position: absolute;
+ left: 10px;
+ top: 50%;
+ margin-top: -7px;
+ width: 22px;
+ height: 22px;
+ line-height: 22px;
+}
+
+.ListAction .shuaxin .van-icon {
+ font-size: 22px;
+ color: #ccc;
+}
+
+.ListAction .van-button {
+ margin: 10px 10px 0 0;
+}
+
+.myInfo {
+ overflow: hidden;
+ margin: 10px 0 0 0;
+ border: #ffe0cc solid 2px;
+ background: #fff8f4;
+}
+
+.myInfo .row-flex {
+ padding: 5px;
+ border-top: #ffe0cc solid 1px;
+ line-height: 18px;
+}
+
+.myInfo .label {
+ font-weight: 700;
+ width: 40px;
+}
+
+.myInfo .update {
+ text-align: right;
+ width: 50px;
+}
+
+.myInfo .tit {
+ background: #ffe0cc;
+ font-weight: 700;
+ font-size: 14px;
+}
+
+.hisInfo {
+ background: #fafafa;
+ margin: 0 10px 10px 10px;
+ padding: 1px 10px;
+ border-radius: 2px;
+ line-height: 20px;
+ border: 1px solid #e5e5e5;
+}
+
+.hisInfo .label {
+ color: #222;
+ font-weight: 700;
+ display: inline;
+}
+
+.hisInfo .label:after {
+ content: ':';
+}
+
+.hisInfo .row {
+ padding: 5px 0;
+ border-bottom: 1px solid #f2f2f2;
+}
+
+.hisInfo .row:last-child {
+ border: 0;
+}
+
+.hisInfo:first-child {
+ margin-top: 10px;
+}
+
+.appendSee {
+ margin: 10px;
+ background: #fff;
+}
+
+.appendSee .row-flex {
+ border: #a6c5ef solid 3px;
+ border-top: 0;
+ line-height: 20px;
+}
+
+.appendSee .head {
+ background: #a6c5ef;
+ padding: 5px 0 2px 0;
+ color: #fff;
+ text-align: center;
+}
+
+.appendSee .head .flex-item {
+ padding: 0;
+}
+
+.appendSee .state .flex-item>view>view {
+ display: inline;
+}
+
+.appendSee .f3div {
+ position: relative;
+ height: 100%;
+}
+
+.appendSee .f3wx {
+ text-align: center;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 1;
+}
+
+.appendSee .f3wx view {
+ position: absolute;
+ width: 100%;
+ top: 0;
+ left: 0;
+ height: 100%;
+ background: #fff;
+ opacity: .9;
+}
+
+.appendSee .f3wx view view {
+ line-height: 35px;
+ font-weight: 700;
+ height: 35px;
+ left: 0;
+ top: 70px;
+ color: red;
+ background: 0 0;
+ -khtml-opacity: 1;
+ opacity: 1;
+ font-family: serif;
+}
+
+.appendSee .row-flex.state {
+ background: #edf7ff;
+ color: #222;
+ border-top: #a6c5ef solid 3px;
+}
+
+.appendSee .flex-item {
+ border-left: #a6c5ef solid 1px;
+ padding: 10px;
+}
+
+.appendSee .label {
+ font-size: 14px;
+ text-align: right;
+ width: 40px;
+ padding: 10px 10px 10px 0;
+ font-weight: 700;
+}
+
+.appendSee .info {
+ padding-top: 5px;
+ margin-top: 5px;
+ overflow: hidden;
+ position: relative;
+ word-break: break-all;
+ border-top: #a6c5ef dashed 1px;
+}
\ No newline at end of file
diff --git a/project.config.json b/project.config.json
new file mode 100644
index 0000000..c15847c
--- /dev/null
+++ b/project.config.json
@@ -0,0 +1,53 @@
+{
+ "description": "项目配置文件",
+ "packOptions": {
+ "ignore": []
+ },
+ "setting": {
+ "urlCheck": false,
+ "es6": true,
+ "postcss": true,
+ "minified": true,
+ "newFeature": true,
+ "coverView": true,
+ "autoAudits": false,
+ "showShadowRootInWxmlPanel": true,
+ "scopeDataCheck": false,
+ "checkInvalidKey": true,
+ "checkSiteMap": true,
+ "uploadWithSourceMap": true,
+ "babelSetting": {
+ "ignore": [],
+ "disablePlugins": [],
+ "outputPath": ""
+ }
+ },
+ "compileType": "miniprogram",
+ "libVersion": "2.11.1",
+ "appid": "wxe2b2f69be5c4c0b5",
+ "projectname": "%E4%BA%92%E7%AB%99",
+ "debugOptions": {
+ "hidedInDevtools": []
+ },
+ "isGameTourist": false,
+ "simulatorType": "wechat",
+ "simulatorPluginLibVersion": {},
+ "condition": {
+ "search": {
+ "current": -1,
+ "list": []
+ },
+ "conversation": {
+ "current": -1,
+ "list": []
+ },
+ "game": {
+ "currentL": -1,
+ "list": []
+ },
+ "miniprogram": {
+ "current": -1,
+ "list": []
+ }
+ }
+}
\ No newline at end of file
diff --git a/sitemap.json b/sitemap.json
new file mode 100644
index 0000000..72a3df2
--- /dev/null
+++ b/sitemap.json
@@ -0,0 +1,9 @@
+{
+ "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
+ "rules": [
+ {
+ "action": "allow",
+ "page": "*"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/sitemap96.json b/sitemap96.json
new file mode 100644
index 0000000..ca02add
--- /dev/null
+++ b/sitemap96.json
@@ -0,0 +1,7 @@
+{
+ "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
+ "rules": [{
+ "action": "allow",
+ "page": "*"
+ }]
+}
\ No newline at end of file
diff --git a/static/images/cart.png b/static/images/cart.png
new file mode 100644
index 0000000000000000000000000000000000000000..909b3e359c8e31a6eb866a52043df8af1843a754
GIT binary patch
literal 1550
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
literal 0
HcmV?d00001
diff --git a/static/images/home.png b/static/images/home.png
new file mode 100644
index 0000000000000000000000000000000000000000..fdf3b3e2da9ff8e697adeb693c5eaa2fa8bb834b
GIT binary patch
literal 1354
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
literal 0
HcmV?d00001
diff --git a/static/images/my.png b/static/images/my.png
new file mode 100644
index 0000000000000000000000000000000000000000..8c81f1057fb5b646f2635a46e7a0cb40fd8a1a72
GIT binary patch
literal 1742
zcmV;<1~K`GP)ojml1tb+*r~s&dP{Ab?95nFu=KE$JV-!i2
zwJX~&)=d7$JX@AN+Fk9get5SPH36@#VXMGx5DkQ2gSbI7AYf3%CW#wF0|EwBtWFY%
z=>BfE`xAX*=KIdM$KLx-_{Q7AVO`O
zbMFl#Z1l(1hoag(sJvZi>c<*(h8h&u$yn@n24G~BqG2A#9X;$
z<||ATL*}IF99-J=Y)ZYKH3Z-TovcsN4O}NMt*kAoz-?yzH#E5
z!{5EkcK{OhvPo$Iu>c^{^`sVFNCMwuX7b*@T>@k)h&dI$6o61Q(?Ud$dZ_LniHcuZ
z4cxGPbBJBnon<8A9TApY*xK$E+Zx?2p-KYdT9rQ7sYMcu2EpiW*`{
z3YS#l$Rq>D|BhNS^M}6gUuXd0T?>e@QT~nz#&QPKb~F>eKhmbqEFi)bhH0%!X|%TQ
zrtiz3hT);wcU3{m7;W|Fn$nZX5`n-q5k1j-PYV&g*55$`7N3z*Kr(~=Kx2AT5WB8J
z`YKFEAx#fExymB;FZ3H#F|`UJ5&aigSVBmpb{krafTYC2a8NbyT8JERCscK|f_JQ!
zh+-z_v&8*XpRew4BH4g-;gTiKs>WKplxVkVaKV|Ap010t$sQT-wj!PEaI
zX!PnKqP;|9YKAlrW0A@RaZDA4zbC?|4dO(Iu`KrLA+F6P{;CjT?Ya#cN;_)@~fQE5;$#MCV3oLgn`Vc=}vnGm&kMJ+@mI>UvaMHZz>1+qoFuZ4JL
zSzt{W?HJe=@xB&fEDpUPqDQ5YG3RruOoe4u`Bs_9Nn~);`A?N3%H$HWi)&pTh^6k9
zT^XhK&H0Z;b*K#Ln_UENLlxR1g2ITn`lE5hy@_OK`NOU
zwn@ErTEb6kXUT1oYXb0~VHUGss*XggI(!@eA+_fS2A!UsKE*8~%nYX-%dW$sfq1>!?N0XlJ=T!Teb5}(rs|C7!FvyA
zfCV>X?A`|r#IT=-L+H#532k}}OcRKG-{XoFKpQ)8A9mal;;`-;@BM{1_vTV+22rH$
zt*B}3M$aOrxZ+NUAyC|>bJ2Aj&Rv@nHAHb;a4>SJ)P)@=&aR9cd@KcXlukrTs@c36
zq5>XVkJfI2qzVZA+b5K*N;+
z0CiQ{&{FZjbFxSen~c9wsMRnhK`cl${pc%J(!BS8*6bFL60o8%Fg5r~-3>9UYVtKO
z#Sjxm7s7rVr4CV-`7BrhE%%HF0sPaFONxpnxk=8p9Pmkfe6f(L25ey*UmO7yOJZV6
z8Vve560CFBx*A|3l8K2ZniQF`uwM*O5}=qMj_EAiu7q6O>eO~BY?+9Vyf|taGz)38
zqT_YN5M|cG$RUKo38bc>)Km}_&kIbfSmJ(&V&Rws(W0ThV;vhrgHhceZV(L!7*w%I
k;s()xfI$_TBpN{cA6v8-f40_^mjD0&07*qoM6N<$f)PI|h5!Hn
literal 0
HcmV?d00001
diff --git a/static/images/my_hover.png b/static/images/my_hover.png
new file mode 100644
index 0000000000000000000000000000000000000000..55e2e7b45fb8f08ac0137a49b99d304885a1cf8b
GIT binary patch
literal 1348
zcmV-K1-tr*P)&#f?_?PKq6)iw`d4S}{S!jAe)=-q6%?m(d3q9Tk#yx!j49NYFQ
zBHRVU8UU;PLNt48g}8id@YZ5{yOUgfxF}*4sqyI
znt=FDQb|EsBP4G}da@CP_<6fh^KE=D*l2lCM1!K+dnqYc45FGyzCZEKwFJ?UEmpFK
z4vKECDJ516V#?k44_*at{6cDFBLY#aMt<0yELYX6ym(`Y+eqE@nJXABMAF^9MC22k7Ts>_yk~5PnMgK->;WSBP;z^*
z_kMDS6VSzeH#Upd6_?2p6-OfwvzE14-LeEK96tG!?cKNm-ze
z#eR?V%@E5HmtkBqzCExEE-kT%&$h%YZrtAo1KjxVUJe`L#HBlk_{wyo67~JuSy>cf
z7Ohdr3Kd8ZOAN-wjD1QXWrd;;18cNa2Y~P_s#_&qp1I8XU0*RvRDv^+Vp}6oq&f@}zq&TGEY0Czk16xy$a{b^tIqDVnB-h>l8buOY3IxFsqDQwmb#GrCzF
zpao(IL23giIy=wmp;TBTGglbK^|e{z^vjK;%m{8QpLTT|{?QuZJk)DychIw-l~5+U
zUHD=*B*U18+LnkVPAi~dNgt@G1t!61!5=rIj#h+mW$k0)LrO?56Lp0zVL&EsiT6s0
zkCO>ZAoGAG1~J%50P8g&)PQhP%kecLb=}Ja5p*o{KS-QWF>Z+p9H3qI33jzWThKxx
zxUdjTfV{R&pyHMo9F%-~TL;9332<|{5)Fu;_2}D5TYAUgjh%jTqu+1Gks1kN
zYR9`cEuT?G!33hisN-g6h?6T?-lyq?5g~SeiXj>lzOL+qoq$3^ymTsui1=2U;wcjx
zWd#%kVkY;NQzt?k{lh|5Z)^0000
+
+
+
+
+
+
diff --git a/template/member.wxss b/template/member.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/template/template.wxml b/template/template.wxml
new file mode 100644
index 0000000..cb6c207
--- /dev/null
+++ b/template/template.wxml
@@ -0,0 +1,492 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{CurPage}}/{{TotalPage}}页 {{Total}}{{unit||'个'}}
+
+
+
+
+
+
+
+
+
+
+
+
+ 没有相关信息
+
+
+ 没有更多了
+
+
+
+
+
+
+
+
+
+ {{title}}:
+
+
+
+
+ {{data.text}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{info}}
+
+
+
+
+
+
+
+
+ {{index}}
+
+ {{items.name}}
+ {{items.text}} {{items.addtext}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{value}}
+
+
+
+
+ {{value}}
+
+
+
+
+
+
+ {{value}}
+
+
+
+
+ {{value}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{input.vlist[ (form.radio[input.name]>=0?form.radio[input.name]:input.value)-1 ]}}
+
+
+
+
+
+
+
+
+
+ {{input.value}}
+
+
+
+
+
+ {{input.text}}
+
+
+
+ {{input.text}}
+
+
+
+
+
+
+ {{form.send.Stop&&form.send.Tips?form.send.Tips:'发送验证码'}}
+
+
+
+
+
+
+
+ {{form&&view.field?tools.showField(view.field,form):view.text}}
+
+ {{view.text}}
+
+
+
+
+
+
+
+
+
+ {{item.text}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{form.upload.note}}
+
+
+
+ {{form.upload.button||'上传图片'}}
+
+
+
+
+
+
+
+
+
+ {{key=='ing'?'待传':key=='err'?'失败':'已传'}}({{form.upload.number[key]}}){{form.upload.tips[key]||''}}
+
+
+
+
+ {{form.upload.msg[url]}}
+
+
+
+
+
+ {{tools.isImage(url)}}
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{view.text}}
+ {{view.text}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{items.label}}:
+ {{items.value}}
+ 复制号码
+ 拨打电话
+
+
+
+ 声明:为了安全起见,不要轻易与卖家进行线下交易;
+ 非平台线上交易的项目,出现任何后果均与互站无关;
+ 无论卖家以何理由要求线下交易的,请联系管理举报。
+
+
+
+
+
+
+
+
+
+
+
+
+ {{store.name}}
+
+
+
+ {{index}}
+
+ {{item.value}}
+
+
+
+
+
+
+ 商家已缴纳保证金 {{store.bond}} 元" name="jifen1" wx:else>
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+ {{index}}
+
+
+
+
+
+ 筛选
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/template/template.wxss b/template/template.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/utils/count-down/index.js b/utils/count-down/index.js
new file mode 100644
index 0000000..5c42108
--- /dev/null
+++ b/utils/count-down/index.js
@@ -0,0 +1,107 @@
+Component({
+ options: {
+ addGlobalClass: !0
+ },
+ externalClasses: [ "class" ],
+ properties: {
+ format: {
+ type: String,
+ value: "天小时分秒"
+ },
+ expireText: {
+ type: String,
+ value: "已结束"
+ },
+ customClass: String,
+ customStyle: String,
+ showSlot: {
+ type: Boolean,
+ value: !1
+ },
+ expireTime: {
+ type: String,
+ observer: function(t, e, a) {
+ this.timer && clearInterval(this.timer);
+ var i = Number(this.getDate(t).getTime());
+ this.timer = setInterval(function(t, e) {
+ return function() {
+ return t.apply(e, arguments);
+ };
+ }(function() {
+ this.getRightTime(i);
+ }, this), 1e3);
+ }
+ }
+ },
+ data: {
+ downDate: {}
+ },
+ lifetimes: {
+ attached: function() {
+ this.data.__page = this.__getPage();
+ },
+ detached: function() {
+ clearInterval(this.timer);
+ }
+ },
+ methods: {
+ onCountDown: function() {
+ var t = {
+ data: this.data
+ }, e = {};
+ this.triggerEvent("countDown", t, e);
+ },
+ onExpire: function() {
+ this.showSlot || this.setData({
+ countDownText: this.data.expireText
+ }, function() {});
+ var t = {
+ data: this.data
+ }, e = {};
+ this.triggerEvent("expire", t, e);
+ },
+ checkTime: function(t) {
+ return t < 10 && (t = "0" + t), t;
+ },
+ getRightTime: function(t) {
+ var e = t - Number(new Date().getTime());
+ if (e > 0) {
+ var a = parseInt(e / 864e5, 10), i = parseInt((e - 864e5 * a) / 36e5, 10), n = parseInt((e - 864e5 * a - 36e5 * i) / 6e4, 10), s = parseInt((e - 864e5 * a - 36e5 * i - 6e4 * n) / 1e3, 10);
+ this.data.downDate.day = this.checkTime(a), this.data.downDate.hour = this.checkTime(i),
+ this.data.downDate.minute = this.checkTime(n), this.data.downDate.second = this.checkTime(s);
+ var r = null;
+ if (this.data.showSlot) this.onCountDown(); else {
+ var o = this.data.format;
+ if (o) {
+ "function" == typeof this.__getPage()[o] && (o = this.__getPage()[o](this));
+ var h = {
+ day: "天",
+ hour: "小时",
+ minute: "分",
+ second: "秒"
+ };
+ for (var u in h) {
+ var c = parseInt(this.data.downDate[u]);
+ o = o.replace(h[u], c > 0 ? c + h[u] : "");
+ }
+ r = o, this.setData({
+ countDownText: r
+ }, function() {});
+ }
+ }
+ } else this.onExpire(), clearInterval(this.timer);
+ },
+ __getPage: function() {
+ if (this.data.__page) return this.data.__page;
+ var t = getCurrentPages();
+ return t[t.length - 1];
+ },
+ getDate: function(t) {
+ var e = t.split(/[- :]/), a = this._getValue(e[0]), i = this._getValue(e[1]) - 1, n = this._getValue(e[2]), s = this._getValue(e[3]), r = this._getValue(e[4]), o = this._getValue(e[5]);
+ return new Date(a, i, n, s, r, o);
+ },
+ _getValue: function(t) {
+ return t || 0;
+ }
+ }
+});
\ No newline at end of file
diff --git a/utils/count-down/index.json b/utils/count-down/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/utils/count-down/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/utils/count-down/index.wxml b/utils/count-down/index.wxml
new file mode 100644
index 0000000..6b1f4e4
--- /dev/null
+++ b/utils/count-down/index.wxml
@@ -0,0 +1,2 @@
+{{countDownText}}
+
diff --git a/utils/count-down/index.wxss b/utils/count-down/index.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/utils/forview/index.js b/utils/forview/index.js
new file mode 100644
index 0000000..9587a03
--- /dev/null
+++ b/utils/forview/index.js
@@ -0,0 +1,15 @@
+Component({
+ options: {
+ styleIsolation: "apply-shared"
+ },
+ properties: {
+ data: Object,
+ form: Object
+ },
+ lifetimes: {},
+ methods: {
+ Lay: function(t) {
+ this.triggerEvent("Event", "Event" == t.type ? t.detail : t);
+ }
+ }
+});
\ No newline at end of file
diff --git a/utils/forview/index.json b/utils/forview/index.json
new file mode 100644
index 0000000..3cec638
--- /dev/null
+++ b/utils/forview/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "./index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/utils/forview/index.wxml b/utils/forview/index.wxml
new file mode 100644
index 0000000..19810c5
--- /dev/null
+++ b/utils/forview/index.wxml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/utils/forview/index.wxss b/utils/forview/index.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/utils/tools.wxs b/utils/tools.wxs
new file mode 100644
index 0000000..f8501b0
--- /dev/null
+++ b/utils/tools.wxs
@@ -0,0 +1,41 @@
+module.exports = ({
+ isShow: (function(Show, form) {
+ if (typeof Show.field !== 'object' && typeof Show.value !== 'number') {
+ var field = Show.field.split(",");
+ var value = Show.value.split(",")
+ } else if (typeof Show.value == 'number') {
+ var field = [Show.field];
+ var value = [Show.value]
+ } else {
+ var field = Show.field;
+ var value = Show.value
+ };
+ for (i = 0; i < field.length; i++) {
+ var F = field[((nt_0 = (i), null == nt_0 ? undefined : 'number' === typeof nt_0 ? nt_0 : "" + nt_0))];
+ var V = value[((nt_1 = (i), null == nt_1 ? undefined : 'number' === typeof nt_1 ? nt_1 : "" + nt_1))];
+ var res = F ? (!form[((nt_2 = (Show.type), null == nt_2 ? undefined : 'number' === typeof nt_2 ? nt_2 : "" + nt_2))] || !form[((nt_3 = (Show.type), null == nt_3 ? undefined : 'number' === typeof nt_3 ? nt_3 : "" + nt_3))][((nt_3 = (F), null == nt_3 ? undefined : 'number' === typeof nt_3 ? nt_3 : "" + nt_3))] ? Show.hide : (Show.type == 'checkbox' ? (form[((nt_4 = (Show.type), null == nt_4 ? undefined : 'number' === typeof nt_4 ? nt_4 : "" + nt_4))][((nt_4 = (F), null == nt_4 ? undefined : 'number' === typeof nt_4 ? nt_4 : "" + nt_4))].join("") !== V ? true : false) : (V == 'true' ? (!form[((nt_5 = (Show.type), null == nt_5 ? undefined : 'number' === typeof nt_5 ? nt_5 : "" + nt_5))][((nt_5 = (F), null == nt_5 ? undefined : 'number' === typeof nt_5 ? nt_5 : "" + nt_5))] ? true : false) : (V == 'false' ? (!form[((nt_6 = (Show.type), null == nt_6 ? undefined : 'number' === typeof nt_6 ? nt_6 : "" + nt_6))][((nt_6 = (F), null == nt_6 ? undefined : 'number' === typeof nt_6 ? nt_6 : "" + nt_6))] ? false : true) : form[((nt_7 = (Show.type), null == nt_7 ? undefined : 'number' === typeof nt_7 ? nt_7 : "" + nt_7))][((nt_7 = (F), null == nt_7 ? undefined : 'number' === typeof nt_7 ? nt_7 : "" + nt_7))] !== V ? true : false)))) : false;
+ if (res) return (res);
+ };
+ return (res)
+ }),
+ getPickerIndex: (function(index, list) {
+ list = undefined === list ? [] : list;
+ var i = list.indexOf(index);
+ return (i > 0 ? i : 0)
+ }),
+ showField: (function(field, form) {
+ var F = [];
+ var F = field.split(".");
+ var res = form;
+ for (i = 0; i < F.length; i++) {
+ if (!res[((nt_8 = (F[((nt_9 = (i), null == nt_9 ? undefined : 'number' === typeof nt_9 ? nt_9 : "" + nt_9))]), null == nt_8 ? undefined : 'number' === typeof nt_8 ? nt_8 : "" + nt_8))]) return ('');;
+ res = res[((nt_10 = (F[((nt_11 = (i), null == nt_11 ? undefined : 'number' === typeof nt_11 ? nt_11 : "" + nt_11))]), null == nt_10 ? undefined : 'number' === typeof nt_10 ? nt_10 : "" + nt_10))]
+ };
+ return (res || '')
+ }),
+ isImage: (function(filename) {
+ var name = filename.toLowerCase();
+ var type = name.split('.').slice(-1).join('');
+ return (['jpg', 'png', 'gif', 'svg'].indexOf(type) >= 0 ? true : type)
+ }),
+});
\ No newline at end of file
diff --git a/vant/action-sheet/index.js b/vant/action-sheet/index.js
new file mode 100644
index 0000000..56ddaad
--- /dev/null
+++ b/vant/action-sheet/index.js
@@ -0,0 +1,38 @@
+var e = require("../common/component"), t = require("../mixins/safe-area");
+
+(0, e.VantComponent)({
+ mixins: [ (0, t.safeArea)() ],
+ props: {
+ show: Boolean,
+ title: String,
+ cancelText: String,
+ zIndex: {
+ type: Number,
+ value: 100
+ },
+ actions: {
+ type: Array,
+ value: []
+ },
+ overlay: {
+ type: Boolean,
+ value: !0
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: !0
+ }
+ },
+ methods: {
+ onSelect: function(e) {
+ var t = e.currentTarget.dataset.index, n = this.data.actions[t];
+ !n || n.disabled || n.loading || this.$emit("select", n);
+ },
+ onCancel: function() {
+ this.$emit("cancel");
+ },
+ onClose: function() {
+ this.$emit("close");
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/action-sheet/index.json b/vant/action-sheet/index.json
new file mode 100644
index 0000000..797d903
--- /dev/null
+++ b/vant/action-sheet/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-popup": "../popup/index",
+ "van-loading": "../loading/index",
+ "forview": "/utils/forview/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/action-sheet/index.wxml b/vant/action-sheet/index.wxml
new file mode 100644
index 0000000..c639f8a
--- /dev/null
+++ b/vant/action-sheet/index.wxml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+ {{cancelText}}
+
+
+
\ No newline at end of file
diff --git a/vant/action-sheet/index.wxss b/vant/action-sheet/index.wxss
new file mode 100644
index 0000000..482fec0
--- /dev/null
+++ b/vant/action-sheet/index.wxss
@@ -0,0 +1,60 @@
+@import "../area/index.wxss";
+
+.van-action-sheet {
+ max-height: 90%!important;
+ color: #333;
+}
+
+.van-action-sheet__cancel,.van-action-sheet__item {
+ height: 50px;
+ font-size: 16px;
+ line-height: 50px;
+ text-align: center;
+ background-color: #fff;
+}
+
+.van-action-sheet__cancel--hover,.van-action-sheet__item--hover {
+ background-color: #f2f3f5;
+}
+
+.van-action-sheet__cancel {
+ height: 60px;
+}
+
+.van-action-sheet__cancel:before {
+ display: block;
+ height: 10px;
+ background-color: #f8f8f8;
+ content: " ";
+}
+
+.van-action-sheet__item--disabled {
+ color: #c9c9c9;
+}
+
+.van-action-sheet__item--disabled.van-action-sheet__item--hover {
+ background-color: #fff;
+}
+
+.van-action-sheet__subname {
+ margin-left: 5px;
+ font-size: 12px;
+ color: #7d7e80;
+}
+
+.van-action-sheet__header {
+ font-size: 16px;
+ font-weight: 500;
+ line-height: 44px;
+ text-align: center;
+}
+
+.van-action-sheet__close {
+ position: absolute!important;
+ top: 0;
+ right: 0;
+ padding: 0 15px;
+ font-size: 18px!important;
+ line-height: inherit!important;
+ color: #999;
+}
\ No newline at end of file
diff --git a/vant/area/index.js b/vant/area/index.js
new file mode 100644
index 0000000..d848882
--- /dev/null
+++ b/vant/area/index.js
@@ -0,0 +1,155 @@
+var e = function() {
+ function e(e, t) {
+ var n = [], i = !0, r = !1, s = void 0;
+ try {
+ for (var c, u = e[Symbol.iterator](); !(i = (c = u.next()).done) && (n.push(c.value),
+ !t || n.length !== t); i = !0) ;
+ } catch (e) {
+ r = !0, s = e;
+ } finally {
+ try {
+ !i && u.return && u.return();
+ } finally {
+ if (r) throw s;
+ }
+ }
+ return n;
+ }
+ return function(t, n) {
+ if (Array.isArray(t)) return t;
+ if (Symbol.iterator in Object(t)) return e(t, n);
+ throw new TypeError("Invalid attempt to destructure non-iterable instance");
+ };
+}(), t = require("../common/component"), n = require("../picker/shared");
+
+(0, t.VantComponent)({
+ classes: [ "active-class", "toolbar-class", "column-class" ],
+ props: Object.assign({}, n.pickerProps, {
+ value: String,
+ areaList: {
+ type: Object,
+ value: {}
+ },
+ columnsNum: {
+ type: [ String, Number ],
+ value: 3
+ }
+ }),
+ data: {
+ columns: [ {
+ values: []
+ }, {
+ values: []
+ }, {
+ values: []
+ } ],
+ displayColumns: [ {
+ values: []
+ }, {
+ values: []
+ }, {
+ values: []
+ } ]
+ },
+ watch: {
+ value: function(e) {
+ this.code = e, this.setValues();
+ },
+ areaList: "setValues",
+ columnsNum: function(e) {
+ this.set({
+ displayColumns: this.data.columns.slice(0, +e)
+ });
+ }
+ },
+ mounted: function() {
+ this.setValues();
+ },
+ methods: {
+ getPicker: function() {
+ return null == this.picker && (this.picker = this.selectComponent(".van-area__picker")),
+ this.picker;
+ },
+ onCancel: function(e) {
+ this.emit("cancel", e.detail);
+ },
+ onConfirm: function(e) {
+ this.emit("confirm", e.detail);
+ },
+ emit: function(e, t) {
+ t.values = t.value, delete t.value, this.$emit(e, t);
+ },
+ onChange: function(e) {
+ var t = this, n = e.detail, i = n.index, r = n.picker, s = n.value;
+ this.code = s[i].code, this.setValues().then(function() {
+ t.$emit("change", {
+ picker: r,
+ values: r.getValues(),
+ index: i
+ });
+ });
+ },
+ getConfig: function(e) {
+ var t = this.data.areaList;
+ return t && t[e + "_list"] || {};
+ },
+ getList: function(e, t) {
+ var n = [];
+ if ("province" !== e && !t) return n;
+ var i = this.getConfig(e);
+ return n = Object.keys(i).map(function(e) {
+ return {
+ code: e,
+ name: i[e]
+ };
+ }), t && ("9" === t[0] && "city" === e && (t = "9"), n = n.filter(function(e) {
+ return 0 === e.code.indexOf(t);
+ })), n;
+ },
+ getIndex: function(e, t) {
+ var n = "province" === e ? 2 : "city" === e ? 4 : 6, i = this.getList(e, t.slice(0, n - 2));
+ "9" === t[0] && "province" === e && (n = 1), t = t.slice(0, n);
+ for (var r = 0; r < i.length; r++) if (i[r].code.slice(0, n) === t) return r;
+ return 0;
+ },
+ setValues: function() {
+ var t = this, n = this.getConfig("county"), i = this.code || Object.keys(n)[0] || "", r = this.getList("province"), s = this.getList("city", i.slice(0, 2)), c = this.getPicker();
+ if (c) {
+ var u = [];
+ if (u.push(c.setColumnValues(0, r, !1)), u.push(c.setColumnValues(1, s, !1)), s.length && "00" === i.slice(2, 4)) {
+ var o = e(s, 1);
+ i = o[0].code;
+ }
+ return u.push(c.setColumnValues(2, this.getList("county", i.slice(0, 4)), !1)),
+ Promise.all(u).catch(function() {}).then(function() {
+ return c.setIndexes([ t.getIndex("province", i), t.getIndex("city", i), t.getIndex("county", i) ]);
+ }).catch(function() {});
+ }
+ },
+ getValues: function() {
+ var e = this.getPicker();
+ return e ? e.getValues().filter(function(e) {
+ return !!e;
+ }) : [];
+ },
+ getDetail: function() {
+ var e = this.getValues(), t = {
+ code: "",
+ country: "",
+ province: "",
+ city: "",
+ county: ""
+ };
+ if (!e.length) return t;
+ var n = e.map(function(e) {
+ return e.name;
+ });
+ return t.code = e[e.length - 1].code, "9" === t.code[0] ? (t.country = n[1] || "",
+ t.province = n[2] || "") : (t.province = n[0] || "", t.city = n[1] || "", t.county = n[2] || ""),
+ t;
+ },
+ reset: function() {
+ return this.code = "", this.setValues();
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/area/index.json b/vant/area/index.json
new file mode 100644
index 0000000..0146248
--- /dev/null
+++ b/vant/area/index.json
@@ -0,0 +1,14 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-picker": "../picker/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/area/index.wxml b/vant/area/index.wxml
new file mode 100644
index 0000000..a9b913a
--- /dev/null
+++ b/vant/area/index.wxml
@@ -0,0 +1 @@
+
diff --git a/vant/area/index.wxss b/vant/area/index.wxss
new file mode 100644
index 0000000..55d8313
--- /dev/null
+++ b/vant/area/index.wxss
@@ -0,0 +1,68 @@
+.van-ellipsis {
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.van-multi-ellipsis--l2 {
+ -webkit-line-clamp: 2;
+}
+
+.van-multi-ellipsis--l2,.van-multi-ellipsis--l3 {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+}
+
+.van-multi-ellipsis--l3 {
+ -webkit-line-clamp: 3;
+}
+
+.van-clearfix:after {
+ content: "";
+ display: table;
+ clear: both;
+}
+
+.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom {
+ position: relative;
+}
+
+.van-hairline--bottom:after,.van-hairline--left:after,.van-hairline--right:after,.van-hairline--surround:after,.van-hairline--top-bottom:after,.van-hairline--top:after,.van-hairline:after {
+ content: " ";
+ position: absolute;
+ pointer-events: none;
+ box-sizing: border-box;
+ transform-origin: center;
+ top: -50%;
+ left: -50%;
+ right: -50%;
+ bottom: -50%;
+ transform: scale(.5);
+ border: 0 solid #e5e5e5;
+}
+
+.van-hairline--top:after {
+ border-top-width: 1px;
+}
+
+.van-hairline--left:after {
+ border-left-width: 1px;
+}
+
+.van-hairline--right:after {
+ border-right-width: 1px;
+}
+
+.van-hairline--bottom:after {
+ border-bottom-width: 1px;
+}
+
+.van-hairline--top-bottom:after {
+ border-width: 1px 0;
+}
+
+.van-hairline--surround:after {
+ border-width: 1px;
+}
\ No newline at end of file
diff --git a/vant/badge-group/index.js b/vant/badge-group/index.js
new file mode 100644
index 0000000..077ea7c
--- /dev/null
+++ b/vant/badge-group/index.js
@@ -0,0 +1,34 @@
+(0, require("../common/component").VantComponent)({
+ relation: {
+ name: "badge",
+ type: "descendant",
+ linked: function(e) {
+ this.badges.push(e), this.setActive(this.data.active);
+ },
+ unlinked: function(e) {
+ this.badges = this.badges.filter(function(t) {
+ return t !== e;
+ }), this.setActive(this.data.active);
+ }
+ },
+ props: {
+ active: {
+ type: Number,
+ value: 0,
+ observer: "setActive"
+ }
+ },
+ beforeCreate: function() {
+ this.badges = [], this.currentActive = -1;
+ },
+ methods: {
+ setActive: function(e) {
+ var t = this.badges, i = this.currentActive;
+ if (!t.length) return Promise.resolve();
+ this.currentActive = e;
+ var s = [];
+ return i !== e && t[i] && s.push(t[i].setActive(!1)), t[e] && s.push(t[e].setActive(!0)),
+ Promise.all(s);
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/badge-group/index.json b/vant/badge-group/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/vant/badge-group/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/badge-group/index.wxml b/vant/badge-group/index.wxml
new file mode 100644
index 0000000..aeda539
--- /dev/null
+++ b/vant/badge-group/index.wxml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/vant/badge-group/index.wxss b/vant/badge-group/index.wxss
new file mode 100644
index 0000000..f990692
--- /dev/null
+++ b/vant/badge-group/index.wxss
@@ -0,0 +1,5 @@
+@import "../area/index.wxss";
+
+.van-badge-group {
+ width: 85px;
+}
\ No newline at end of file
diff --git a/vant/badge/index.js b/vant/badge/index.js
new file mode 100644
index 0000000..e160c66
--- /dev/null
+++ b/vant/badge/index.js
@@ -0,0 +1,29 @@
+(0, require("../common/component").VantComponent)({
+ relation: {
+ type: "ancestor",
+ name: "badge-group",
+ linked: function(t) {
+ this.parent = t;
+ }
+ },
+ props: {
+ info: null,
+ title: String
+ },
+ methods: {
+ onClick: function() {
+ var t = this, e = this.parent;
+ if (e) {
+ var n = e.badges.indexOf(this);
+ e.setActive(n).then(function() {
+ t.$emit("click", n), e.$emit("change", n);
+ });
+ }
+ },
+ setActive: function(t) {
+ return this.set({
+ active: t
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/badge/index.json b/vant/badge/index.json
new file mode 100644
index 0000000..942164a
--- /dev/null
+++ b/vant/badge/index.json
@@ -0,0 +1,14 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-info": "../info/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/badge/index.wxml b/vant/badge/index.wxml
new file mode 100644
index 0000000..b0716ed
--- /dev/null
+++ b/vant/badge/index.wxml
@@ -0,0 +1,7 @@
+
+
+
+ {{title}}
+
+
+
\ No newline at end of file
diff --git a/vant/badge/index.wxss b/vant/badge/index.wxss
new file mode 100644
index 0000000..061afcb
--- /dev/null
+++ b/vant/badge/index.wxss
@@ -0,0 +1,41 @@
+@import "../area/index.wxss";
+
+.van-badge {
+ display: block;
+ padding: 20px 12px 20px 9px;
+ overflow: hidden;
+ font-size: 14px;
+ line-height: 1.4;
+ color: #7d7e80;
+ word-break: break-all;
+ background-color: #f8f8f8;
+ border-left: 3px solid transparent;
+ box-sizing: border-box;
+ user-select: none;
+}
+
+.van-badge--hover {
+ background-color: #f2f3f5;
+}
+
+.van-badge:after {
+ border-bottom-width: 1px;
+}
+
+.van-badge--active {
+ font-weight: 700;
+ color: #333;
+ border-color: #f44;
+}
+
+.van-badge--active:after {
+ border-right-width: 1px;
+}
+
+.van-badge--active,.van-badge--active.van-badge--hover {
+ background-color: #fff;
+}
+
+.van-badge__text {
+ position: relative;
+}
\ No newline at end of file
diff --git a/vant/button/index.js b/vant/button/index.js
new file mode 100644
index 0000000..72c65a1
--- /dev/null
+++ b/vant/button/index.js
@@ -0,0 +1,54 @@
+var e = require("../common/component"), t = require("../mixins/button"), i = require("../mixins/open-type");
+
+(0, e.VantComponent)({
+ mixins: [ t.button, i.openType ],
+ classes: [ "hover-class", "loading-class" ],
+ data: {
+ style: ""
+ },
+ props: {
+ icon: String,
+ iconstyle: String,
+ plain: Boolean,
+ block: Boolean,
+ round: Boolean,
+ square: Boolean,
+ loading: Boolean,
+ hairline: Boolean,
+ disabled: Boolean,
+ loadingText: String,
+ customStyle: String,
+ loadingType: {
+ type: String,
+ value: "circular"
+ },
+ type: {
+ type: String,
+ value: "default"
+ },
+ size: {
+ type: String,
+ value: "normal"
+ },
+ loadingSize: {
+ type: String,
+ value: "20px"
+ },
+ color: {
+ type: String,
+ observer: function(e) {
+ var t = "";
+ e && (t += "color: " + (this.data.plain ? e : "white") + ";", this.data.plain || (t += "background: " + e + ";"),
+ -1 !== e.indexOf("gradient") ? t += "border: 0;" : t += "border-color: " + e + ";"),
+ t !== this.data.style && this.setData({
+ style: t
+ });
+ }
+ }
+ },
+ methods: {
+ onClick: function() {
+ this.data.disabled || this.data.loading || this.$emit("click");
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/button/index.json b/vant/button/index.json
new file mode 100644
index 0000000..b3a5f9f
--- /dev/null
+++ b/vant/button/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index",
+ "forview": "/utils/forview/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/button/index.wxml b/vant/button/index.wxml
new file mode 100644
index 0000000..1969b00
--- /dev/null
+++ b/vant/button/index.wxml
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/vant/button/index.wxss b/vant/button/index.wxss
new file mode 100644
index 0000000..354938c
--- /dev/null
+++ b/vant/button/index.wxss
@@ -0,0 +1,219 @@
+@import "../area/index.wxss";
+
+.van-button {
+ position: relative;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ box-sizing: border-box;
+ padding: 0;
+ line-height: 20px;
+ text-align: center;
+ vertical-align: middle;
+ -webkit-appearance: none;
+ -webkit-text-size-adjust: 100%;
+ height: 44px;
+ height: var(--button-default-height,44px);
+ font-size: 16px;
+ font-size: var(--button-default-font-size,16px);
+ transition: opacity .2s;
+ transition: opacity var(--animation-duration-fast,.2s);
+ border-radius: 2px;
+ border-radius: var(--button-border-radius,2px);
+}
+
+.van-button:before {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 100%;
+ height: 100%;
+ border: inherit;
+ border-radius: inherit;
+ transform: translate(-50%,-50%);
+ opacity: 0;
+ content: " ";
+ background-color: #000;
+ background-color: var(--black,#000);
+ border-color: #000;
+ border-color: var(--black,#000);
+}
+
+.van-button:after {
+ border-width: 0;
+}
+
+.van-button--active:before {
+ opacity: .15;
+}
+
+.van-button--unclickable:after {
+ display: none;
+}
+
+.van-button--default {
+ color: #323233;
+ color: var(--button-default-color,#323233);
+ background-color: #fff;
+ background-color: var(--button-default-background-color,#fff);
+ border: 1px solid #ebedf0;
+ border: 1px solid var(--button-default-border-color,#ebedf0);
+}
+
+.van-button--primary {
+ color: #fff;
+ color: var(--button-primary-color,#fff);
+ background-color: #07c160;
+ background-color: var(--button-primary-background-color,#07c160);
+ border: 1px solid #07c160;
+ border: 1px solid var(--button-primary-border-color,#07c160);
+}
+
+.van-button--info {
+ color: #fff;
+ color: var(--button-info-color,#fff);
+ background-color: #1989fa;
+ background-color: var(--button-info-background-color,#1989fa);
+ border: 1px solid #1989fa;
+ border: 1px solid var(--button-info-border-color,#1989fa);
+}
+
+.van-button--danger {
+ color: #fff;
+ color: var(--button-danger-color,#fff);
+ background-color: #ee0a24;
+ background-color: var(--button-danger-background-color,#ee0a24);
+ border: 1px solid #ee0a24;
+ border: 1px solid var(--button-danger-border-color,#ee0a24);
+}
+
+.van-button--warning {
+ color: #fff;
+ color: var(--button-warning-color,#fff);
+ background-color: #ff976a;
+ background-color: var(--button-warning-background-color,#ff976a);
+ border: 1px solid #ff976a;
+ border: 1px solid var(--button-warning-border-color,#ff976a);
+}
+
+.van-button--plain {
+ background-color: #fff;
+ background-color: var(--button-plain-background-color,#fff);
+}
+
+.van-button--plain.van-button--primary {
+ color: #07c160;
+ color: var(--button-primary-background-color,#07c160);
+}
+
+.van-button--plain.van-button--info {
+ color: #1989fa;
+ color: var(--button-info-background-color,#1989fa);
+}
+
+.van-button--plain.van-button--danger {
+ color: #ee0a24;
+ color: var(--button-danger-background-color,#ee0a24);
+}
+
+.van-button--plain.van-button--warning {
+ color: #ff976a;
+ color: var(--button-warning-background-color,#ff976a);
+}
+
+.van-button--not {
+ color: #c8c9cc;
+ background-color: #f7f8fa;
+ border: 1px solid #f7f8fa;
+}
+
+.van-button--large {
+ width: 100%;
+ height: 50px;
+ height: var(--button-large-height,50px);
+}
+
+.van-button--normal {
+ padding: 0 15px;
+ font-size: 14px;
+ font-size: var(--button-normal-font-size,14px);
+}
+
+.van-button--small {
+ min-width: 60px;
+ min-width: var(--button-small-min-width,60px);
+ height: 30px;
+ height: var(--button-small-height,30px);
+ padding: 0 8px;
+ padding: 0 var(--padding-xs,8px);
+ font-size: 12px;
+ font-size: var(--button-small-font-size,12px);
+}
+
+.van-button--mini {
+ display: inline-block;
+ min-width: 50px;
+ min-width: var(--button-mini-min-width,50px);
+ height: 22px;
+ height: var(--button-mini-height,22px);
+ font-size: 10px;
+ font-size: var(--button-mini-font-size,10px);
+}
+
+.van-button--mini+.van-button--mini {
+ margin-left: 5px;
+}
+
+.van-button--block {
+ display: flex;
+ width: 100%;
+}
+
+.van-button--round {
+ border-radius: 999px;
+ border-radius: var(--button-round-border-radius,999px);
+}
+
+.van-button--square {
+ border-radius: 0;
+}
+
+.van-button--disabled {
+ opacity: .5;
+ opacity: var(--button-disabled-opacity,.5);
+}
+
+.van-button__text {
+ display: inline;
+}
+
+.van-button__icon+.van-button__text:not(:empty),.van-button__loading-text {
+ margin-left: 4px;
+}
+
+.van-button__icon {
+ min-width: 1em;
+ line-height: inherit!important;
+ vertical-align: top;
+}
+
+.van-button--hairline {
+ padding-top: 1px;
+ border-width: 0;
+}
+
+.van-button--hairline:after {
+ border-color: inherit;
+ border-width: 1px;
+ border-radius: 4px;
+ border-radius: calc(var(--button-border-radius, 2px)*2);
+}
+
+.van-button--hairline.van-button--round:after {
+ border-radius: 999px;
+ border-radius: var(--button-round-border-radius,999px);
+}
+
+.van-button--hairline.van-button--square:after {
+ border-radius: 0;
+}
\ No newline at end of file
diff --git a/vant/card/index.js b/vant/card/index.js
new file mode 100644
index 0000000..4cd5f72
--- /dev/null
+++ b/vant/card/index.js
@@ -0,0 +1,31 @@
+var i = require("../mixins/link");
+
+(0, require("../common/component").VantComponent)({
+ classes: [ "num-class", "desc-class", "thumb-class", "title-class", "price-class", "origin-price-class" ],
+ mixins: [ i.link ],
+ props: {
+ tag: String,
+ num: String,
+ desc: String,
+ thumb: String,
+ title: String,
+ price: String,
+ centered: Boolean,
+ lazyLoad: Boolean,
+ thumbLink: String,
+ originPrice: String,
+ thumbMode: {
+ type: String,
+ value: "aspectFit"
+ },
+ currency: {
+ type: String,
+ value: "¥"
+ }
+ },
+ methods: {
+ onClickThumb: function() {
+ this.jumpLink("thumbLink");
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/card/index.json b/vant/card/index.json
new file mode 100644
index 0000000..bc0f513
--- /dev/null
+++ b/vant/card/index.json
@@ -0,0 +1,14 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-tag": "../tag/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/card/index.wxml b/vant/card/index.wxml
new file mode 100644
index 0000000..6fd3965
--- /dev/null
+++ b/vant/card/index.wxml
@@ -0,0 +1,27 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/vant/card/index.wxss b/vant/card/index.wxss
new file mode 100644
index 0000000..02b2aa5
--- /dev/null
+++ b/vant/card/index.wxss
@@ -0,0 +1,89 @@
+@import "../area/index.wxss";
+
+.van-card {
+ position: relative;
+ padding: 5px 15px;
+ font-size: 12px;
+ color: #333;
+ background-color: #fafafa;
+ box-sizing: border-box;
+}
+
+.van-card__header {
+ display: flex;
+}
+
+.van-card__header--center {
+ align-items: center;
+ justify-content: center;
+}
+
+.van-card__thumb {
+ position: relative;
+ width: 90px;
+ height: 90px;
+ margin-right: 10px;
+ flex: none;
+}
+
+.van-card__thumb:empty {
+ display: none;
+}
+
+.van-card__img {
+ width: 100%;
+ height: 100%;
+}
+
+.van-card__content {
+ position: relative;
+ min-width: 0;
+ flex: 1;
+}
+
+.van-card__desc,.van-card__title {
+ word-break: break-all;
+}
+
+.van-card__title {
+ font-weight: 700;
+ line-height: 16px;
+}
+
+.van-card__desc {
+ color: #7d7e80;
+}
+
+.van-card__bottom,.van-card__desc {
+ line-height: 20px;
+}
+
+.van-card__price {
+ display: inline-block;
+ font-weight: 700;
+ color: #f44;
+}
+
+.van-card__origin-price {
+ display: inline-block;
+ margin-left: 5px;
+ font-size: 10px;
+ color: #7d7e80;
+ text-decoration: line-through;
+}
+
+.van-card__num {
+ float: right;
+}
+
+.van-card__tag {
+ position: absolute;
+ top: 2px;
+ left: 0;
+}
+
+.van-card__footer {
+ width: 100%;
+ text-align: right;
+ flex: none;
+}
\ No newline at end of file
diff --git a/vant/cell-group/index.js b/vant/cell-group/index.js
new file mode 100644
index 0000000..0823db4
--- /dev/null
+++ b/vant/cell-group/index.js
@@ -0,0 +1,9 @@
+(0, require("../common/component").VantComponent)({
+ props: {
+ title: String,
+ border: {
+ type: Boolean,
+ value: !0
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/cell-group/index.json b/vant/cell-group/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/vant/cell-group/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/cell-group/index.wxml b/vant/cell-group/index.wxml
new file mode 100644
index 0000000..70461e7
--- /dev/null
+++ b/vant/cell-group/index.wxml
@@ -0,0 +1,6 @@
+
+ {{title}}
+
+
+
+
diff --git a/vant/cell-group/index.wxss b/vant/cell-group/index.wxss
new file mode 100644
index 0000000..0de8fcd
--- /dev/null
+++ b/vant/cell-group/index.wxss
@@ -0,0 +1,8 @@
+@import "../area/index.wxss";
+
+.van-cell-group__title {
+ font-size: 14px;
+ padding: 15px 15px 5px;
+ color: #999;
+ line-height: 16px;
+}
\ No newline at end of file
diff --git a/vant/cell/index.js b/vant/cell/index.js
new file mode 100644
index 0000000..0a28c1f
--- /dev/null
+++ b/vant/cell/index.js
@@ -0,0 +1,34 @@
+var e = require("../mixins/link");
+
+(0, require("../common/component").VantComponent)({
+ classes: [ "title-class", "label-class", "value-class", "right-icon-class", "hover-class" ],
+ mixins: [ e.link ],
+ props: {
+ title: null,
+ value: null,
+ icon: String,
+ size: String,
+ label: String,
+ center: Boolean,
+ isLink: Boolean,
+ required: Boolean,
+ clickable: Boolean,
+ titleWidth: String,
+ customStyle: String,
+ arrowDirection: String,
+ useLabelSlot: Boolean,
+ hidden: {
+ type: Boolean,
+ value: !1
+ },
+ border: {
+ type: Boolean,
+ value: !0
+ }
+ },
+ methods: {
+ onClick: function(e) {
+ this.$emit("click", e.detail), this.jumpLink();
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/cell/index.json b/vant/cell/index.json
new file mode 100644
index 0000000..e9f601c
--- /dev/null
+++ b/vant/cell/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/cell/index.wxml b/vant/cell/index.wxml
new file mode 100644
index 0000000..99cb10b
--- /dev/null
+++ b/vant/cell/index.wxml
@@ -0,0 +1,22 @@
+
+
+
+
+
+ {{title}}
+
+
+
+ {{value}}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vant/cell/index.wxss b/vant/cell/index.wxss
new file mode 100644
index 0000000..b90f93b
--- /dev/null
+++ b/vant/cell/index.wxss
@@ -0,0 +1,127 @@
+@import "../area/index.wxss";
+
+.van-cell {
+ position: relative;
+ width: 100%;
+ padding: 10px 0;
+ font-size: 14px;
+ line-height: 24px;
+ color: #333;
+ background-color: #fff;
+ box-sizing: border-box;
+}
+
+.van-cell:after {
+ content: " ";
+ position: absolute;
+ pointer-events: none;
+ box-sizing: border-box;
+ transform-origin: center;
+ top: auto;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ transform: scaleY(.5);
+ border-bottom: 1px solid #eee;
+}
+
+.van-cell--borderless:after {
+ display: none;
+}
+
+.van-cell-group {
+ background-color: #fff;
+}
+
+.van-cell__body {
+ width: 100%;
+ display: flex;
+}
+
+.van-cell__label {
+ margin-top: 1px;
+ font-size: 12px;
+ line-height: 18px;
+ color: #999;
+ text-align: right;
+}
+
+.van-cell__value {
+ overflow: hidden;
+ color: #999;
+ text-align: right;
+ vertical-align: middle;
+}
+
+.van-cell__title {
+ position: relative;
+}
+
+.van-cell__title,.van-cell__value {
+ flex: 1;
+}
+
+.van-cell__title:empty,.van-cell__value:empty {
+ display: none;
+}
+
+.van-cell__left-icon-wrap,.van-cell__right-icon-wrap {
+ display: flex;
+ height: 24px;
+ font-size: 16px;
+ align-items: center;
+}
+
+.van-cell__left-icon-wrap {
+ margin-right: 5px;
+}
+
+.van-cell__right-icon-wrap {
+ margin-left: 5px;
+ color: #999;
+}
+
+.van-cell__left-icon {
+ line-height: 24px;
+ vertical-align: middle;
+}
+
+.van-cell__right-icon {
+ line-height: 24px;
+}
+
+.van-cell--clickable.van-cell--hover {
+ opacity: .8;
+}
+
+.van-cell--required {
+ overflow: visible;
+}
+
+.van-cell--required .van-cell__title:before {
+ position: absolute;
+ left: -9px;
+ line-height: 12px;
+ height: 12px;
+ top: 0;
+ margin-top: 9px;
+ color: #f44;
+ content: "*";
+}
+
+.van-cell--center {
+ align-items: center;
+}
+
+.van-cell--large {
+ padding-top: 12px;
+ padding-bottom: 12px;
+}
+
+.van-cell--large .van-cell__title {
+ font-size: 16px;
+}
+
+.van-cell--large .van-cell__label {
+ font-size: 14px;
+}
\ No newline at end of file
diff --git a/vant/checkbox-group/index.js b/vant/checkbox-group/index.js
new file mode 100644
index 0000000..3975542
--- /dev/null
+++ b/vant/checkbox-group/index.js
@@ -0,0 +1,35 @@
+(0, require("../common/component").VantComponent)({
+ field: !0,
+ relation: {
+ name: "checkbox",
+ type: "descendant",
+ linked: function(e) {
+ var a = this.data, n = a.value, d = a.disabled;
+ e.set({
+ value: -1 !== n.indexOf(e.data.name),
+ disabled: d || e.data.disabled
+ });
+ }
+ },
+ props: {
+ max: Number,
+ value: Array,
+ disabled: Boolean
+ },
+ watch: {
+ value: function(e) {
+ this.getRelationNodes("../checkbox/index").forEach(function(a) {
+ a.set({
+ value: -1 !== e.indexOf(a.data.name)
+ });
+ });
+ },
+ disabled: function(e) {
+ this.getRelationNodes("../checkbox/index").forEach(function(a) {
+ a.set({
+ disabled: e || a.data.disabled
+ });
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/checkbox-group/index.json b/vant/checkbox-group/index.json
new file mode 100644
index 0000000..e9f601c
--- /dev/null
+++ b/vant/checkbox-group/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/checkbox-group/index.wxml b/vant/checkbox-group/index.wxml
new file mode 100644
index 0000000..13e0e91
--- /dev/null
+++ b/vant/checkbox-group/index.wxml
@@ -0,0 +1 @@
+
diff --git a/vant/checkbox-group/index.wxss b/vant/checkbox-group/index.wxss
new file mode 100644
index 0000000..f720459
--- /dev/null
+++ b/vant/checkbox-group/index.wxss
@@ -0,0 +1 @@
+@import "../area/index.wxss";
\ No newline at end of file
diff --git a/vant/checkbox/index.js b/vant/checkbox/index.js
new file mode 100644
index 0000000..991a2f7
--- /dev/null
+++ b/vant/checkbox/index.js
@@ -0,0 +1,47 @@
+(0, require("../common/component").VantComponent)({
+ field: !0,
+ relation: {
+ name: "checkbox-group",
+ type: "ancestor"
+ },
+ classes: [ "icon-class", "label-class" ],
+ props: {
+ value: null,
+ disabled: Boolean,
+ useIconSlot: Boolean,
+ checkedClass: String,
+ checkedColor: String,
+ noColor: String,
+ labelPosition: String,
+ labelDisabled: Boolean,
+ shape: {
+ type: String,
+ value: "round"
+ }
+ },
+ methods: {
+ emitChange: function(e) {
+ var a = this.getRelationNodes("../checkbox-group/index")[0];
+ a ? this.setParentValue(a, e) : (this.$emit("input", e), this.$emit("change", {
+ checked: e,
+ name: this.data.name
+ }));
+ },
+ toggle: function() {
+ this.data.disabled || this.emitChange(!this.data.value);
+ },
+ onClickLabel: function() {
+ this.data.disabled || this.data.labelDisabled || this.emitChange(!this.data.value);
+ },
+ setParentValue: function(e, a) {
+ var t = e.data.value.slice(), i = this.data.name;
+ if (a) {
+ if (e.data.max && t.length >= e.data.max) return;
+ -1 === t.indexOf(i) && (t.push(i), e.$emit("input", t), e.$emit("change", t));
+ } else {
+ var n = t.indexOf(i);
+ -1 !== n && (t.splice(n, 1), e.$emit("input", t), e.$emit("change", t));
+ }
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/checkbox/index.json b/vant/checkbox/index.json
new file mode 100644
index 0000000..e9f601c
--- /dev/null
+++ b/vant/checkbox/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/checkbox/index.wxml b/vant/checkbox/index.wxml
new file mode 100644
index 0000000..fe20a06
--- /dev/null
+++ b/vant/checkbox/index.wxml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vant/checkbox/index.wxss b/vant/checkbox/index.wxss
new file mode 100644
index 0000000..ccedef3
--- /dev/null
+++ b/vant/checkbox/index.wxss
@@ -0,0 +1,65 @@
+@import "../area/index.wxss";
+
+.van-checkbox {
+ overflow: hidden;
+ user-select: none;
+}
+
+.van-checkbox__icon-wrap,.van-checkbox__label {
+ display: inline-block;
+ line-height: 18px;
+ vertical-align: middle;
+}
+
+.van-checkbox__icon {
+ border-radius: 2px;
+ display: block;
+ font-size: 14px;
+ width: 18px;
+ height: 18px;
+ color: transparent;
+ text-align: center;
+ box-sizing: border-box;
+ border: 1px solid #e5e5e5;
+ transition: .2s;
+}
+
+.van-checkbox__icon--round {
+ width: 19px;
+ height: 19px;
+ border-radius: 100%;
+}
+
+.van-checkbox__icon--checked {
+ color: #fff;
+ border-color: #5FB878;
+ color: #5FB878;
+ background-color: #fff;
+}
+
+.van-checkbox__icon--disabled {
+ border-color: #c9c9c9;
+ background-color: #eee;
+}
+
+.van-checkbox__icon--disabled.van-checkbox__icon--checked {
+ color: #c9c9c9;
+}
+
+.van-checkbox__label {
+ color: #333;
+ margin-left: 6px;
+}
+
+.van-checkbox__label--left {
+ float: left;
+ margin: 0 10px 0 0;
+}
+
+.van-checkbox__label--disabled {
+ color: #c9c9c9;
+}
+
+.van-checkbox__label:empty {
+ margin: 0;
+}
\ No newline at end of file
diff --git a/vant/col/index.js b/vant/col/index.js
new file mode 100644
index 0000000..33e7d1a
--- /dev/null
+++ b/vant/col/index.js
@@ -0,0 +1,21 @@
+(0, require("../common/component").VantComponent)({
+ relation: {
+ name: "row",
+ type: "ancestor"
+ },
+ props: {
+ span: Number,
+ offset: Number
+ },
+ data: {
+ style: ""
+ },
+ methods: {
+ setGutter: function(t) {
+ var e = t / 2 + "px", n = t ? "padding-left: " + e + "; padding-right: " + e + ";" : "";
+ n !== this.data.style && this.set({
+ style: n
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/col/index.json b/vant/col/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/vant/col/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/col/index.wxml b/vant/col/index.wxml
new file mode 100644
index 0000000..a27fe61
--- /dev/null
+++ b/vant/col/index.wxml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/vant/col/index.wxss b/vant/col/index.wxss
new file mode 100644
index 0000000..70f542d
--- /dev/null
+++ b/vant/col/index.wxss
@@ -0,0 +1,198 @@
+@import "../area/index.wxss";
+
+.van-col {
+ float: left;
+ box-sizing: border-box;
+}
+
+.van-col--1 {
+ width: 4.16666667%;
+}
+
+.van-col--offset-1 {
+ margin-left: 4.16666667%;
+}
+
+.van-col--2 {
+ width: 8.33333333%;
+}
+
+.van-col--offset-2 {
+ margin-left: 8.33333333%;
+}
+
+.van-col--3 {
+ width: 12.5%;
+}
+
+.van-col--offset-3 {
+ margin-left: 12.5%;
+}
+
+.van-col--4 {
+ width: 16.66666667%;
+}
+
+.van-col--offset-4 {
+ margin-left: 16.66666667%;
+}
+
+.van-col--5 {
+ width: 20.83333333%;
+}
+
+.van-col--offset-5 {
+ margin-left: 20.83333333%;
+}
+
+.van-col--6 {
+ width: 25%;
+}
+
+.van-col--offset-6 {
+ margin-left: 25%;
+}
+
+.van-col--7 {
+ width: 29.16666667%;
+}
+
+.van-col--offset-7 {
+ margin-left: 29.16666667%;
+}
+
+.van-col--8 {
+ width: 33.33333333%;
+}
+
+.van-col--offset-8 {
+ margin-left: 33.33333333%;
+}
+
+.van-col--9 {
+ width: 37.5%;
+}
+
+.van-col--offset-9 {
+ margin-left: 37.5%;
+}
+
+.van-col--10 {
+ width: 41.66666667%;
+}
+
+.van-col--offset-10 {
+ margin-left: 41.66666667%;
+}
+
+.van-col--11 {
+ width: 45.83333333%;
+}
+
+.van-col--offset-11 {
+ margin-left: 45.83333333%;
+}
+
+.van-col--12 {
+ width: 50%;
+}
+
+.van-col--offset-12 {
+ margin-left: 50%;
+}
+
+.van-col--13 {
+ width: 54.16666667%;
+}
+
+.van-col--offset-13 {
+ margin-left: 54.16666667%;
+}
+
+.van-col--14 {
+ width: 58.33333333%;
+}
+
+.van-col--offset-14 {
+ margin-left: 58.33333333%;
+}
+
+.van-col--15 {
+ width: 62.5%;
+}
+
+.van-col--offset-15 {
+ margin-left: 62.5%;
+}
+
+.van-col--16 {
+ width: 66.66666667%;
+}
+
+.van-col--offset-16 {
+ margin-left: 66.66666667%;
+}
+
+.van-col--17 {
+ width: 70.83333333%;
+}
+
+.van-col--offset-17 {
+ margin-left: 70.83333333%;
+}
+
+.van-col--18 {
+ width: 75%;
+}
+
+.van-col--offset-18 {
+ margin-left: 75%;
+}
+
+.van-col--19 {
+ width: 79.16666667%;
+}
+
+.van-col--offset-19 {
+ margin-left: 79.16666667%;
+}
+
+.van-col--20 {
+ width: 83.33333333%;
+}
+
+.van-col--offset-20 {
+ margin-left: 83.33333333%;
+}
+
+.van-col--21 {
+ width: 87.5%;
+}
+
+.van-col--offset-21 {
+ margin-left: 87.5%;
+}
+
+.van-col--22 {
+ width: 91.66666667%;
+}
+
+.van-col--offset-22 {
+ margin-left: 91.66666667%;
+}
+
+.van-col--23 {
+ width: 95.83333333%;
+}
+
+.van-col--offset-23 {
+ margin-left: 95.83333333%;
+}
+
+.van-col--24 {
+ width: 100%;
+}
+
+.van-col--offset-24 {
+ margin-left: 100%;
+}
\ No newline at end of file
diff --git a/vant/collapse-item/index.js b/vant/collapse-item/index.js
new file mode 100644
index 0000000..3939135
--- /dev/null
+++ b/vant/collapse-item/index.js
@@ -0,0 +1,85 @@
+var t = function() {
+ return new Promise(function(t) {
+ return setTimeout(t, 20);
+ });
+};
+
+(0, require("../common/component").VantComponent)({
+ classes: [ "title-class", "content-class" ],
+ relation: {
+ name: "collapse",
+ type: "ancestor",
+ linked: function(t) {
+ this.parent = t;
+ }
+ },
+ props: {
+ name: null,
+ title: null,
+ value: null,
+ icon: String,
+ label: String,
+ disabled: Boolean,
+ clickable: Boolean,
+ border: {
+ type: Boolean,
+ value: !0
+ },
+ isLink: {
+ type: Boolean,
+ value: !0
+ }
+ },
+ data: {
+ contentHeight: 0,
+ expanded: !1,
+ transition: !1
+ },
+ mounted: function() {
+ var n = this;
+ this.updateExpanded().then(t).then(function() {
+ n.set({
+ transition: !0
+ });
+ });
+ },
+ methods: {
+ updateExpanded: function() {
+ if (!this.parent) return Promise.resolve();
+ var t = this.parent.data, n = t.value, e = t.accordion, i = this.parent.children, a = void 0 === i ? [] : i, o = this.data.name, s = a.indexOf(this), r = null == o ? s : o, l = e ? n === r : (n || []).some(function(t) {
+ return t === r;
+ }), u = [];
+ return l !== this.data.expanded && u.push(this.updateStyle(l)), u.push(this.set({
+ index: s,
+ expanded: l
+ })), Promise.all(u);
+ },
+ updateStyle: function(n) {
+ var e = this;
+ return this.getRect(".van-collapse-item__content").then(function(t) {
+ return t.height;
+ }).then(function(i) {
+ return n ? e.set({
+ contentHeight: i ? i + "px" : "auto"
+ }) : e.set({
+ contentHeight: i + "px"
+ }).then(t).then(function() {
+ return e.set({
+ contentHeight: 0
+ });
+ });
+ });
+ },
+ onClick: function() {
+ if (!this.data.disabled) {
+ var t = this.data, n = t.name, e = t.expanded, i = this.parent.children.indexOf(this), a = null == n ? i : n;
+ this.parent.switch(a, !e);
+ }
+ },
+ onTransitionEnd: function() {
+ this.data.expanded && this.set({
+ contentHeight: "auto"
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/collapse-item/index.json b/vant/collapse-item/index.json
new file mode 100644
index 0000000..eabfb3d
--- /dev/null
+++ b/vant/collapse-item/index.json
@@ -0,0 +1,14 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-cell": "../cell/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/collapse-item/index.wxml b/vant/collapse-item/index.wxml
new file mode 100644
index 0000000..71156bd
--- /dev/null
+++ b/vant/collapse-item/index.wxml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vant/collapse-item/index.wxss b/vant/collapse-item/index.wxss
new file mode 100644
index 0000000..e9e8c26
--- /dev/null
+++ b/vant/collapse-item/index.wxss
@@ -0,0 +1,34 @@
+@import "../area/index.wxss";
+
+.van-collapse-item__title .van-cell__right-icon {
+ transform: rotate(90deg);
+ transition: .3s;
+}
+
+.van-collapse-item__title--expanded .van-cell__right-icon {
+ transform: rotate(-90deg);
+}
+
+.van-collapse-item__title--disabled .van-cell,.van-collapse-item__title--disabled .van-cell__right-icon {
+ color: #c9c9c9!important;
+}
+
+.van-collapse-item__title--disabled .van-cell--hover {
+ background-color: #fff!important;
+}
+
+.van-collapse-item__wrapper {
+ overflow: hidden;
+}
+
+.van-collapse-item__wrapper--transition {
+ transition: height .3s ease-in-out;
+}
+
+.van-collapse-item__content {
+ padding: 15px;
+ font-size: 13px;
+ line-height: 1.5;
+ color: #999;
+ background-color: #fff;
+}
\ No newline at end of file
diff --git a/vant/collapse/index.js b/vant/collapse/index.js
new file mode 100644
index 0000000..190fa36
--- /dev/null
+++ b/vant/collapse/index.js
@@ -0,0 +1,44 @@
+(0, require("../common/component").VantComponent)({
+ relation: {
+ name: "collapse-item",
+ type: "descendant",
+ linked: function(e) {
+ this.children.push(e);
+ },
+ unlinked: function(e) {
+ this.children = this.children.filter(function(n) {
+ return n !== e;
+ });
+ }
+ },
+ props: {
+ value: {
+ type: null,
+ observer: "updateExpanded"
+ },
+ accordion: {
+ type: Boolean,
+ observer: "updateExpanded"
+ },
+ border: {
+ type: Boolean,
+ value: !0
+ }
+ },
+ beforeCreate: function() {
+ this.children = [];
+ },
+ methods: {
+ updateExpanded: function() {
+ this.children.forEach(function(e) {
+ e.updateExpanded();
+ });
+ },
+ switch: function(e, n) {
+ var t = this.data, i = t.accordion, o = t.value;
+ e = i ? n ? e : "" : n ? (o || []).concat(e) : (o || []).filter(function(n) {
+ return n !== e;
+ }), this.$emit("change", e), this.$emit("input", e);
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/collapse/index.json b/vant/collapse/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/vant/collapse/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/collapse/index.wxml b/vant/collapse/index.wxml
new file mode 100644
index 0000000..31bcdf7
--- /dev/null
+++ b/vant/collapse/index.wxml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/vant/collapse/index.wxss b/vant/collapse/index.wxss
new file mode 100644
index 0000000..f720459
--- /dev/null
+++ b/vant/collapse/index.wxss
@@ -0,0 +1 @@
+@import "../area/index.wxss";
\ No newline at end of file
diff --git a/vant/common/color.js b/vant/common/color.js
new file mode 100644
index 0000000..2fef441
--- /dev/null
+++ b/vant/common/color.js
@@ -0,0 +1,5 @@
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+});
+
+exports.RED = "#f44", exports.BLUE = "#1989fa", exports.GREEN = "#07c160";
\ No newline at end of file
diff --git a/vant/common/component.js b/vant/common/component.js
new file mode 100644
index 0000000..f297b6e
--- /dev/null
+++ b/vant/common/component.js
@@ -0,0 +1,44 @@
+function e(e, s, a) {
+ return s in e ? Object.defineProperty(e, s, {
+ value: a,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : e[s] = a, e;
+}
+
+function s(e, s, a) {
+ Object.keys(a).forEach(function(t) {
+ e[t] && (s[a[t]] = e[t]);
+ });
+}
+
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+}), exports.VantComponent = void 0;
+
+var a = require("../mixins/basic"), t = require("../mixins/observer/index");
+
+exports.VantComponent = function() {
+ var r = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, o = {};
+ s(r, o, {
+ data: "data",
+ props: "properties",
+ mixins: "behaviors",
+ methods: "methods",
+ beforeCreate: "created",
+ created: "attached",
+ mounted: "ready",
+ relations: "relations",
+ destroyed: "detached",
+ classes: "externalClasses"
+ });
+ var n = r.relation;
+ n && (o.relations = Object.assign(o.relations || {}, e({}, "../" + n.name + "/index", n))),
+ o.externalClasses = o.externalClasses || [], o.externalClasses.push("custom-class"),
+ o.behaviors = o.behaviors || [], o.behaviors.push(a.basic), r.field && o.behaviors.push("wx://form-field"),
+ o.options = {
+ multipleSlots: !0,
+ addGlobalClass: !0
+ }, (0, t.observe)(r, o), Component(o);
+};
\ No newline at end of file
diff --git a/vant/common/utils.js b/vant/common/utils.js
new file mode 100644
index 0000000..5574d11
--- /dev/null
+++ b/vant/common/utils.js
@@ -0,0 +1,34 @@
+function t(t) {
+ return void 0 !== t && null !== t;
+}
+
+function n(t) {
+ return /^\d+(\.\d+)?$/.test(t);
+}
+
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+});
+
+var e = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
+ return typeof t;
+} : function(t) {
+ return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
+};
+
+exports.isDef = t, exports.isObj = function(t) {
+ var n = void 0 === t ? "undefined" : e(t);
+ return null !== t && ("object" === n || "function" === n);
+}, exports.isNumber = n, exports.range = function(t, n, e) {
+ return Math.min(Math.max(t, n), e);
+}, exports.nextTick = function(t) {
+ setTimeout(function() {
+ t();
+ }, 1e3 / 30);
+}, exports.getSystemInfoSync = function() {
+ return null == o && (o = wx.getSystemInfoSync()), o;
+}, exports.addUnit = function(e) {
+ if (t(e)) return e = String(e), n(e) ? e + "px" : e;
+};
+
+var o = null;
\ No newline at end of file
diff --git a/vant/datetime-picker/index.js b/vant/datetime-picker/index.js
new file mode 100644
index 0000000..37b428b
--- /dev/null
+++ b/vant/datetime-picker/index.js
@@ -0,0 +1,238 @@
+function e(e, t, n) {
+ return t in e ? Object.defineProperty(e, t, {
+ value: n,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : e[t] = n, e;
+}
+
+function t(e) {
+ return (0, s.isDef)(e) && !isNaN(new Date(e).getTime());
+}
+
+function n(e, t, n) {
+ return Math.min(Math.max(e, t), n);
+}
+
+function a(e) {
+ return ("00" + e).slice(-2);
+}
+
+function r(e, t) {
+ for (var n = -1, a = Array(e); ++n < e; ) a[n] = t(n);
+ return a;
+}
+
+function u(e) {
+ if (e) {
+ for (;isNaN(parseInt(e, 10)); ) e = e.slice(1);
+ return parseInt(e, 10);
+ }
+}
+
+function i(e, t) {
+ return 32 - new Date(e, t - 1, 32).getDate();
+}
+
+var o = function() {
+ function e(e, t) {
+ var n = [], a = !0, r = !1, u = void 0;
+ try {
+ for (var i, o = e[Symbol.iterator](); !(a = (i = o.next()).done) && (n.push(i.value),
+ !t || n.length !== t); a = !0) ;
+ } catch (e) {
+ r = !0, u = e;
+ } finally {
+ try {
+ !a && o.return && o.return();
+ } finally {
+ if (r) throw u;
+ }
+ }
+ return n;
+ }
+ return function(t, n) {
+ if (Array.isArray(t)) return t;
+ if (Symbol.iterator in Object(t)) return e(t, n);
+ throw new TypeError("Invalid attempt to destructure non-iterable instance");
+ };
+}(), m = require("../common/component"), s = require("../common/utils"), l = require("../picker/shared"), c = new Date().getFullYear(), h = function(e, t) {
+ return t;
+};
+
+(0, m.VantComponent)({
+ classes: [ "active-class", "toolbar-class", "column-class" ],
+ props: Object.assign({}, l.pickerProps, {
+ formatter: {
+ type: Function,
+ value: h
+ },
+ value: null,
+ type: {
+ type: String,
+ value: "datetime"
+ },
+ showToolbar: {
+ type: Boolean,
+ value: !0
+ },
+ minDate: {
+ type: Number,
+ value: new Date(c - 10, 0, 1).getTime()
+ },
+ maxDate: {
+ type: Number,
+ value: new Date(c + 10, 11, 31).getTime()
+ },
+ minHour: {
+ type: Number,
+ value: 0
+ },
+ maxHour: {
+ type: Number,
+ value: 23
+ },
+ minMinute: {
+ type: Number,
+ value: 0
+ },
+ maxMinute: {
+ type: Number,
+ value: 59
+ }
+ }),
+ data: {
+ innerValue: Date.now(),
+ columns: []
+ },
+ watch: {
+ value: function(e) {
+ var t = this, n = this.data;
+ (e = this.correctValue(e)) === n.innerValue || this.updateColumnValue(e).then(function() {
+ t.$emit("input", e);
+ });
+ },
+ type: "updateColumns",
+ minHour: "updateColumns",
+ maxHour: "updateColumns",
+ minMinute: "updateColumns",
+ maxMinute: "updateColumns"
+ },
+ methods: {
+ getPicker: function() {
+ if (null == this.picker) {
+ var e = this.picker = this.selectComponent(".van-datetime-picker"), t = e.setColumnValues;
+ e.setColumnValues = function() {
+ for (var n = arguments.length, a = Array(n), r = 0; r < n; r++) a[r] = arguments[r];
+ return t.apply(e, [].concat(a, [ !1 ]));
+ };
+ }
+ return this.picker;
+ },
+ updateColumns: function() {
+ var e = this.data.formatter, t = void 0 === e ? h : e, n = this.getRanges().map(function(e, n) {
+ var u = e.type, i = e.range;
+ return {
+ values: r(i[1] - i[0] + 1, function(e) {
+ var n = i[0] + e;
+ return n = "year" === u ? "" + n : a(n), t(u, n);
+ })
+ };
+ });
+ return this.set({
+ columns: n
+ });
+ },
+ getRanges: function() {
+ var e = this.data;
+ if ("time" === e.type) return [ {
+ type: "hour",
+ range: [ e.minHour, e.maxHour ]
+ }, {
+ type: "minute",
+ range: [ e.minMinute, e.maxMinute ]
+ } ];
+ var t = this.getBoundary("max", e.innerValue), n = t.maxYear, a = t.maxDate, r = t.maxMonth, u = t.maxHour, i = t.maxMinute, o = this.getBoundary("min", e.innerValue), m = o.minYear, s = o.minDate, l = [ {
+ type: "year",
+ range: [ m, n ]
+ }, {
+ type: "month",
+ range: [ o.minMonth, r ]
+ }, {
+ type: "day",
+ range: [ s, a ]
+ }, {
+ type: "hour",
+ range: [ o.minHour, u ]
+ }, {
+ type: "minute",
+ range: [ o.minMinute, i ]
+ } ];
+ return "date" === e.type && l.splice(3, 2), "year-month" === e.type && l.splice(2, 3),
+ l;
+ },
+ correctValue: function(e) {
+ var r = this.data, u = "time" !== r.type;
+ if (u && !t(e) ? e = r.minDate : u || e || (e = a(r.minHour) + ":00"), !u) {
+ var i = e.split(":"), m = o(i, 2), s = m[0], l = m[1];
+ return s = a(n(s, r.minHour, r.maxHour)), l = a(n(l, r.minMinute, r.maxMinute)),
+ s + ":" + l;
+ }
+ return e = Math.max(e, r.minDate), e = Math.min(e, r.maxDate);
+ },
+ getBoundary: function(t, n) {
+ var a, r = new Date(n), u = new Date(this.data[t + "Date"]), o = u.getFullYear(), m = 1, s = 1, l = 0, c = 0;
+ return "max" === t && (m = 12, s = i(r.getFullYear(), r.getMonth() + 1), l = 23,
+ c = 59), r.getFullYear() === o && (m = u.getMonth() + 1, r.getMonth() + 1 === m && (s = u.getDate(),
+ r.getDate() === s && (l = u.getHours(), r.getHours() === l && (c = u.getMinutes())))),
+ a = {}, e(a, t + "Year", o), e(a, t + "Month", m), e(a, t + "Date", s), e(a, t + "Hour", l),
+ e(a, t + "Minute", c), a;
+ },
+ onCancel: function() {
+ this.$emit("cancel");
+ },
+ onConfirm: function() {
+ this.$emit("confirm", this.data.innerValue);
+ },
+ onChange: function() {
+ var e = this, t = this.data, n = void 0, a = this.getPicker();
+ if ("time" === t.type) {
+ var r = a.getIndexes();
+ n = r[0] + t.minHour + ":" + (r[1] + t.minMinute);
+ } else {
+ var o = a.getValues(), m = u(o[0]), s = u(o[1]), l = i(m, s), c = u(o[2]);
+ "year-month" === t.type && (c = 1), c = c > l ? l : c;
+ var h = 0, p = 0;
+ "datetime" === t.type && (h = u(o[3]), p = u(o[4])), n = new Date(m, s - 1, c, h, p);
+ }
+ n = this.correctValue(n), this.updateColumnValue(n).then(function() {
+ e.$emit("input", n), e.$emit("change", a);
+ });
+ },
+ updateColumnValue: function(e) {
+ var t = this, n = [], r = this.data, u = r.type, i = r.formatter, o = void 0 === i ? h : i, m = this.getPicker();
+ if ("time" === u) {
+ var s = e.split(":");
+ n = [ o("hour", s[0]), o("minute", s[1]) ];
+ } else {
+ var l = new Date(e);
+ n = [ o("year", "" + l.getFullYear()), o("month", a(l.getMonth() + 1)) ], "date" === u && n.push(o("day", a(l.getDate()))),
+ "datetime" === u && n.push(o("day", a(l.getDate())), o("hour", a(l.getHours())), o("minute", a(l.getMinutes())));
+ }
+ return this.set({
+ innerValue: e
+ }).then(function() {
+ return t.updateColumns();
+ }).then(function() {
+ return m.setValues(n);
+ });
+ }
+ },
+ created: function() {
+ var e = this, t = this.correctValue(this.data.value);
+ this.updateColumnValue(t).then(function() {
+ e.$emit("input", t);
+ });
+ }
+});
\ No newline at end of file
diff --git a/vant/datetime-picker/index.json b/vant/datetime-picker/index.json
new file mode 100644
index 0000000..0146248
--- /dev/null
+++ b/vant/datetime-picker/index.json
@@ -0,0 +1,14 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-picker": "../picker/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/datetime-picker/index.wxml b/vant/datetime-picker/index.wxml
new file mode 100644
index 0000000..ba875a3
--- /dev/null
+++ b/vant/datetime-picker/index.wxml
@@ -0,0 +1 @@
+
diff --git a/vant/datetime-picker/index.wxss b/vant/datetime-picker/index.wxss
new file mode 100644
index 0000000..f720459
--- /dev/null
+++ b/vant/datetime-picker/index.wxss
@@ -0,0 +1 @@
+@import "../area/index.wxss";
\ No newline at end of file
diff --git a/vant/dialog/dialog.js b/vant/dialog/dialog.js
new file mode 100644
index 0000000..b257bab
--- /dev/null
+++ b/vant/dialog/dialog.js
@@ -0,0 +1,54 @@
+function e() {
+ var e = getCurrentPages();
+ return e[e.length - 1];
+}
+
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+});
+
+var t = [], n = function n(o) {
+ return o = Object.assign({}, n.currentOptions, o), o.html = -1 != o.message.indexOf("<"),
+ new Promise(function(n, s) {
+ var c = (o.context || e()).selectComponent(o.selector);
+ delete o.selector, c ? (c.set(Object.assign({
+ onCancel: s,
+ onConfirm: n
+ }, o)), t.push(c)) : console.warn("未找到 van-dialog 节点,请确认 selector 及 context 是否正确");
+ });
+};
+
+n.defaultOptions = {
+ show: !0,
+ title: "",
+ message: "",
+ zIndex: 2e4,
+ overlay: !0,
+ className: "",
+ asyncClose: !1,
+ messageAlign: "",
+ transition: "scale",
+ selector: "#van-dialog",
+ confirmButtonText: "确认",
+ cancelButtonText: "取消",
+ showConfirmButton: !0,
+ showCancelButton: !1,
+ closeOnClickOverlay: !1,
+ confirmButtonOpenType: ""
+}, n.alert = n, n.confirm = function(e) {
+ return n(Object.assign({
+ showCancelButton: !0
+ }, e));
+}, n.close = function() {
+ t.forEach(function(e) {
+ e.close();
+ }), t = [];
+}, n.stopLoading = function() {
+ t.forEach(function(e) {
+ e.stopLoading();
+ });
+}, n.setDefaultOptions = function(e) {
+ Object.assign(n.currentOptions, e);
+}, n.resetDefaultOptions = function() {
+ n.currentOptions = Object.assign({}, n.defaultOptions);
+}, n.resetDefaultOptions(), exports.default = n;
\ No newline at end of file
diff --git a/vant/dialog/index.js b/vant/dialog/index.js
new file mode 100644
index 0000000..4483791
--- /dev/null
+++ b/vant/dialog/index.js
@@ -0,0 +1,99 @@
+function n(n, e, o) {
+ return e in n ? Object.defineProperty(n, e, {
+ value: o,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : n[e] = o, n;
+}
+
+var e = require("../common/component"), o = require("../mixins/button"), t = require("../mixins/open-type");
+
+(0, e.VantComponent)({
+ mixins: [ o.button, t.openType ],
+ props: {
+ show: Boolean,
+ title: String,
+ message: String,
+ useSlot: Boolean,
+ className: String,
+ asyncClose: Boolean,
+ messageAlign: String,
+ showCancelButton: Boolean,
+ closeOnClickOverlay: Boolean,
+ confirmButtonOpenType: String,
+ zIndex: {
+ type: Number,
+ value: 2e4
+ },
+ confirmButtonText: {
+ type: String,
+ value: "确认"
+ },
+ cancelButtonText: {
+ type: String,
+ value: "取消"
+ },
+ showConfirmButton: {
+ type: Boolean,
+ value: !0
+ },
+ overlay: {
+ type: Boolean,
+ value: !0
+ },
+ transition: {
+ type: String,
+ value: "scale"
+ },
+ closable: {
+ type: Boolean,
+ value: !1
+ }
+ },
+ data: {
+ loading: {
+ confirm: !1,
+ cancel: !1
+ }
+ },
+ watch: {
+ show: function(n) {
+ !n && this.stopLoading();
+ }
+ },
+ methods: {
+ onConfirm: function() {
+ this.handleAction("confirm");
+ },
+ onCancel: function() {
+ this.handleAction("cancel");
+ },
+ onClickOverlay: function() {
+ this.onClose("overlay");
+ },
+ handleAction: function(e) {
+ this.data.asyncClose && this.set(n({}, "loading." + e, !0)), this.onClose(e);
+ },
+ close: function() {
+ this.set({
+ show: !1
+ });
+ },
+ stopLoading: function() {
+ this.set({
+ loading: {
+ confirm: !1,
+ cancel: !1
+ }
+ });
+ },
+ onClose: function(n) {
+ this.data.asyncClose || this.close(), this.$emit("close", n), this.$emit(n, {
+ dialog: this
+ });
+ var e = this.data["confirm" === n ? "onConfirm" : "onCancel"];
+ e && e(this);
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/dialog/index.json b/vant/dialog/index.json
new file mode 100644
index 0000000..3122728
--- /dev/null
+++ b/vant/dialog/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "../popup/index",
+ "van-button": "../button/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-icon": "/vant/icon/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/dialog/index.wxml b/vant/dialog/index.wxml
new file mode 100644
index 0000000..71fd43b
--- /dev/null
+++ b/vant/dialog/index.wxml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ {{message}}
+
+
+
diff --git a/vant/dialog/index.wxss b/vant/dialog/index.wxss
new file mode 100644
index 0000000..e8e92bd
--- /dev/null
+++ b/vant/dialog/index.wxss
@@ -0,0 +1,68 @@
+@import "../area/index.wxss";
+
+.van-dialog {
+ width: 85%;
+ overflow: hidden;
+ font-size: 16px;
+ background-color: #fff;
+ border-radius: 4px;
+}
+
+.van-dialog__header {
+ padding-top: 21px;
+ font-weight: 500;
+ text-align: center;
+}
+
+.van-dialog__header--isolated {
+ padding: 25px 0;
+}
+
+.van-dialog__message {
+ max-height: 60vh;
+ padding: 10px 15px;
+ overflow-y: auto;
+ font-size: 14px;
+ line-height: 20px;
+ text-align: center;
+ -webkit-overflow-scrolling: touch;
+}
+
+.van-dialog__message--has-title {
+ padding-top: 12px;
+ color: #7d7e80;
+}
+
+.van-dialog__message--left {
+ text-align: left;
+}
+
+.van-dialog__message--right {
+ text-align: right;
+}
+
+.van-dialog__footer {
+ display: flex;
+}
+
+.van-dialog__button {
+ flex: 1;
+}
+
+.van-dialog__cancel,.van-dialog__confirm {
+ border: 0!important;
+}
+
+.van-dialog__confirm {
+ color: #1989fa!important;
+}
+
+.van-dialog-bounce-enter {
+ opacity: 0;
+ transform: translate3d(-50%,-50%,0) scale(.7);
+}
+
+.van-dialog-bounce-leave-active {
+ opacity: 0;
+ transform: translate3d(-50%,-50%,0) scale(.9);
+}
\ No newline at end of file
diff --git a/vant/field/index.js b/vant/field/index.js
new file mode 100644
index 0000000..9e2f1e0
--- /dev/null
+++ b/vant/field/index.js
@@ -0,0 +1,150 @@
+(0, require("../common/component").VantComponent)({
+ field: !0,
+ classes: [ "input-class", "right-icon-class" ],
+ props: {
+ size: String,
+ icon: String,
+ label: String,
+ toggle: Boolean,
+ error: Boolean,
+ fixed: Boolean,
+ focus: Boolean,
+ center: Boolean,
+ isLink: Boolean,
+ leftIcon: String,
+ rightIcon: String,
+ disabled: Boolean,
+ autosize: Boolean,
+ readonly: Boolean,
+ required: Boolean,
+ password: Boolean,
+ iconClass: String,
+ clearable: Boolean,
+ inputAlign: String,
+ inputClass: String,
+ customClass: String,
+ customStyle: String,
+ confirmType: String,
+ confirmHold: Boolean,
+ errorMessage: String,
+ placeholder: String,
+ placeholderStyle: String,
+ errorMessageAlign: String,
+ showConfirmBar: {
+ type: Boolean,
+ value: !0
+ },
+ adjustPosition: {
+ type: Boolean,
+ value: !0
+ },
+ cursorSpacing: {
+ type: Number,
+ value: 50
+ },
+ maxlength: {
+ type: Number,
+ value: -1
+ },
+ type: {
+ type: String,
+ value: "text"
+ },
+ border: {
+ type: Boolean,
+ value: !0
+ },
+ titleWidth: {
+ type: String,
+ value: "78px"
+ },
+ hidden: {
+ type: Boolean,
+ value: !1
+ }
+ },
+ data: {
+ showClear: !1
+ },
+ beforeCreate: function() {
+ this.focused = !1, this.set({
+ placeholder: 1
+ });
+ },
+ created: function() {
+ this.data.placeholder && this.set({
+ placeholder: this.data.placeholder.replace(/
/g, "\n")
+ }), "textarea" == this.data.type && this.data.value && this.set({
+ value: this.data.value.replace(/\\n/g, "\n").replace(/\\t/g, "\t")
+ });
+ },
+ methods: {
+ onLoad: function() {},
+ onInput: function(e) {
+ var t = this, a = (e.detail || {}).value, o = void 0 === a ? "" : a;
+ this.set({
+ value: o,
+ showClear: this.getShowClear(o)
+ }, function() {
+ t.emitChange(o);
+ });
+ },
+ onFocus: function(e) {
+ var t = e.detail || {}, a = t.value, o = void 0 === a ? "" : a, i = t.height, n = void 0 === i ? 0 : i;
+ this.$emit("focus", {
+ value: o,
+ height: n
+ }), this.focused = !0, this.blurFromClear = !1, this.set({
+ showClear: this.getShowClear()
+ });
+ },
+ onBlur: function(e) {
+ var t = this, a = e.detail || {}, o = a.value, i = void 0 === o ? "" : o, n = a.cursor, l = void 0 === n ? 0 : n;
+ this.$emit("blur", {
+ value: i,
+ cursor: l
+ }), this.focused = !1;
+ var r = this.getShowClear();
+ this.data.value === i ? this.set({
+ showClear: r
+ }) : this.blurFromClear || this.set({
+ value: i,
+ showClear: r
+ }, function() {
+ t.emitChange(i);
+ });
+ },
+ onClickIcon: function() {
+ this.$emit("click-icon");
+ },
+ getShowClear: function(e) {
+ return e = void 0 === e ? this.data.value : e, this.data.clearable && this.focused && e && !this.data.readonly;
+ },
+ onClear: function() {
+ var e = this;
+ wx.showModal({
+ title: "提示",
+ content: "确定清空当前输入框内容吗?",
+ success: function(t) {
+ t.confirm && (e.blurFromClear = !0, e.set({
+ value: "",
+ showClear: e.getShowClear("")
+ }, function() {
+ e.emitChange(""), e.$emit("clear", "");
+ }));
+ }
+ });
+ },
+ onConfirm: function() {
+ this.$emit("confirm", this.data.value);
+ },
+ emitChange: function(e) {
+ var t = this.data.name, a = this.data.label;
+ this.$emit("input", e), this.$emit("change", {
+ name: t,
+ label: a,
+ value: e
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/field/index.json b/vant/field/index.json
new file mode 100644
index 0000000..0402a01
--- /dev/null
+++ b/vant/field/index.json
@@ -0,0 +1,14 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-cell": "../cell/index",
+ "van-icon": "../icon/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/field/index.wxml b/vant/field/index.wxml
new file mode 100644
index 0000000..ebca872
--- /dev/null
+++ b/vant/field/index.wxml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+ {{value}}
+ {{placeholder}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{errorMessage}}
+
+
+
\ No newline at end of file
diff --git a/vant/field/index.wxss b/vant/field/index.wxss
new file mode 100644
index 0000000..5868b92
--- /dev/null
+++ b/vant/field/index.wxss
@@ -0,0 +1,104 @@
+@import "../area/index.wxss";
+
+.van-field__body {
+ display: flex;
+ align-items: center;
+}
+
+.van-field__body--textarea {
+ min-height: 24px;
+}
+
+.van-field__input {
+ position: relative;
+ display: block;
+ width: 100%;
+ height: 24px;
+ min-height: 24px;
+ padding: 0;
+ margin: 0;
+ line-height: inherit;
+ color: #333;
+ text-align: left;
+ background-color: initial;
+ border: 0;
+ box-sizing: border-box;
+ resize: none;
+}
+
+.van-field__input--disabled {
+ color: #999;
+ background-color: initial;
+ opacity: 1;
+}
+
+.van-field__input--center {
+ text-align: center;
+}
+
+.van-field__input--right {
+ text-align: right;
+}
+
+.van-field__placeholder {
+ position: absolute;
+ top: 0;
+ left: 0;
+ color: #999;
+ pointer-events: none;
+}
+
+.van-field__placeholder--error {
+ color: #f44;
+}
+
+.van-field__icon-root {
+ display: flex;
+ min-height: 24px;
+ align-items: center;
+}
+
+.van-field__clear-root,.van-field__icon-container {
+ padding: 0 10px;
+ margin-right: -10px;
+ line-height: inherit;
+ vertical-align: middle;
+}
+
+.van-field__button,.van-field__clear-root,.van-field__icon-container {
+ flex-shrink: 0;
+}
+
+.van-field__clear-root {
+ color: #c9c9c9;
+}
+
+.van-field__icon-container {
+ color: #999;
+}
+
+.van-field__icon-container:empty {
+ display: none;
+}
+
+.van-field__button {
+ padding-left: 10px;
+}
+
+.van-field__button:empty {
+ display: none;
+}
+
+.van-field__error-message {
+ font-size: 12px;
+ color: #f44;
+ text-align: left;
+}
+
+.van-field__error-message--center {
+ text-align: center;
+}
+
+.van-field__error-message--right {
+ text-align: right;
+}
\ No newline at end of file
diff --git a/vant/goods-action-button/index.js b/vant/goods-action-button/index.js
new file mode 100644
index 0000000..47e5902
--- /dev/null
+++ b/vant/goods-action-button/index.js
@@ -0,0 +1,37 @@
+var t = require("../common/component"), i = require("../mixins/link"), n = require("../mixins/button"), e = require("../mixins/open-type");
+
+(0, t.VantComponent)({
+ mixins: [ i.link, n.button, e.openType ],
+ relation: {
+ type: "ancestor",
+ name: "goods-action",
+ linked: function(t) {
+ this.parent = t;
+ }
+ },
+ props: {
+ text: String,
+ color: String,
+ loading: Boolean,
+ disabled: Boolean,
+ type: {
+ type: String,
+ value: "danger"
+ }
+ },
+ mounted: function() {
+ this.updateStyle();
+ },
+ methods: {
+ onClick: function(t) {
+ this.$emit("click", t.detail), this.jumpLink();
+ },
+ updateStyle: function() {
+ var t = this.parent.children, i = void 0 === t ? [] : t, n = i.indexOf(this);
+ this.setData({
+ isFirst: 0 === n,
+ isLast: n === i.length - 1
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/goods-action-button/index.json b/vant/goods-action-button/index.json
new file mode 100644
index 0000000..9cbc696
--- /dev/null
+++ b/vant/goods-action-button/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-button": "../button/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/goods-action-button/index.wxml b/vant/goods-action-button/index.wxml
new file mode 100644
index 0000000..6e14b3c
--- /dev/null
+++ b/vant/goods-action-button/index.wxml
@@ -0,0 +1,4 @@
+
+ {{text}}
+
+
\ No newline at end of file
diff --git a/vant/goods-action-button/index.wxss b/vant/goods-action-button/index.wxss
new file mode 100644
index 0000000..c729ba5
--- /dev/null
+++ b/vant/goods-action-button/index.wxss
@@ -0,0 +1,45 @@
+@import "../area/index.wxss";
+
+.van-goods-action-button {
+ border: none!important;
+ height: 40px!important;
+ height: var(--goods-action-button-height,40px)!important;
+ font-weight: 500!important;
+ font-weight: var(--font-weight-bold,500)!important;
+ line-height: 40px!important;
+ line-height: var(--goods-action-button-height,40px)!important;
+}
+
+.van-goods-action-button--first {
+ display: block!important;
+ margin-left: 5px;
+ border-top-left-radius: 20px!important;
+ border-top-left-radius: var(--goods-action-button-border-radius,20px)!important;
+ border-bottom-left-radius: 20px!important;
+ border-bottom-left-radius: var(--goods-action-button-border-radius,20px)!important;
+}
+
+.van-goods-action-button--last {
+ display: block!important;
+ margin-right: 5px;
+ border-top-right-radius: 20px!important;
+ border-top-right-radius: var(--goods-action-button-border-radius,20px)!important;
+ border-bottom-right-radius: 20px!important;
+ border-bottom-right-radius: var(--goods-action-button-border-radius,20px)!important;
+}
+
+.van-goods-action-button--warning {
+ background: linear-gradient(90deg,#ffd01e,#ff8917);
+ background: var(--goods-action-button-warning-color,linear-gradient(90deg,#ffd01e,#ff8917));
+}
+
+.van-goods-action-button--danger {
+ background: linear-gradient(90deg,#ff6034,#ee0a24);
+ background: var(--goods-action-button-danger-color,linear-gradient(90deg,#ff6034,#ee0a24));
+}
+
+@media (max-width:321px) {
+ .van-goods-action-button {
+ font-size: 13px;
+ }
+}
\ No newline at end of file
diff --git a/vant/goods-action-icon/index.js b/vant/goods-action-icon/index.js
new file mode 100644
index 0000000..02efd73
--- /dev/null
+++ b/vant/goods-action-icon/index.js
@@ -0,0 +1,19 @@
+var i = require("../common/component"), n = require("../mixins/link"), e = require("../mixins/button"), o = require("../mixins/open-type");
+
+(0, i.VantComponent)({
+ classes: [ "icon-class", "text-class" ],
+ mixins: [ n.link, e.button, o.openType ],
+ props: {
+ text: String,
+ dot: Boolean,
+ info: String,
+ icon: String,
+ disabled: Boolean,
+ loading: Boolean
+ },
+ methods: {
+ onClick: function(i) {
+ this.$emit("click", i.detail), this.jumpLink();
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/goods-action-icon/index.json b/vant/goods-action-icon/index.json
new file mode 100644
index 0000000..0061f6f
--- /dev/null
+++ b/vant/goods-action-icon/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-button": "../button/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/goods-action-icon/index.wxml b/vant/goods-action-icon/index.wxml
new file mode 100644
index 0000000..9454583
--- /dev/null
+++ b/vant/goods-action-icon/index.wxml
@@ -0,0 +1,7 @@
+
+
+
+
+ {{text}}
+
+
diff --git a/vant/goods-action-icon/index.wxss b/vant/goods-action-icon/index.wxss
new file mode 100644
index 0000000..bb41cd0
--- /dev/null
+++ b/vant/goods-action-icon/index.wxss
@@ -0,0 +1,23 @@
+@import "../area/index.wxss";
+
+.van-goods-action-icon {
+ border: none!important;
+ width: 50px!important;
+ width: var(--goods-action-icon-height,50px)!important;
+}
+
+.van-goods-action-icon__content {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ height: 100%;
+ line-height: 1;
+ font-size: 10px;
+ font-size: var(--goods-action-icon-font-size,10px);
+ color: #646566;
+ color: var(--goods-action-icon-text-color,#646566);
+}
+
+.van-goods-action-icon__icon {
+ margin-bottom: 4px;
+}
\ No newline at end of file
diff --git a/vant/goods-action/index.js b/vant/goods-action/index.js
new file mode 100644
index 0000000..8a0ec35
--- /dev/null
+++ b/vant/goods-action/index.js
@@ -0,0 +1,23 @@
+(0, require("../common/component").VantComponent)({
+ relation: {
+ type: "descendant",
+ name: "goods-action-button",
+ linked: function(n) {
+ this.children.push(n);
+ },
+ unlinked: function(n) {
+ this.children = this.children.filter(function(e) {
+ return e !== n;
+ });
+ }
+ },
+ beforeCreate: function() {
+ this.children = [];
+ },
+ props: {
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: !0
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/goods-action/index.json b/vant/goods-action/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/vant/goods-action/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/goods-action/index.wxml b/vant/goods-action/index.wxml
new file mode 100644
index 0000000..9821e54
--- /dev/null
+++ b/vant/goods-action/index.wxml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/vant/goods-action/index.wxss b/vant/goods-action/index.wxss
new file mode 100644
index 0000000..73afdd6
--- /dev/null
+++ b/vant/goods-action/index.wxss
@@ -0,0 +1,17 @@
+@import "../area/index.wxss";
+
+.van-goods-action {
+ z-index: 999;
+ position: fixed;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ display: flex;
+ align-items: center;
+ background-color: #fff;
+ background-color: var(--goods-action-background-color,#fff);
+}
+
+.van-goods-action--safe {
+ padding-bottom: env(safe-area-inset-bottom);
+}
\ No newline at end of file
diff --git a/vant/icon/index.js b/vant/icon/index.js
new file mode 100644
index 0000000..ed7d5df
--- /dev/null
+++ b/vant/icon/index.js
@@ -0,0 +1,18 @@
+(0, require("../common/component").VantComponent)({
+ props: {
+ info: null,
+ name: String,
+ size: String,
+ color: String,
+ customStyle: String,
+ classPrefix: {
+ type: String,
+ value: "van-icon"
+ }
+ },
+ methods: {
+ onClick: function() {
+ this.$emit("click");
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/icon/index.json b/vant/icon/index.json
new file mode 100644
index 0000000..942164a
--- /dev/null
+++ b/vant/icon/index.json
@@ -0,0 +1,14 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-info": "../info/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/icon/index.wxml b/vant/icon/index.wxml
new file mode 100644
index 0000000..67586a5
--- /dev/null
+++ b/vant/icon/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/vant/icon/index.wxss b/vant/icon/index.wxss
new file mode 100644
index 0000000..334d00c
--- /dev/null
+++ b/vant/icon/index.wxss
@@ -0,0 +1,1279 @@
+@import "../area/index.wxss";
+
+@font-face {
+ font-style:normal;font-weight:400;font-family:vant-icon;src:url(data:application/font-woff2;charset=utf-8;base64,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) format('woff2');
+}
+
+.van-icon {
+ position: relative;
+ font-family: vant-icon;
+ display: inline;
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-transform: none;
+ line-height: 1;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ font-size: 16px;
+}
+
+.van-icon,.van-icon:before {
+ display: inline-block;
+}
+
+.van-icon-add-o:before {
+ content: "\f000";
+}
+
+.van-icon-add-square:before {
+ content: "\f001";
+}
+
+.van-icon-add:before {
+ content: "\f002";
+}
+
+.van-icon-after-sale:before {
+ content: "\f003";
+}
+
+.van-icon-aim:before {
+ content: "\f004";
+}
+
+.van-icon-alipay:before {
+ content: "\f005";
+}
+
+.van-icon-apps-o:before {
+ content: "\f006";
+}
+
+.van-icon-arrow-down:before {
+ content: "\f007";
+}
+
+.van-icon-arrow-left:before {
+ content: "\f008";
+}
+
+.van-icon-arrow-up:before {
+ content: "\f009";
+}
+
+.van-icon-arrow:before {
+ content: "\f00a";
+}
+
+.van-icon-ascending:before {
+ content: "\f00b";
+}
+
+.van-icon-audio:before {
+ content: "\f00c";
+}
+
+.van-icon-award-o:before {
+ content: "\f00d";
+}
+
+.van-icon-award:before {
+ content: "\f00e";
+}
+
+.van-icon-bag-o:before {
+ content: "\f00f";
+}
+
+.van-icon-bag:before {
+ content: "\f010";
+}
+
+.van-icon-balance-list-o:before {
+ content: "\f011";
+}
+
+.van-icon-balance-list:before {
+ content: "\f012";
+}
+
+.van-icon-balance-o:before {
+ content: "\f013";
+}
+
+.van-icon-balance-pay:before {
+ content: "\f014";
+}
+
+.van-icon-bar-chart-o:before {
+ content: "\f015";
+}
+
+.van-icon-bars:before {
+ content: "\f016";
+}
+
+.van-icon-bell:before {
+ content: "\f017";
+}
+
+.van-icon-bill-o:before {
+ content: "\f018";
+}
+
+.van-icon-bill:before {
+ content: "\f019";
+}
+
+.van-icon-birthday-cake-o:before {
+ content: "\f01a";
+}
+
+.van-icon-bookmark-o:before {
+ content: "\f01b";
+}
+
+.van-icon-bookmark:before {
+ content: "\f01c";
+}
+
+.van-icon-browsing-history-o:before {
+ content: "\f01d";
+}
+
+.van-icon-browsing-history:before {
+ content: "\f01e";
+}
+
+.van-icon-brush-o:before {
+ content: "\f01f";
+}
+
+.van-icon-bulb-o:before {
+ content: "\f020";
+}
+
+.van-icon-bullhorn-o:before {
+ content: "\f021";
+}
+
+.van-icon-calender-o:before {
+ content: "\f022";
+}
+
+.van-icon-card:before {
+ content: "\f023";
+}
+
+.van-icon-cart-circle-o:before {
+ content: "\f024";
+}
+
+.van-icon-cart-circle:before {
+ content: "\f025";
+}
+
+.van-icon-cart-o:before {
+ content: "\f026";
+}
+
+.van-icon-cart:before {
+ content: "\f027";
+}
+
+.van-icon-cash-back-record:before {
+ content: "\f028";
+}
+
+.van-icon-cash-on-deliver:before {
+ content: "\f029";
+}
+
+.van-icon-cashier-o:before {
+ content: "\f02a";
+}
+
+.van-icon-certificate:before {
+ content: "\f02b";
+}
+
+.van-icon-chart-trending-o:before {
+ content: "\f02c";
+}
+
+.van-icon-chat-o:before {
+ content: "\f02d";
+}
+
+.van-icon-chat:before {
+ content: "\f02e";
+}
+
+.van-icon-checked:before {
+ content: "\f02f";
+}
+
+.van-icon-circle:before {
+ content: "\f030";
+}
+
+.van-icon-clear:before {
+ content: "\f031";
+}
+
+.van-icon-clock-o:before {
+ content: "\f032";
+}
+
+.van-icon-clock:before {
+ content: "\f033";
+}
+
+.van-icon-close:before {
+ content: "\f034";
+}
+
+.van-icon-closed-eye:before {
+ content: "\f035";
+}
+
+.van-icon-cluster-o:before {
+ content: "\f036";
+}
+
+.van-icon-cluster:before {
+ content: "\f037";
+}
+
+.van-icon-column:before {
+ content: "\f038";
+}
+
+.van-icon-comment-circle-o:before {
+ content: "\f039";
+}
+
+.van-icon-comment-o:before {
+ content: "\f03a";
+}
+
+.van-icon-comment:before {
+ content: "\f03b";
+}
+
+.van-icon-completed:before {
+ content: "\f03c";
+}
+
+.van-icon-contact:before {
+ content: "\f03d";
+}
+
+.van-icon-coupon-o:before {
+ content: "\f03e";
+}
+
+.van-icon-coupon:before {
+ content: "\f03f";
+}
+
+.van-icon-credit-pay:before {
+ content: "\f040";
+}
+
+.van-icon-cross:before {
+ content: "\f041";
+}
+
+.van-icon-debit-pay:before {
+ content: "\f042";
+}
+
+.van-icon-delete:before {
+ content: "\f043";
+}
+
+.van-icon-descending:before {
+ content: "\f044";
+}
+
+.van-icon-description:before {
+ content: "\f045";
+}
+
+.van-icon-desktop-o:before {
+ content: "\f046";
+}
+
+.van-icon-diamond-o:before {
+ content: "\f047";
+}
+
+.van-icon-diamond:before {
+ content: "\f048";
+}
+
+.van-icon-discount:before {
+ content: "\f049";
+}
+
+.van-icon-ecard-pay:before {
+ content: "\f04a";
+}
+
+.van-icon-edit:before {
+ content: "\f04b";
+}
+
+.van-icon-ellipsis:before {
+ content: "\f04c";
+}
+
+.van-icon-envelop-o:before {
+ content: "\f04e";
+}
+
+.van-icon-exchange:before {
+ content: "\f04f";
+}
+
+.van-icon-expand-o:before {
+ content: "\f050";
+}
+
+.van-icon-expand:before {
+ content: "\f051";
+}
+
+.van-icon-eye-o:before {
+ content: "\f052";
+}
+
+.van-icon-eye:before {
+ content: "\f053";
+}
+
+.van-icon-fail:before {
+ content: "\f054";
+}
+
+.van-icon-failure:before {
+ content: "\f055";
+}
+
+.van-icon-filter-o:before {
+ content: "\f056";
+}
+
+.van-icon-fire-o:before {
+ content: "\f057";
+}
+
+.van-icon-fire:before {
+ content: "\f058";
+}
+
+.van-icon-flag-o:before {
+ content: "\f059";
+}
+
+.van-icon-flower-o:before {
+ content: "\f05a";
+}
+
+.van-icon-free-postage:before {
+ content: "\f05b";
+}
+
+.van-icon-friends-o:before {
+ content: "\f05c";
+}
+
+.van-icon-friends:before {
+ content: "\f05d";
+}
+
+.van-icon-gem-o:before {
+ content: "\f05e";
+}
+
+.van-icon-gem:before {
+ content: "\f05f";
+}
+
+.van-icon-gift-card-o:before {
+ content: "\f060";
+}
+
+.van-icon-gift-card:before {
+ content: "\f061";
+}
+
+.van-icon-gift-o:before {
+ content: "\f062";
+}
+
+.van-icon-gift:before {
+ content: "\f063";
+}
+
+.van-icon-gold-coin-o:before {
+ content: "\f064";
+}
+
+.van-icon-gold-coin:before {
+ content: "\f065";
+}
+
+.van-icon-goods-collect-o:before {
+ content: "\f066";
+}
+
+.van-icon-goods-collect:before {
+ content: "\f067";
+}
+
+.van-icon-graphic:before {
+ content: "\f068";
+}
+
+.van-icon-home-o:before {
+ content: "\f069";
+}
+
+.van-icon-hot-o:before {
+ content: "\f06a";
+}
+
+.van-icon-hot-sale-o:before {
+ content: "\f06b";
+}
+
+.van-icon-hot-sale:before {
+ content: "\f06c";
+}
+
+.van-icon-hot:before {
+ content: "\f06d";
+}
+
+.van-icon-hotel-o:before {
+ content: "\f06e";
+}
+
+.van-icon-idcard:before {
+ content: "\f06f";
+}
+
+.van-icon-info-o:before {
+ content: "\f070";
+}
+
+.van-icon-info:before {
+ content: "\f071";
+}
+
+.van-icon-invition:before {
+ content: "\f072";
+}
+
+.van-icon-label-o:before {
+ content: "\f073";
+}
+
+.van-icon-label:before {
+ content: "\f074";
+}
+
+.van-icon-like-o:before {
+ content: "\f075";
+}
+
+.van-icon-like:before {
+ content: "\f076";
+}
+
+.van-icon-live:before {
+ content: "\f077";
+}
+
+.van-icon-location-o:before {
+ content: "\f078";
+}
+
+.van-icon-location:before {
+ content: "\f079";
+}
+
+.van-icon-lock:before {
+ content: "\f07a";
+}
+
+.van-icon-logistics:before {
+ content: "\f07b";
+}
+
+.van-icon-manager-o:before {
+ content: "\f07c";
+}
+
+.van-icon-manager:before {
+ content: "\f07d";
+}
+
+.van-icon-map-marked:before {
+ content: "\f07e";
+}
+
+.van-icon-medel-o:before {
+ content: "\f07f";
+}
+
+.van-icon-medel:before {
+ content: "\f080";
+}
+
+.van-icon-more-o:before {
+ content: "\f081";
+}
+
+.van-icon-more:before {
+ content: "\f082";
+}
+
+.van-icon-music-o:before {
+ content: "\f083";
+}
+
+.van-icon-new-arrival-o:before {
+ content: "\f084";
+}
+
+.van-icon-new-arrival:before {
+ content: "\f085";
+}
+
+.van-icon-new-o:before {
+ content: "\f086";
+}
+
+.van-icon-new:before {
+ content: "\f087";
+}
+
+.van-icon-newspaper-o:before {
+ content: "\f088";
+}
+
+.van-icon-notes-o:before {
+ content: "\f089";
+}
+
+.van-icon-orders-o:before {
+ content: "\f08a";
+}
+
+.van-icon-other-pay:before {
+ content: "\f08b";
+}
+
+.van-icon-paid:before {
+ content: "\f08c";
+}
+
+.van-icon-passed:before {
+ content: "\f08d";
+}
+
+.van-icon-pause-circle-o:before {
+ content: "\f08e";
+}
+
+.van-icon-pause-circle:before {
+ content: "\f08f";
+}
+
+.van-icon-pause:before {
+ content: "\f090";
+}
+
+.van-icon-peer-pay:before {
+ content: "\f091";
+}
+
+.van-icon-pending-payment:before {
+ content: "\f092";
+}
+
+.van-icon-phone-circle-o:before {
+ content: "\f093";
+}
+
+.van-icon-phone-o:before {
+ content: "\f094";
+}
+
+.van-icon-phone:before {
+ content: "\f095";
+}
+
+.van-icon-photo-o:before {
+ content: "\f096";
+}
+
+.van-icon-photo:before {
+ content: "\f097";
+}
+
+.van-icon-photograph:before {
+ content: "\f098";
+}
+
+.van-icon-play-circle-o:before {
+ content: "\f099";
+}
+
+.van-icon-play-circle:before {
+ content: "\f09a";
+}
+
+.van-icon-play:before {
+ content: "\f09b";
+}
+
+.van-icon-plus:before {
+ content: "\f09c";
+}
+
+.van-icon-point-gift-o:before {
+ content: "\f09d";
+}
+
+.van-icon-point-gift:before {
+ content: "\f09e";
+}
+
+.van-icon-points:before {
+ content: "\f09f";
+}
+
+.van-icon-printer:before {
+ content: "\f0a0";
+}
+
+.van-icon-qr-invalid:before {
+ content: "\f0a1";
+}
+
+.van-icon-qr:before {
+ content: "\f0a2";
+}
+
+.van-icon-question-o:before {
+ content: "\f0a3";
+}
+
+.van-icon-question:before {
+ content: "\f0a4";
+}
+
+.van-icon-records:before {
+ content: "\f0a5";
+}
+
+.van-icon-refund-o:before {
+ content: "\f0a6";
+}
+
+.van-icon-replay:before {
+ content: "\f0a7";
+}
+
+.van-icon-scan:before {
+ content: "\f0a8";
+}
+
+.van-icon-search1:before {
+ content: "\f0a9";
+}
+
+.van-icon-send-gift-o:before {
+ content: "\f0aa";
+}
+
+.van-icon-send-gift:before {
+ content: "\f0ab";
+}
+
+.van-icon-service-o:before {
+ content: "\f0ac";
+}
+
+.van-icon-service:before {
+ content: "\f0ad";
+}
+
+.van-icon-setting-o:before {
+ content: "\f0ae";
+}
+
+.van-icon-setting:before {
+ content: "\f0af";
+}
+
+.van-icon-share:before {
+ content: "\f0b0";
+}
+
+.van-icon-shop-collect-o:before {
+ content: "\f0b1";
+}
+
+.van-icon-shop-collect:before {
+ content: "\f0b2";
+}
+
+.van-icon-shop-o:before {
+ content: "\f0b3";
+}
+
+.van-icon-shop:before {
+ content: "\f0b4";
+}
+
+.van-icon-shopping-cart-o:before {
+ content: "\f0b5";
+}
+
+.van-icon-shopping-cart:before {
+ content: "\f0b6";
+}
+
+.van-icon-shrink:before {
+ content: "\f0b7";
+}
+
+.van-icon-sign:before {
+ content: "\f0b8";
+}
+
+.van-icon-smile-comment-o:before {
+ content: "\f0b9";
+}
+
+.van-icon-smile-comment:before {
+ content: "\f0ba";
+}
+
+.van-icon-smile-o:before {
+ content: "\f0bb";
+}
+
+.van-icon-star-o:before {
+ content: "\f0bc";
+}
+
+.van-icon-star:before {
+ content: "\f0bd";
+}
+
+.van-icon-stop-circle-o:before {
+ content: "\f0be";
+}
+
+.van-icon-stop-circle:before {
+ content: "\f0bf";
+}
+
+.van-icon-stop:before {
+ content: "\f0c0";
+}
+
+.van-icon-success:before {
+ content: "\f0c1";
+}
+
+.van-icon-thumb-circle-o:before {
+ content: "\f0c2";
+}
+
+.van-icon-todo-list-o:before {
+ content: "\f0c3";
+}
+
+.van-icon-todo-list:before {
+ content: "\f0c4";
+}
+
+.van-icon-tosend:before {
+ content: "\f0c5";
+}
+
+.van-icon-tv-o:before {
+ content: "\f0c6";
+}
+
+.van-icon-umbrella-circle:before {
+ content: "\f0c7";
+}
+
+.van-icon-underway-o:before {
+ content: "\f0c8";
+}
+
+.van-icon-underway:before {
+ content: "\f0c9";
+}
+
+.van-icon-upgrade:before {
+ content: "\f0ca";
+}
+
+.van-icon-user-circle-o:before {
+ content: "\f0cb";
+}
+
+.van-icon-user-o:before {
+ content: "\f0cc";
+}
+
+.van-icon-video-o:before {
+ content: "\f0cd";
+}
+
+.van-icon-video:before {
+ content: "\f0ce";
+}
+
+.van-icon-vip-card-o:before {
+ content: "\f0cf";
+}
+
+.van-icon-vip-card:before {
+ content: "\f0d0";
+}
+
+.van-icon-volume-o:before {
+ content: "\f0d1";
+}
+
+.van-icon-volume:before {
+ content: "\f0d2";
+}
+
+.van-icon-wap-home:before {
+ content: "\f0d3";
+}
+
+.van-icon-wap-nav:before {
+ content: "\f0d4";
+}
+
+.van-icon-warn-o:before {
+ content: "\f0d5";
+}
+
+.van-icon-warning-o:before {
+ content: "\f0d6";
+}
+
+.van-icon-weapp-nav:before {
+ content: "\f0d7";
+}
+
+.van-icon-wechat:before {
+ content: "\f0d8";
+}
+
+.van-icon-youzan-shield:before {
+ content: "\f0d9";
+}
+
+.van-icon-huiliuquhuodong:before {
+ content: "\3477";
+}
+
+.van-icon-caidantubiao-02:before {
+ content: "\e501";
+}
+
+.van-icon-shijian:before {
+ content: "\e600";
+}
+
+.van-icon-qq:before {
+ content: "\e603";
+}
+
+.van-icon-zhishu:before {
+ content: "\e614";
+}
+
+.van-icon-tuijian:before {
+ content: "\e617";
+}
+
+.van-icon-woyaojubao-copy:before {
+ content: "\e61b";
+}
+
+.van-icon-guize:before {
+ content: "\e625";
+}
+
+.van-icon-kefu1:before {
+ content: "\e62a";
+}
+
+.van-icon-tuijiankaobei4-left:before {
+ content: "\e62b";
+}
+
+.van-icon-kefu2:before {
+ content: "\e62f";
+}
+
+.van-icon-icon1460187848267:before {
+ content: "\e630";
+}
+
+.van-icon-chakantieziguanzhu:before {
+ content: "\e631";
+}
+
+.van-icon-fanhuidingbu:before {
+ content: "\e632";
+}
+
+.van-icon-touxiang:before {
+ content: "\e637";
+}
+
+.van-icon-lajitong:before {
+ content: "\e647";
+}
+
+.van-icon-shang:before {
+ content: "\e648";
+}
+
+.van-icon-shang-copy-copy:before {
+ content: "\e649";
+}
+
+.van-icon-tianjia:before {
+ content: "\e64a";
+}
+
+.van-icon-yulan:before {
+ content: "\e64c";
+}
+
+.van-icon-jia:before {
+ content: "\e64d";
+}
+
+.van-icon-duigou1:before {
+ content: "\e64e";
+}
+
+.van-icon-jian:before {
+ content: "\e64f";
+}
+
+.van-icon-duigou:before {
+ content: "\e650";
+}
+
+.van-icon-zhifubao:before {
+ content: "\e654";
+}
+
+.van-icon-wangyin:before {
+ content: "\e656";
+}
+
+.van-icon-weixinzhifu:before {
+ content: "\e657";
+}
+
+.van-icon-jifen:before {
+ content: "\e65a";
+}
+
+.van-icon-jifen1:before {
+ content: "\e65f";
+}
+
+.van-icon-jifenmingxi:before {
+ content: "\e662";
+}
+
+.van-icon-zhuye1:before {
+ content: "\e664";
+}
+
+.van-icon-qq2:before {
+ content: "\e666";
+}
+
+.van-icon-yuanxing:before {
+ content: "\e668";
+}
+
+.van-icon-shuaxin:before {
+ content: "\e669";
+}
+
+.van-icon-shaixuan1:before {
+ content: "\e66c";
+}
+
+.van-icon-icon-yxj-empty-store:before {
+ content: "\e66d";
+}
+
+.van-icon-luntanline:before {
+ content: "\e66e";
+}
+
+.van-icon-icon1:before {
+ content: "\e671";
+}
+
+.van-icon-icon:before {
+ content: "\e672";
+}
+
+.van-icon-favor:before {
+ content: "\e673";
+}
+
+.van-icon-search:before {
+ content: "\e674";
+}
+
+.van-icon-deliver:before {
+ content: "\e675";
+}
+
+.van-icon-evaluate:before {
+ content: "\e676";
+}
+
+.van-icon-pay:before {
+ content: "\e677";
+}
+
+.van-icon-iconfonticonpay:before {
+ content: "\e67c";
+}
+
+.van-icon-shalou:before {
+ content: "\e682";
+}
+
+.van-icon-dianhua:before {
+ content: "\e684";
+}
+
+.van-icon-chakanjilu:before {
+ content: "\e685";
+}
+
+.van-icon-balance2:before {
+ content: "\e68e";
+}
+
+.van-icon-haofangtuo400iconfontqiugouxinxi:before {
+ content: "\e690";
+}
+
+.van-icon-shoucang3:before {
+ content: "\e693";
+}
+
+.van-icon-mingxi-copy:before {
+ content: "\e695";
+}
+
+.van-icon-zhanghuanquan:before {
+ content: "\e69b";
+}
+
+.van-icon-icon6:before {
+ content: "\e69c";
+}
+
+.van-icon-49:before {
+ content: "\e69d";
+}
+
+.van-icon-msnui-safe:before {
+ content: "\e6a2";
+}
+
+.van-icon-icongonggao01:before {
+ content: "\e6a4";
+}
+
+.van-icon-tishi2:before {
+ content: "\e6a7";
+}
+
+.van-icon-zhuce2:before {
+ content: "\e6aa";
+}
+
+.van-icon-gouwuchekong:before {
+ content: "\e6ab";
+}
+
+.van-icon-tongji:before {
+ content: "\e6b1";
+}
+
+.van-icon-shuaxin1:before {
+ content: "\e6b2";
+}
+
+.van-icon-shuaxin3:before {
+ content: "\e6b4";
+}
+
+.van-icon-tupian3:before {
+ content: "\e6b5";
+}
+
+.van-icon-qian-:before {
+ content: "\e6b7";
+}
+
+.van-icon-dingweijujiao:before {
+ content: "\e6bd";
+}
+
+.van-icon-jujiao:before {
+ content: "\e6c1";
+}
+
+.van-icon-tijiao:before {
+ content: "\e6c6";
+}
+
+.van-icon-gou4:before {
+ content: "\e6cc";
+}
+
+.van-icon-cuowu:before {
+ content: "\e6cd";
+}
+
+.van-icon-zhengque:before {
+ content: "\e6ce";
+}
+
+.van-icon-wangzhanpeizhi:before {
+ content: "\e6d4";
+}
+
+.van-icon-anonymous-iconfont:before {
+ content: "\e6d5";
+}
+
+.van-icon-tishi3:before {
+ content: "\e6e0";
+}
+
+.van-icon-xinzeng:before {
+ content: "\e6e1";
+}
+
+.van-icon-yun:before {
+ content: "\e6e3";
+}
+
+.van-icon-wenzhang:before {
+ content: "\e6e4";
+}
+
+.van-icon-zhifeiji:before {
+ content: "\e6e6";
+}
+
+.van-icon-zjdm:before {
+ content: "\e6e7";
+}
+
+.van-icon-cangku:before {
+ content: "\e6ea";
+}
+
+.van-icon-we:before {
+ content: "\e6f5";
+}
+
+.van-icon-tixianjilu:before {
+ content: "\e706";
+}
+
+.van-icon-creative:before {
+ content: "\e719";
+}
+
+.van-icon-yuanjiaojuxing:before {
+ content: "\e71a";
+}
+
+.van-icon-bad:before {
+ content: "\e723";
+}
+
+.van-icon-taoxiaopu:before {
+ content: "\e73b";
+}
+
+.van-icon-goodsnew:before {
+ content: "\e7c0";
+}
+
+.van-icon-tuichu:before {
+ content: "\e7c7";
+}
+
+.van-icon-fenlei2:before {
+ content: "\e85a";
+}
+
+.van-icon--fuwu-xianxing:before {
+ content: "\e8a9";
+}
+
+.van-icon-kulian:before {
+ content: "\e8d6";
+}
+
+.van-icon-coffee:before {
+ content: "\e97a";
+}
+
+.van-icon--image {
+ width: 1em;
+ height: 1em;
+}
+
+.van-icon__image {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ max-width: 100%;
+ max-height: 100%;
+ margin: auto;
+}
+
+.van-icon__info {
+ z-index: 1;
+}
\ No newline at end of file
diff --git a/vant/info/index.js b/vant/info/index.js
new file mode 100644
index 0000000..b33014b
--- /dev/null
+++ b/vant/info/index.js
@@ -0,0 +1,6 @@
+(0, require("../common/component").VantComponent)({
+ props: {
+ info: null,
+ customStyle: String
+ }
+});
\ No newline at end of file
diff --git a/vant/info/index.json b/vant/info/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/vant/info/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/info/index.wxml b/vant/info/index.wxml
new file mode 100644
index 0000000..655d232
--- /dev/null
+++ b/vant/info/index.wxml
@@ -0,0 +1 @@
+{{info}}
diff --git a/vant/info/index.wxss b/vant/info/index.wxss
new file mode 100644
index 0000000..e72f4b6
--- /dev/null
+++ b/vant/info/index.wxss
@@ -0,0 +1,22 @@
+@import "../area/index.wxss";
+
+.van-info {
+ position: absolute;
+ top: -8px;
+ right: 0;
+ min-width: 16px;
+ padding: 0 3px;
+ font-family: PingFang SC,Helvetica Neue,Arial,sans-serif;
+ font-size: 12px;
+ font-weight: 500;
+ line-height: 14px;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ background-color: #f44;
+ border: 1px solid #fff;
+ border-radius: 16px;
+ transform: translateX(50%);
+ box-sizing: border-box;
+ transform-origin: 100%;
+}
\ No newline at end of file
diff --git a/vant/loading/index.js b/vant/loading/index.js
new file mode 100644
index 0000000..c0c0770
--- /dev/null
+++ b/vant/loading/index.js
@@ -0,0 +1,16 @@
+(0, require("../common/component").VantComponent)({
+ props: {
+ size: {
+ type: String,
+ value: "30px"
+ },
+ type: {
+ type: String,
+ value: "circular"
+ },
+ color: {
+ type: String,
+ value: "#c9c9c9"
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/loading/index.json b/vant/loading/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/vant/loading/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/loading/index.wxml b/vant/loading/index.wxml
new file mode 100644
index 0000000..e147f87
--- /dev/null
+++ b/vant/loading/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/vant/loading/index.wxss b/vant/loading/index.wxss
new file mode 100644
index 0000000..6b87286
--- /dev/null
+++ b/vant/loading/index.wxss
@@ -0,0 +1,128 @@
+@import "../area/index.wxss";
+
+.van-loading {
+ z-index: 0;
+ line-height: 0;
+ vertical-align: middle;
+}
+
+.van-loading,.van-loading__spinner {
+ position: relative;
+ display: inline-block;
+}
+
+.van-loading__spinner {
+ z-index: -1;
+ width: 100%;
+ height: 100%;
+ box-sizing: border-box;
+ animation: van-rotate .8s linear infinite;
+}
+
+.van-loading__spinner--spinner {
+ animation-timing-function: steps(12);
+}
+
+.van-loading__spinner--circular {
+ border-radius: 100%;
+ border: 1px solid transparent;
+ border-top-color: initial;
+}
+
+.van-loading__dot {
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ position: absolute;
+}
+
+.van-loading__dot:before {
+ width: 2px;
+ height: 25%;
+ content: " ";
+ display: block;
+ margin: 0 auto;
+ border-radius: 40%;
+ background-color: currentColor;
+}
+
+.van-loading__dot:first-of-type {
+ opacity: 1;
+ transform: rotate(30deg);
+}
+
+.van-loading__dot:nth-of-type(2) {
+ opacity: .9375;
+ transform: rotate(60deg);
+}
+
+.van-loading__dot:nth-of-type(3) {
+ opacity: .875;
+ transform: rotate(90deg);
+}
+
+.van-loading__dot:nth-of-type(4) {
+ opacity: .8125;
+ transform: rotate(120deg);
+}
+
+.van-loading__dot:nth-of-type(5) {
+ opacity: .75;
+ transform: rotate(150deg);
+}
+
+.van-loading__dot:nth-of-type(6) {
+ opacity: .6875;
+ transform: rotate(180deg);
+}
+
+.van-loading__dot:nth-of-type(7) {
+ opacity: .625;
+ transform: rotate(210deg);
+}
+
+.van-loading__dot:nth-of-type(8) {
+ opacity: .5625;
+ transform: rotate(240deg);
+}
+
+.van-loading__dot:nth-of-type(9) {
+ opacity: .5;
+ transform: rotate(270deg);
+}
+
+.van-loading__dot:nth-of-type(10) {
+ opacity: .4375;
+ transform: rotate(300deg);
+}
+
+.van-loading__dot:nth-of-type(11) {
+ opacity: .375;
+ transform: rotate(330deg);
+}
+
+.van-loading__dot:nth-of-type(12) {
+ opacity: .3125;
+ transform: rotate(1turn);
+}
+
+@-webkit-keyframes van-rotate {
+ 0% {
+ transform: rotate(0deg);
+ }
+
+ to {
+ transform: rotate(1turn);
+ }
+}
+
+@keyframes van-rotate {
+ 0% {
+ transform: rotate(0deg);
+ }
+
+ to {
+ transform: rotate(1turn);
+ }
+}
\ No newline at end of file
diff --git a/vant/mixins/basic.js b/vant/mixins/basic.js
new file mode 100644
index 0000000..83ab72a
--- /dev/null
+++ b/vant/mixins/basic.js
@@ -0,0 +1,19 @@
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+});
+
+exports.basic = Behavior({
+ methods: {
+ $emit: function() {
+ this.triggerEvent.apply(this, arguments);
+ },
+ getRect: function(e, t) {
+ var r = this;
+ return new Promise(function(i) {
+ wx.createSelectorQuery().in(r)[t ? "selectAll" : "select"](e).boundingClientRect(function(e) {
+ t && Array.isArray(e) && e.length && i(e), !t && e && i(e);
+ }).exec();
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/mixins/button.js b/vant/mixins/button.js
new file mode 100644
index 0000000..2c300dc
--- /dev/null
+++ b/vant/mixins/button.js
@@ -0,0 +1,22 @@
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+});
+
+exports.button = Behavior({
+ externalClasses: [ "hover-class" ],
+ properties: {
+ id: String,
+ lang: {
+ type: String,
+ value: "en"
+ },
+ businessId: Number,
+ sessionFrom: String,
+ sendMessageTitle: String,
+ sendMessagePath: String,
+ sendMessageImg: String,
+ showMessageCard: Boolean,
+ appParameter: String,
+ ariaLabel: String
+ }
+});
\ No newline at end of file
diff --git a/vant/mixins/link.js b/vant/mixins/link.js
new file mode 100644
index 0000000..d13320d
--- /dev/null
+++ b/vant/mixins/link.js
@@ -0,0 +1,21 @@
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+});
+
+exports.link = Behavior({
+ properties: {
+ url: String,
+ linkType: {
+ type: String,
+ value: "navigateTo"
+ }
+ },
+ methods: {
+ jumpLink: function() {
+ var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "url", t = this.data[e];
+ t && wx[this.data.linkType]({
+ url: t
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/mixins/observer/behavior.js b/vant/mixins/observer/behavior.js
new file mode 100644
index 0000000..feba956
--- /dev/null
+++ b/vant/mixins/observer/behavior.js
@@ -0,0 +1,37 @@
+function t(t, e) {
+ return new Promise(function(i) {
+ t.setData(e, i);
+ });
+}
+
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+});
+
+exports.behavior = Behavior({
+ created: function() {
+ var t = this;
+ if (this.$options) {
+ var e = {}, i = this.$options().computed, o = Object.keys(i);
+ this.calcComputed = function() {
+ var n = {};
+ return o.forEach(function(o) {
+ var s = i[o].call(t);
+ e[o] !== s && (e[o] = n[o] = s);
+ }), n;
+ };
+ }
+ },
+ attached: function() {
+ this.set();
+ },
+ methods: {
+ set: function(e, i) {
+ var o = this, n = [];
+ return e && n.push(t(this, e)), this.calcComputed && n.push(t(this, this.calcComputed())),
+ Promise.all(n).then(function(t) {
+ return i && "function" == typeof i && i.call(o), t;
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/mixins/observer/index.js b/vant/mixins/observer/index.js
new file mode 100644
index 0000000..65e0bff
--- /dev/null
+++ b/vant/mixins/observer/index.js
@@ -0,0 +1,21 @@
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+}), exports.observe = function(o, t) {
+ var s = o.watch, i = o.computed;
+ if (t.behaviors.push(e.behavior), s) {
+ var p = t.properties || {};
+ Object.keys(s).forEach(function(e) {
+ if (e in p) {
+ var r = p[e];
+ null !== r && "type" in r || (r = {
+ type: r
+ }), r.observer = s[e], p[e] = r;
+ }
+ }), t.properties = p;
+ }
+ i && (t.methods = t.methods || {}, t.methods.$options = function() {
+ return o;
+ }, t.properties && (0, r.observeProps)(t.properties));
+};
+
+var e = require("./behavior"), r = require("./props");
\ No newline at end of file
diff --git a/vant/mixins/observer/props.js b/vant/mixins/observer/props.js
new file mode 100644
index 0000000..e76d8d9
--- /dev/null
+++ b/vant/mixins/observer/props.js
@@ -0,0 +1,14 @@
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+}), exports.observeProps = function(e) {
+ e && Object.keys(e).forEach(function(t) {
+ var r = e[t];
+ null !== r && "type" in r || (r = {
+ type: r
+ });
+ var s = r.observer;
+ r.observer = function() {
+ s && ("string" == typeof s && (s = this[s]), s.apply(this, arguments)), this.set();
+ }, e[t] = r;
+ });
+};
\ No newline at end of file
diff --git a/vant/mixins/open-type.js b/vant/mixins/open-type.js
new file mode 100644
index 0000000..1ab9763
--- /dev/null
+++ b/vant/mixins/open-type.js
@@ -0,0 +1,29 @@
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+});
+
+exports.openType = Behavior({
+ properties: {
+ openType: String
+ },
+ methods: {
+ bindGetUserInfo: function(e) {
+ this.$emit("getuserinfo", e.detail);
+ },
+ bindContact: function(e) {
+ this.$emit("contact", e.detail);
+ },
+ bindGetPhoneNumber: function(e) {
+ this.$emit("getphonenumber", e.detail);
+ },
+ bindError: function(e) {
+ this.$emit("error", e.detail);
+ },
+ bindLaunchApp: function(e) {
+ this.$emit("launchapp", e.detail);
+ },
+ bindOpenSetting: function(e) {
+ this.$emit("opensetting", e.detail);
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/mixins/safe-area.js b/vant/mixins/safe-area.js
new file mode 100644
index 0000000..b86e0b0
--- /dev/null
+++ b/vant/mixins/safe-area.js
@@ -0,0 +1,46 @@
+function e() {
+ return new Promise(function(e, s) {
+ null != t ? e(t) : wx.getSystemInfo({
+ success: function(s) {
+ var n = s.model, o = s.screenHeight, a = s.statusBarHeight, r = /iphone x/i.test(n), i = /iPhone11/i.test(n) && 812 === o;
+ e(t = {
+ isIPhoneX: r || i,
+ statusBarHeight: a
+ });
+ },
+ fail: s
+ });
+ });
+}
+
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+});
+
+var t = null;
+
+exports.safeArea = function() {
+ var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, s = t.safeAreaInsetBottom, n = void 0 === s || s, o = t.safeAreaInsetTop, a = void 0 !== o && o;
+ return Behavior({
+ properties: {
+ safeAreaInsetTop: {
+ type: Boolean,
+ value: a
+ },
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: n
+ }
+ },
+ created: function() {
+ var t = this;
+ e().then(function(e) {
+ var s = e.isIPhoneX, n = e.statusBarHeight;
+ t.set({
+ isIPhoneX: s,
+ statusBarHeight: n
+ });
+ });
+ }
+ });
+};
\ No newline at end of file
diff --git a/vant/mixins/touch.js b/vant/mixins/touch.js
new file mode 100644
index 0000000..58b7844
--- /dev/null
+++ b/vant/mixins/touch.js
@@ -0,0 +1,18 @@
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+});
+
+exports.touch = Behavior({
+ methods: {
+ touchStart: function(t) {
+ var s = t.touches[0];
+ this.direction = "", this.deltaX = 0, this.deltaY = 0, this.offsetX = 0, this.offsetY = 0,
+ this.startX = s.clientX, this.startY = s.clientY;
+ },
+ touchMove: function(t) {
+ var s = t.touches[0];
+ this.deltaX = s.clientX - this.startX, this.deltaY = s.clientY - this.startY, this.offsetX = Math.abs(this.deltaX),
+ this.offsetY = Math.abs(this.deltaY), this.direction = this.offsetX > this.offsetY ? "horizontal" : this.offsetX < this.offsetY ? "vertical" : "";
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/mixins/transition.js b/vant/mixins/transition.js
new file mode 100644
index 0000000..5dc51c5
--- /dev/null
+++ b/vant/mixins/transition.js
@@ -0,0 +1,91 @@
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+}), exports.transition = void 0;
+
+var e = require("../common/utils"), t = function(e) {
+ return {
+ enter: "van-" + e + "-enter van-" + e + "-enter-active enter-class enter-active-class",
+ "enter-to": "van-" + e + "-enter-to van-" + e + "-enter-active enter-to-class enter-active-class",
+ leave: "van-" + e + "-leave van-" + e + "-leave-active leave-class leave-active-class",
+ "leave-to": "van-" + e + "-leave-to van-" + e + "-leave-active leave-to-class leave-active-class"
+ };
+}, s = function() {
+ return new Promise(function(e) {
+ return setTimeout(e, 1e3 / 30);
+ });
+};
+
+exports.transition = function(n) {
+ return Behavior({
+ properties: {
+ customStyle: String,
+ show: {
+ type: Boolean,
+ value: n,
+ observer: "observeShow"
+ },
+ duration: {
+ type: [ Number, Object ],
+ value: 300,
+ observer: "observeDuration"
+ },
+ name: {
+ type: String,
+ value: "fade",
+ observer: "updateClasses"
+ }
+ },
+ data: {
+ type: "",
+ inited: !1,
+ display: !1,
+ classNames: t("fade")
+ },
+ attached: function() {
+ this.data.show && this.show();
+ },
+ methods: {
+ observeShow: function(e) {
+ e ? this.show() : this.leave();
+ },
+ updateClasses: function(e) {
+ this.set({
+ classNames: t(e)
+ });
+ },
+ show: function() {
+ var t = this, n = this.data, a = n.classNames, i = n.duration, r = (0, e.isObj)(i) ? i.leave : i;
+ Promise.resolve().then(s).then(function() {
+ return t.set({
+ inited: !0,
+ display: !0,
+ classes: a.enter,
+ currentDuration: r
+ });
+ }).then(s).then(function() {
+ return t.set({
+ classes: a["enter-to"]
+ });
+ });
+ },
+ leave: function() {
+ var t = this, n = this.data, a = n.classNames, i = n.duration, r = (0, e.isObj)(i) ? i.leave : i;
+ 0 != +r ? Promise.resolve().then(s).then(function() {
+ return t.set({
+ classes: a.leave,
+ currentDuration: r
+ });
+ }).then(s).then(function() {
+ return t.set({
+ classes: a["leave-to"]
+ });
+ }) : this.onTransitionEnd();
+ },
+ onTransitionEnd: function() {
+ this.data.show || (this.set({
+ display: !1
+ }), this.$emit("transitionEnd"));
+ }
+ }
+ });
+};
\ No newline at end of file
diff --git a/vant/nav-bar/index.js b/vant/nav-bar/index.js
new file mode 100644
index 0000000..911fd00
--- /dev/null
+++ b/vant/nav-bar/index.js
@@ -0,0 +1,31 @@
+var e = require("../common/component"), t = require("../mixins/safe-area");
+
+(0, e.VantComponent)({
+ mixins: [ (0, t.safeArea)({
+ safeAreaInsetTop: !0
+ }) ],
+ classes: [ "title-class" ],
+ props: {
+ title: String,
+ fixed: Boolean,
+ leftText: String,
+ rightText: String,
+ leftArrow: Boolean,
+ border: {
+ type: Boolean,
+ value: !0
+ },
+ zIndex: {
+ type: Number,
+ value: 120
+ }
+ },
+ methods: {
+ onClickLeft: function() {
+ this.$emit("click-left");
+ },
+ onClickRight: function() {
+ this.$emit("click-right");
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/nav-bar/index.json b/vant/nav-bar/index.json
new file mode 100644
index 0000000..e9f601c
--- /dev/null
+++ b/vant/nav-bar/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/nav-bar/index.wxml b/vant/nav-bar/index.wxml
new file mode 100644
index 0000000..1b4c19b
--- /dev/null
+++ b/vant/nav-bar/index.wxml
@@ -0,0 +1,18 @@
+
+
+
+
+ {{leftText}}
+
+
+
+
+ {{title}}
+
+
+
+ {{rightText}}
+
+
+
+
\ No newline at end of file
diff --git a/vant/nav-bar/index.wxss b/vant/nav-bar/index.wxss
new file mode 100644
index 0000000..41872b5
--- /dev/null
+++ b/vant/nav-bar/index.wxss
@@ -0,0 +1,60 @@
+@import "../area/index.wxss";
+
+.van-nav-bar {
+ position: relative;
+ height: 44px;
+ line-height: 44px;
+ text-align: center;
+ background-color: #fff;
+ user-select: none;
+}
+
+.van-nav-bar__text {
+ display: inline-block;
+ padding: 0 15px;
+ margin: 0 -15px;
+ color: #1989fa;
+ vertical-align: middle;
+}
+
+.van-nav-bar__text--hover {
+ background-color: #f2f3f5;
+}
+
+.van-nav-bar__arrow {
+ color: #1989fa;
+ vertical-align: middle;
+}
+
+.van-nav-bar__arrow+.van-nav-bar__text {
+ padding-left: 25px;
+ margin-left: -20px;
+}
+
+.van-nav-bar--fixed {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+}
+
+.van-nav-bar__title {
+ max-width: 60%;
+ margin: 0 auto;
+ font-size: 16px;
+ font-weight: 500;
+}
+
+.van-nav-bar__left,.van-nav-bar__right {
+ position: absolute;
+ bottom: 0;
+ font-size: 14px;
+}
+
+.van-nav-bar__left {
+ left: 15px;
+}
+
+.van-nav-bar__right {
+ right: 15px;
+}
\ No newline at end of file
diff --git a/vant/notice-bar/index.js b/vant/notice-bar/index.js
new file mode 100644
index 0000000..e15bcb8
--- /dev/null
+++ b/vant/notice-bar/index.js
@@ -0,0 +1,127 @@
+var t = function() {
+ function t(t, i) {
+ var e = [], n = !0, r = !1, a = void 0;
+ try {
+ for (var o, l = t[Symbol.iterator](); !(n = (o = l.next()).done) && (e.push(o.value),
+ !i || e.length !== i); n = !0) ;
+ } catch (t) {
+ r = !0, a = t;
+ } finally {
+ try {
+ !n && l.return && l.return();
+ } finally {
+ if (r) throw a;
+ }
+ }
+ return e;
+ }
+ return function(i, e) {
+ if (Array.isArray(i)) return i;
+ if (Symbol.iterator in Object(i)) return t(i, e);
+ throw new TypeError("Invalid attempt to destructure non-iterable instance");
+ };
+}();
+
+(0, require("../common/component").VantComponent)({
+ props: {
+ text: {
+ type: [ String, Array ],
+ value: ""
+ },
+ mode: {
+ type: String,
+ value: ""
+ },
+ url: {
+ type: String,
+ value: ""
+ },
+ openType: {
+ type: String,
+ value: "navigate"
+ },
+ delay: {
+ type: Number,
+ value: 0
+ },
+ speed: {
+ type: Number,
+ value: 50
+ },
+ scrollable: {
+ type: Boolean,
+ value: !0
+ },
+ leftIcon: {
+ type: String,
+ value: ""
+ },
+ color: {
+ type: String,
+ value: "#ed6a0c"
+ },
+ backgroundColor: {
+ type: String,
+ value: "#fffbe8"
+ }
+ },
+ data: {
+ show: !0,
+ hasRightIcon: !1
+ },
+ watch: {
+ text: function() {
+ this.set({}, this.init);
+ }
+ },
+ created: function() {
+ this.data.mode && this.set({
+ hasRightIcon: !0
+ }), this.resetAnimation = wx.createAnimation({
+ duration: 0,
+ timingFunction: "linear"
+ });
+ },
+ destroyed: function() {
+ this.timer && clearTimeout(this.timer);
+ },
+ methods: {
+ init: function() {
+ var i = this;
+ Promise.all([ this.getRect(".van-notice-bar__content"), this.getRect(".van-notice-bar__content-wrap") ]).then(function(e) {
+ var n = t(e, 2), r = n[0], a = n[1];
+ if (null != r && null != a && r.width && a.width) {
+ var o = i.data, l = o.speed, s = o.scrollable, c = o.delay;
+ if (s && a.width < r.width) {
+ var u = r.width / l * 1e3;
+ i.wrapWidth = a.width, i.contentWidth = r.width, i.duration = u, i.animation = wx.createAnimation({
+ duration: u,
+ timingFunction: "linear",
+ delay: c
+ }), i.scroll();
+ }
+ }
+ });
+ },
+ scroll: function() {
+ var t = this;
+ this.timer && clearTimeout(this.timer), this.timer = null, this.set({
+ animationData: this.resetAnimation.translateX(this.wrapWidth).step().export()
+ }), setTimeout(function() {
+ t.set({
+ animationData: t.animation.translateX(-t.contentWidth).step().export()
+ });
+ }, 20), this.timer = setTimeout(function() {
+ t.scroll();
+ }, this.duration);
+ },
+ onClickIcon: function() {
+ this.timer && clearTimeout(this.timer), this.timer = null, this.set({
+ show: !1
+ });
+ },
+ onClick: function(t) {
+ this.$emit("click", t);
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/notice-bar/index.json b/vant/notice-bar/index.json
new file mode 100644
index 0000000..e9f601c
--- /dev/null
+++ b/vant/notice-bar/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/notice-bar/index.wxml b/vant/notice-bar/index.wxml
new file mode 100644
index 0000000..376b9b7
--- /dev/null
+++ b/vant/notice-bar/index.wxml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vant/notice-bar/index.wxss b/vant/notice-bar/index.wxss
new file mode 100644
index 0000000..f27ce53
--- /dev/null
+++ b/vant/notice-bar/index.wxss
@@ -0,0 +1,56 @@
+@import "../area/index.wxss";
+
+.van-notice-bar {
+ display: flex;
+ height: 40px;
+ padding: 0 15px;
+ font-size: 14px;
+ line-height: 24px;
+ align-items: center;
+}
+
+.van-notice-bar--within-icon {
+ position: relative;
+ padding-right: 40px;
+}
+
+.van-notice-bar__left-icon {
+ width: 16px;
+ height: 16px;
+ margin-right: 4px;
+}
+
+.van-notice-bar__right-icon {
+ position: absolute;
+ top: 10px;
+ right: 15px;
+ font-size: 16px;
+}
+
+.van-notice-bar__content-wrap {
+ position: relative;
+ height: 24px;
+ overflow: hidden;
+ flex: 1;
+}
+
+.van-notice-bar__content {
+ position: absolute;
+ white-space: nowrap;
+}
+
+.noscrollable .van-notice-bar__content {
+ max-width: 100%;
+ position: inherit;
+ white-space: inherit;
+}
+
+.noscrollable .van-notice-bar__content-wrap {
+ height: auto;
+}
+
+.noscrollable.van-notice-bar {
+ height: auto;
+ padding: 8px 10px;
+ line-height: 20px;
+}
\ No newline at end of file
diff --git a/vant/notify/index.js b/vant/notify/index.js
new file mode 100644
index 0000000..f93c708
--- /dev/null
+++ b/vant/notify/index.js
@@ -0,0 +1,39 @@
+var e = require("../common/component"), t = require("../common/color"), i = require("../mixins/safe-area");
+
+(0, e.VantComponent)({
+ mixins: [ (0, i.safeArea)() ],
+ props: {
+ text: String,
+ color: {
+ type: String,
+ value: "#fff"
+ },
+ backgroundColor: {
+ type: String,
+ value: t.RED
+ },
+ duration: {
+ type: Number,
+ value: 3e3
+ },
+ zIndex: {
+ type: Number,
+ value: 110
+ }
+ },
+ methods: {
+ show: function() {
+ var e = this, t = this.data.duration;
+ clearTimeout(this.timer), this.set({
+ show: !0
+ }), t > 0 && t !== 1 / 0 && (this.timer = setTimeout(function() {
+ e.hide();
+ }, t));
+ },
+ hide: function() {
+ clearTimeout(this.timer), this.set({
+ show: !1
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/notify/index.json b/vant/notify/index.json
new file mode 100644
index 0000000..1f59502
--- /dev/null
+++ b/vant/notify/index.json
@@ -0,0 +1,14 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-transition": "../transition/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/notify/index.wxml b/vant/notify/index.wxml
new file mode 100644
index 0000000..ca567dd
--- /dev/null
+++ b/vant/notify/index.wxml
@@ -0,0 +1,4 @@
+
+
+ {{text}}
+
diff --git a/vant/notify/index.wxss b/vant/notify/index.wxss
new file mode 100644
index 0000000..5867200
--- /dev/null
+++ b/vant/notify/index.wxss
@@ -0,0 +1,17 @@
+@import "../area/index.wxss";
+
+.van-notify {
+ position: fixed;
+ top: 0;
+ width: 100%;
+ padding: 6px 15px;
+ font-size: 14px;
+ line-height: 20px;
+ text-align: center;
+ word-break: break-all;
+ box-sizing: border-box;
+}
+
+.van-notify__safe-top {
+ height: 44px;
+}
\ No newline at end of file
diff --git a/vant/notify/notify.js b/vant/notify/notify.js
new file mode 100644
index 0000000..cf0ef8f
--- /dev/null
+++ b/vant/notify/notify.js
@@ -0,0 +1,22 @@
+function e(e) {
+ return (0, n.isObj)(e) ? e : {
+ text: e
+ };
+}
+
+function t() {
+ var e = getCurrentPages();
+ return e[e.length - 1];
+}
+
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+}), exports.default = function(n) {
+ var r = ((n = Object.assign({}, o, e(n))).context || t()).selectComponent(n.selector);
+ delete n.selector, r ? (r.set(n), r.show()) : console.warn("未找到 van-notify 节点,请确认 selector 及 context 是否正确");
+};
+
+var n = require("../common/utils"), o = {
+ selector: "#van-notify",
+ duration: 3e3
+};
\ No newline at end of file
diff --git a/vant/overlay/index.js b/vant/overlay/index.js
new file mode 100644
index 0000000..8865118
--- /dev/null
+++ b/vant/overlay/index.js
@@ -0,0 +1,21 @@
+(0, require("../common/component").VantComponent)({
+ props: {
+ show: Boolean,
+ mask: Boolean,
+ customStyle: String,
+ duration: {
+ type: [ Number, Object ],
+ value: 300
+ },
+ zIndex: {
+ type: Number,
+ value: 1
+ }
+ },
+ methods: {
+ onClick: function() {
+ this.$emit("click");
+ },
+ noop: function() {}
+ }
+});
\ No newline at end of file
diff --git a/vant/overlay/index.json b/vant/overlay/index.json
new file mode 100644
index 0000000..1f59502
--- /dev/null
+++ b/vant/overlay/index.json
@@ -0,0 +1,14 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-transition": "../transition/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/overlay/index.wxml b/vant/overlay/index.wxml
new file mode 100644
index 0000000..37db0ac
--- /dev/null
+++ b/vant/overlay/index.wxml
@@ -0,0 +1 @@
+
diff --git a/vant/overlay/index.wxss b/vant/overlay/index.wxss
new file mode 100644
index 0000000..3673904
--- /dev/null
+++ b/vant/overlay/index.wxss
@@ -0,0 +1,9 @@
+@import "../area/index.wxss";
+
+.van-overlay {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+}
\ No newline at end of file
diff --git a/vant/panel/index.js b/vant/panel/index.js
new file mode 100644
index 0000000..694341f
--- /dev/null
+++ b/vant/panel/index.js
@@ -0,0 +1,9 @@
+(0, require("../common/component").VantComponent)({
+ classes: [ "header-class", "footer-class" ],
+ props: {
+ desc: String,
+ title: String,
+ status: String,
+ useFooterSlot: Boolean
+ }
+});
\ No newline at end of file
diff --git a/vant/panel/index.json b/vant/panel/index.json
new file mode 100644
index 0000000..eabfb3d
--- /dev/null
+++ b/vant/panel/index.json
@@ -0,0 +1,14 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-cell": "../cell/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/panel/index.wxml b/vant/panel/index.wxml
new file mode 100644
index 0000000..15412d1
--- /dev/null
+++ b/vant/panel/index.wxml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
diff --git a/vant/panel/index.wxss b/vant/panel/index.wxss
new file mode 100644
index 0000000..b753268
--- /dev/null
+++ b/vant/panel/index.wxss
@@ -0,0 +1,13 @@
+@import "../area/index.wxss";
+
+.van-panel {
+ background: #fff;
+}
+
+.van-panel__header-value {
+ color: #f44;
+}
+
+.van-panel__footer {
+ padding: 10px 15px;
+}
\ No newline at end of file
diff --git a/vant/picker-column/index.js b/vant/picker-column/index.js
new file mode 100644
index 0000000..22b6273
--- /dev/null
+++ b/vant/picker-column/index.js
@@ -0,0 +1,113 @@
+var t = require("../common/component"), e = require("../common/utils");
+
+(0, t.VantComponent)({
+ classes: [ "active-class" ],
+ props: {
+ valueKey: String,
+ className: String,
+ itemHeight: Number,
+ visibleItemCount: Number,
+ initialOptions: {
+ type: Array,
+ value: []
+ },
+ defaultIndex: {
+ type: Number,
+ value: 0
+ }
+ },
+ data: {
+ startY: 0,
+ offset: 0,
+ duration: 0,
+ startOffset: 0,
+ options: [],
+ currentIndex: 0
+ },
+ created: function() {
+ var t = this, e = this.data, n = e.defaultIndex, i = e.initialOptions;
+ this.set({
+ currentIndex: n,
+ options: i
+ }).then(function() {
+ t.setIndex(n);
+ });
+ },
+ computed: {
+ count: function() {
+ return this.data.options.length;
+ },
+ baseOffset: function() {
+ var t = this.data;
+ return t.itemHeight * (t.visibleItemCount - 1) / 2;
+ },
+ wrapperStyle: function() {
+ var t = this.data;
+ return [ "transition: " + t.duration + "ms", "transform: translate3d(0, " + (t.offset + t.baseOffset) + "px, 0)", "line-height: " + t.itemHeight + "px" ].join("; ");
+ }
+ },
+ watch: {
+ defaultIndex: function(t) {
+ this.setIndex(t);
+ }
+ },
+ methods: {
+ onTouchStart: function(t) {
+ this.set({
+ startY: t.touches[0].clientY,
+ startOffset: this.data.offset,
+ duration: 0
+ });
+ },
+ onTouchMove: function(t) {
+ var n = this.data, i = t.touches[0].clientY - n.startY;
+ this.set({
+ offset: (0, e.range)(n.startOffset + i, -n.count * n.itemHeight, n.itemHeight)
+ });
+ },
+ onTouchEnd: function() {
+ var t = this.data;
+ if (t.offset !== t.startOffset) {
+ this.set({
+ duration: 200
+ });
+ var n = (0, e.range)(Math.round(-t.offset / t.itemHeight), 0, t.count - 1);
+ this.setIndex(n, !0);
+ }
+ },
+ onClickItem: function(t) {
+ var e = t.currentTarget.dataset.index;
+ this.setIndex(e, !0);
+ },
+ adjustIndex: function(t) {
+ for (var n = this.data, i = t = (0, e.range)(t, 0, n.count); i < n.count; i++) if (!this.isDisabled(n.options[i])) return i;
+ for (var s = t - 1; s >= 0; s--) if (!this.isDisabled(n.options[s])) return s;
+ },
+ isDisabled: function(t) {
+ return (0, e.isObj)(t) && t.disabled;
+ },
+ getOptionText: function(t) {
+ var n = this.data;
+ return (0, e.isObj)(t) && n.valueKey in t ? t[n.valueKey] : t;
+ },
+ setIndex: function(t, e) {
+ var n = this, i = this.data, s = -(t = this.adjustIndex(t) || 0) * i.itemHeight;
+ return t !== i.currentIndex ? this.set({
+ offset: s,
+ currentIndex: t
+ }).then(function() {
+ e && n.$emit("change", t);
+ }) : this.set({
+ offset: s
+ });
+ },
+ setValue: function(t) {
+ for (var e = this.data.options, n = 0; n < e.length; n++) if (this.getOptionText(e[n]) === t) return this.setIndex(n);
+ return Promise.resolve();
+ },
+ getValue: function() {
+ var t = this.data;
+ return t.options[t.currentIndex];
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/picker-column/index.json b/vant/picker-column/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/vant/picker-column/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/picker-column/index.wxml b/vant/picker-column/index.wxml
new file mode 100644
index 0000000..b364db3
--- /dev/null
+++ b/vant/picker-column/index.wxml
@@ -0,0 +1,14 @@
+
+
+ {{getOptionText(option,valueKey)}}
+
+
+
+function isObj(x) {
+ var type = typeof x;
+ return (x !== null && (type === 'object' || type === 'function'))
+};
+module.exports = (function(option, valueKey) {
+ return (isObj(option) && option[((nt_0 = (valueKey), null == nt_0 ? undefined : 'number' === typeof nt_0 ? nt_0 : "" + nt_0))] ? option[((nt_1 = (valueKey), null == nt_1 ? undefined : 'number' === typeof nt_1 ? nt_1 : "" + nt_1))] : option)
+});
+
\ No newline at end of file
diff --git a/vant/picker-column/index.wxss b/vant/picker-column/index.wxss
new file mode 100644
index 0000000..76c82a6
--- /dev/null
+++ b/vant/picker-column/index.wxss
@@ -0,0 +1,21 @@
+@import "../area/index.wxss";
+
+.van-picker-column {
+ overflow: hidden;
+ font-size: 16px;
+ color: #999;
+ text-align: center;
+}
+
+.van-picker-column__item {
+ padding: 0 5px;
+}
+
+.van-picker-column__item--selected {
+ font-weight: 500;
+ color: #333;
+}
+
+.van-picker-column__item--disabled {
+ opacity: .3;
+}
\ No newline at end of file
diff --git a/vant/picker/index.js b/vant/picker/index.js
new file mode 100644
index 0000000..1c7d4df
--- /dev/null
+++ b/vant/picker/index.js
@@ -0,0 +1,110 @@
+var e = require("../common/component"), t = require("./shared");
+
+(0, e.VantComponent)({
+ classes: [ "active-class", "toolbar-class", "column-class" ],
+ props: Object.assign({}, t.pickerProps, {
+ valueKey: {
+ type: String,
+ value: "text"
+ },
+ defaultIndex: {
+ type: Number,
+ value: 0
+ },
+ columns: {
+ type: Array,
+ value: [],
+ observer: function() {
+ var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];
+ this.simple = e.length && !e[0].values, this.children = this.selectAllComponents(".van-picker__column"),
+ Array.isArray(this.children) && this.children.length && this.setColumns().catch(function() {});
+ }
+ }
+ }),
+ beforeCreate: function() {
+ this.children = [];
+ },
+ methods: {
+ noop: function() {},
+ setColumns: function() {
+ var e = this, t = this.data, n = (this.simple ? [ {
+ values: t.columns
+ } ] : t.columns).map(function(t, n) {
+ return e.setColumnValues(n, t.values);
+ });
+ return Promise.all(n);
+ },
+ emit: function(e) {
+ var t = e.currentTarget.dataset.type;
+ this.simple ? this.$emit(t, {
+ value: this.getColumnValue(0),
+ index: this.getColumnIndex(0)
+ }) : this.$emit(t, {
+ value: this.getValues(),
+ index: this.getIndexes()
+ });
+ },
+ onChange: function(e) {
+ this.simple ? this.$emit("change", {
+ picker: this,
+ value: this.getColumnValue(0),
+ index: this.getColumnIndex(0)
+ }) : this.$emit("change", {
+ picker: this,
+ value: this.getValues(),
+ index: e.currentTarget.dataset.index
+ });
+ },
+ getColumn: function(e) {
+ return this.children[e];
+ },
+ getColumnValue: function(e) {
+ var t = this.getColumn(e);
+ return t && t.getValue();
+ },
+ setColumnValue: function(e, t) {
+ var n = this.getColumn(e);
+ return null == n ? Promise.reject("setColumnValue: 对应列不存在") : n.setValue(t);
+ },
+ getColumnIndex: function(e) {
+ return (this.getColumn(e) || {}).data.currentIndex;
+ },
+ setColumnIndex: function(e, t) {
+ var n = this.getColumn(e);
+ return null == n ? Promise.reject("setColumnIndex: 对应列不存在") : n.setIndex(t);
+ },
+ getColumnValues: function(e) {
+ return (this.children[e] || {}).data.options;
+ },
+ setColumnValues: function(e, t) {
+ var n = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2], s = this.children[e];
+ return null == s ? Promise.reject("setColumnValues: 对应列不存在") : JSON.stringify(s.data.options) === JSON.stringify(t) ? Promise.resolve() : s.set({
+ options: t
+ }).then(function() {
+ n && s.setIndex(0);
+ });
+ },
+ getValues: function() {
+ return this.children.map(function(e) {
+ return e.getValue();
+ });
+ },
+ setValues: function(e) {
+ var t = this, n = e.map(function(e, n) {
+ return t.setColumnValue(n, e);
+ });
+ return Promise.all(n);
+ },
+ getIndexes: function() {
+ return this.children.map(function(e) {
+ return e.data.currentIndex;
+ });
+ },
+ setIndexes: function(e) {
+ var t = this, n = e.map(function(e, n) {
+ return t.setColumnIndex(n, e);
+ });
+ return Promise.all(n);
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/picker/index.json b/vant/picker/index.json
new file mode 100644
index 0000000..e34b5fc
--- /dev/null
+++ b/vant/picker/index.json
@@ -0,0 +1,15 @@
+{
+ "component": true,
+ "usingComponents": {
+ "picker-column": "../picker-column/index",
+ "loading": "../loading/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/picker/index.wxml b/vant/picker/index.wxml
new file mode 100644
index 0000000..d993746
--- /dev/null
+++ b/vant/picker/index.wxml
@@ -0,0 +1,24 @@
+
+
+
+ {{cancelButtonText}}
+
+ {{title}}
+
+ {{confirmButtonText}}
+
+
+
+
+
+
+
+
+
+
+
+function isSimple(columns) {
+ return (columns.length && !columns[(0)].values)
+};
+module.exports = isSimple;
+
\ No newline at end of file
diff --git a/vant/picker/index.wxss b/vant/picker/index.wxss
new file mode 100644
index 0000000..90a6e9c
--- /dev/null
+++ b/vant/picker/index.wxss
@@ -0,0 +1,66 @@
+@import "../area/index.wxss";
+
+.van-picker {
+ position: relative;
+ overflow: hidden;
+ -webkit-text-size-adjust: 100%;
+ background-color: #fff;
+ user-select: none;
+}
+
+.van-picker__toolbar {
+ display: flex;
+ height: 44px;
+ line-height: 44px;
+ justify-content: space-between;
+}
+
+.van-picker__cancel,.van-picker__confirm {
+ padding: 0 15px;
+ font-size: 14px;
+ color: #1989fa;
+}
+
+.van-picker__cancel--hover,.van-picker__confirm--hover {
+ background-color: #f2f3f5;
+}
+
+.van-picker__title {
+ max-width: 50%;
+ font-size: 16px;
+ font-weight: 500;
+ text-align: center;
+}
+
+.van-picker__columns {
+ position: relative;
+ display: flex;
+}
+
+.van-picker__column {
+ flex: 1 1;
+ width: 0;
+}
+
+.van-picker__loading {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 4;
+ display: flex;
+ background-color: hsla(0,0%,100%,.9);
+ align-items: center;
+ justify-content: center;
+}
+
+.van-picker__frame,.van-picker__loading .van-loading {
+ position: absolute;
+ top: 50%;
+ left: 0;
+ z-index: 1;
+ width: 100%;
+ pointer-events: none;
+ transform: translateY(-50%);
+}
\ No newline at end of file
diff --git a/vant/picker/shared.js b/vant/picker/shared.js
new file mode 100644
index 0000000..b07868b
--- /dev/null
+++ b/vant/picker/shared.js
@@ -0,0 +1,25 @@
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+});
+
+exports.pickerProps = {
+ title: String,
+ loading: Boolean,
+ showToolbar: Boolean,
+ cancelButtonText: {
+ type: String,
+ value: "取消"
+ },
+ confirmButtonText: {
+ type: String,
+ value: "确认"
+ },
+ visibleItemCount: {
+ type: Number,
+ value: 5
+ },
+ itemHeight: {
+ type: Number,
+ value: 44
+ }
+};
\ No newline at end of file
diff --git a/vant/popup/index.js b/vant/popup/index.js
new file mode 100644
index 0000000..a3e44e5
--- /dev/null
+++ b/vant/popup/index.js
@@ -0,0 +1,66 @@
+var e = require("../common/component"), t = require("../mixins/transition"), i = require("../mixins/safe-area");
+
+(0, e.VantComponent)({
+ classes: [ "enter-class", "enter-active-class", "enter-to-class", "leave-class", "leave-active-class", "leave-to-class" ],
+ mixins: [ (0, t.transition)(!1), (0, i.safeArea)() ],
+ props: {
+ transition: {
+ type: String,
+ observer: "observeClass"
+ },
+ title: String,
+ titleStyle: String,
+ customStyle: String,
+ overlayStyle: String,
+ zIndex: {
+ type: Number,
+ value: 100
+ },
+ widthFull: {
+ type: Boolean,
+ value: !1
+ },
+ heightFull: {
+ type: Boolean,
+ value: !1
+ },
+ overlay: {
+ type: Boolean,
+ value: !0
+ },
+ closeOnClickOverlay: {
+ type: Boolean,
+ value: !0
+ },
+ position: {
+ type: String,
+ value: "center",
+ observer: "observeClass"
+ },
+ closable: {
+ type: Boolean,
+ value: !0
+ }
+ },
+ mounted: function() {
+ var e = wx.getSystemInfoSync(), t = e.windowHeight, i = e.windowWidth;
+ this.set({
+ windowHeight: t % 2 == 0 ? t : t + 1,
+ windowWidth: i % 2 == 0 ? i : i + 1
+ });
+ },
+ methods: {
+ onClickOverlay: function() {
+ this.$emit("click-overlay"), this.data.closeOnClickOverlay && this.$emit("close");
+ },
+ onClickClosable: function() {
+ this.$emit("close");
+ },
+ observeClass: function() {
+ var e = this.data, t = e.transition, i = e.position;
+ this.updateClasses(t || i), "none" === t && this.set({
+ maxHeightduration: 0
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/popup/index.json b/vant/popup/index.json
new file mode 100644
index 0000000..09bed1b
--- /dev/null
+++ b/vant/popup/index.json
@@ -0,0 +1,14 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-overlay": "../overlay/index",
+ "van-icon": "../icon/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/popup/index.wxml b/vant/popup/index.wxml
new file mode 100644
index 0000000..c995ac8
--- /dev/null
+++ b/vant/popup/index.wxml
@@ -0,0 +1,14 @@
+
+
+
\ No newline at end of file
diff --git a/vant/popup/index.wxss b/vant/popup/index.wxss
new file mode 100644
index 0000000..9a62102
--- /dev/null
+++ b/vant/popup/index.wxss
@@ -0,0 +1,136 @@
+@import "../area/index.wxss";
+
+.van-popup {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ overflow-y: auto;
+ background-color: #fff;
+ box-sizing: border-box;
+ animation: ease both;
+ -webkit-overflow-scrolling: touch;
+ transition-timing-function: ease;
+}
+
+.van-popup--center {
+ transform: translate3d(-50%,-50%,0);
+}
+
+.van-popup--top {
+ top: 0;
+ right: auto;
+ bottom: auto;
+ left: 50%;
+ width: 100%;
+ transform: translate3d(-50%,0,0);
+}
+
+.van-popup--right {
+ top: 50%;
+ right: 0;
+ bottom: auto;
+ left: auto;
+ transform: translate3d(0,-50%,0);
+}
+
+.van-popup--bottom {
+ top: auto;
+ right: auto;
+ bottom: 0;
+ left: 50%;
+ width: 100%;
+ transform: translate3d(-50%,0,0);
+}
+
+.van-popup--left {
+ top: 50%;
+ right: auto;
+ bottom: auto;
+ left: 0;
+ transform: translate3d(0,-50%,0);
+}
+
+.van-popup--bottom.van-popup--safe {
+ padding-bottom: 34px;
+}
+
+.van-popup--left .van-popup__safe-top,.van-popup--right .van-popup__safe-top,.van-popup--top .van-popup__safe-top {
+ height: 44px;
+}
+
+.van-popup--bottom .van-popup__safe-top,.van-popup--center .van-popup__safe-top {
+ padding-top: 0!important;
+}
+
+.van-scale-enter-active,.van-scale-leave-active {
+ transition-property: opacity,-webkit-transform;
+ transition-property: opacity,transform;
+ transition-property: opacity,transform,-webkit-transform;
+}
+
+.van-scale-enter,.van-scale-leave-to {
+ opacity: 0;
+ transform: translate3d(-50%,-50%,0) scale(.7);
+}
+
+.van-fade-enter-active,.van-fade-leave-active {
+ transition-property: opacity;
+}
+
+.van-fade-enter,.van-fade-leave-to {
+ opacity: 0;
+}
+
+.van-center-enter-active,.van-center-leave-active {
+ transition-property: opacity;
+}
+
+.van-center-enter,.van-center-leave-to {
+ opacity: 0;
+}
+
+.van-bottom-enter-active,.van-bottom-leave-active,.van-left-enter-active,.van-left-leave-active,.van-right-enter-active,.van-right-leave-active,.van-top-enter-active,.van-top-leave-active {
+ transition-property: transform;
+ transition-property: transform,-webkit-transform;
+ transition-property: transform,-webkit-transform;
+}
+
+.van-bottom-enter,.van-bottom-leave-to {
+ transform: translate3d(-50%,100%,0);
+}
+
+.van-top-enter,.van-top-leave-to {
+ transform: translate3d(-50%,-100%,0);
+}
+
+.van-left-enter,.van-left-leave-to {
+ transform: translate3d(-100%,-50%,0);
+}
+
+.van-right-enter,.van-right-leave-to {
+ transform: translate3d(100%,-50%,0);
+}
+
+.van-popup .van-popup-closable {
+ z-index: 10000;
+ position: absolute;
+ right: 0;
+ top: 0;
+ color: #666;
+ width: 40px;
+ height: 40px;
+ text-align: center;
+ padding-left: 10px;
+}
+
+.van-popup .van-popup-title {
+ z-index: 10000;
+ font-size: 14px;
+ border-bottom: 1px solid #e5e5e5;
+ background: #F8F8F8;
+ color: #333;
+ height: 39px;
+ padding: 0 12px;
+ line-height: 39px;
+ overflow: hidden;
+}
\ No newline at end of file
diff --git a/vant/progress/index.js b/vant/progress/index.js
new file mode 100644
index 0000000..d01d1d1
--- /dev/null
+++ b/vant/progress/index.js
@@ -0,0 +1,61 @@
+var t = require("../common/component"), o = require("../common/color");
+
+(0, t.VantComponent)({
+ props: {
+ inactive: Boolean,
+ percentage: Number,
+ pivotText: String,
+ pivotColor: String,
+ showPivot: {
+ type: Boolean,
+ value: !0
+ },
+ color: {
+ type: String,
+ value: o.BLUE
+ },
+ textColor: {
+ type: String,
+ value: "#fff"
+ }
+ },
+ data: {
+ pivotWidth: 0,
+ progressWidth: 0
+ },
+ watch: {
+ pivotText: "getWidth",
+ showPivot: "getWidth"
+ },
+ computed: {
+ portionStyle: function() {
+ return "width: " + ((this.data.progressWidth - this.data.pivotWidth) * this.data.percentage / 100 + "px") + "; background: " + this.getCurrentColor() + "; ";
+ },
+ pivotStyle: function() {
+ return "color: " + this.data.textColor + "; background: " + (this.data.pivotColor || this.getCurrentColor());
+ },
+ text: function() {
+ return this.data.pivotText || this.data.percentage + "%";
+ }
+ },
+ mounted: function() {
+ this.getWidth();
+ },
+ methods: {
+ getCurrentColor: function() {
+ return this.data.inactive ? "#cacaca" : this.data.color;
+ },
+ getWidth: function() {
+ var t = this;
+ this.getRect(".van-progress").then(function(o) {
+ t.set({
+ progressWidth: o.width
+ });
+ }), this.getRect(".van-progress__pivot").then(function(o) {
+ t.set({
+ pivotWidth: o.width || 0
+ });
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/progress/index.json b/vant/progress/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/vant/progress/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/progress/index.wxml b/vant/progress/index.wxml
new file mode 100644
index 0000000..29f0a3c
--- /dev/null
+++ b/vant/progress/index.wxml
@@ -0,0 +1,7 @@
+
+
+
+ {{text}}
+
+
+
diff --git a/vant/progress/index.wxss b/vant/progress/index.wxss
new file mode 100644
index 0000000..af678bd
--- /dev/null
+++ b/vant/progress/index.wxss
@@ -0,0 +1,36 @@
+@import "../area/index.wxss";
+
+.van-progress {
+ height: 4px;
+ position: relative;
+ border-radius: 4px;
+ background: #e5e5e5;
+}
+
+.van-progress__portion {
+ left: 0;
+ height: 100%;
+ position: absolute;
+ border-radius: inherit;
+}
+
+.van-progress__portion--with-pivot {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+.van-progress__pivot {
+ top: 50%;
+ right: 0;
+ min-width: 2em;
+ padding: 0 5px;
+ font-size: 10px;
+ position: absolute;
+ line-height: 1.6;
+ text-align: center;
+ border-radius: 1em;
+ word-break: keep-all;
+ box-sizing: border-box;
+ background-color: #e5e5e5;
+ transform: translate(100%,-50%);
+}
\ No newline at end of file
diff --git a/vant/radio-group/index.js b/vant/radio-group/index.js
new file mode 100644
index 0000000..32acbd2
--- /dev/null
+++ b/vant/radio-group/index.js
@@ -0,0 +1,43 @@
+(0, require("../common/component").VantComponent)({
+ field: !0,
+ relation: {
+ name: "radio",
+ type: "descendant",
+ linked: function(e) {
+ var a = this.data, d = a.value, n = a.disabled, i = a.checkedClass;
+ e.set({
+ value: d,
+ disabled: n || e.data.disabled,
+ checkedClass: i
+ });
+ }
+ },
+ props: {
+ value: null,
+ disabled: Boolean,
+ checkedClass: null
+ },
+ watch: {
+ value: function(e) {
+ this.getRelationNodes("../radio/index").forEach(function(a) {
+ a.set({
+ value: e
+ });
+ });
+ },
+ checkedClass: function(e) {
+ this.getRelationNodes("../radio/index").forEach(function(a) {
+ a.set({
+ checkedClass: e
+ });
+ });
+ },
+ disabled: function(e) {
+ this.getRelationNodes("../radio/index").forEach(function(a) {
+ a.set({
+ disabled: e || a.data.disabled
+ });
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/radio-group/index.json b/vant/radio-group/index.json
new file mode 100644
index 0000000..e9f601c
--- /dev/null
+++ b/vant/radio-group/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/radio-group/index.wxml b/vant/radio-group/index.wxml
new file mode 100644
index 0000000..13e0e91
--- /dev/null
+++ b/vant/radio-group/index.wxml
@@ -0,0 +1 @@
+
diff --git a/vant/radio-group/index.wxss b/vant/radio-group/index.wxss
new file mode 100644
index 0000000..f720459
--- /dev/null
+++ b/vant/radio-group/index.wxss
@@ -0,0 +1 @@
+@import "../area/index.wxss";
\ No newline at end of file
diff --git a/vant/radio/index.js b/vant/radio/index.js
new file mode 100644
index 0000000..a144706
--- /dev/null
+++ b/vant/radio/index.js
@@ -0,0 +1,37 @@
+(0, require("../common/component").VantComponent)({
+ field: !0,
+ relation: {
+ name: "radio-group",
+ type: "ancestor"
+ },
+ classes: [ "icon-class", "label-class" ],
+ props: {
+ name: null,
+ value: null,
+ checkedStyle: {
+ type: String,
+ value: "passed"
+ },
+ iconSize: {
+ type: String,
+ value: "18px"
+ },
+ checkedClass: String,
+ disabled: Boolean,
+ labelDisabled: Boolean,
+ labelPosition: String,
+ checkedColor: String
+ },
+ methods: {
+ emitChange: function(e) {
+ var a = this.getRelationNodes("../radio-group/index")[0] || this;
+ a.$emit("input", e), a.$emit("change", e);
+ },
+ onChange: function(e) {
+ this.emitChange(e.detail.value);
+ },
+ onClickLabel: function() {
+ this.data.disabled || this.data.labelDisabled || this.emitChange(this.data.name);
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/radio/index.json b/vant/radio/index.json
new file mode 100644
index 0000000..e9f601c
--- /dev/null
+++ b/vant/radio/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/radio/index.wxml b/vant/radio/index.wxml
new file mode 100644
index 0000000..21d2b5f
--- /dev/null
+++ b/vant/radio/index.wxml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vant/radio/index.wxss b/vant/radio/index.wxss
new file mode 100644
index 0000000..ecd73ff
--- /dev/null
+++ b/vant/radio/index.wxss
@@ -0,0 +1,64 @@
+@import "../area/index.wxss";
+
+.van-radio {
+ margin-top: -2px;
+ vertical-align: middle;
+ overflow: hidden;
+ line-height: 1;
+ user-select: none;
+ display: inline-block;
+}
+
+.van-radio__input,.van-radio__label {
+ display: inline-block;
+ vertical-align: middle;
+}
+
+.van-radio__input {
+ position: relative;
+ font-size: 20px;
+}
+
+.van-radio__control {
+ z-index: 1;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ margin: 0;
+ opacity: 0;
+}
+
+.van-radio__label {
+ margin-left: 2px;
+ color: #333;
+ line-height: 20px;
+}
+
+.van-radio__label--left {
+ margin: 0 10px 0 0;
+ float: left;
+}
+
+.van-radio__label:empty {
+ margin: 0;
+}
+
+.van-radio__icon {
+ pointer-events: none;
+ display: block;
+ line-height: 0;
+}
+
+.van-radio__icon--disabled {
+ color: #e5e5e5;
+}
+
+.van-radio__icon--checked {
+ color: #5FB878;
+}
+
+.van-radio__icon--check {
+ color: #c9c9c9;
+}
\ No newline at end of file
diff --git a/vant/rate/index.js b/vant/rate/index.js
new file mode 100644
index 0000000..20964e1
--- /dev/null
+++ b/vant/rate/index.js
@@ -0,0 +1,79 @@
+(0, require("../common/component").VantComponent)({
+ field: !0,
+ classes: [ "icon-class" ],
+ props: {
+ readonly: Boolean,
+ disabled: Boolean,
+ size: {
+ type: Number,
+ value: 20
+ },
+ icon: {
+ type: String,
+ value: "star"
+ },
+ voidIcon: {
+ type: String,
+ value: "star-o"
+ },
+ color: {
+ type: String,
+ value: "#ffd21e"
+ },
+ voidColor: {
+ type: String,
+ value: "#c7c7c7"
+ },
+ disabledColor: {
+ type: String,
+ value: "#bdbdbd"
+ },
+ count: {
+ type: Number,
+ value: 5
+ },
+ value: {
+ type: Number,
+ value: 0
+ }
+ },
+ data: {
+ innerValue: 0
+ },
+ watch: {
+ value: function(e) {
+ e !== this.data.innerValue && this.set({
+ innerValue: e
+ });
+ }
+ },
+ computed: {
+ list: function() {
+ var e = this.data, t = e.count, n = e.innerValue;
+ return Array.from({
+ length: t
+ }, function(e, t) {
+ return t < n;
+ });
+ }
+ },
+ methods: {
+ onSelect: function(e) {
+ var t = this.data, n = e.currentTarget.dataset.index;
+ t.disabled || t.readonly || (this.set({
+ innerValue: n + 1
+ }), this.$emit("input", n + 1), this.$emit("change", n + 1));
+ },
+ onTouchMove: function(e) {
+ var t = this, n = e.touches[0], a = n.clientX, i = n.clientY;
+ this.getRect(".van-rate__item", !0).then(function(n) {
+ var o = n.find(function(e) {
+ return a >= e.left && a <= e.right && i >= e.top && i <= e.bottom;
+ });
+ null != o && t.onSelect(Object.assign({}, e, {
+ currentTarget: o
+ }));
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/rate/index.json b/vant/rate/index.json
new file mode 100644
index 0000000..e9f601c
--- /dev/null
+++ b/vant/rate/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/rate/index.wxml b/vant/rate/index.wxml
new file mode 100644
index 0000000..5b229b7
--- /dev/null
+++ b/vant/rate/index.wxml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/vant/rate/index.wxss b/vant/rate/index.wxss
new file mode 100644
index 0000000..01ce4c9
--- /dev/null
+++ b/vant/rate/index.wxss
@@ -0,0 +1,11 @@
+@import "../area/index.wxss";
+
+.van-rate {
+ user-select: none;
+}
+
+.van-rate__item {
+ width: 1em;
+ padding: 0 2px;
+ box-sizing: initial;
+}
\ No newline at end of file
diff --git a/vant/row/index.js b/vant/row/index.js
new file mode 100644
index 0000000..ac10130
--- /dev/null
+++ b/vant/row/index.js
@@ -0,0 +1,28 @@
+(0, require("../common/component").VantComponent)({
+ relation: {
+ name: "col",
+ type: "descendant",
+ linked: function(t) {
+ this.data.gutter && t.setGutter(this.data.gutter);
+ }
+ },
+ props: {
+ gutter: Number
+ },
+ watch: {
+ gutter: "setGutter"
+ },
+ mounted: function() {
+ this.data.gutter && this.setGutter();
+ },
+ methods: {
+ setGutter: function() {
+ var t = this, e = this.data.gutter, n = "-" + Number(e) / 2 + "px", r = e ? "margin-right: " + n + "; margin-left: " + n + ";" : "";
+ this.set({
+ style: r
+ }), this.getRelationNodes("../col/index").forEach(function(e) {
+ e.setGutter(t.data.gutter);
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/row/index.json b/vant/row/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/vant/row/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/row/index.wxml b/vant/row/index.wxml
new file mode 100644
index 0000000..8b52a74
--- /dev/null
+++ b/vant/row/index.wxml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/vant/row/index.wxss b/vant/row/index.wxss
new file mode 100644
index 0000000..9b331f8
--- /dev/null
+++ b/vant/row/index.wxss
@@ -0,0 +1,7 @@
+@import "../area/index.wxss";
+
+.van-row:after {
+ content: "";
+ display: table;
+ clear: both;
+}
\ No newline at end of file
diff --git a/vant/search/index.js b/vant/search/index.js
new file mode 100644
index 0000000..4153650
--- /dev/null
+++ b/vant/search/index.js
@@ -0,0 +1,56 @@
+(0, require("../common/component").VantComponent)({
+ field: !0,
+ classes: [ "field-class", "input-class", "cancel-class" ],
+ props: {
+ focus: Boolean,
+ error: Boolean,
+ disabled: Boolean,
+ readonly: Boolean,
+ inputAlign: String,
+ showAction: Boolean,
+ useActionSlot: Boolean,
+ placeholder: String,
+ placeholderStyle: String,
+ background: {
+ type: String,
+ value: "#ffffff"
+ },
+ maxlength: {
+ type: Number,
+ value: -1
+ },
+ shape: {
+ type: String,
+ value: "square"
+ },
+ icon: {
+ type: String,
+ value: "search"
+ },
+ label: String
+ },
+ methods: {
+ onChange: function(e) {
+ this.set({
+ value: e.detail.value
+ }), this.$emit("change", e.detail.value);
+ },
+ onCancel: function() {
+ this.set({
+ value: ""
+ }), this.$emit("cancel"), this.$emit("change", "");
+ },
+ onSearch: function() {
+ this.$emit("search", this.data.value);
+ },
+ onFocus: function() {
+ this.$emit("focus");
+ },
+ onBlur: function() {
+ this.$emit("blur");
+ },
+ onClear: function() {
+ this.$emit("clear");
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/search/index.json b/vant/search/index.json
new file mode 100644
index 0000000..adfeda7
--- /dev/null
+++ b/vant/search/index.json
@@ -0,0 +1,14 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-field": "../field/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/search/index.wxml b/vant/search/index.wxml
new file mode 100644
index 0000000..ba97306
--- /dev/null
+++ b/vant/search/index.wxml
@@ -0,0 +1,12 @@
+
+
+ {{label}}
+
+
+
+
+
+ 取消
+
+
+
\ No newline at end of file
diff --git a/vant/search/index.wxss b/vant/search/index.wxss
new file mode 100644
index 0000000..c37720e
--- /dev/null
+++ b/vant/search/index.wxss
@@ -0,0 +1,52 @@
+@import "../area/index.wxss";
+
+.van-search {
+ padding: 10px 16px;
+ align-items: center;
+ box-sizing: border-box;
+}
+
+.van-search,.van-search__content {
+ display: flex;
+}
+
+.van-search__content {
+ padding-left: 10px;
+ background-color: #f7f8fa;
+ border-radius: 2px;
+ flex: 1;
+}
+
+.van-search__content--round {
+ border-radius: 17px;
+}
+
+.van-search__label {
+ padding: 0 5px;
+ font-size: 14px;
+ line-height: 34px;
+ color: #333;
+}
+
+.van-search__field {
+ flex: 1;
+}
+
+.van-search__field__left-icon {
+ color: #999;
+}
+
+.van-search--withaction {
+ padding-right: 0;
+}
+
+.van-search__action {
+ padding: 0 10px;
+ font-size: 14px;
+ line-height: 34px;
+ color: #333;
+}
+
+.van-search__action--hover {
+ background-color: #f2f3f5;
+}
\ No newline at end of file
diff --git a/vant/slider/index.js b/vant/slider/index.js
new file mode 100644
index 0000000..45f3adc
--- /dev/null
+++ b/vant/slider/index.js
@@ -0,0 +1,73 @@
+var t = require("../common/component"), a = require("../mixins/touch");
+
+(0, t.VantComponent)({
+ mixins: [ a.touch ],
+ props: {
+ disabled: Boolean,
+ useButtonSlot: Boolean,
+ activeColor: String,
+ inactiveColor: String,
+ max: {
+ type: Number,
+ value: 100
+ },
+ min: {
+ type: Number,
+ value: 0
+ },
+ step: {
+ type: Number,
+ value: 1
+ },
+ value: {
+ type: Number,
+ value: 0
+ },
+ barHeight: {
+ type: String,
+ value: "2px"
+ }
+ },
+ watch: {
+ value: function(t) {
+ this.updateValue(t, !1);
+ }
+ },
+ created: function() {
+ this.updateValue(this.data.value);
+ },
+ methods: {
+ onTouchStart: function(t) {
+ this.data.disabled || (this.touchStart(t), this.startValue = this.format(this.data.value));
+ },
+ onTouchMove: function(t) {
+ var a = this;
+ this.data.disabled || (this.touchMove(t), this.getRect(".van-slider").then(function(t) {
+ var e = a.deltaX / t.width * 100;
+ a.newValue = a.startValue + e, a.updateValue(a.newValue, !1, !0);
+ }));
+ },
+ onTouchEnd: function() {
+ this.data.disabled || this.updateValue(this.newValue, !0);
+ },
+ onClick: function(t) {
+ var a = this;
+ this.data.disabled || this.getRect(".van-slider").then(function(e) {
+ var i = (t.detail.x - e.left) / e.width * 100;
+ a.updateValue(i, !0);
+ });
+ },
+ updateValue: function(t, a, e) {
+ t = this.format(t), this.set({
+ value: t,
+ barStyle: "width: " + t + "%; height: " + this.data.barHeight + ";"
+ }), e && this.$emit("drag", {
+ value: t
+ }), a && this.$emit("change", t);
+ },
+ format: function(t) {
+ var a = this.data, e = a.max, i = a.min, u = a.step;
+ return Math.round(Math.max(i, Math.min(t, e)) / u) * u;
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/slider/index.json b/vant/slider/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/vant/slider/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/slider/index.wxml b/vant/slider/index.wxml
new file mode 100644
index 0000000..761e56c
--- /dev/null
+++ b/vant/slider/index.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vant/slider/index.wxss b/vant/slider/index.wxss
new file mode 100644
index 0000000..c626210
--- /dev/null
+++ b/vant/slider/index.wxss
@@ -0,0 +1,41 @@
+@import "../area/index.wxss";
+
+.van-slider {
+ position: relative;
+ border-radius: 999px;
+ background-color: #e5e5e5;
+}
+
+.van-slider__bar {
+ position: relative;
+ border-radius: inherit;
+ background-color: #1989fa;
+}
+
+.van-slider__button {
+ width: 20px;
+ height: 20px;
+ border-radius: 50%;
+ background-color: #fff;
+ box-shadow: 0 1px 2px rgba(0,0,0,.5);
+}
+
+.van-slider__button-wrapper {
+ position: absolute;
+ top: 50%;
+ right: 0;
+ transform: translate3d(50%,-50%,0);
+}
+
+.van-slider__button-wrapper:after {
+ content: "";
+ position: absolute;
+ width: 200%;
+ height: 200%;
+ top: -50%;
+ left: -50%;
+}
+
+.van-slider--disabled {
+ opacity: .3;
+}
\ No newline at end of file
diff --git a/vant/stepper/index.js b/vant/stepper/index.js
new file mode 100644
index 0000000..175a7ed
--- /dev/null
+++ b/vant/stepper/index.js
@@ -0,0 +1,142 @@
+function t(t, e) {
+ var i = Math.pow(10, 10);
+ return Math.round((t + e) * i) / i;
+}
+
+var e = require("../common/component"), i = require("../common/utils");
+
+(0, e.VantComponent)({
+ field: !0,
+ classes: [ "input-class", "plus-class", "minus-class" ],
+ props: {
+ unit: String,
+ value: null,
+ integer: Boolean,
+ disabled: Boolean,
+ inputWidth: null,
+ buttonSize: null,
+ asyncChange: Boolean,
+ disableInput: Boolean,
+ decimalLength: {
+ type: Number,
+ value: null
+ },
+ min: {
+ type: null,
+ value: 1
+ },
+ max: {
+ type: null,
+ value: Number.MAX_SAFE_INTEGER
+ },
+ step: {
+ type: null,
+ value: 1
+ },
+ showPlus: {
+ type: Boolean,
+ value: !0
+ },
+ showMinus: {
+ type: Boolean,
+ value: !0
+ },
+ disablePlus: Boolean,
+ disableMinus: Boolean
+ },
+ watch: {
+ value: function(t) {
+ if ("" !== t) {
+ var e = this.range(t);
+ "number" == typeof e && +this.data.value !== e && this.setData({
+ value: e
+ });
+ }
+ },
+ inputWidth: function() {
+ this.set({
+ inputStyle: this.computeInputStyle()
+ });
+ },
+ buttonSize: function() {
+ this.set({
+ inputStyle: this.computeInputStyle(),
+ buttonStyle: this.computeButtonStyle()
+ });
+ }
+ },
+ data: {
+ focus: !1,
+ inputStyle: "",
+ buttonStyle: ""
+ },
+ created: function() {
+ this.setData({
+ value: this.range(this.data.value)
+ });
+ },
+ methods: {
+ isDisabled: function(t) {
+ return "plus" === t ? this.data.disabled || this.data.disablePlus || this.data.value >= this.data.max : this.data.disabled || this.data.disableMinus || this.data.value <= this.data.min;
+ },
+ onFocus: function(t) {
+ this.$emit("focus", t.detail);
+ },
+ onBlur: function(t) {
+ var e = this.range(this.data.value);
+ this.triggerInput(e), this.$emit("blur", t.detail);
+ },
+ range: function(t) {
+ return t = String(t).replace(/[^0-9.-]/g, ""), t = "" === t ? 0 : +t, t = Math.max(Math.min(this.data.max, t), this.data.min),
+ (0, i.isDef)(this.data.decimalLength) && (t = t.toFixed(this.data.decimalLength)),
+ t;
+ },
+ onInput: function(t) {
+ var e = (t.detail || {}).value, i = void 0 === e ? "" : e;
+ this.triggerInput(i);
+ },
+ onChange: function() {
+ var e = this.type;
+ if (this.isDisabled(e)) this.$emit("overlimit", e); else {
+ var i = "minus" === e ? -this.data.step : +this.data.step, a = t(+this.data.value, i);
+ this.triggerInput(this.range(a)), this.$emit(e);
+ }
+ },
+ longPressStep: function() {
+ var t = this;
+ this.longPressTimer = setTimeout(function() {
+ t.onChange(), t.longPressStep();
+ }, 200);
+ },
+ onTap: function(t) {
+ var e = t.currentTarget.dataset.type;
+ this.type = e, this.onChange();
+ },
+ onTouchStart: function(t) {
+ var e = this;
+ clearTimeout(this.longPressTimer);
+ var i = t.currentTarget.dataset.type;
+ this.type = i, this.isLongPress = !1, this.longPressTimer = setTimeout(function() {
+ e.isLongPress = !0, e.onChange(), e.longPressStep();
+ }, 600);
+ },
+ onTouchEnd: function() {
+ clearTimeout(this.longPressTimer);
+ },
+ triggerInput: function(t) {
+ this.setData({
+ value: this.data.asyncChange ? this.data.value : t
+ }), this.$emit("change", t);
+ },
+ computeInputStyle: function() {
+ var t = "";
+ return this.data.inputWidth && (t = "width: " + (0, i.addUnit)(this.data.inputWidth) + ";"),
+ this.data.buttonSize && (t += "height: " + (0, i.addUnit)(this.data.buttonSize) + ";"),
+ t;
+ },
+ computeButtonStyle: function() {
+ var t = "", e = (0, i.addUnit)(this.data.buttonSize);
+ return this.data.buttonSize && (t = "width: " + e + ";height: " + e + ";"), t;
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/stepper/index.json b/vant/stepper/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/vant/stepper/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/stepper/index.wxml b/vant/stepper/index.wxml
new file mode 100644
index 0000000..9b2f64d
--- /dev/null
+++ b/vant/stepper/index.wxml
@@ -0,0 +1,7 @@
+
+
+
+
+ {{unit}}
+
+
\ No newline at end of file
diff --git a/vant/stepper/index.wxss b/vant/stepper/index.wxss
new file mode 100644
index 0000000..9bfeacd
--- /dev/null
+++ b/vant/stepper/index.wxss
@@ -0,0 +1,112 @@
+@import "../area/index.wxss";
+
+.van-stepper {
+ font-size: 0;
+}
+
+.van-stepper text {
+ font-size: 14px;
+ vertical-align: middle;
+ padding-left: 3px;
+ color: #333;
+}
+
+.van-stepper__minus,.van-stepper__plus {
+ position: relative;
+ display: inline-block;
+ box-sizing: border-box;
+ margin: 1px;
+ vertical-align: middle;
+ border: 0;
+ background-color: #f2f3f5;
+ background-color: var(--stepper-background-color,#f2f3f5);
+ color: #323233;
+ color: var(--stepper-button-icon-color,#323233);
+ width: 28px;
+ width: var(--stepper-input-height,28px);
+ height: 28px;
+ height: var(--stepper-input-height,28px);
+ padding: 4px;
+ padding: var(--padding-base,4px);
+}
+
+.van-stepper__minus:before,.van-stepper__plus:before {
+ width: 9px;
+ height: 1px;
+}
+
+.van-stepper__minus:after,.van-stepper__plus:after {
+ width: 1px;
+ height: 9px;
+}
+
+.van-stepper__minus:after,.van-stepper__minus:before,.van-stepper__plus:after,.van-stepper__plus:before {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ margin: auto;
+ background-color: currentColor;
+ content: "";
+}
+
+.van-stepper__minus--hover,.van-stepper__plus--hover {
+ background-color: #e8e8e8;
+ background-color: var(--stepper-active-color,#e8e8e8);
+}
+
+.van-stepper__minus--disabled,.van-stepper__plus--disabled {
+ color: #c8c9cc;
+ color: var(--stepper-button-disabled-icon-color,#c8c9cc);
+}
+
+.van-stepper__minus--disabled,.van-stepper__minus--disabled.van-stepper__minus--hover,.van-stepper__minus--disabled.van-stepper__plus--hover,.van-stepper__plus--disabled,.van-stepper__plus--disabled.van-stepper__minus--hover,.van-stepper__plus--disabled.van-stepper__plus--hover {
+ background-color: #f7f8fa;
+ background-color: var(--stepper-button-disabled-color,#f7f8fa);
+}
+
+.van-stepper__minus {
+ border-radius: 4px 0 0 4px;
+ border-radius: var(--stepper-border-radius,4px) 0 0 var(--stepper-border-radius,4px);
+}
+
+.van-stepper__minus:after {
+ display: none;
+}
+
+.van-stepper__plus {
+ border-radius: 0 4px 4px 0;
+ border-radius: 0 var(--stepper-border-radius,4px) var(--stepper-border-radius,4px) 0;
+}
+
+.van-stepper__input {
+ display: inline-block;
+ box-sizing: border-box;
+ min-height: 0;
+ margin: 1px;
+ padding: 1px;
+ text-align: center;
+ vertical-align: middle;
+ border: 0;
+ border-width: 1px 0;
+ border-radius: 0;
+ -webkit-appearance: none;
+ font-size: 14px;
+ font-size: var(--stepper-input-font-size,14px);
+ color: #323233;
+ color: var(--stepper-input-text-color,#323233);
+ background-color: #f2f3f5;
+ background-color: var(--stepper-background-color,#f2f3f5);
+ width: 32px;
+ width: var(--stepper-input-width,32px);
+ height: 28px;
+ height: var(--stepper-input-height,28px);
+}
+
+.van-stepper__input--disabled {
+ color: #c8c9cc;
+ color: var(--stepper-input-disabled-text-color,#c8c9cc);
+ background-color: #f2f3f5;
+ background-color: var(--stepper-input-disabled-background-color,#f2f3f5);
+}
\ No newline at end of file
diff --git a/vant/steps/index.js b/vant/steps/index.js
new file mode 100644
index 0000000..c5b9785
--- /dev/null
+++ b/vant/steps/index.js
@@ -0,0 +1,17 @@
+var o = require("../common/component"), r = require("../common/color");
+
+(0, o.VantComponent)({
+ props: {
+ icon: String,
+ steps: Array,
+ active: Number,
+ direction: {
+ type: String,
+ value: "horizontal"
+ },
+ activeColor: {
+ type: String,
+ value: r.GREEN
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/steps/index.json b/vant/steps/index.json
new file mode 100644
index 0000000..e9f601c
--- /dev/null
+++ b/vant/steps/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/steps/index.wxml b/vant/steps/index.wxml
new file mode 100644
index 0000000..4f8d25e
--- /dev/null
+++ b/vant/steps/index.wxml
@@ -0,0 +1,27 @@
+
+
+
+
+ {{item.text}}
+ {{item.desc}}
+
+
+
+
+
+
+
+
+
+
+
+function get(index, active) {
+ if (index < active) {
+ return ('finish')
+ } else if (index === active) {
+ return ('process')
+ };
+ return ('')
+};
+module.exports = get;
+
\ No newline at end of file
diff --git a/vant/steps/index.wxss b/vant/steps/index.wxss
new file mode 100644
index 0000000..4f4a8d8
--- /dev/null
+++ b/vant/steps/index.wxss
@@ -0,0 +1,153 @@
+@import "../area/index.wxss";
+
+.van-steps {
+ overflow: hidden;
+ background-color: #fff;
+}
+
+.van-steps--horizontal {
+ padding: 10px;
+}
+
+.van-steps--horizontal .van-step__wrapper {
+ position: relative;
+ display: flex;
+ overflow: hidden;
+}
+
+.van-steps--vertical {
+ padding-left: 10px;
+}
+
+.van-steps--vertical .van-step__wrapper {
+ padding: 0 0 0 20px;
+}
+
+.van-step {
+ position: relative;
+ flex: 1;
+ font-size: 14px;
+ color: #999;
+}
+
+.van-step--finish {
+ color: #333;
+}
+
+.van-step__circle {
+ width: 5px;
+ height: 5px;
+ background-color: #999;
+ border-radius: 50%;
+}
+
+.van-step--horizontal {
+ padding-bottom: 14px;
+}
+
+.van-step--horizontal:first-child .van-step__title {
+ transform: none;
+}
+
+.van-step--horizontal:first-child .van-step__circle-container {
+ padding: 0 8px 0 0;
+ transform: translate3d(0,50%,0);
+}
+
+.van-step--horizontal:last-child {
+ position: absolute;
+ right: 0;
+ width: auto;
+}
+
+.van-step--horizontal:last-child .van-step__title {
+ text-align: right;
+ transform: none;
+}
+
+.van-step--horizontal:last-child .van-step__circle-container {
+ right: 0;
+ padding: 0 0 0 8px;
+ transform: translate3d(0,50%,0);
+}
+
+.van-step--horizontal .van-step__circle-container {
+ position: absolute;
+ bottom: 6px;
+ z-index: 1;
+ padding: 0 8px;
+ background-color: #fff;
+ transform: translate3d(-50%,50%,0);
+}
+
+.van-step--horizontal .van-step__title {
+ display: inline-block;
+ font-size: 12px;
+ transform: translate3d(-50%,0,0);
+}
+
+.van-step--horizontal .van-step__line {
+ position: absolute;
+ right: 0;
+ bottom: 6px;
+ left: 0;
+ height: 1px;
+ background-color: #eee;
+ transform: translate3d(0,50%,0);
+}
+
+.van-step--horizontal.van-step--process {
+ color: #333;
+}
+
+.van-step--horizontal.van-step--process .van-step__active {
+ display: block;
+ font-size: 12px;
+ line-height: 1;
+}
+
+.van-step--vertical {
+ padding: 10px 10px 10px 0;
+ font-size: 14px;
+ line-height: 18px;
+}
+
+.van-step--vertical:after {
+ border-bottom-width: 1px;
+}
+
+.van-step--vertical:last-child:after {
+ border-bottom-width: none;
+}
+
+.van-step--vertical:first-child:before {
+ position: absolute;
+ top: 0;
+ left: -15px;
+ z-index: 1;
+ width: 1px;
+ height: 20px;
+ background-color: #fff;
+ content: "";
+}
+
+.van-step--vertical .van-step__active,.van-step--vertical .van-step__circle,.van-step--vertical .van-step__line {
+ position: absolute;
+ top: 19px;
+ left: -14px;
+ z-index: 2;
+ transform: translate3d(-50%,-50%,0);
+}
+
+.van-step--vertical .van-step__active {
+ font-size: 12px;
+ line-height: 1;
+}
+
+.van-step--vertical .van-step__line {
+ z-index: 1;
+ width: 1px;
+ height: 100%;
+ background-color: #eee;
+ transform: translate3d(-50%,0,0);
+}
\ No newline at end of file
diff --git a/vant/submit-bar/index.js b/vant/submit-bar/index.js
new file mode 100644
index 0000000..26b03bb
--- /dev/null
+++ b/vant/submit-bar/index.js
@@ -0,0 +1,55 @@
+(0, require("../common/component").VantComponent)({
+ classes: [ "bar-class", "price-class", "button-class" ],
+ props: {
+ tip: {
+ type: null,
+ observer: "updateTip"
+ },
+ tipIcon: String,
+ type: Number,
+ price: {
+ type: null,
+ observer: "updatePrice"
+ },
+ label: String,
+ loading: Boolean,
+ disabled: Boolean,
+ buttonHidden: Boolean,
+ buttonText: String,
+ currency: {
+ type: String,
+ value: "¥"
+ },
+ buttonType: {
+ type: String,
+ value: "danger"
+ },
+ decimalLength: {
+ type: Number,
+ value: 2,
+ observer: "updatePrice"
+ },
+ suffixLabel: String,
+ safeAreaInsetBottom: {
+ type: Boolean,
+ value: !0
+ }
+ },
+ methods: {
+ updatePrice: function() {
+ var e = this.data, t = e.price, i = e.decimalLength;
+ this.setData({
+ hasPrice: "number" == typeof t,
+ priceStr: (t / 100).toFixed(i)
+ });
+ },
+ updateTip: function() {
+ this.setData({
+ hasTip: "string" == typeof this.data.tip
+ });
+ },
+ onSubmit: function(e) {
+ this.$emit("submit", e.detail);
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/submit-bar/index.json b/vant/submit-bar/index.json
new file mode 100644
index 0000000..a2d0645
--- /dev/null
+++ b/vant/submit-bar/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-button": "../button/index",
+ "van-icon": "../icon/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/submit-bar/index.wxml b/vant/submit-bar/index.wxml
new file mode 100644
index 0000000..a2b3bd5
--- /dev/null
+++ b/vant/submit-bar/index.wxml
@@ -0,0 +1,25 @@
+
+
+
+
+
+ {{tip}}
+
+
+
+
+
+
+ {{label||'合计:'}}
+
+ {{currency}}
+ {{priceStr}}
+
+ {{suffixLabel}}
+
+
+ {{loading?'':buttonText}}
+
+
+
+
\ No newline at end of file
diff --git a/vant/submit-bar/index.wxss b/vant/submit-bar/index.wxss
new file mode 100644
index 0000000..d2b5675
--- /dev/null
+++ b/vant/submit-bar/index.wxss
@@ -0,0 +1,94 @@
+@import "../area/index.wxss";
+
+.van-submit-bar {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ user-select: none;
+ z-index: 100;
+ z-index: var(--submit-bar-z-index,100);
+ background-color: #fff;
+ background-color: var(--submit-bar-background-color,#fff);
+}
+
+.van-submit-bar__tip {
+ padding: 10px;
+ padding: var(--submit-bar-tip-padding,10px);
+ color: #f56723;
+ color: var(--submit-bar-tip-color,#f56723);
+ font-size: 12px;
+ font-size: var(--submit-bar-tip-font-size,12px);
+ line-height: 1.5;
+ line-height: var(--submit-bar-tip-line-height,1.5);
+ background-color: #fff7cc;
+ background-color: var(--submit-bar-tip-background-color,#fff7cc);
+}
+
+.van-submit-bar__tip:empty {
+ display: none;
+}
+
+.van-submit-bar__tip-icon {
+ width: 12px;
+ height: 12px;
+ margin-right: 4px;
+ vertical-align: middle;
+ font-size: 12px;
+ font-size: var(--submit-bar-tip-icon-size,12px);
+ min-width: 18px;
+ min-width: calc(var(--submit-bar-tip-icon-size, 12px)*1.5);
+}
+
+.van-submit-bar__tip-text {
+ display: inline;
+ vertical-align: middle;
+}
+
+.van-submit-bar__bar {
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ height: 50px;
+ height: var(--submit-bar-height,50px);
+ font-size: 14px;
+ font-size: var(--submit-bar-text-font-size,14px);
+ background-color: #fff;
+ background-color: var(--submit-bar-background-color,#fff);
+}
+
+.van-submit-bar__bar--safe {
+ padding-bottom: env(safe-area-inset-bottom);
+}
+
+.van-submit-bar__text {
+ flex: 1;
+ text-align: right;
+ color: #323233;
+ color: var(--submit-bar-text-color,#323233);
+ padding-right: 12px;
+ padding-right: var(--padding-sm,12px);
+ font-weight: 500;
+ font-weight: var(--font-weight-bold,500);
+}
+
+.van-submit-bar__price {
+ color: #ee0a24;
+ color: var(--submit-bar-price-color,#ee0a24);
+ font-size: 18px;
+ font-size: var(--submit-bar-price-font-size,18px);
+}
+
+.van-submit-bar__currency {
+ font-size: 14px;
+ font-size: var(--submit-bar-currency-font-size,14px);
+}
+
+.van-submit-bar__suffix-label {
+ margin-left: 5px;
+}
+
+.van-submit-bar__button {
+ width: 110px;
+ width: var(--submit-bar-button-width,110px);
+}
\ No newline at end of file
diff --git a/vant/swipe-cell/index.js b/vant/swipe-cell/index.js
new file mode 100644
index 0000000..e6ebfe0
--- /dev/null
+++ b/vant/swipe-cell/index.js
@@ -0,0 +1,68 @@
+var t = require("../common/component"), i = require("../mixins/touch");
+
+(0, t.VantComponent)({
+ props: {
+ disabled: Boolean,
+ leftWidth: {
+ type: Number,
+ value: 0
+ },
+ rightWidth: {
+ type: Number,
+ value: 0
+ },
+ asyncClose: Boolean
+ },
+ mixins: [ i.touch ],
+ data: {
+ catchMove: !0
+ },
+ created: function() {
+ this.offset = 0;
+ },
+ methods: {
+ open: function(t) {
+ var i = this.data, s = i.leftWidth, e = i.rightWidth, n = "left" === t ? s : -e;
+ this.swipeMove(n);
+ },
+ close: function() {
+ this.swipeMove(0);
+ },
+ swipeMove: function() {
+ var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;
+ this.offset = t;
+ var i = "translate3d(" + t + "px, 0, 0)", s = this.draging ? "none" : ".6s cubic-bezier(0.18, 0.89, 0.32, 1)";
+ this.set({
+ wrapperStyle: "\n -webkit-transform: " + i + ";\n -webkit-transition: " + s + ";\n transform: " + i + ";\n transition: " + s + ";\n "
+ });
+ },
+ swipeLeaveTransition: function() {
+ var t = this.data, i = t.leftWidth, s = t.rightWidth, e = this.offset;
+ s > 0 && -e > .3 * s ? this.open("right") : i > 0 && e > .3 * i ? this.open("left") : this.swipeMove(0);
+ },
+ startDrag: function(t) {
+ this.data.disabled || (this.draging = !0, this.startOffset = this.offset, this.firstDirection = "",
+ this.touchStart(t));
+ },
+ noop: function() {},
+ onDrag: function(t) {
+ if (!this.data.disabled && (this.touchMove(t), this.firstDirection || (this.firstDirection = this.direction,
+ this.set({
+ catchMove: "horizontal" === this.firstDirection
+ })), "vertical" !== this.firstDirection)) {
+ var i = this.data, s = i.leftWidth, e = i.rightWidth, n = this.startOffset + this.deltaX;
+ e > 0 && -n > e || s > 0 && n > s || this.swipeMove(n);
+ }
+ },
+ endDrag: function() {
+ this.data.disabled || (this.draging = !1, this.swipeLeaveTransition());
+ },
+ onClick: function(t) {
+ var i = t.currentTarget.dataset.key, s = void 0 === i ? "outside" : i;
+ this.$emit("click", s), this.offset && (this.data.asyncClose ? this.$emit("close", {
+ position: s,
+ instance: this
+ }) : this.swipeMove(0));
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/swipe-cell/index.json b/vant/swipe-cell/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/vant/swipe-cell/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/swipe-cell/index.wxml b/vant/swipe-cell/index.wxml
new file mode 100644
index 0000000..ea2d485
--- /dev/null
+++ b/vant/swipe-cell/index.wxml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vant/swipe-cell/index.wxss b/vant/swipe-cell/index.wxss
new file mode 100644
index 0000000..447b84d
--- /dev/null
+++ b/vant/swipe-cell/index.wxss
@@ -0,0 +1,22 @@
+@import "../area/index.wxss";
+
+.van-swipe-cell {
+ position: relative;
+ overflow: hidden;
+}
+
+.van-swipe-cell__left,.van-swipe-cell__right {
+ position: absolute;
+ top: 0;
+ height: 100%;
+}
+
+.van-swipe-cell__left {
+ left: 0;
+ transform: translate3d(-100%,0,0);
+}
+
+.van-swipe-cell__right {
+ right: 0;
+ transform: translate3d(100%,0,0);
+}
\ No newline at end of file
diff --git a/vant/switch-cell/index.js b/vant/switch-cell/index.js
new file mode 100644
index 0000000..608d61c
--- /dev/null
+++ b/vant/switch-cell/index.js
@@ -0,0 +1,42 @@
+(0, require("../common/component").VantComponent)({
+ field: !0,
+ props: {
+ value: null,
+ title: String,
+ border: Boolean,
+ checked: Boolean,
+ loading: Boolean,
+ disabled: Boolean,
+ activeColor: String,
+ inactiveColor: String,
+ size: {
+ type: String,
+ value: "24px"
+ },
+ activeValue: {
+ type: null,
+ value: !0
+ },
+ inactiveValue: {
+ type: null,
+ value: !1
+ }
+ },
+ watch: {
+ checked: function(e) {
+ this.set({
+ value: e
+ });
+ }
+ },
+ created: function() {
+ this.set({
+ value: this.data.checked
+ });
+ },
+ methods: {
+ onChange: function(e) {
+ this.$emit("change", e.detail);
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/switch-cell/index.json b/vant/switch-cell/index.json
new file mode 100644
index 0000000..46853f1
--- /dev/null
+++ b/vant/switch-cell/index.json
@@ -0,0 +1,15 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-cell": "../cell/index",
+ "van-switch": "../switch/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/switch-cell/index.wxml b/vant/switch-cell/index.wxml
new file mode 100644
index 0000000..2b6e775
--- /dev/null
+++ b/vant/switch-cell/index.wxml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/vant/switch-cell/index.wxss b/vant/switch-cell/index.wxss
new file mode 100644
index 0000000..bd4a39e
--- /dev/null
+++ b/vant/switch-cell/index.wxss
@@ -0,0 +1,10 @@
+@import "../area/index.wxss";
+
+.van-switch-cell {
+ padding-top: 9px;
+ padding-bottom: 9px;
+}
+
+.van-switch-cell__switch {
+ vertical-align: middle;
+}
\ No newline at end of file
diff --git a/vant/switch/index.js b/vant/switch/index.js
new file mode 100644
index 0000000..4b625c0
--- /dev/null
+++ b/vant/switch/index.js
@@ -0,0 +1,44 @@
+(0, require("../common/component").VantComponent)({
+ field: !0,
+ classes: [ "node-class" ],
+ props: {
+ checked: null,
+ loading: Boolean,
+ disabled: Boolean,
+ activeColor: String,
+ inactiveColor: String,
+ size: {
+ type: String,
+ value: "30px"
+ },
+ activeValue: {
+ type: null,
+ value: !0
+ },
+ inactiveValue: {
+ type: null,
+ value: !1
+ }
+ },
+ watch: {
+ checked: function(e) {
+ this.set({
+ value: e
+ });
+ }
+ },
+ created: function() {
+ this.set({
+ value: this.data.checked
+ });
+ },
+ methods: {
+ onClick: function() {
+ var e = this.data, t = e.activeValue, a = e.inactiveValue;
+ if (!this.data.disabled && !this.data.loading) {
+ var i = this.data.checked === t ? a : t;
+ this.$emit("input", i), this.$emit("change", i);
+ }
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/switch/index.json b/vant/switch/index.json
new file mode 100644
index 0000000..ec21e98
--- /dev/null
+++ b/vant/switch/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-loading": "../loading/index",
+ "forview": "/utils/forview/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/switch/index.wxml b/vant/switch/index.wxml
new file mode 100644
index 0000000..d812c19
--- /dev/null
+++ b/vant/switch/index.wxml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vant/switch/index.wxss b/vant/switch/index.wxss
new file mode 100644
index 0000000..c947de3
--- /dev/null
+++ b/vant/switch/index.wxss
@@ -0,0 +1,45 @@
+@import "../area/index.wxss";
+
+.van-switch {
+ display: inline-block;
+ position: relative;
+ width: 2em;
+ border: 1px solid rgba(0,0,0,.1);
+ border-radius: 1em;
+ box-sizing: initial;
+ transition: background-color .3s;
+}
+
+.van-switch,.van-switch__node {
+ height: 1em;
+ background-color: #fff;
+}
+
+.van-switch__node {
+ top: 0;
+ left: 0;
+ position: absolute;
+ border-radius: 100%;
+ width: 1em;
+ z-index: 1;
+ transition: .3s;
+ box-shadow: 0 3px 1px 0 rgba(0,0,0,.05),0 2px 2px 0 rgba(0,0,0,.1),0 3px 3px 0 rgba(0,0,0,.05);
+}
+
+.van-switch__loading {
+ top: 25%;
+ left: 25%;
+ position: absolute!important;
+}
+
+.van-switch--on {
+ background-color: #1989fa;
+}
+
+.van-switch--on .van-switch__node {
+ transform: translateX(1em);
+}
+
+.van-switch--disabled {
+ opacity: .4;
+}
\ No newline at end of file
diff --git a/vant/tab/index.js b/vant/tab/index.js
new file mode 100644
index 0000000..df538a9
--- /dev/null
+++ b/vant/tab/index.js
@@ -0,0 +1,35 @@
+(0, require("../common/component").VantComponent)({
+ relation: {
+ name: "tabs",
+ type: "ancestor"
+ },
+ props: {
+ icon: String,
+ iconStyle: String,
+ dot: Boolean,
+ info: null,
+ title: String,
+ disabled: Boolean,
+ titleStyle: String
+ },
+ data: {
+ width: null,
+ inited: !1,
+ active: !1,
+ animated: !1
+ },
+ watch: {
+ icon: "update",
+ title: "update",
+ disabled: "update",
+ dot: "update",
+ info: "update",
+ titleStyle: "update"
+ },
+ methods: {
+ update: function() {
+ var t = this.getRelationNodes("../tabs/index")[0];
+ t && t.updateTabs();
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/tab/index.json b/vant/tab/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/vant/tab/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/tab/index.wxml b/vant/tab/index.wxml
new file mode 100644
index 0000000..ece0a82
--- /dev/null
+++ b/vant/tab/index.wxml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/vant/tab/index.wxss b/vant/tab/index.wxss
new file mode 100644
index 0000000..45e91bd
--- /dev/null
+++ b/vant/tab/index.wxss
@@ -0,0 +1,15 @@
+@import "../area/index.wxss";
+
+.van-tab__pane {
+ box-sizing: border-box;
+ overflow-y: auto;
+}
+
+.van-tab__pane--active {
+ height: auto;
+}
+
+.van-tab__pane--inactive {
+ height: 0;
+ overflow: visible;
+}
\ No newline at end of file
diff --git a/vant/tabbar-item/index.js b/vant/tabbar-item/index.js
new file mode 100644
index 0000000..7c0b13b
--- /dev/null
+++ b/vant/tabbar-item/index.js
@@ -0,0 +1,29 @@
+(0, require("../common/component").VantComponent)({
+ props: {
+ info: null,
+ icon: String,
+ dot: Boolean
+ },
+ relation: {
+ name: "tabbar",
+ type: "ancestor",
+ linked: function(t) {
+ this.parent = t;
+ }
+ },
+ data: {
+ active: !1
+ },
+ methods: {
+ onClick: function() {
+ this.parent && this.parent.onChange(this), this.$emit("click");
+ },
+ setActive: function(t) {
+ var e = t.active, n = t.color;
+ return this.data.active !== e ? this.set({
+ active: e,
+ color: n
+ }) : Promise.resolve();
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/tabbar-item/index.json b/vant/tabbar-item/index.json
new file mode 100644
index 0000000..2b39d06
--- /dev/null
+++ b/vant/tabbar-item/index.json
@@ -0,0 +1,14 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-info": "../info/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/tabbar-item/index.wxml b/vant/tabbar-item/index.wxml
new file mode 100644
index 0000000..894f788
--- /dev/null
+++ b/vant/tabbar-item/index.wxml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vant/tabbar-item/index.wxss b/vant/tabbar-item/index.wxss
new file mode 100644
index 0000000..d826cd1
--- /dev/null
+++ b/vant/tabbar-item/index.wxss
@@ -0,0 +1,39 @@
+@import "../area/index.wxss";
+
+.van-tabbar-item {
+ color: #7d7e80;
+ height: 100%;
+ display: flex;
+ line-height: 1;
+ font-size: 12px;
+ align-items: center;
+ flex-direction: column;
+ justify-content: center;
+}
+
+.van-tabbar-item__icon {
+ font-size: 18px;
+ margin-bottom: 5px;
+ position: relative;
+}
+
+.van-tabbar-item__icon--dot:after {
+ top: 0;
+ right: -8px;
+ width: 8px;
+ height: 8px;
+ content: " ";
+ position: absolute;
+ border-radius: 100%;
+ background-color: #f44;
+}
+
+.van-tabbar-item__icon image {
+ width: 30px;
+ height: 18px;
+ display: block;
+}
+
+.van-tabbar-item--active {
+ color: #1989fa;
+}
\ No newline at end of file
diff --git a/vant/tabbar/index.js b/vant/tabbar/index.js
new file mode 100644
index 0000000..78b4c59
--- /dev/null
+++ b/vant/tabbar/index.js
@@ -0,0 +1,54 @@
+var e = require("../common/component"), t = require("../mixins/safe-area");
+
+(0, e.VantComponent)({
+ mixins: [ (0, t.safeArea)() ],
+ relation: {
+ name: "tabbar-item",
+ type: "descendant",
+ linked: function(e) {
+ this.children = this.children || [], this.children.push(e), this.setActiveItem();
+ },
+ unlinked: function(e) {
+ this.children = this.children || [], this.children = this.children.filter(function(t) {
+ return t !== e;
+ }), this.setActiveItem();
+ }
+ },
+ props: {
+ active: Number,
+ activeColor: String,
+ fixed: {
+ type: Boolean,
+ value: !0
+ },
+ zIndex: {
+ type: Number,
+ value: 1
+ }
+ },
+ watch: {
+ active: function(e) {
+ this.currentActive = e, this.setActiveItem();
+ }
+ },
+ created: function() {
+ this.currentActive = this.data.active;
+ },
+ methods: {
+ setActiveItem: function() {
+ var e = this;
+ return Array.isArray(this.children) && this.children.length ? Promise.all(this.children.map(function(t, i) {
+ return t.setActive({
+ active: i === e.currentActive,
+ color: e.data.activeColor
+ });
+ })) : Promise.resolve();
+ },
+ onChange: function(e) {
+ var t = this, i = (this.children || []).indexOf(e);
+ i !== this.currentActive && -1 !== i && (this.currentActive = i, this.setActiveItem().then(function() {
+ t.$emit("change", i);
+ }));
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/tabbar/index.json b/vant/tabbar/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/vant/tabbar/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/tabbar/index.wxml b/vant/tabbar/index.wxml
new file mode 100644
index 0000000..f43252e
--- /dev/null
+++ b/vant/tabbar/index.wxml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/vant/tabbar/index.wxss b/vant/tabbar/index.wxss
new file mode 100644
index 0000000..caf8ec6
--- /dev/null
+++ b/vant/tabbar/index.wxss
@@ -0,0 +1,18 @@
+@import "../area/index.wxss";
+
+.van-tabbar {
+ display: flex;
+ width: 100%;
+ height: 50px;
+ background-color: #fff;
+}
+
+.van-tabbar--fixed {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+}
+
+.van-tabbar--safe {
+ padding-bottom: 34px;
+}
\ No newline at end of file
diff --git a/vant/tabs/index.js b/vant/tabs/index.js
new file mode 100644
index 0000000..a842ec5
--- /dev/null
+++ b/vant/tabs/index.js
@@ -0,0 +1,261 @@
+var t = function() {
+ function t(t, e) {
+ var i = [], a = !0, n = !1, s = void 0;
+ try {
+ for (var o, r = t[Symbol.iterator](); !(a = (o = r.next()).done) && (i.push(o.value),
+ !e || i.length !== e); a = !0) ;
+ } catch (t) {
+ n = !0, s = t;
+ } finally {
+ try {
+ !a && r.return && r.return();
+ } finally {
+ if (n) throw s;
+ }
+ }
+ return i;
+ }
+ return function(e, i) {
+ if (Array.isArray(e)) return e;
+ if (Symbol.iterator in Object(e)) return t(e, i);
+ throw new TypeError("Invalid attempt to destructure non-iterable instance");
+ };
+}(), e = require("../common/component"), i = require("../mixins/touch");
+
+(0, e.VantComponent)({
+ mixins: [ i.touch ],
+ classes: [ "nav-class", "tab-class", "tab-active-class", "line-class" ],
+ relation: {
+ name: "tab",
+ type: "descendant",
+ linked: function(t) {
+ this.child.push(t), this.updateTabs(this.data.tabs.concat(t.data));
+ },
+ unlinked: function(t) {
+ var e = this.child.indexOf(t), i = this.data.tabs;
+ i.splice(e, 1), this.child.splice(e, 1), this.updateTabs(i);
+ }
+ },
+ props: {
+ color: String,
+ sticky: Boolean,
+ animated: Boolean,
+ swipeable: Boolean,
+ scrollable: Boolean,
+ lineWidth: {
+ type: Number,
+ value: -1
+ },
+ lineHeight: {
+ type: Number,
+ value: -1
+ },
+ active: {
+ type: Number,
+ value: 0
+ },
+ type: {
+ type: String,
+ value: "line"
+ },
+ border: {
+ type: Boolean,
+ value: !0
+ },
+ duration: {
+ type: Number,
+ value: .3
+ },
+ zIndex: {
+ type: Number,
+ value: 1
+ },
+ swipeThreshold: {
+ type: Number,
+ value: 4
+ },
+ offsetTop: {
+ type: Number,
+ value: 0
+ }
+ },
+ data: {
+ tabs: [],
+ lineStyle: "",
+ scrollLeft: 0,
+ trackStyle: "",
+ wrapStyle: "",
+ position: ""
+ },
+ watch: {
+ swipeThreshold: function() {
+ this.set({
+ scrollable: !1 !== this.data.scrollable && this.child.length > this.data.swipeThreshold
+ });
+ },
+ color: "setLine",
+ lineWidth: "setLine",
+ lineHeight: "setLine",
+ active: "setActiveTab",
+ animated: "setTrack",
+ offsetTop: "setWrapStyle"
+ },
+ beforeCreate: function() {
+ this.child = [];
+ },
+ mounted: function() {
+ var t = this;
+ this.setLine(!0), this.setTrack(), this.scrollIntoView(), this.getRect(".van-tabs__wrap").then(function(e) {
+ t.navHeight = e.height, t.observerContentScroll();
+ });
+ },
+ destroyed: function() {
+ this.createIntersectionObserver().disconnect();
+ },
+ methods: {
+ updateTabs: function(t) {
+ t = t || this.data.tabs, this.set({
+ tabs: t,
+ scrollable: !1 !== this.data.scrollable && t.length > this.data.swipeThreshold
+ }), this.setActiveTab();
+ },
+ trigger: function(t, e) {
+ this.$emit(t, {
+ index: e,
+ title: this.data.tabs[e].title
+ });
+ },
+ onTap: function(t) {
+ var e = t.currentTarget.dataset.index;
+ this.data.tabs[e].disabled ? this.trigger("disabled", e) : (this.trigger("click", e),
+ this.setActive(e));
+ },
+ setActive: function(t) {
+ t !== this.data.active && (this.trigger("change", t), this.set({
+ active: t
+ }), this.setActiveTab());
+ },
+ setLine: function(t) {
+ var e = this;
+ if ("line" === this.data.type) {
+ var i = this.data, a = i.color, n = i.active, s = i.duration, o = i.lineWidth, r = i.lineHeight;
+ this.getRect(".van-tab", !0).then(function(i) {
+ var c = i[n], l = -1 !== o ? o : c.width / 2, h = -1 !== r ? "height: " + r + "px;" : "", d = i.slice(0, n).reduce(function(t, e) {
+ return t + e.width;
+ }, 0);
+ d += (c.width - l) / 2;
+ var u = t ? "" : "transition-duration: " + s + "s; -webkit-transition-duration: " + s + "s;";
+ e.set({
+ lineStyle: "\n " + h + "\n width: " + l + "px;\n background-color: " + a + ";\n -webkit-transform: translateX(" + d + "px);\n transform: translateX(" + d + "px);\n " + u + "\n "
+ });
+ });
+ }
+ },
+ setTrack: function() {
+ var t = this, e = this.data, i = e.animated, a = e.active, n = e.duration;
+ if (!i) return "";
+ this.getRect(".van-tabs__content").then(function(e) {
+ var s = e.width;
+ t.set({
+ trackStyle: "\n width: " + s * t.child.length + "px;\n left: " + -1 * a * s + "px;\n transition: left " + n + "s;\n display: -webkit-box;\n display: flex;\n "
+ });
+ var o = {
+ width: s,
+ animated: i
+ };
+ t.child.forEach(function(t) {
+ t.set(o);
+ });
+ });
+ },
+ setActiveTab: function() {
+ var t = this;
+ this.child.forEach(function(e, i) {
+ var a = {
+ active: i === t.data.active
+ };
+ a.active && (a.inited = !0), a.active !== e.data.active && e.set(a);
+ }), this.set({}, function() {
+ t.setLine(), t.setTrack(), t.scrollIntoView();
+ });
+ },
+ scrollIntoView: function() {
+ var e = this, i = this.data, a = i.active;
+ i.scrollable && Promise.all([ this.getRect(".van-tab", !0), this.getRect(".van-tabs__nav") ]).then(function(i) {
+ var n = t(i, 2), s = n[0], o = n[1], r = s[a], c = s.slice(0, a).reduce(function(t, e) {
+ return t + e.width;
+ }, 0);
+ e.set({
+ scrollLeft: c - (o.width - r.width) / 2
+ });
+ });
+ },
+ onTouchStart: function(t) {
+ this.data.swipeable && this.touchStart(t);
+ },
+ onTouchMove: function(t) {
+ this.data.swipeable && this.touchMove(t);
+ },
+ onTouchEnd: function() {
+ if (this.data.swipeable) {
+ var t = this.data, e = t.active, i = t.tabs, a = this.direction, n = this.deltaX, s = this.offsetX;
+ "horizontal" === a && s >= 50 && (n > 0 && 0 !== e ? this.setActive(e - 1) : n < 0 && e !== i.length - 1 && this.setActive(e + 1));
+ }
+ },
+ setWrapStyle: function() {
+ var t = this.data, e = t.offsetTop, i = void 0;
+ switch (t.position) {
+ case "top":
+ i = "\n top: " + e + "px;\n position: fixed;\n ";
+ break;
+
+ case "bottom":
+ i = "\n top: auto;\n bottom: 0;\n ";
+ break;
+
+ default:
+ i = "";
+ }
+ i !== this.data.wrapStyle && this.set({
+ wrapStyle: i
+ });
+ },
+ observerContentScroll: function() {
+ var t = this;
+ if (this.data.sticky) {
+ var e = this.data.offsetTop, i = wx.getSystemInfoSync().windowHeight;
+ this.createIntersectionObserver().disconnect(), this.createIntersectionObserver().relativeToViewport({
+ top: -(this.navHeight + e)
+ }).observe(".van-tabs", function(i) {
+ var a = i.boundingClientRect.top;
+ if (!(a > e)) {
+ var n = i.intersectionRatio > 0 ? "top" : "bottom";
+ t.$emit("scroll", {
+ scrollTop: a + e,
+ isFixed: "top" === n
+ }), t.setPosition(n);
+ }
+ }), this.createIntersectionObserver().relativeToViewport({
+ bottom: -(i - 1 - e)
+ }).observe(".van-tabs", function(i) {
+ var a = i.boundingClientRect, n = a.top;
+ if (!(a.bottom < t.navHeight)) {
+ var s = i.intersectionRatio > 0 ? "top" : "";
+ t.$emit("scroll", {
+ scrollTop: n + e,
+ isFixed: "top" === s
+ }), t.setPosition(s);
+ }
+ });
+ }
+ },
+ setPosition: function(t) {
+ var e = this;
+ t !== this.data.position && this.set({
+ position: t
+ }).then(function() {
+ e.setWrapStyle();
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/tabs/index.json b/vant/tabs/index.json
new file mode 100644
index 0000000..942164a
--- /dev/null
+++ b/vant/tabs/index.json
@@ -0,0 +1,14 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-info": "../info/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/tabs/index.wxml b/vant/tabs/index.wxml
new file mode 100644
index 0000000..702533b
--- /dev/null
+++ b/vant/tabs/index.wxml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vant/tabs/index.wxss b/vant/tabs/index.wxss
new file mode 100644
index 0000000..675e4fd
--- /dev/null
+++ b/vant/tabs/index.wxss
@@ -0,0 +1,135 @@
+@import "../area/index.wxss";
+
+.van-tabs {
+ position: relative;
+ -webkit-tap-highlight-color: transparent;
+}
+
+.van-tabs__wrap {
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+ display: flex;
+ background-color: #fff;
+}
+
+.van-tabs__wrap--page-top {
+ position: fixed;
+}
+
+.van-tabs__wrap--content-bottom {
+ top: auto;
+ bottom: 0;
+}
+
+.van-tabs__wrap--scrollable .van-tab {
+ flex: 0 0 22%;
+}
+
+.van-tabs__scroll--card {
+ border: 1px solid #f44;
+ border-radius: 2px;
+}
+
+.van-tabs__nav {
+ position: relative;
+ display: flex;
+ user-select: none;
+}
+
+.van-tabs__nav--line {
+ height: 100%;
+}
+
+.van-tabs__nav--card {
+ height: 30px;
+}
+
+.van-tabs__nav--card .van-tab {
+ line-height: 28px;
+ color: #f44;
+ border-right: 1px solid #f44;
+}
+
+.van-tabs__nav--card .van-tab:last-child {
+ border-right: none;
+}
+
+.van-tabs__nav--card .van-tab.van-tab--active {
+ color: #fff;
+ background-color: #f44;
+}
+
+.van-tabs__line {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ z-index: 1;
+ height: 3px;
+ background-color: #f44;
+ border-radius: 3px;
+}
+
+.van-tabs--line {
+ padding-top: 44px;
+}
+
+.van-tabs--card .van-tabs--line .van-tabs__wrap,.van-tabs--line .van-tabs__wrap {
+ height: 44px;
+}
+
+.van-tabs--card {
+ padding-top: 30px;
+ margin: 0 15px;
+}
+
+.van-tabs--card .van-tabs__wrap {
+ height: 30px;
+}
+
+.van-tabs__content {
+ overflow: hidden;
+}
+
+.van-tab,.van-tabs__track {
+ position: relative;
+}
+
+.van-tab {
+ min-width: 0;
+ padding: 0 5px;
+ font-size: 14px;
+ line-height: 44px;
+ color: #7d7e80;
+ text-align: center;
+ cursor: pointer;
+ box-sizing: border-box;
+ flex: 1;
+}
+
+.van-tab--active {
+ font-weight: 500;
+ color: #333;
+}
+
+.van-tab--disabled {
+ color: #c9c9c9;
+}
+
+.van-tab__title--dot:after {
+ display: inline-block;
+ width: 8px;
+ height: 8px;
+ vertical-align: middle;
+ background-color: #f44;
+ border-radius: 100%;
+ content: "";
+}
+
+.van-tab__title__info {
+ position: relative!important;
+ top: -1px!important;
+ display: inline-block;
+ transform: translateX(0)!important;
+}
\ No newline at end of file
diff --git a/vant/tag/index.js b/vant/tag/index.js
new file mode 100644
index 0000000..7ef1b82
--- /dev/null
+++ b/vant/tag/index.js
@@ -0,0 +1,34 @@
+function o(o, t, r) {
+ return t in o ? Object.defineProperty(o, t, {
+ value: r,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : o[t] = r, o;
+}
+
+var t = require("../common/component"), r = require("../common/color"), e = {
+ danger: r.RED,
+ primary: r.BLUE,
+ success: r.GREEN
+};
+
+(0, t.VantComponent)({
+ props: {
+ size: String,
+ type: String,
+ mark: Boolean,
+ color: String,
+ plain: Boolean,
+ round: Boolean,
+ textColor: String
+ },
+ computed: {
+ style: function() {
+ var t = this.data.color || e[this.data.type] || "#999", r = o({}, this.data.plain ? "color" : "background-color", t);
+ return this.data.textColor && (r.color = this.data.textColor), Object.keys(r).map(function(o) {
+ return o + ": " + r[o];
+ }).join(";");
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/tag/index.json b/vant/tag/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/vant/tag/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/tag/index.wxml b/vant/tag/index.wxml
new file mode 100644
index 0000000..1b5c65a
--- /dev/null
+++ b/vant/tag/index.wxml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/vant/tag/index.wxss b/vant/tag/index.wxss
new file mode 100644
index 0000000..1742c58
--- /dev/null
+++ b/vant/tag/index.wxss
@@ -0,0 +1,40 @@
+@import "../area/index.wxss";
+
+.van-tag {
+ color: #fff;
+ font-size: 10px;
+ padding: .2em .5em;
+ line-height: normal;
+ border-radius: .2em;
+ display: inline-block;
+}
+
+.van-tag:after {
+ border-color: currentColor;
+ border-radius: .4em;
+}
+
+.van-tag--mark {
+ padding-right: .6em;
+ border-radius: 0 .8em .8em 0;
+}
+
+.van-tag--mark:after {
+ border-radius: 0 1.6em 1.6em 0;
+}
+
+.van-tag--round {
+ border-radius: .8em;
+}
+
+.van-tag--round:after {
+ border-radius: 1.6em;
+}
+
+.van-tag--medium {
+ font-size: 12px;
+}
+
+.van-tag--large {
+ font-size: 14px;
+}
\ No newline at end of file
diff --git a/vant/toast/index.js b/vant/toast/index.js
new file mode 100644
index 0000000..b09786c
--- /dev/null
+++ b/vant/toast/index.js
@@ -0,0 +1,27 @@
+(0, require("../common/component").VantComponent)({
+ props: {
+ show: Boolean,
+ mask: Boolean,
+ message: String,
+ forbidClick: Boolean,
+ zIndex: {
+ type: Number,
+ value: 1e3
+ },
+ type: {
+ type: String,
+ value: "text"
+ },
+ loadingType: {
+ type: String,
+ value: "circular"
+ },
+ position: {
+ type: String,
+ value: "middle"
+ }
+ },
+ methods: {
+ noop: function() {}
+ }
+});
\ No newline at end of file
diff --git a/vant/toast/index.json b/vant/toast/index.json
new file mode 100644
index 0000000..9cc05b3
--- /dev/null
+++ b/vant/toast/index.json
@@ -0,0 +1,15 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-loading": "../loading/index",
+ "van-overlay": "../overlay/index",
+ "van-transition": "../transition/index",
+ "forview": "/utils/forview/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/toast/index.wxml b/vant/toast/index.wxml
new file mode 100644
index 0000000..ab45a9b
--- /dev/null
+++ b/vant/toast/index.wxml
@@ -0,0 +1,12 @@
+
+
+
+ {{message}}
+
+
+
+ {{message}}
+
+
+
+
diff --git a/vant/toast/index.wxss b/vant/toast/index.wxss
new file mode 100644
index 0000000..3517e2d
--- /dev/null
+++ b/vant/toast/index.wxss
@@ -0,0 +1,56 @@
+@import "../area/index.wxss";
+
+.van-toast {
+ display: flex;
+ color: #fff;
+ font-size: 14px;
+ line-height: 20px;
+ border-radius: 4px;
+ word-break: break-all;
+ align-items: center;
+ flex-direction: column;
+ justify-content: center;
+ box-sizing: initial;
+ background-color: rgba(51,51,51,.88);
+ white-space: pre-wrap;
+}
+
+.van-toast__container {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ max-width: 70%;
+ width: fit-content;
+ transform: translate(-50%,-50%);
+}
+
+.van-toast--text {
+ padding: 8px 12px;
+ min-width: 96px;
+}
+
+.van-toast--icon {
+ width: 90px;
+ padding: 15px;
+ min-height: 90px;
+}
+
+.van-toast--icon .van-toast__icon {
+ font-size: 48px;
+}
+
+.van-toast--icon .van-toast__text {
+ padding-top: 5px;
+}
+
+.van-toast__loading {
+ margin: 10px 0;
+}
+
+.van-toast--top {
+ transform: translateY(-30vh);
+}
+
+.van-toast--bottom {
+ transform: translateY(30vh);
+}
\ No newline at end of file
diff --git a/vant/toast/toast.js b/vant/toast/toast.js
new file mode 100644
index 0000000..6c452c2
--- /dev/null
+++ b/vant/toast/toast.js
@@ -0,0 +1,57 @@
+function e(e) {
+ return (0, o.isObj)(e) ? e : {
+ message: e
+ };
+}
+
+function t() {
+ var e = getCurrentPages();
+ return e[e.length - 1];
+}
+
+function n(n) {
+ var o = Object.assign({}, i, e(n)), s = (o.context || t()).selectComponent(o.selector);
+ if (s) return delete o.context, delete o.selector, s.clear = function() {
+ s.set({
+ show: !1
+ }), o.onClose && o.onClose();
+ }, r.push(s), s.set(o), clearTimeout(s.timer), o.duration > 0 && (s.timer = setTimeout(function() {
+ s.clear(), r = r.filter(function(e) {
+ return e !== s;
+ });
+ }, o.duration)), s;
+ console.warn("未找到 van-toast 节点,请确认 selector 及 context 是否正确");
+}
+
+Object.defineProperty(exports, "__esModule", {
+ value: !0
+});
+
+var o = require("../common/utils"), s = {
+ type: "text",
+ mask: !1,
+ message: "",
+ show: !0,
+ zIndex: 1e3,
+ duration: 3e3,
+ position: "middle",
+ forbidClick: !1,
+ loadingType: "circular",
+ selector: "#van-toast"
+}, r = [], i = Object.assign({}, s), c = function(t) {
+ return function(o) {
+ return n(Object.assign({
+ type: t
+ }, e(o)));
+ };
+};
+
+n.loading = c("loading"), n.success = c("success"), n.fail = c("fail"), n.clear = function() {
+ r.forEach(function(e) {
+ e.clear();
+ }), r = [];
+}, n.setDefaultOptions = function(e) {
+ Object.assign(i, e);
+}, n.resetDefaultOptions = function() {
+ i = Object.assign({}, s);
+}, exports.default = n;
\ No newline at end of file
diff --git a/vant/transition/index.js b/vant/transition/index.js
new file mode 100644
index 0000000..af72a28
--- /dev/null
+++ b/vant/transition/index.js
@@ -0,0 +1,6 @@
+var e = require("../common/component"), s = require("../mixins/transition");
+
+(0, e.VantComponent)({
+ classes: [ "enter-class", "enter-active-class", "enter-to-class", "leave-class", "leave-active-class", "leave-to-class" ],
+ mixins: [ (0, s.transition)(!0) ]
+});
\ No newline at end of file
diff --git a/vant/transition/index.json b/vant/transition/index.json
new file mode 100644
index 0000000..4cdff13
--- /dev/null
+++ b/vant/transition/index.json
@@ -0,0 +1,13 @@
+{
+ "component": true,
+ "usingComponents": {
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-icon": "/vant/icon/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/transition/index.wxml b/vant/transition/index.wxml
new file mode 100644
index 0000000..9796d27
--- /dev/null
+++ b/vant/transition/index.wxml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/vant/transition/index.wxss b/vant/transition/index.wxss
new file mode 100644
index 0000000..30a7040
--- /dev/null
+++ b/vant/transition/index.wxss
@@ -0,0 +1,61 @@
+@import "../area/index.wxss";
+
+.van-transition {
+ transition-timing-function: ease;
+}
+
+.van-fade-enter-active,.van-fade-leave-active {
+ transition-property: opacity;
+}
+
+.van-fade-enter,.van-fade-leave-to {
+ opacity: 0;
+}
+
+.van-fade-down-enter-active,.van-fade-down-leave-active,.van-fade-left-enter-active,.van-fade-left-leave-active,.van-fade-right-enter-active,.van-fade-right-leave-active,.van-fade-up-enter-active,.van-fade-up-leave-active {
+ transition-property: opacity,-webkit-transform;
+ transition-property: opacity,transform;
+ transition-property: opacity,transform,-webkit-transform;
+}
+
+.van-fade-up-enter,.van-fade-up-leave-to {
+ opacity: 0;
+ transform: translate3d(0,100%,0);
+}
+
+.van-fade-down-enter,.van-fade-down-leave-to {
+ opacity: 0;
+ transform: translate3d(0,-100%,0);
+}
+
+.van-fade-left-enter,.van-fade-left-leave-to {
+ opacity: 0;
+ transform: translate3d(-100%,0,0);
+}
+
+.van-fade-right-enter,.van-fade-right-leave-to {
+ opacity: 0;
+ transform: translate3d(100%,0,0);
+}
+
+.van-slide-down-enter-active,.van-slide-down-leave-active,.van-slide-left-enter-active,.van-slide-left-leave-active,.van-slide-right-enter-active,.van-slide-right-leave-active,.van-slide-up-enter-active,.van-slide-up-leave-active {
+ transition-property: transform;
+ transition-property: transform,-webkit-transform;
+ transition-property: transform,-webkit-transform;
+}
+
+.van-slide-up-enter,.van-slide-up-leave-to {
+ transform: translate3d(0,100%,0);
+}
+
+.van-slide-down-enter,.van-slide-down-leave-to {
+ transform: translate3d(0,-100%,0);
+}
+
+.van-slide-left-enter,.van-slide-left-leave-to {
+ transform: translate3d(-100%,0,0);
+}
+
+.van-slide-right-enter,.van-slide-right-leave-to {
+ transform: translate3d(100%,0,0);
+}
\ No newline at end of file
diff --git a/vant/tree-select/index.js b/vant/tree-select/index.js
new file mode 100644
index 0000000..ee70118
--- /dev/null
+++ b/vant/tree-select/index.js
@@ -0,0 +1,64 @@
+(0, require("../common/component").VantComponent)({
+ classes: [ "main-item-class", "content-item-class", "main-active-class", "content-active-class", "main-disabled-class", "content-disabled-class" ],
+ props: {
+ items: Array,
+ mainActiveIndex: {
+ type: Number,
+ value: 0
+ },
+ activeId: {
+ type: [ Number, String ]
+ },
+ maxHeight: {
+ type: Number,
+ value: 300
+ }
+ },
+ data: {
+ subItems: [],
+ mainHeight: 0,
+ itemHeight: 0
+ },
+ watch: {
+ items: function() {
+ var t = this;
+ this.updateSubItems().then(function() {
+ t.updateMainHeight();
+ });
+ },
+ maxHeight: function() {
+ this.updateItemHeight(this.data.subItems), this.updateMainHeight();
+ },
+ mainActiveIndex: "updateSubItems"
+ },
+ methods: {
+ onSelectItem: function(t) {
+ var e = t.currentTarget.dataset.item;
+ e.disabled || this.$emit("click-item", e);
+ },
+ onClickNav: function(t) {
+ var e = t.currentTarget.dataset.index;
+ this.data.items[e].disabled || this.$emit("click-nav", {
+ index: e
+ });
+ },
+ updateSubItems: function() {
+ var t = this.data, e = (t.items[t.mainActiveIndex] || {}).children, i = void 0 === e ? [] : e;
+ return this.updateItemHeight(i), this.set({
+ subItems: i
+ });
+ },
+ updateMainHeight: function() {
+ var t = this.data, e = t.items, i = void 0 === e ? [] : e, a = t.subItems, s = void 0 === a ? [] : a, n = Math.max(44 * i.length, 44 * s.length);
+ this.set({
+ mainHeight: Math.min(n, this.data.maxHeight)
+ });
+ },
+ updateItemHeight: function(t) {
+ var e = Math.min(44 * t.length, this.data.maxHeight);
+ return this.set({
+ itemHeight: e
+ });
+ }
+ }
+});
\ No newline at end of file
diff --git a/vant/tree-select/index.json b/vant/tree-select/index.json
new file mode 100644
index 0000000..0bd6e17
--- /dev/null
+++ b/vant/tree-select/index.json
@@ -0,0 +1,14 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-icon": "../icon/index",
+ "van-cell": "../cell/index",
+ "forview": "/utils/forview/index",
+ "van-loading": "/vant/loading/index",
+ "van-dialog": "/vant/dialog/index",
+ "van-button": "/vant/button/index",
+ "van-popup": "/vant/popup/index",
+ "van-tab": "/vant/tab/index",
+ "van-tabs": "/vant/tabs/index"
+ }
+}
\ No newline at end of file
diff --git a/vant/tree-select/index.wxml b/vant/tree-select/index.wxml
new file mode 100644
index 0000000..beb537c
--- /dev/null
+++ b/vant/tree-select/index.wxml
@@ -0,0 +1,14 @@
+
+
+
+ {{item.text}}
+
+
+
+
+ {{item.text}}
+
+
+
+
+
\ No newline at end of file
diff --git a/vant/tree-select/index.wxss b/vant/tree-select/index.wxss
new file mode 100644
index 0000000..6e89945
--- /dev/null
+++ b/vant/tree-select/index.wxss
@@ -0,0 +1,74 @@
+@import "../area/index.wxss";
+
+.van-tree-select {
+ position: relative;
+ font-size: 14px;
+ user-select: none;
+}
+
+.van-tree-select__nav {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ width: 35%;
+ min-width: 120px;
+ background-color: #fafafa;
+}
+
+.van-tree-select__nitem {
+ position: relative;
+ padding: 0 9px 0 15px;
+ line-height: 44px;
+}
+
+.van-tree-select__nitem--active:after {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ width: 3.6px;
+ background-color: #f44;
+ content: "";
+}
+
+.van-tree-select__nitem--active {
+ font-weight: 700;
+ background-color: #fff;
+}
+
+.van-tree-select__nitem--disabled {
+ color: #999;
+}
+
+.van-tree-select__content {
+ width: 65%;
+ padding-left: 15px;
+ margin-left: 35%;
+ background-color: #fff;
+ box-sizing: border-box;
+}
+
+.van-tree-select__item {
+ position: relative;
+ font-weight: 700;
+ line-height: 44px;
+}
+
+.van-tree-select__item--active {
+ color: #f44;
+}
+
+.van-tree-select__item--disabled {
+ color: #999;
+}
+
+.van-tree-select__selected {
+ position: absolute;
+ top: 0;
+ right: 15px;
+ bottom: 0;
+ height: 24px;
+ margin: auto 0;
+ line-height: 24px;
+}
\ No newline at end of file
diff --git a/vant/wxs/array.wxs b/vant/wxs/array.wxs
new file mode 100644
index 0000000..05f66e3
--- /dev/null
+++ b/vant/wxs/array.wxs
@@ -0,0 +1,4 @@
+function isArray(array) {
+ return (array && array.constructor === 'Array')
+};
+module.exports.isArray = isArray;
\ No newline at end of file
diff --git a/vant/wxs/bem.wxs b/vant/wxs/bem.wxs
new file mode 100644
index 0000000..cff2037
--- /dev/null
+++ b/vant/wxs/bem.wxs
@@ -0,0 +1,38 @@
+var array = require('./array.wxs');
+var object = require('./object.wxs');
+var PREFIX = 'van-';
+
+function join(name, mods) {
+ name = PREFIX + name;
+ mods = mods.map(function (mod) {
+ return name + '--' + mod;
+ });
+ mods.unshift(name);
+ return mods.join(' ');
+}
+
+function traversing(mods, conf) {
+ if (!conf) {
+ return;
+ }
+
+ if (typeof conf === 'string' || typeof conf === 'number') {
+ mods.push(conf);
+ } else if (array.isArray(conf)) {
+ conf.forEach(function (item) {
+ traversing(mods, item);
+ });
+ } else if (typeof conf === 'object') {
+ object.keys(conf).forEach(function (key) {
+ conf[key] && mods.push(key);
+ });
+ }
+}
+
+function bem(name, conf) {
+ var mods = [];
+ traversing(mods, conf);
+ return join(name, mods);
+}
+
+module.exports.bem = bem;
\ No newline at end of file
diff --git a/vant/wxs/memoize.wxs b/vant/wxs/memoize.wxs
new file mode 100644
index 0000000..3071305
--- /dev/null
+++ b/vant/wxs/memoize.wxs
@@ -0,0 +1,39 @@
+function isPrimitive(value) {
+ var type = typeof value;
+ return ((type === 'boolean' || type === 'number' || type === 'string' || type === 'undefined' || value === null))
+};
+
+function call(fn, args) {
+ if (args.length === 2) {
+ return (fn(args[(0)], args[(1)]))
+ };
+ if (args.length === 1) {
+ return (fn(args[(0)]))
+ };
+ return (fn())
+};
+
+function serializer(args) {
+ if (args.length === 1 && isPrimitive(args[(0)])) {
+ return (args[(0)])
+ };
+ var obj = ({});
+ for (var i = 0; i < args.length; i++) {
+ obj[((nt_5 = ('key' + i), null == nt_5 ? undefined : 'number' === typeof nt_5 ? nt_5 : "" + nt_5))] = args[((nt_6 = (i), null == nt_6 ? undefined : 'number' === typeof nt_6 ? nt_6 : "" + nt_6))]
+ };
+ return (JSON.stringify(obj))
+};
+
+function memoize(fn) {
+ arguments.length = arguments.length;
+ var cache = ({});
+ return ((function() {
+ arguments.length = arguments.length;
+ var key = serializer(arguments);
+ if (cache[((nt_7 = (key), null == nt_7 ? undefined : 'number' === typeof nt_7 ? nt_7 : "" + nt_7))] === undefined) {
+ cache[((nt_8 = (key), null == nt_8 ? undefined : 'number' === typeof nt_8 ? nt_8 : "" + nt_8))] = call(fn, arguments)
+ };
+ return (cache[((nt_9 = (key), null == nt_9 ? undefined : 'number' === typeof nt_9 ? nt_9 : "" + nt_9))])
+ }))
+};
+module.exports.memoize = memoize;
\ No newline at end of file
diff --git a/vant/wxs/object.wxs b/vant/wxs/object.wxs
new file mode 100644
index 0000000..acbc07e
--- /dev/null
+++ b/vant/wxs/object.wxs
@@ -0,0 +1,8 @@
+var REGEXP = getRegExp('{|}|\x22', 'g');
+
+function keys(obj) {
+ return (JSON.stringify(obj).replace(REGEXP, '').split(',').map((function(item) {
+ return (item.split(':')[(0)])
+ })))
+};
+module.exports.keys = keys;
\ No newline at end of file
diff --git a/vant/wxs/utils.wxs b/vant/wxs/utils.wxs
new file mode 100644
index 0000000..91953bb
--- /dev/null
+++ b/vant/wxs/utils.wxs
@@ -0,0 +1,11 @@
+var bem = require('./bem.wxs').bem;
+var memoize = require('./memoize.wxs').memoize;
+
+function isSrc(url) {
+ return (url.indexOf('http') === 0 || url.indexOf('data:image') === 0 || url.indexOf('//') === 0)
+};
+module.exports = ({
+ bem: memoize(bem),
+ isSrc: isSrc,
+ memoize: memoize,
+});
\ No newline at end of file
diff --git a/wxParse/html2json.js b/wxParse/html2json.js
new file mode 100644
index 0000000..7320327
--- /dev/null
+++ b/wxParse/html2json.js
@@ -0,0 +1,103 @@
+function e(e) {
+ for (var t = {}, r = e.split(","), s = 0; s < r.length; s++) t[r[s]] = !0;
+ return t;
+}
+
+function t(e) {
+ return e.replace(/<\?xml.*\?>\n/, "").replace(/<.*!doctype.*\>\n/, "").replace(/<.*!DOCTYPE.*\>\n/, "");
+}
+
+function r(e) {
+ return e.replace(/\r?\n+/g, "").replace(//gi, "").replace(/\/\*.*?\*\//gi, "").replace(/[ ]+ 0 && void 0 !== arguments[0] ? arguments[0] : "", t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "/wxParse/emojis/", r = arguments[2];
+ n = e, o = t, i = r;
+ }
+};
\ No newline at end of file
diff --git a/wxParse/htmlparser.js b/wxParse/htmlparser.js
new file mode 100644
index 0000000..de7b6e9
--- /dev/null
+++ b/wxParse/htmlparser.js
@@ -0,0 +1,48 @@
+function e(e) {
+ for (var t = {}, r = e.split(","), s = 0; s < r.length; s++) t[r[s]] = !0;
+ return t;
+}
+
+var t = /^<([-A-Za-z0-9_]+)((?:\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/, r = /^<\/([-A-Za-z0-9_]+)[^>]*>/, s = /([a-zA-Z_:][-a-zA-Z0-9_:.]*)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g, a = e("area,base,basefont,br,col,frame,hr,img,input,link,meta,param,embed,command,keygen,source,track,wbr"), n = e("a,address,code,article,applet,aside,audio,blockquote,button,canvas,center,dd,del,dir,div,dl,dt,fieldset,figcaption,figure,footer,form,frameset,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,output,p,pre,section,script,table,tbody,td,tfoot,th,thead,tr,ul,video"), i = e("abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var"), o = e("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr"), l = e("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"), c = e("wxxxcode-style,script,style,view,scroll-view,block");
+
+module.exports = function(e, d) {
+ function f(e, t) {
+ if (t) for (t = t.toLowerCase(), r = b.length - 1; r >= 0 && b[r] != t; r--) ; else var r = 0;
+ if (r >= 0) {
+ for (var s = b.length - 1; s >= r; s--) d.end && d.end(b[s]);
+ b.length = r;
+ }
+ }
+ var p, u, h, b = [], m = e;
+ for (b.last = function() {
+ return this[this.length - 1];
+ }; e; ) {
+ if (u = !0, b.last() && c[b.last()]) e = e.replace(new RegExp("([\\s\\S]*?)" + b.last() + "[^>]*>"), function(e, t) {
+ return t = t.replace(/|/g, "$1$2"), d.chars && d.chars(t),
+ "";
+ }), f(0, b.last()); else if (0 == e.indexOf("\x3c!--") ? (p = e.indexOf("--\x3e")) >= 0 && (d.comment && d.comment(e.substring(4, p)),
+ e = e.substring(p + 3), u = !1) : 0 == e.indexOf("") ? (h = e.match(r)) && (e = e.substring(h[0].length),
+ h[0].replace(r, f), u = !1) : 0 == e.indexOf("<") && (h = e.match(t)) && (e = e.substring(h[0].length),
+ h[0].replace(t, function(e, t, r, c) {
+ if (t = t.toLowerCase(), n[t]) for (;b.last() && i[b.last()]; ) f(0, b.last());
+ if (o[t] && b.last() == t && f(0, t), (c = a[t] || !!c) || b.push(t), d.start) {
+ var p = [];
+ r.replace(s, function(e, t) {
+ var r = arguments[2] ? arguments[2] : arguments[3] ? arguments[3] : arguments[4] ? arguments[4] : l[t] ? t : "";
+ p.push({
+ name: t,
+ value: r,
+ escaped: r.replace(/(^|[^\\])"/g, '$1\\"')
+ });
+ }), d.start && d.start(t, p, c);
+ }
+ }), u = !1), u) {
+ p = e.indexOf("<");
+ for (var g = ""; 0 === p; ) g += "<", p = (e = e.substring(1)).indexOf("<");
+ g += p < 0 ? e : e.substring(0, p), e = p < 0 ? "" : e.substring(p), d.chars && d.chars(g);
+ }
+ if (e == m) throw "Parse Error: " + e;
+ m = e;
+ }
+ f();
+};
\ No newline at end of file
diff --git a/wxParse/wxDiscode.js b/wxParse/wxDiscode.js
new file mode 100644
index 0000000..f3c48e7
--- /dev/null
+++ b/wxParse/wxDiscode.js
@@ -0,0 +1,74 @@
+function e(e) {
+ return e = e.replace(/∀/g, "∀"), e = e.replace(/∂/g, "∂"), e = e.replace(/&exists;/g, "∃"),
+ e = e.replace(/∅/g, "∅"), e = e.replace(/∇/g, "∇"), e = e.replace(/∈/g, "∈"),
+ e = e.replace(/∉/g, "∉"), e = e.replace(/∋/g, "∋"), e = e.replace(/∏/g, "∏"),
+ e = e.replace(/∑/g, "∑"), e = e.replace(/−/g, "−"), e = e.replace(/∗/g, "∗"),
+ e = e.replace(/√/g, "√"), e = e.replace(/∝/g, "∝"), e = e.replace(/∞/g, "∞"),
+ e = e.replace(/∠/g, "∠"), e = e.replace(/∧/g, "∧"), e = e.replace(/∨/g, "∨"),
+ e = e.replace(/∩/g, "∩"), e = e.replace(/∩/g, "∪"), e = e.replace(/∫/g, "∫"),
+ e = e.replace(/∴/g, "∴"), e = e.replace(/∼/g, "∼"), e = e.replace(/≅/g, "≅"),
+ e = e.replace(/≈/g, "≈"), e = e.replace(/≠/g, "≠"), e = e.replace(/≤/g, "≤"),
+ e = e.replace(/≥/g, "≥"), e = e.replace(/⊂/g, "⊂"), e = e.replace(/⊃/g, "⊃"),
+ e = e.replace(/⊄/g, "⊄"), e = e.replace(/⊆/g, "⊆"), e = e.replace(/⊇/g, "⊇"),
+ e = e.replace(/⊕/g, "⊕"), e = e.replace(/⊗/g, "⊗"), e = e.replace(/⊥/g, "⊥"),
+ e = e.replace(/⋅/g, "⋅");
+}
+
+function a(e) {
+ return e = e.replace(/Α/g, "Α"), e = e.replace(/Β/g, "Β"), e = e.replace(/Γ/g, "Γ"),
+ e = e.replace(/Δ/g, "Δ"), e = e.replace(/Ε/g, "Ε"), e = e.replace(/Ζ/g, "Ζ"),
+ e = e.replace(/Η/g, "Η"), e = e.replace(/Θ/g, "Θ"), e = e.replace(/Ι/g, "Ι"),
+ e = e.replace(/Κ/g, "Κ"), e = e.replace(/Λ/g, "Λ"), e = e.replace(/Μ/g, "Μ"),
+ e = e.replace(/Ν/g, "Ν"), e = e.replace(/Ξ/g, "Ν"), e = e.replace(/Ο/g, "Ο"),
+ e = e.replace(/Π/g, "Π"), e = e.replace(/Ρ/g, "Ρ"), e = e.replace(/Σ/g, "Σ"),
+ e = e.replace(/Τ/g, "Τ"), e = e.replace(/Υ/g, "Υ"), e = e.replace(/Φ/g, "Φ"),
+ e = e.replace(/Χ/g, "Χ"), e = e.replace(/Ψ/g, "Ψ"), e = e.replace(/Ω/g, "Ω"),
+ e = e.replace(/α/g, "α"), e = e.replace(/β/g, "β"), e = e.replace(/γ/g, "γ"),
+ e = e.replace(/δ/g, "δ"), e = e.replace(/ε/g, "ε"), e = e.replace(/ζ/g, "ζ"),
+ e = e.replace(/η/g, "η"), e = e.replace(/θ/g, "θ"), e = e.replace(/ι/g, "ι"),
+ e = e.replace(/κ/g, "κ"), e = e.replace(/λ/g, "λ"), e = e.replace(/μ/g, "μ"),
+ e = e.replace(/ν/g, "ν"), e = e.replace(/ξ/g, "ξ"), e = e.replace(/ο/g, "ο"),
+ e = e.replace(/π/g, "π"), e = e.replace(/ρ/g, "ρ"), e = e.replace(/ς/g, "ς"),
+ e = e.replace(/σ/g, "σ"), e = e.replace(/τ/g, "τ"), e = e.replace(/υ/g, "υ"),
+ e = e.replace(/φ/g, "φ"), e = e.replace(/χ/g, "χ"), e = e.replace(/ψ/g, "ψ"),
+ e = e.replace(/ω/g, "ω"), e = e.replace(/ϑ/g, "ϑ"), e = e.replace(/ϒ/g, "ϒ"),
+ e = e.replace(/ϖ/g, "ϖ"), e = e.replace(/·/g, "·");
+}
+
+function r(e) {
+ return e = e.replace(/ /g, " "), e = e.replace(/"/g, "'"), e = e.replace(/&/g, "&"),
+ e = e.replace(/</g, "<"), e = e.replace(/>/g, ">"), e = e.replace(/•/g, "•");
+}
+
+function l(e) {
+ return e = e.replace(/Œ/g, "Œ"), e = e.replace(/œ/g, "œ"), e = e.replace(/Š/g, "Š"),
+ e = e.replace(/š/g, "š"), e = e.replace(/Ÿ/g, "Ÿ"), e = e.replace(/ƒ/g, "ƒ"),
+ e = e.replace(/ˆ/g, "ˆ"), e = e.replace(/˜/g, "˜"), e = e.replace(/ /g, ""),
+ e = e.replace(/ /g, ""), e = e.replace(/ /g, ""), e = e.replace(//g, ""),
+ e = e.replace(//g, ""), e = e.replace(//g, ""), e = e.replace(//g, ""),
+ e = e.replace(/–/g, "–"), e = e.replace(/—/g, "—"), e = e.replace(/‘/g, "‘"),
+ e = e.replace(/’/g, "’"), e = e.replace(/‚/g, "‚"), e = e.replace(/“/g, "“"),
+ e = e.replace(/”/g, "”"), e = e.replace(/„/g, "„"), e = e.replace(/†/g, "†"),
+ e = e.replace(/‡/g, "‡"), e = e.replace(/•/g, "•"), e = e.replace(/…/g, "…"),
+ e = e.replace(/‰/g, "‰"), e = e.replace(/′/g, "′"), e = e.replace(/″/g, "″"),
+ e = e.replace(/‹/g, "‹"), e = e.replace(/›/g, "›"), e = e.replace(/‾/g, "‾"),
+ e = e.replace(/€/g, "€"), e = e.replace(/™/g, "™"), e = e.replace(/←/g, "←"),
+ e = e.replace(/↑/g, "↑"), e = e.replace(/→/g, "→"), e = e.replace(/↓/g, "↓"),
+ e = e.replace(/↔/g, "↔"), e = e.replace(/↵/g, "↵"), e = e.replace(/⌈/g, "⌈"),
+ e = e.replace(/⌉/g, "⌉"), e = e.replace(/⌊/g, "⌊"), e = e.replace(/⌋/g, "⌋"),
+ e = e.replace(/◊/g, "◊"), e = e.replace(/♠/g, "♠"), e = e.replace(/♣/g, "♣"),
+ e = e.replace(/♥/g, "♥"), e = e.replace(/♦/g, "♦"), e = e.replace(/'/g, "'");
+}
+
+function p(e) {
+ return e = e.replace(/\r\n/g, ""), e = e.replace(/\n/g, "");
+}
+
+module.exports = {
+ strDiscode: function(c) {
+ return c = e(c), c = a(c), c = r(c), c = l(c), c = p(c);
+ },
+ urlToHttpUrl: function(e, a) {
+ return new RegExp("^//").test(e) && (e = a + ":" + e), e;
+ }
+};
\ No newline at end of file
diff --git a/wxParse/wxParse.js b/wxParse/wxParse.js
new file mode 100644
index 0000000..2dfc542
--- /dev/null
+++ b/wxParse/wxParse.js
@@ -0,0 +1,75 @@
+function t(t, e, a) {
+ return e in t ? Object.defineProperty(t, e, {
+ value: a,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : t[e] = a, t;
+}
+
+function e(t) {
+ var e = this, a = t.target.dataset.src, i = t.target.dataset.from;
+ console.log("nowImgUrl", a), console.log("nowImgUrl", e.data[i].imageUrls), void 0 !== i && i.length > 0 && wx.previewImage({
+ current: a,
+ urls: e.data[i].imageUrls
+ });
+}
+
+function a(t) {
+ var e = this, a = t.target.dataset.from, r = t.target.dataset.idx;
+ void 0 !== a && a.length > 0 && i(t, r, e, a);
+}
+
+function i(e, a, i, n) {
+ var d, o = i.data[n];
+ if (o && 0 != o.images.length) {
+ var g = o.images, s = r(e.detail.width, e.detail.height, i, n), l = g[a].index, h = "" + n, m = !0, u = !1, v = void 0;
+ try {
+ for (var w, f = l.split(".")[Symbol.iterator](); !(m = (w = f.next()).done); m = !0) h += ".nodes[" + w.value + "]";
+ } catch (t) {
+ u = !0, v = t;
+ } finally {
+ try {
+ !m && f.return && f.return();
+ } finally {
+ if (u) throw v;
+ }
+ }
+ var c = h + ".width", x = h + ".height", P = h + ".maxwidth", y = h + ".not";
+ i.setData((d = {}, t(d, y, g[a].attr.not || ""), t(d, P, g[a].attr.maxwidth || "!/fw/" + s.imageWidth),
+ t(d, c, s.imageWidth), t(d, x, s.imageheight), d));
+ }
+}
+
+function r(t, e, a, i) {
+ var r = 0, n = 0, g = 0, s = {}, l = a.data[i].view.imagePadding;
+ return r = d - 2 * l, o, t > r ? (g = (n = r) * e / t, s.imageWidth = n, s.imageheight = g) : (s.imageWidth = t,
+ s.imageheight = e), s;
+}
+
+var n = function(t) {
+ return t && t.__esModule ? t : {
+ default: t
+ };
+}(require("./html2json.js")), d = 0, o = 0;
+
+wx.getSystemInfo({
+ success: function(t) {
+ d = t.windowWidth, o = t.windowHeight;
+ }
+}), module.exports = {
+ wxParse: function() {
+ var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "wxParseData", i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "html", r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "", d = arguments[3], o = arguments[4], g = d, s = {};
+ "html" == i && (s = n.default.html2json(r, t)), s.view = {}, s.view.imagePadding = 0,
+ void 0 !== o && (s.view.imagePadding = o);
+ var l = {};
+ l[t] = s, g.setData(l), g.wxParseImgLoad = a, g.wxParseImgTap = e;
+ },
+ wxParseTemArray: function(t, e, a, i) {
+ for (var r = [], n = i.data, d = null, o = 0; o < a; o++) {
+ var g = n[e + o].nodes;
+ r.push(g);
+ }
+ t = t || "wxParseTemArray", (d = JSON.parse('{"' + t + '":""}'))[t] = r, i.setData(d);
+ }
+};
\ No newline at end of file
diff --git a/wxParse/wxParse.wxml b/wxParse/wxParse.wxml
new file mode 100644
index 0000000..96e3c5c
--- /dev/null
+++ b/wxParse/wxParse.wxml
@@ -0,0 +1,386 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.text}}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wxParse/wxParse.wxss b/wxParse/wxParse.wxss
new file mode 100644
index 0000000..662dcf9
--- /dev/null
+++ b/wxParse/wxParse.wxss
@@ -0,0 +1,249 @@
+.wxParse {
+ margin: 0 5px;
+ font-family: Helvetica,sans-serif;
+ font-size: 28rpx;
+ color: #666;
+ line-height: 1.8;
+}
+
+view {
+ word-break: break-all;
+}
+
+.wxParse-inline {
+ display: inline;
+ margin: 0;
+ padding: 0;
+}
+
+.wxParse-div {
+ margin: 0;
+ padding: 0;
+}
+
+.wxParse-h1 {
+ font-size: 2em;
+ margin: .67em 0;
+}
+
+.wxParse-h2 {
+ font-size: 1.5em;
+ margin: .75em 0;
+}
+
+.wxParse-h3 {
+ font-size: 1.17em;
+ margin: .83em 0;
+}
+
+.wxParse-h4 {
+ margin: 1.12em 0;
+}
+
+.wxParse-h5 {
+ font-size: .83em;
+ margin: 1.5em 0;
+}
+
+.wxParse-h6 {
+ font-size: .75em;
+ margin: 1.67em 0;
+}
+
+.wxParse-h1 {
+ font-size: 18px;
+ font-weight: 400;
+ margin-bottom: .9em;
+}
+
+.wxParse-h2 {
+ font-size: 16px;
+ font-weight: 400;
+ margin-bottom: .34em;
+}
+
+.wxParse-h3 {
+ font-weight: 400;
+ font-size: 15px;
+ margin-bottom: .34em;
+}
+
+.wxParse-h4 {
+ font-weight: 400;
+ font-size: 14px;
+ margin-bottom: .24em;
+}
+
+.wxParse-h5 {
+ font-weight: 400;
+ font-size: 13px;
+ margin-bottom: .14em;
+}
+
+.wxParse-h6 {
+ font-weight: 400;
+ font-size: 12px;
+ margin-bottom: .04em;
+}
+
+.wxParse-h1,.wxParse-h2,.wxParse-h3,.wxParse-h4,.wxParse-h5,.wxParse-h6,.wxParse-b,.wxParse-strong {
+ font-weight: bolder;
+}
+
+.wxParse-i,.wxParse-cite,.wxParse-em,.wxParse-var,.wxParse-address {
+ font-style: italic;
+}
+
+.wxParse-pre,.wxParse-tt,.wxParse-code,.wxParse-kbd,.wxParse-samp {
+ font-family: monospace;
+}
+
+.wxParse-pre {
+ white-space: pre;
+}
+
+.wxParse-big {
+ font-size: 1.17em;
+}
+
+.wxParse-small,.wxParse-sub,.wxParse-sup {
+ font-size: .83em;
+}
+
+.wxParse-sub {
+ vertical-align: sub;
+}
+
+.wxParse-sup {
+ vertical-align: super;
+}
+
+.wxParse-s,.wxParse-strike,.wxParse-del {
+ text-decoration: line-through;
+}
+
+.wxParse-strong,.wxParse-s {
+ display: inline;
+}
+
+.wxParse-a {
+ color: deepskyblue;
+ word-break: break-all;
+ overflow: auto;
+}
+
+.wxParse-video {
+ text-align: center;
+ margin: 10px 0;
+}
+
+.wxParse-video-video {
+ width: 100%;
+}
+
+.wxParse-img {
+ overflow: hidden;
+}
+
+.wxParse-blockquote {
+ margin: 0;
+ padding: 10px 0 10px 5px;
+ font-family: Courier,Calibri,"宋体";
+ background: #f5f5f5;
+ border-left: 3px solid #dbdbdb;
+}
+
+.wxParse-code,.wxParse-wxxxcode-style {
+ display: inline;
+ background: #f5f5f5;
+}
+
+.wxParse-ul {
+ margin: 20rpx 10rpx;
+}
+
+.wxParse-li,.wxParse-li-inner {
+ display: flex;
+ align-items: baseline;
+ margin: 10rpx 0;
+}
+
+.wxParse-li-text {
+ align-items: center;
+ line-height: 20px;
+}
+
+.wxParse-li-circle {
+ display: inline-flex;
+ width: 5px;
+ height: 5px;
+ background-color: #333;
+ margin-right: 5px;
+}
+
+.wxParse-li-square {
+ display: inline-flex;
+ width: 10rpx;
+ height: 10rpx;
+ background-color: #333;
+ margin-right: 5px;
+}
+
+.wxParse-li-ring {
+ display: inline-flex;
+ width: 10rpx;
+ height: 10rpx;
+ border: 2rpx solid #333;
+ border-radius: 50%;
+ background-color: #fff;
+ margin-right: 5px;
+}
+
+.wxParse-u {
+ text-decoration: underline;
+}
+
+.wxParse-hide {
+ display: none;
+}
+
+.WxEmojiView {
+ align-items: center;
+}
+
+.wxEmoji {
+ width: 16px;
+ height: 16px;
+}
+
+.wxParse-tr {
+ display: flex;
+ border-right: 1px solid #e0e0e0;
+ border-bottom: 1px solid #e0e0e0;
+ border-top: 1px solid #e0e0e0;
+}
+
+.wxParse-th,.wxParse-td {
+ flex: 1;
+ padding: 5px;
+ font-size: 28rpx;
+ border-left: 1px solid #e0e0e0;
+ word-break: break-all;
+}
+
+.wxParse-td:last {
+ border-top: 1px solid #e0e0e0;
+}
+
+.wxParse-th {
+ background: #f0f0f0;
+ border-top: 1px solid #e0e0e0;
+}
+
+.wxParse-del {
+ display: inline;
+}
+
+.wxParse-figure {
+ overflow: hidden;
+}
\ No newline at end of file