From eaf91e62f2c0d06948371283cc7b1cf625b14811 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E7=8E=89=E9=BA=9F?= <847467095@qq.com> Date: Wed, 4 Aug 2021 17:41:21 +0800 Subject: [PATCH] Initial Commit --- .gitignore | 14 + app.js | 28 + app.json | 16 + app.wxss | 1333 ++++++++++++++ project.config.json | 82 + qf_happyvote/pages/index/index.js | 851 +++++++++ qf_happyvote/pages/index/index.json | 1 + qf_happyvote/pages/index/index.wxml | 40 + qf_happyvote/pages/index/index.wxss | 1563 +++++++++++++++++ qf_happyvote/pages/templates/checking.wxml | 6 + qf_happyvote/pages/templates/checking.wxss | 0 qf_happyvote/pages/templates/detail.wxml | 124 ++ qf_happyvote/pages/templates/detail.wxss | 0 qf_happyvote/pages/templates/footer.wxml | 40 + qf_happyvote/pages/templates/footer.wxss | 0 qf_happyvote/pages/templates/index.wxml | 119 ++ qf_happyvote/pages/templates/index.wxss | 0 qf_happyvote/pages/templates/join.wxml | 97 + qf_happyvote/pages/templates/join.wxss | 0 qf_happyvote/pages/templates/joinok.wxml | 15 + qf_happyvote/pages/templates/joinok.wxss | 0 qf_happyvote/pages/templates/mall.wxml | 128 ++ qf_happyvote/pages/templates/mall.wxss | 4 + qf_happyvote/pages/templates/ranking.wxml | 145 ++ qf_happyvote/pages/templates/ranking.wxss | 0 qf_happyvote/pages/templates/rule.wxml | 9 + qf_happyvote/pages/templates/rule.wxss | 0 qf_happyvote/pages/test/test.js | 9 + qf_happyvote/pages/test/test.wxml | 15 + qf_happyvote/pages/test/test.wxss | 0 qf_happyvote/pages/web-view/index.js | 78 + qf_happyvote/pages/web-view/index.json | 3 + qf_happyvote/pages/web-view/index.wxml | 2 + qf_happyvote/pages/web-view/index.wxss | 1 + qf_happyvote/resource/font/iconfont.js | 42 + qf_happyvote/resource/font/iconfont.svg | 72 + qf_happyvote/resource/icon/checking.png | Bin 0 -> 6589 bytes qf_happyvote/resource/icon/like_white.png | Bin 0 -> 263 bytes qf_happyvote/resource/icon/ok.png | Bin 0 -> 2599 bytes qf_happyvote/resource/icon/quotesleft.png | Bin 0 -> 332 bytes qf_happyvote/resource/icon/quotesright.png | Bin 0 -> 317 bytes qf_happyvote/resource/icon/ranking1.png | Bin 0 -> 665 bytes qf_happyvote/resource/icon/ranking2.png | Bin 0 -> 654 bytes qf_happyvote/resource/icon/ranking3.png | Bin 0 -> 568 bytes qf_happyvote/resource/icon/share.png | Bin 0 -> 350 bytes qf_happyvote/resource/icon/shijian.png | Bin 0 -> 718 bytes qf_happyvote/resource/icon/shuqian.png | Bin 0 -> 356 bytes qf_happyvote/resource/icon/tishi.png | Bin 0 -> 582 bytes qf_happyvote/resource/image/flex.png | Bin 0 -> 8416 bytes .../resource/image/iconfont-tianjia.png | Bin 0 -> 1029 bytes qf_happyvote/resource/image/l0g0.png | Bin 0 -> 3725 bytes qf_happyvote/resource/image/mg.png | Bin 0 -> 9486 bytes qf_happyvote/resource/image/music.png | Bin 0 -> 1108 bytes qf_happyvote/resource/image/music_off.png | Bin 0 -> 893 bytes qf_happyvote/resource/image/none.png | Bin 0 -> 8313 bytes qf_happyvote/resource/image/reply.png | Bin 0 -> 4586 bytes qf_happyvote/resource/image/tx.png | Bin 0 -> 8595 bytes qf_happyvote/resource/js/function.js | 624 +++++++ qf_happyvote/resource/js/lanch.js | 1 + qf_happyvote/resource/wxParse/html2json.js | 103 ++ qf_happyvote/resource/wxParse/htmlparser.js | 48 + qf_happyvote/resource/wxParse/showdown.js | 693 ++++++++ qf_happyvote/resource/wxParse/wxDiscode.js | 74 + qf_happyvote/resource/wxParse/wxParse.js | 83 + qf_happyvote/resource/wxParse/wxParse.wxml | 386 ++++ qf_happyvote/resource/wxParse/wxParse.wxss | 250 +++ siteinfo.js | 13 + sitemap.json | 7 + we7/pages/index/index.js | 38 + we7/pages/index/index.json | 1 + we7/pages/index/index.wxml | 28 + we7/pages/index/index.wxss | 86 + we7/pages/newsDetail/newsDetail.js | 49 + we7/pages/newsDetail/newsDetail.wxml | 15 + we7/pages/newsDetail/newsDetail.wxss | 109 ++ we7/pages/selectarea/selectarea.js | 124 ++ we7/pages/selectarea/selectarea.wxml | 19 + we7/pages/selectarea/selectarea.wxss | 59 + we7/pages/templates/footer.wxml | 24 + we7/pages/templates/footer.wxss | 0 we7/pages/templates/news.wxml | 14 + we7/pages/templates/news.wxss | 0 we7/pages/user/index/index.js | 14 + we7/pages/user/index/index.json | 1 + we7/pages/user/index/index.wxml | 7 + we7/pages/user/index/index.wxss | 19 + we7/resource/icon/home.png | Bin 0 -> 1478 bytes we7/resource/icon/homeselect.png | Bin 0 -> 1668 bytes we7/resource/icon/hotel.png | Bin 0 -> 1286 bytes we7/resource/icon/hotelselect.png | Bin 0 -> 1372 bytes we7/resource/icon/img_1.png | Bin 0 -> 1286 bytes we7/resource/icon/img_2.png | Bin 0 -> 1372 bytes we7/resource/icon/img_3.png | Bin 0 -> 3061 bytes we7/resource/icon/img_4.png | Bin 0 -> 3870 bytes we7/resource/icon/order.png | Bin 0 -> 3061 bytes we7/resource/icon/orderselect.png | Bin 0 -> 3870 bytes we7/resource/icon/pay.png | Bin 0 -> 4575 bytes we7/resource/icon/payselect.png | Bin 0 -> 5882 bytes we7/resource/icon/todo.png | Bin 0 -> 4519 bytes we7/resource/icon/todoselect.png | Bin 0 -> 5607 bytes we7/resource/icon/user.png | Bin 0 -> 3925 bytes we7/resource/icon/userselect.png | Bin 0 -> 5093 bytes we7/resource/images/home.png | Bin 0 -> 1478 bytes we7/resource/images/homeselect.png | Bin 0 -> 1668 bytes we7/resource/images/hotel.png | Bin 0 -> 1286 bytes we7/resource/images/hotelselect.png | Bin 0 -> 1372 bytes we7/resource/images/user.png | Bin 0 -> 3925 bytes we7/resource/images/userselect.png | Bin 0 -> 5093 bytes we7/resource/images/xiala.png | Bin 0 -> 3792 bytes we7/resource/images/zanwu.png | Bin 0 -> 4202 bytes we7/resource/js/base64.js | 44 + we7/resource/js/htmlToWxml.js | 199 +++ we7/resource/js/md5.js | 75 + we7/resource/js/underscore.js | 621 +++++++ we7/resource/js/util.js | 432 +++++ we7/resource/js/webview.js | 32 + 更多免费精品源码请访问.url | 5 + 117 files changed, 9134 insertions(+) create mode 100644 .gitignore create mode 100644 app.js create mode 100644 app.json create mode 100644 app.wxss create mode 100644 project.config.json create mode 100644 qf_happyvote/pages/index/index.js create mode 100644 qf_happyvote/pages/index/index.json create mode 100644 qf_happyvote/pages/index/index.wxml create mode 100644 qf_happyvote/pages/index/index.wxss create mode 100644 qf_happyvote/pages/templates/checking.wxml create mode 100644 qf_happyvote/pages/templates/checking.wxss create mode 100644 qf_happyvote/pages/templates/detail.wxml create mode 100644 qf_happyvote/pages/templates/detail.wxss create mode 100644 qf_happyvote/pages/templates/footer.wxml create mode 100644 qf_happyvote/pages/templates/footer.wxss create mode 100644 qf_happyvote/pages/templates/index.wxml create mode 100644 qf_happyvote/pages/templates/index.wxss create mode 100644 qf_happyvote/pages/templates/join.wxml create mode 100644 qf_happyvote/pages/templates/join.wxss create mode 100644 qf_happyvote/pages/templates/joinok.wxml create mode 100644 qf_happyvote/pages/templates/joinok.wxss create mode 100644 qf_happyvote/pages/templates/mall.wxml create mode 100644 qf_happyvote/pages/templates/mall.wxss create mode 100644 qf_happyvote/pages/templates/ranking.wxml create mode 100644 qf_happyvote/pages/templates/ranking.wxss create mode 100644 qf_happyvote/pages/templates/rule.wxml create mode 100644 qf_happyvote/pages/templates/rule.wxss create mode 100644 qf_happyvote/pages/test/test.js create mode 100644 qf_happyvote/pages/test/test.wxml create mode 100644 qf_happyvote/pages/test/test.wxss create mode 100644 qf_happyvote/pages/web-view/index.js create mode 100644 qf_happyvote/pages/web-view/index.json create mode 100644 qf_happyvote/pages/web-view/index.wxml create mode 100644 qf_happyvote/pages/web-view/index.wxss create mode 100644 qf_happyvote/resource/font/iconfont.js create mode 100644 qf_happyvote/resource/font/iconfont.svg create mode 100644 qf_happyvote/resource/icon/checking.png create mode 100644 qf_happyvote/resource/icon/like_white.png create mode 100644 qf_happyvote/resource/icon/ok.png create mode 100644 qf_happyvote/resource/icon/quotesleft.png create mode 100644 qf_happyvote/resource/icon/quotesright.png create mode 100644 qf_happyvote/resource/icon/ranking1.png create mode 100644 qf_happyvote/resource/icon/ranking2.png create mode 100644 qf_happyvote/resource/icon/ranking3.png create mode 100644 qf_happyvote/resource/icon/share.png create mode 100644 qf_happyvote/resource/icon/shijian.png create mode 100644 qf_happyvote/resource/icon/shuqian.png create mode 100644 qf_happyvote/resource/icon/tishi.png create mode 100644 qf_happyvote/resource/image/flex.png create mode 100644 qf_happyvote/resource/image/iconfont-tianjia.png create mode 100644 qf_happyvote/resource/image/l0g0.png create mode 100644 qf_happyvote/resource/image/mg.png create mode 100644 qf_happyvote/resource/image/music.png create mode 100644 qf_happyvote/resource/image/music_off.png create mode 100644 qf_happyvote/resource/image/none.png create mode 100644 qf_happyvote/resource/image/reply.png create mode 100644 qf_happyvote/resource/image/tx.png create mode 100644 qf_happyvote/resource/js/function.js create mode 100644 qf_happyvote/resource/js/lanch.js create mode 100644 qf_happyvote/resource/wxParse/html2json.js create mode 100644 qf_happyvote/resource/wxParse/htmlparser.js create mode 100644 qf_happyvote/resource/wxParse/showdown.js create mode 100644 qf_happyvote/resource/wxParse/wxDiscode.js create mode 100644 qf_happyvote/resource/wxParse/wxParse.js create mode 100644 qf_happyvote/resource/wxParse/wxParse.wxml create mode 100644 qf_happyvote/resource/wxParse/wxParse.wxss create mode 100644 siteinfo.js create mode 100644 sitemap.json create mode 100644 we7/pages/index/index.js create mode 100644 we7/pages/index/index.json create mode 100644 we7/pages/index/index.wxml create mode 100644 we7/pages/index/index.wxss create mode 100644 we7/pages/newsDetail/newsDetail.js create mode 100644 we7/pages/newsDetail/newsDetail.wxml create mode 100644 we7/pages/newsDetail/newsDetail.wxss create mode 100644 we7/pages/selectarea/selectarea.js create mode 100644 we7/pages/selectarea/selectarea.wxml create mode 100644 we7/pages/selectarea/selectarea.wxss create mode 100644 we7/pages/templates/footer.wxml create mode 100644 we7/pages/templates/footer.wxss create mode 100644 we7/pages/templates/news.wxml create mode 100644 we7/pages/templates/news.wxss create mode 100644 we7/pages/user/index/index.js create mode 100644 we7/pages/user/index/index.json create mode 100644 we7/pages/user/index/index.wxml create mode 100644 we7/pages/user/index/index.wxss create mode 100644 we7/resource/icon/home.png create mode 100644 we7/resource/icon/homeselect.png create mode 100644 we7/resource/icon/hotel.png create mode 100644 we7/resource/icon/hotelselect.png create mode 100644 we7/resource/icon/img_1.png create mode 100644 we7/resource/icon/img_2.png create mode 100644 we7/resource/icon/img_3.png create mode 100644 we7/resource/icon/img_4.png create mode 100644 we7/resource/icon/order.png create mode 100644 we7/resource/icon/orderselect.png create mode 100644 we7/resource/icon/pay.png create mode 100644 we7/resource/icon/payselect.png create mode 100644 we7/resource/icon/todo.png create mode 100644 we7/resource/icon/todoselect.png create mode 100644 we7/resource/icon/user.png create mode 100644 we7/resource/icon/userselect.png create mode 100644 we7/resource/images/home.png create mode 100644 we7/resource/images/homeselect.png create mode 100644 we7/resource/images/hotel.png create mode 100644 we7/resource/images/hotelselect.png create mode 100644 we7/resource/images/user.png create mode 100644 we7/resource/images/userselect.png create mode 100644 we7/resource/images/xiala.png create mode 100644 we7/resource/images/zanwu.png create mode 100644 we7/resource/js/base64.js create mode 100644 we7/resource/js/htmlToWxml.js create mode 100644 we7/resource/js/md5.js create mode 100644 we7/resource/js/underscore.js create mode 100644 we7/resource/js/util.js create mode 100644 we7/resource/js/webview.js create mode 100644 更多免费精品源码请访问.url diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..14ea590 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +# Windows +[Dd]esktop.ini +Thumbs.db +$RECYCLE.BIN/ + +# macOS +.DS_Store +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes + +# Node.js +node_modules/ diff --git a/app.js b/app.js new file mode 100644 index 0000000..6c42378 --- /dev/null +++ b/app.js @@ -0,0 +1,28 @@ +App({ + onLaunch: function() {}, + onShow: function() {}, + onHide: function() {}, + onError: function(e) {}, + util: require("we7/resource/js/util.js"), + tabBar: { + color: "#123", + selectedColor: "#1ba9ba", + borderStyle: "#1ba9ba", + backgroundColor: "#fff", + list: [ { + pagePath: "/we7/pages/index/index", + iconPath: "/we7/resource/icon/home.png", + selectedIconPath: "/we7/resource/icon/homeselect.png", + text: "首页" + }, { + pagePath: "/we7/pages/user/index/index", + iconPath: "/we7/resource/icon/user.png", + selectedIconPath: "/we7/resource/icon/userselect.png", + text: "微擎我的" + } ] + }, + globalData: { + userInfo: null + }, + siteInfo: require("siteinfo.js") +}); \ No newline at end of file diff --git a/app.json b/app.json new file mode 100644 index 0000000..1cac31b --- /dev/null +++ b/app.json @@ -0,0 +1,16 @@ +{ + "pages": [ + "qf_happyvote/pages/index/index", + "we7/pages/index/index", + "we7/pages/user/index/index", + "qf_happyvote/pages/web-view/index" + ], + "window": { + "navigationBarTextStyle": "white", + "navigationBarTitleText": "", + "navigationBarBackgroundColor": "#000", + "backgroundColor": "#f5f5f5", + "enablePullDownRefresh": true + }, + "sitemapLocation": "sitemap.json" +} \ No newline at end of file diff --git a/app.wxss b/app.wxss new file mode 100644 index 0000000..0a2795f --- /dev/null +++ b/app.wxss @@ -0,0 +1,1333 @@ +page { + line-height: 1.6; + font-family: -apple-system-font,"Helvetica Neue",sans-serif; +} + +icon { + vertical-align: middle; +} + +.weui-cells { + position: relative; + margin-top: 1.17647059em; + background-color: #fff; + line-height: 1.41176471; + font-size: 17px; +} + +.weui-cells:before { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1rpx solid #e6e6e6; + color: #e6e6e6; +} + +.weui-cells:after { + content: " "; + position: absolute; + left: 0; + bottom: 0; + right: 0; + height: 0px; + border-bottom: 0rpx solid #e6e6e6; + color: #e6e6e6; +} + +.weui-cells__title { + margin-top: 0.77em; + margin-bottom: 0.3em; + padding-left: 15px; + padding-right: 15px; + color: #999; + font-size: 14px; +} + +.weui-cells_after-title { + margin-top: 0; +} + +.weui-cells__tips { + margin-top: 0.3em; + color: #999; + padding-left: 15px; + padding-right: 15px; + font-size: 14px; +} + +.weui-cell { + padding: 10px 15px; + position: relative; + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-align: center; + align-items: center; +} + +.weui-cell:before { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1rpx solid #e6e6e6; + color: #e6e6e6; +} + +.weui-cell:first-child:before { + display: none; +} + +.weui-cell_active { + background-color: #ececec; +} + +.weui-cell_primary { + -webkit-box-align: start; + align-items: flex-start; +} + +.weui-cell__bd { + -webkit-box-flex: 1; + flex: 1; +} + +.weui-cell__ft { + text-align: right; + color: #999; +} + +.weui-cell_access { + color: inherit; +} + +.weui-cell__ft_in-access { + padding-right: 13px; + position: relative; +} + +.weui-cell__ft_in-access:after { + content: " "; + display: inline-block; + height: 6px; + width: 6px; + border-width: 2px 2px 0 0; + border-color: #c8c8cd; + border-style: solid; + transform: matrix(0.71,0.71,-0.71,0.71,0,0); + position: relative; + top: -2px; + position: absolute; + top: 50%; + margin-top: -4px; + right: 2px; +} + +.weui-cell_link { + color: #586c94; + font-size: 14px; +} + +.weui-cell_link:active { + background-color: #ececec; +} + +.weui-cell_link:first-child:before { + display: block; +} + +.weui-icon-radio { + margin-left: 3.2px; + margin-right: 3.2px; +} + +.weui-icon-checkbox_circle,.weui-icon-checkbox_success { + margin-left: 4.6px; + margin-right: 4.6px; +} + +.weui-check__label:active { + background-color: #ececec; +} + +.weui-check { + position: absolute; + left: -9999px; +} + +.weui-check__hd_in-checkbox { + padding-right: 0.35em; +} + +.weui-cell__ft_in-radio { + padding-left: 0.35em; +} + +.weui-cell_input { + padding-top: 0; + padding-bottom: 0; +} + +.weui-label { + width: 105px; + word-wrap: break-word; + word-break: break-all; +} + +.weui-input { + height: 2.58823529em; + min-height: 2.58823529em; + line-height: 2.58823529em; +} + +.weui-toptips { + position: fixed; + transform: translateZ(0); + top: 0; + left: 0; + right: 0; + padding: 5px; + font-size: 14px; + text-align: center; + color: #fff; + z-index: 5000; + word-wrap: break-word; + word-break: break-all; +} + +.weui-toptips_warn { + background-color: #e64340; +} + +.weui-textarea { + display: block; + width: 100%; +} + +.weui-textarea-counter { + color: #b2b2b2; + text-align: right; +} + +.weui-textarea-counter_warn { + color: #e64340; +} + +.weui-cell_warn { + color: #e64340; +} + +.weui-form-preview { + position: relative; + background-color: #fff; +} + +.weui-form-preview:before { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1rpx solid #d9d9d9; + color: #d9d9d9; +} + +.weui-form-preview:after { + content: " "; + position: absolute; + left: 0; + bottom: 0; + right: 0; + height: 1px; + border-bottom: 1rpx solid #d9d9d9; + color: #d9d9d9; +} + +.weui-form-preview__value { + font-size: 14px; +} + +.weui-form-preview__value_in-hd { + font-size: 26px; +} + +.weui-form-preview__hd { + position: relative; + padding: 10px 15px; + text-align: right; + line-height: 2.5em; +} + +.weui-form-preview__hd:after { + content: " "; + position: absolute; + left: 0; + bottom: 0; + right: 0; + height: 1px; + border-bottom: 1rpx solid #d9d9d9; + color: #d9d9d9; + left: 15px; +} + +.weui-form-preview__bd { + padding: 10px 15px; + font-size: 0.9em; + text-align: right; + color: #999; + line-height: 2; +} + +.weui-form-preview__ft { + position: relative; + line-height: 50px; + display: -webkit-box; + display: -webkit-flex; + display: flex; +} + +.weui-form-preview__ft:after { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1rpx solid #d5d5d6; + color: #d5d5d6; +} + +.weui-form-preview__item { + overflow: hidden; +} + +.weui-form-preview__label { + float: left; + margin-right: 1em; + min-width: 4em; + color: #999; + text-align: justify; + text-align-last: justify; +} + +.weui-form-preview__value { + display: block; + overflow: hidden; + word-break: normal; + word-wrap: break-word; +} + +.weui-form-preview__btn { + position: relative; + display: block; + -webkit-box-flex: 1; + flex: 1; + color: #3cc51f; + text-align: center; +} + +.weui-form-preview__btn:after { + content: " "; + position: absolute; + left: 0; + top: 0; + width: 1px; + bottom: 0; + border-left: 1rpx solid #d5d5d6; + color: #d5d5d6; +} + +.weui-form-preview__btn:first-child:after { + display: none; +} + +.weui-form-preview__btn_active { + background-color: #eee; +} + +.weui-form-preview__btn_default { + color: #999; +} + +.weui-form-preview__btn_primary { + color: #0bb20c; +} + +.weui-cell_select { + padding: 0; +} + +.weui-select { + position: relative; + padding-left: 15px; + padding-right: 30px; + height: 2.58823529em; + min-height: 2.58823529em; + line-height: 2.58823529em; + border-right: 1rpx solid #d9d9d9; +} + +.weui-select:before { + content: " "; + display: inline-block; + height: 6px; + width: 6px; + border-width: 2px 2px 0 0; + border-color: #c8c8cd; + border-style: solid; + transform: matrix(0.71,0.71,-0.71,0.71,0,0); + position: relative; + top: -2px; + position: absolute; + top: 50%; + right: 15px; + margin-top: -4px; +} + +.weui-select_in-select-after { + padding-left: 0; +} + +.weui-cell__hd_in-select-after,.weui-cell__bd_in-select-before { + padding-left: 15px; +} + +.weui-cell_vcode { + padding-right: 0; +} + +.weui-vcode-img { + margin-left: 5px; + height: 2.58823529em; + vertical-align: middle; +} + +.weui-vcode-btn { + display: inline-block; + height: 2.58823529em; + margin-left: 5px; + padding: 0 0.6em 0 0.7em; + border-left: 1px solid #e5e5e5; + line-height: 2.58823529em; + vertical-align: middle; + font-size: 17px; + color: #3cc51f; + white-space: nowrap; +} + +.weui-vcode-btn:active { + color: #52a341; +} + +.weui-cell_switch { + padding-top: 6px; + padding-bottom: 6px; +} + +.weui-uploader__hd { + display: -webkit-box; + display: -webkit-flex; + display: flex; + padding-bottom: 10px; + -webkit-box-align: center; + align-items: center; +} + +.weui-uploader__title { + -webkit-box-flex: 1; + flex: 1; +} + +.weui-uploader__info { + color: #b2b2b2; +} + +.weui-uploader__bd { + margin-bottom: -4px; + margin-right: -9px; + overflow: hidden; +} + +.weui-uploader__file { + float: left; + margin-right: 9px; + margin-bottom: 9px; +} + +.weui-uploader__img { + display: block; + width: 79px; + height: 79px; +} + +.weui-uploader__file_status { + position: relative; +} + +.weui-uploader__file_status:before { + content: " "; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: rgba(0,0,0,0.5); +} + +.weui-uploader__file-content { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%,-50%); + color: #fff; +} + +.weui-uploader__input-box { + float: left; + position: relative; + margin-right: 9px; + margin-bottom: 9px; + width: 77px; + height: 77px; + border: 1px solid #d9d9d9; +} + +.weui-uploader__input-box:before,.weui-uploader__input-box:after { + content: " "; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%,-50%); + background-color: #d9d9d9; +} + +.weui-uploader__input-box:before { + width: 2px; + height: 39.5px; +} + +.weui-uploader__input-box:after { + width: 39.5px; + height: 2px; +} + +.weui-uploader__input-box:active { + border-color: #999; +} + +.weui-uploader__input-box:active:before,.weui-uploader__input-box:active:after { + background-color: #999; +} + +.weui-uploader__input { + position: absolute; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0; +} + +.weui-article { + padding: 20px 15px; + font-size: 15px; +} + +.weui-article__section { + margin-bottom: 1.5em; +} + +.weui-article__h1 { + font-size: 18px; + font-weight: 400; + margin-bottom: 0.9em; +} + +.weui-article__h2 { + font-size: 16px; + font-weight: 400; + margin-bottom: 0.34em; +} + +.weui-article__h3 { + font-weight: 400; + font-size: 15px; + margin-bottom: 0.34em; +} + +.weui-article__p { + margin: 0 0 0.8em; +} + +.weui-msg { + padding-top: 36px; + text-align: center; +} + +.weui-msg__link { + display: inline; + color: #586c94; +} + +.weui-msg__icon-area { + margin-bottom: 30px; +} + +.weui-msg__text-area { + margin-bottom: 25px; + padding: 0 20px; +} + +.weui-msg__title { + margin-bottom: 5px; + font-weight: 400; + font-size: 20px; +} + +.weui-msg__desc { + font-size: 14px; + color: #999; +} + +.weui-msg__opr-area { + margin-bottom: 25px; +} + +.weui-msg__extra-area { + margin-bottom: 15px; + font-size: 14px; + color: #999; +} + +@media screen and (min-height:438px) { + .weui-msg__extra-area { + position: fixed; + left: 0; + bottom: 0; + width: 100%; + text-align: center; + } +} + +.weui-flex { + display: -webkit-box; + display: -webkit-flex; + display: flex; +} + +.weui-flex__item { + -webkit-box-flex: 1; + flex: 1; +} + +.weui-btn { + margin-top: 15px; +} + +.weui-btn:first-child { + margin-top: 0; +} + +.weui-btn-area { + margin: 1.17647059em 15px 0.3em; +} + +.weui-agree { + display: block; + padding: 0.5em 15px; + font-size: 13px; +} + +.weui-agree__text { + color: #999; +} + +.weui-agree__link { + display: inline; + color: #586c94; +} + +.weui-agree__checkbox { + position: absolute; + left: -9999px; +} + +.weui-agree__checkbox-icon { + position: relative; + top: 2px; + display: inline-block; + border: 1px solid #d1d1d1; + background-color: #fff; + border-radius: 3px; + width: 11px; + height: 11px; +} + +.weui-agree__checkbox-icon-check { + position: absolute; + top: 1px; + left: 1px; +} + +.weui-footer { + color: #999; + font-size: 14px; + text-align: center; +} + +.weui-footer_fixed-bottom { + position: fixed; + bottom: 0.52em; + left: 0; + right: 0; +} + +.weui-footer__links { + font-size: 0; +} + +.weui-footer__link { + display: inline-block; + vertical-align: top; + margin: 0 0.62em; + position: relative; + font-size: 14px; + color: #586c94; +} + +.weui-footer__link:before { + content: " "; + position: absolute; + left: 0; + top: 0; + width: 1px; + bottom: 0; + border-left: 1rpx solid #c7c7c7; + color: #c7c7c7; + left: -0.65em; + top: 0.36em; + bottom: 0.36em; +} + +.weui-footer__link:first-child:before { + display: none; +} + +.weui-footer__text { + padding: 0 0.34em; + font-size: 12px; +} + +.weui-grids { + border-top: 1rpx solid #d9d9d9; + border-left: 1rpx solid #d9d9d9; + overflow: hidden; +} + +.weui-grid { + position: relative; + float: left; + padding: 20px 10px; + width: 33.33333333%; + box-sizing: border-box; + border-right: 1rpx solid #d9d9d9; + border-bottom: 1rpx solid #d9d9d9; +} + +.weui-grid_active { + background-color: #ececec; +} + +.weui-grid__icon { + display: block; + width: 28px; + height: 28px; + margin: 0 auto; +} + +.weui-grid__label { + margin-top: 5px; + display: block; + text-align: center; + color: #000; + font-size: 14px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +.weui-loading { + margin: 0 5px; + width: 20px; + height: 20px; + display: inline-block; + vertical-align: middle; + animation: weuiLoading 1s steps(12,end) infinite; + background: transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=) no-repeat; + background-size: 100%; +} + +@-webkit-keyframes weuiLoading { + 0% { + transform: rotate3d(0,0,1,0deg); + } + + 100% { + transform: rotate3d(0,0,1,360deg); + } +} + +@keyframes weuiLoading { + 0% { + transform: rotate3d(0,0,1,0deg); + } + + 100% { + transform: rotate3d(0,0,1,360deg); + } +} + +.weui-badge { + display: inline-block; + padding: 0.15em 0.4em; + min-width: 8px; + border-radius: 18px; + background-color: #f43530; + color: #fff; + line-height: 1.2; + text-align: center; + font-size: 12px; + vertical-align: middle; +} + +.weui-badge_dot { + padding: 0.4em; + min-width: 0; +} + +.weui-loadmore { + width: 65%; + margin: 1.5em auto; + line-height: 1.6em; + font-size: 14px; + text-align: center; +} + +.weui-loadmore__tips { + display: inline-block; + vertical-align: middle; +} + +.weui-loadmore_line { + border-top: 1px solid #e5e5e5; + margin-top: 2.4em; +} + +.weui-loadmore__tips_in-line { + position: relative; + top: -0.9em; + padding: 0 0.55em; + background-color: #fff; + color: #999; +} + +.weui-loadmore__tips_in-dot { + position: relative; + padding: 0 0.16em; + width: 4px; + height: 1.6em; +} + +.weui-loadmore__tips_in-dot:before { + content: " "; + position: absolute; + top: 50%; + left: 50%; + margin-top: -1px; + margin-left: -2px; + width: 4px; + height: 4px; + border-radius: 50%; + background-color: #e5e5e5; +} + +.weui-panel { + background-color: #fff; + margin-top: 10px; + position: relative; + overflow: hidden; +} + +.weui-panel:first-child { + margin-top: 0; +} + +.weui-panel:before { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1rpx solid #e5e5e5; + color: #e5e5e5; +} + +.weui-panel:after { + content: " "; + position: absolute; + left: 0; + bottom: 0; + right: 0; + height: 1px; + border-bottom: 1rpx solid #e5e5e5; + color: #e5e5e5; +} + +.weui-panel__hd { + padding: 14px 15px 10px; + color: #999; + font-size: 13px; + position: relative; +} + +.weui-panel__hd:after { + content: " "; + position: absolute; + left: 0; + bottom: 0; + right: 0; + height: 1px; + border-bottom: 1rpx solid #e5e5e5; + color: #e5e5e5; +} + +.weui-media-box { + padding: 15px; + position: relative; +} + +.weui-media-box:before { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1rpx solid #e5e5e5; + color: #e5e5e5; +} + +.weui-media-box:first-child:before { + display: none; +} + +.weui-media-box__title { + font-weight: 400; + font-size: 17px; + width: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + word-wrap: normal; + word-wrap: break-word; + word-break: break-all; +} + +.weui-media-box__desc { + color: #999; + font-size: 13px; + line-height: 1.2; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; +} + +.weui-media-box__info { + margin-top: 15px; + padding-bottom: 5px; + font-size: 13px; + color: #cecece; + line-height: 1em; + list-style: none; + overflow: hidden; +} + +.weui-media-box__info__meta { + float: left; + padding-right: 1em; +} + +.weui-media-box__info__meta_extra { + padding-left: 1em; + border-left: 1px solid #cecece; +} + +.weui-media-box__title_in-text { + margin-bottom: 8px; +} + +.weui-media-box_appmsg { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-align: center; + align-items: center; +} + +.weui-media-box__thumb { + width: 100%; + height: 100%; + vertical-align: top; +} + +.weui-media-box__hd_in-appmsg { + margin-right: 0.8em; + width: 60px; + height: 60px; + line-height: 60px; + text-align: center; +} + +.weui-media-box__bd_in-appmsg { + -webkit-box-flex: 1; + flex: 1; + min-width: 0; +} + +.weui-media-box_small-appmsg { + padding: 0; +} + +.weui-cells_in-small-appmsg { + margin-top: 0; +} + +.weui-cells_in-small-appmsg:before { + display: none; +} + +.weui-progress { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-align: center; + align-items: center; +} + +.weui-progress__bar { + -webkit-box-flex: 1; + flex: 1; +} + +.weui-progress__opr { + margin-left: 15px; + font-size: 0; +} + +.weui-navbar { + display: -webkit-box; + display: -webkit-flex; + display: flex; + position: absolute; + z-index: 500; + top: 0; + width: 100%; + border-bottom: 1rpx solid #ccc; +} + +.weui-navbar__item { + position: relative; + display: block; + -webkit-box-flex: 1; + flex: 1; + padding: 13px 0; + text-align: center; + font-size: 0; +} + +.weui-navbar__item.weui-bar__item_on { + color: #1aad19; +} + +.weui-navbar__slider { + position: absolute; + content: " "; + left: 0; + bottom: 0; + width: 6em; + height: 3px; + background-color: #1aad19; + transition: transform 0.3s; + transition: transform 0.3s,-webkit-transform 0.3s; +} + +.weui-navbar__title { + display: inline-block; + font-size: 15px; + max-width: 8em; + width: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + word-wrap: normal; +} + +.weui-tab { + position: relative; + height: 100%; +} + +.weui-tab__panel { + box-sizing: border-box; + height: 100%; + padding-top: 50px; + overflow: auto; + -webkit-overflow-scrolling: touch; +} + +.weui-search-bar { + position: relative; + padding: 8px 10px; + display: -webkit-box; + display: -webkit-flex; + display: flex; + box-sizing: border-box; + background-color: #efeff4; + border-top: 1rpx solid #d7d6dc; + border-bottom: 1rpx solid #d7d6dc; +} + +.weui-icon-search { + margin-right: 8px; + font-size: inherit; +} + +.weui-icon-search_in-box { + position: absolute; + left: 10px; + top: 7px; +} + +.weui-search-bar__text { + display: inline-block; + font-size: 14px; + vertical-align: middle; +} + +.weui-search-bar__form { + position: relative; + -webkit-box-flex: 1; + flex: auto; + border-radius: 5px; + background: #fff; + border: 1rpx solid #e6e6ea; +} + +.weui-search-bar__box { + position: relative; + padding-left: 30px; + padding-right: 30px; + width: 100%; + box-sizing: border-box; + z-index: 1; +} + +.weui-search-bar__input { + height: 28px; + line-height: 28px; + font-size: 14px; +} + +.weui-icon-clear { + position: absolute; + top: 0; + right: 0; + padding: 7px 8px; + font-size: 0; +} + +.weui-search-bar__label { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + border-radius: 3px; + text-align: center; + color: #9b9b9b; + background: #fff; + line-height: 28px; +} + +.weui-search-bar__cancel-btn { + margin-left: 10px; + line-height: 28px; + color: #09bb07; + white-space: nowrap; +} + +.weui-tabbar { + display: flex; + position: absolute; + z-index: 500; + bottom: 0; + width: 100%; + background-color: #f7f7fa; +} + +.weui-tabbar:before { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1px solid #c0bfc4; + color: #c0bfc4; + transform-origin: 0 0; + transform: scaleY(0.5); +} + +.weui-tabbar__item { + display: block; + flex: 1; + padding: 5px 0 0; + font-size: 0; + color: #999; + text-align: center; + -webkit-tap-highlight-color: rgba(0,0,0,0); +} + +.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon,.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon>i,.weui-tabbar__item.weui-bar__item_on .weui-tabbar__label { + color: #09bb07; +} + +.weui-tabbar__icon { + display: inline-block; + width: 27px; + height: 27px; +} + +i.weui-tabbar__icon,.weui-tabbar__icon>i { + font-size: 24px; + color: #999; +} + +.weui-tabbar__icon img { + width: 100%; + height: 100%; +} + +.weui-tabbar__label { + text-align: center; + color: #999; + font-size: 10px; + line-height: 1.8; +} + +.page__hd { + padding: 40px; +} + +.page__bd { + padding-bottom: 40px; +} + +.page__bd_spacing { + padding-left: 15px; + padding-right: 15px; +} + +.page__ft { + padding-bottom: 10px; + text-align: center; +} + +.page__title { + text-align: left; + font-size: 20px; + font-weight: 400; +} + +.page__desc { + margin-top: 5px; + color: #888; + text-align: left; + font-size: 14px; +} + +.we7-bottom-placeholder { + width: 100%; + height: 134rpx; + position: relative; + bottom: 0; + z-index: -1; +} + +.we7-bottom { + display: flex; + overflow: hidden; + position: fixed; + left: 0; + right: 0; + bottom: 0; + padding: 10rpx 0; + border-top: 1px solid #000; + background-color: #fff; +} + +.we7-bottom.active { + background-color: #fff; +} + +.we7-bottom.active navigatorurl { + background-color: #fff; +} + +.we7-bottom .we7-bottom-item { + flex: 1; + padding: 10rpx; + text-align: center; +} + +.we7-bottom .item-img { + width: 50rpx; + height: 50rpx; + display: inline-block; +} + +.we7-bottom .item-text { + display: block; + font-size: 12px; + line-height: 1; +} + +.goHome { + position: fixed; + bottom: 150rpx; + right: 30rpx; + width: 50rpx; + height: 50rpx; + background-color: #1ba9ba; + padding: 30rpx; + border-radius: 50%; +} + +.goHome>image { + width: 100%; +} + +.text-right { + text-align: right; +} \ No newline at end of file diff --git a/project.config.json b/project.config.json new file mode 100644 index 0000000..c5360f8 --- /dev/null +++ b/project.config.json @@ -0,0 +1,82 @@ +{ + "description": "项目配置文件", + "packOptions": { + "ignore": [] + }, + "setting": { + "urlCheck": true, + "es6": true, + "enhance": false, + "postcss": true, + "preloadBackgroundData": false, + "minified": true, + "newFeature": false, + "coverView": true, + "nodeModules": false, + "autoAudits": false, + "showShadowRootInWxmlPanel": true, + "scopeDataCheck": false, + "uglifyFileName": false, + "checkInvalidKey": true, + "checkSiteMap": true, + "uploadWithSourceMap": true, + "compileHotReLoad": false, + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + }, + "useIsolateContext": true, + "useCompilerModule": false, + "userConfirmedUseCompilerModuleSwitch": false, + "lazyloadPlaceholderEnable": false, + "useMultiFrameRuntime": true, + "useApiHook": true, + "useApiHostProcess": true, + "enableEngineNative": false, + "userConfirmedBundleSwitch": false, + "packNpmManually": false, + "packNpmRelationList": [], + "minifyWXSS": true, + "showES6CompileOption": false + }, + "compileType": "miniprogram", + "libVersion": "2.14.0", + "appid": "wxec9f98ac8b875086", + "projectname": "miniprogram-1", + "debugOptions": { + "hidedInDevtools": [] + }, + "scripts": {}, + "isGameTourist": false, + "simulatorType": "wechat", + "simulatorPluginLibVersion": {}, + "condition": { + "search": { + "list": [] + }, + "conversation": { + "list": [] + }, + "plugin": { + "list": [] + }, + "game": { + "list": [] + }, + "gamePlugin": { + "list": [] + }, + "miniprogram": { + "list": [ + { + "id": 0, + "name": "qf_happyvote/pages/index/index", + "pathName": "qf_happyvote/pages/index/index", + "query": "voteid=20&joinid=92", + "scene": null + } + ] + } + } +} \ No newline at end of file diff --git a/qf_happyvote/pages/index/index.js b/qf_happyvote/pages/index/index.js new file mode 100644 index 0000000..791719d --- /dev/null +++ b/qf_happyvote/pages/index/index.js @@ -0,0 +1,851 @@ +var a = getApp(), i = wx.getRecorderManager(), t = (wx.getBackgroundAudioManager(), +require("../../resource/js/function.js")); +let goodsList = [ + {actEndTime: '2021/08/08 10:00:43'} + ] +Page({ + data: { + countDownList: [], + actEndTimeList: [], + //投票id + voteid: 0, + // tabBar配置 + config: { + isindexfollow: !1, + isdetailfollow: !1, + footbgcolor: "", + footcolor: "", + footsearchbgcolor: "", + footsearchcolor: "", + buttonbgcolor: "", + buttoncolor: "", + isvotegiftpop: !1, + isgift: !1, + userlogin: "1" + }, + //搜索显示 + search: { + show: !1 + }, + // 投票显示配置 + index: { + showlist: "news", + limit: 10, + start: 0, + pulluploading: !0, + ispulluploading: !1, + size: { + news: { + left: 0, + right: 0 + }, + hot: { + left: 0, + right: 0 + } + }, + width: "" + }, + // 资源控制 + join: { + images: [ { + isadd: !1, + src: "../../resource/image/iconfont-tianjia.png" + }, { + isadd: !1, + src: "../../resource/image/iconfont-tianjia.png" + }, { + isadd: !1, + src: "../../resource/image/iconfont-tianjia.png" + }, { + isadd: !1, + src: "../../resource/image/iconfont-tianjia.png" + } ], + video: [ { + isadd: !1, + src: "", + name: "点击选择上传视频:未选择", + url: "" + } ], + music: [ { + isadd: !1, + src: "", + name: "点我开始录音", + url: "" + } ], + subbtn: { + isdisabled: !0, + text: "确认提交" + }, + validates: { + username: !1, + telephone: !1, + image: !1, + resume: !1, + video: !1, + music: !1 + }, + joinInfo: {}, + area: '', + typesId: '', + typesName: '', + region:[], + }, + joinok: {}, + checking: {}, + detail: { + swiperheight: 60, + giftbox: !0, + font: "给TA投票", + topage: "1", + id: "", + username: "", + images: "", + resume: "", + telephone: "", + pollcount: "", + gifts: "", + reply: "", + giftrecords: "", + ranking: "", + haibao: "", + imgurl: "", + imgbg: "", + maxpic: !1, + maximg: "", + video: "", + videoshow: "none", + musicshow: "music_off" + }, + ranking: { + start: 20, + limit: 20, + ispulluploading: !1, + nowType: 'renqi', + tabs: 'shangcheng', + mall_list: [] + }, + mall: { + nowNav: 1, + areaIndex: '' + }, + area:{ + region: ['广东省', '深圳市', '罗湖区'] + }, + rule: {}, + showpage: "index", + footerindex: 1, + page: 1, + mallId: '', + reply: { + content: "", + length: "" + }, + memberinfo:{ + id: 0 + }, + }, + bindPickerChange: function(e) { + var _this = this; + _this.setData({ + 'join.typesId': _this.data.join.joinInfo.types[e.detail.value].id, + 'join.typesName': _this.data.join.joinInfo.types[e.detail.value].name + }) + if( _this.data.join.region.length != 0 && _this.data.join.typesName != null){ + _this.getshangquan() + } + }, + bindPickerChange4(e){ + var _this = this; + _this.setData({ + 'join.mallId': _this.data.join.joinInfo.mall_list[e.detail.value].id, + 'join.mallName': _this.data.join.joinInfo.mall_list[e.detail.value].name + }) + }, + getshangquan(){ + var _this = this; + a.util.request({ + url: "entry/wxapp/Getmalls", + data: { + voteid: _this.data.voteid, + type: _this.data.join.typesId, + area: _this.data.join.region + }, + success: function(res) { + _this.setData({ + 'join.joinInfo.mall_list': res.data.data.mall_list + }) + } + }) + }, + bindPickerChange2: function(e) { + var _this = this; + _this.setData({ + 'join.storeId': _this.data.join.joinInfo.store_types[e.detail.value].id, + 'join.storeName': _this.data.join.joinInfo.store_types[e.detail.value].name + }) + }, + bindPickerChange3(e){ + var _this = this; + this.setData({ + 'join.region': e.detail.value + }) + if( _this.data.join.region.length != 0 && _this.data.join.typesName != null){ + _this.getshangquan() + } + }, + tab1(e){ + var status = e.currentTarget.dataset.status + var _this = this; + _this.setData({ + 'ranking.tabs': status + }) + }, + tab(e){ + var _this = this; + var type = e.currentTarget.dataset.type + _this.setData({ + 'ranking.nowType': type + }) + // if( _this.data.ranking.tabs == 'dianzhang' ){ + t.getrankings(_this,type) + // } else { + _this.getMall() + // } + }, + bindRegionChange: function (e) { + console.log('picker发送选择改变,携带值为', e.detail.value) + this.setData({ + 'area.region': e.detail.value + }) + this.mall(this.data.voteid,this.data.uid) + }, + onLoad: function(i) { + // 倒计时 + let endTimeList = []; + // 将活动的结束时间参数提成一个单独的数组,方便操作 + goodsList.forEach(o => {endTimeList.push(o.actEndTime)}) + this.setData({ actEndTimeList: endTimeList}); + // 执行倒计时函数 + this.countDown(); + // + var e = this, o = wx.getStorageSync("userInfo"); + if ("" != o.memberInfo && void 0 !== o.memberInfo) { + var n = e.data.config; + n.userlogin = 0, e.setData({ + config: n + }); + var s = o.memberInfo; + console.log(s), e.setData({ + memberinfo: s + }); + } + t.initpage(e); + if (i.scene) var d = decodeURIComponent(i.scene).split(","), c = d[0], r = d[1]; else var c = i.voteid, r = i.joinid; + "" != c && c > 0 && (e.setData({ + voteid: c + }), "" != r && r > 0 && setTimeout(function(){ + a.util.request({ + url: "entry/wxapp/joininfo", + data: { + voteid: e.data.voteid, + joinid: r + }, + success: function(a) { + console.log(a.data); + var i = a.data.data, t = e.data.detail; + t.id = i.id, t.username = i.username, t.images = i.images, t.resume = i.resume, + t.telephone = i.telephone, t.pollcount = i.pollcount, t.gifts = i.gifts, t.giftrecords = i.giftrecords, + t.ranking = i.ranking, t.haibao = !1, t.video = i.video, t.music = i.music, t.reply = i.reply, + t.isreply = !1, t.imgurl = "", t.imgbg = "0", e.setData({ + detail: t, + showpage: "detail" + }); + } + }) + },100)) + }, + close(){ + var _this = this; + _this.setData({ + 'config.userlogin':0, + footerindex: 1 + }) + t.initpage(_this) + }, + tabNav(e){ + this.setData({ + 'mall.nowNav':e.currentTarget.dataset.types + }) + this.mall(this.data.voteid,this.data.uid) + }, + mall(e,uid){ + var _this = this; + a.util.request({ + url: 'entry/wxapp/voteinfo', + data: { + area: _this.data.area.region, + voteid: e, + uid, + type: _this.data.mall.nowNav + }, + success: function(res){ + _this.setData({ + mall: res.data.data, + 'index.is_join': res.data.data.is_join, + 'mall.nowNav': _this.data.mall.nowNav, + 'mall.areaIndex': _this.data.mall.areaIndex + }) + } + }) + }, + onReady: function() {}, + onShow: function() {}, + onHide: function() {}, + onUnload: function() {}, + onShareAppMessage: function(i) { + var t = this, e = t.data.detail; + return "" != e.id ? (console.log(t.data.voteid), console.log(e.id), { + title: t.data.config.wxappdetailsharetitle.replace("{username}", e.username), + path: "/qf_happyvote/pages/index/index?voteid=" + t.data.voteid + "&joinid=" + e.id, + imageUrl: e.images[0], + success: function(i) { + a.util.message("转发成功", "", "success"); + } + }) : { + title: t.data.config.wxappsharetitle, + path: "/qf_happyvote/pages/index/index?voteid=" + t.data.voteid, + imageUrl: t.data.config.wxappshareimage, + success: function(i) { + a.util.message("转发成功", "", "success"); + } + }; + }, + bindGetUserInfo: function(i) { + console.log(i.detail.userInfo); + var e = this, o = e.data.config; + o.userlogin = 0, e.setData({ + config: o + }), a.util.showLoading(), a.util.getUserInfo(function(a) { + var i = wx.getStorageSync("userInfo").memberInfo; + e.setData({ + memberinfo: i, + footerindex: 1 + }), t.initpage(e), wx.hideLoading(); + }); + }, + getMall(){ + var i = this; + a.util.request({ + url: "entry/wxapp/MallRankings", + data: { + start: i.data.ranking.start, + voteid: i.data.voteid, + type: i.data.ranking.nowType || 'renqi', + limit: i.data.ranking.limit + }, + success: function(res) { + i.setData({ + 'ranking.mall_list': res.data.data + }) + } + }); + }, + viewjump: function(a) { + var i = this, e = a.currentTarget.dataset.topage; + console.log(e) + console.log("------------------") + if( e == 'mall' ){ + i.setData({ + showpage: e, + footerindex: 1 + }) + } + if( e == 'ranking' ){ + i.getMall() + } + if( e == 'myjoin' ){ + if(!wx.getStorageSync('userInfo')){ + i.setData({ + 'config.userlogin': 1 + }) + } + } + if ("index" == e) { + var o = i.data.detail; + o.font = "给TA投票", o.giftbox = !0, i.setData({ + showpage: e, + detail: o, + footerindex: 1 + }); + } else "join" == e || "joinok" == e || "checking" == e ? t.tojoinpage(i) : "ranking" == e ? (t.getrankings(i), + i.setData({ + showpage: e, + footerindex: 3 + })) : "rule" == e ? i.setData({ + showpage: e, + footerindex: 4 + }) : "myjoin" == e && (i.data.config.isupdate ? t.mytojoinpage(i) : t.tojoinpage(i)); + }, + showsearch: function(a) { + var i = this, t = i.data.search; + t.show = !0, i.setData({ + search: t + }); + }, + search: function(a) { + var i = this, e = a.detail.value; + t.search(i, e); + }, + jumpwxapp: function(a) { + var i = this; + wx.navigateToMiniProgram({ + appId: i.data.config.wxapptoappid, + path: i.data.config.wxapptopath, + success: function(a) {} + }); + }, + imgjumpwxapp: function(a) { + var i = this, t = a.target.dataset.img; + if (console.log(i.data.config.appid1), "1" == t) { + if ("" == i.data.config.appid1) return !1; + wx.navigateToMiniProgram({ + appId: i.data.config.appid1, + path: i.data.config.path1, + success: function(a) { + console.log(1); + } + }); + } + if ("2" == t) { + if ("" == i.data.config.appid2) return !1; + wx.navigateToMiniProgram({ + appId: i.data.config.appid2, + path: i.data.config.path2, + success: function(a) {} + }); + } + if ("3" == t) { + if ("" == i.data.config.appid3) return !1; + wx.navigateToMiniProgram({ + appId: i.data.config.appid3, + path: i.data.config.path3, + success: function(a) {} + }); + } + if ("8" == t) { + if ("" == i.data.config.appid4) return !1; + wx.navigateToMiniProgram({ + appId: i.data.config.appid4, + path: i.data.config.path4, + success: function(a) {} + }); + } + if ("9" == t) { + if ("" == i.data.config.appid5) return !1; + wx.navigateToMiniProgram({ + appId: i.data.config.appid5, + path: i.data.config.path5, + success: function(a) {} + }); + } + if ("4" == t) if (i.data.index.adfixed == i.data.index.advote || "" == i.data.config.adfixedappid) { + if ("" == i.data.config.advoteappid) return !1; + wx.navigateToMiniProgram({ + appId: i.data.config.advoteappid, + path: i.data.config.advotepath, + success: function(a) {} + }); + } else { + if ("" == i.data.config.adfixedappid) return !1; + wx.navigateToMiniProgram({ + appId: i.data.config.adfixedappid, + path: i.data.config.adfixedpath, + success: function(a) {} + }); + } + if ("6" == t) { + if ("" == i.data.config.adjoinappid) return !1; + wx.navigateToMiniProgram({ + appId: i.data.config.adjoinappid, + path: i.data.config.adjoinpath, + success: function(a) {} + }); + } + if( "10" == t ) { + wx.navigateTo({ + url: '/qf_happyvote/pages/web-view/index', + events: { + // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 + acceptDataFromOpenedPage: function(data) {} + }, + success: function(res) { + // 通过eventChannel向被打开页面传送数据 + res.eventChannel.emit('acceptDataFromOpenerPage', { + url: 'https://xcx.zgzmdz.com/app/index.php?i=11&c=entry&actid=20&do=index&m=hxq_lottery' + }) + } + }) + } + }, + closesearch: function(a) { + var i = this, t = i.data.search; + t.show = !1, i.setData({ + search: t + }); + }, + indextabchange: function(a) { + var i = this, t = a.currentTarget.dataset.totab, e = i.data.index; + e.showlist = t, i.setData({ + index: e + }); + }, + loadlist: function(a) { + var i = this, e = i.data.index, o = i.data.ranking; + if(i.data.showpage == 'index'){ + i.setData({ + page: i.data.page + 1 + }) + t.getlistmore(i) + } + e.ispulluploading || o.ispulluploading || (i.data.index.pulluploading && "index" == i.data.showpage && (e.ispulluploading = !0, + i.setData({ + index: e + })), "ranking" == i.data.showpage && (o.ispulluploading = !0, i.setData({ + ranking: o + }), t.getranking(i,i.data.ranking.nowType))); + }, + delimage: function(a) { + var i = this, t = a.currentTarget.dataset.index, e = i.data.join; + e.images[t].isadd = !1, e.images[t].src = "../../resource/image/iconfont-tianjia.png", + i.setData({ + 'join.images': e.images + }); + }, + selimage: function(a) { + var i = this, t = a.currentTarget.dataset.index, e = i.data.join; + wx.chooseImage({ + count: 1, + sizeType: [ "original", "compressed" ], + sourceType: [ "album", "camera" ], + success: function(a) { + e.images[t].isadd = !0, e.images[t].src = a.tempFilePaths[0], i.setData({ + 'join.images': e.images + }); + } + }); + }, + goback(){ + var _this = this; + _this.setData({ + showpage: 'mall' + }) + }, + dianzhang(e){ + var _this = this; + var mall_id = e.currentTarget.dataset.mall_id + a.util.request({ + url: 'entry/wxapp/MallJoinList', + data: { + voteid: _this.data.voteid, + mallid: mall_id + }, + success:function(res){ + _this.setData({ + showpage: 'index', + nowMallId: mall_id, + page: 1, + 'index.dianzhang': res.data.data.dianzhang, + 'index.jiaoyi': res.data.data.jiaoyi, + 'index.liulan': res.data.data.liulan, + 'index.piaoshu':res.data.data.piaoshu, + 'index.newslist': res.data.data.newlist, + 'index.hotlist': res.data.data.hotlist + }) + } + }) + }, + selvideo: function(a) { + var i = this, t = i.data.join; + console.log(t) + wx.chooseVideo({ + sourceType: [ "album", "camera" ], + maxDuration: 60, + success: function(a) { + t.video[0].isadd = !0, t.video[0].src = a.tempFilePath, t.video[0].name = "已选择视频", + t.validates.video = !1, i.setData({ + 'join.video': t.video + }), console.log(t); + } + }); + }, + selmusic: function(a) { + var t = this, e = t.data.join; + if ("正在录音:请说话 (再次点击保存)" == e.music[0].name) return i.stop(), void i.onStop(function(a) { + e.music[0].isadd = !0, e.music[0].src = a.tempFilePath, e.music[0].name = "录音已完成", + e.validates.music = !1; + a.tempFilePath; + t.setData({ + 'join.music': e.music + }); + }); + e.music[0].name = "正在录音:请说话 (再次点击保存)", t.setData({ + 'join.music': e.music + }); + var o = { + duration: 6e4, + sampleRate: 16e3, + numberOfChannels: 1, + encodeBitRate: 96e3, + format: "mp3" + }; + i.start(o), i.onStart(function() { + console.log("recorder start"); + }); + }, + join: function(a) { + var i = this, e = a.detail.value; + e.mall_id = i.data.join.mallId + e.store_type = i.data.join.storeId + e.mall_type = i.data.join.typesId + e.mall_area = i.data.join.region + if( e.username == "" ){ + wx.showToast({ + title: '请输入您的姓名', + icon: 'none' + }) + return; + } else if ( e.telephone == "" ) { + wx.showToast({ + title: '请输入您的手机号码', + icon: 'none' + }) + return; + } else if( i.data.join.region.length == 0 || i.data.join.region == null ){ + wx.showToast({ + title: '请选所在区域', + icon: 'none' + }) + return; + } else if ( i.data.join.typesName == null ) { + wx.showToast({ + title: '请选择商圈/商场', + icon: 'none' + }) + return; + } else if ( i.data.join.mallName == null ) { + wx.showToast({ + title: i.data.join.typesId==1?'请选择商圈/商场':i.data.join.typesId==2?'请选择连锁品牌':'请选择特约商户', + icon: 'none' + }) + return; + } else if ( e.store_name == "" ) { + wx.showToast({ + title: '请填写店铺名称', + icon: 'none' + }) + return; + } else if ( !i.data.join.images[0].isadd ) { + wx.showToast({ + title: '请上传图片', + icon: 'none' + }) + return; + } else if ( e.resume == "" ) { + wx.showToast({ + title: '请发表您的诚信宣言', + icon: 'none' + }) + return; + } + if( e.telephone.length < 11 ){ + wx.showToast({ + title: '手机号码有误,请重填', + icon: 'none' + }) + return false; + } + console.log(e) + t.join(i, e); + }, + detail: function(a) { + var i = this, e = a.currentTarget.dataset.joinid; + t.getjoininfo(i, e); + }, + sendgift: function(a) { + var i = this, e = a.currentTarget.dataset.joinid, o = a.currentTarget.dataset.giftid; + t.sendgift(i, e, o); + }, + replybut: function(a) { + var i = this, t = i.data.detail, e = i.data.reply; + 1 == a.currentTarget.dataset.data ? (t.isreply = !0, e.length = 0) : t.isreply = !1, + i.setData({ + detail: t, + reply: e + }); + }, + replycontent: function(a) { + var i = this, t = i.data.reply; + t.content = a.detail.value, t.length = a.detail.value.length, i.setData({ + reply: t + }); + }, + reply: function(a) { + var i = this, e = a.currentTarget.dataset.joinid, o = i.data.reply.content; + i.data.reply.length < 1 || t.reply(i, e, o); + }, + giftbox: function() { + var a = this; + t.giftbox(a); + }, + vote: function(a) { + var i = this, e = i.data.config.isgiftjoin; + if ("修改信息" != i.data.detail.font && 1 == e) { + var o = i.data.index; + return o.giftid = a.currentTarget.dataset.joinid, i.setData({ + index: o + }), void t.giftbox(i); + } + var n = a.currentTarget.dataset.joinid; + if (1 == a.currentTarget.dataset.topage) t.vote(i, n); else { + i.data.showpage; + "join", i.setData({ + showpage: "join" + }); + } + }, + haibao: function(a) { + var i = this, e = a.currentTarget.dataset.joinid; + t.haibao(i, e); + }, + saveImg: function() { + wx.downloadFile({ + url: this.data.detail.imgurl, + success: function(a) { + var i = a.tempFilePath; + wx.saveImageToPhotosAlbum({ + filePath: i, + success: function(a) { + console.log(a); + }, + fail: function(a) { + console.log(a); + }, + complete: function(a) { + console.log(a); + } + }); + }, + fail: function(a) { + console.log(a); + } + }); + }, + onSlideChangeEnd: function(a) { + var i = this, t = i.data.detail; + t.imgbg = a.detail.current, i.setData({ + detail: t + }) + }, + modalcnt: function() { + wx.showModal({ + title: "分享", + content: "点击右上角的 ··· 转发给朋友哦~", + success: function(a) { + a.confirm ? console.log("用户点击确定") : a.cancel && console.log("用户点击取消"); + } + }); + }, + maximg: function(a) { + console.log(a.target.dataset.img); + var i = this, t = i.data.detail; + t.maximg = a.target.dataset.img, t.maxpic = !0, i.setData({ + detail: t + }); + }, + maxpic: function(a) { + var i = this, t = i.data.detail; + t.maxpic = !1, i.setData({ + detail: t + }); + }, + videoshow: function(a) { + var i = this, t = i.data.detail; + "flex" == t.videoshow ? t.videoshow = "none" : "" == t.video ? wx.showToast({ + title: "没有上传视频", + icon: "succes", + duration: 1e3, + mask: !0 + }) : t.videoshow = "flex", i.setData({ + detail: t + }); + }, + musicshow: function(a) { + var i = this, t = i.data.detail; + "music_off" != t.musicshow ? (wx.stopBackgroundAudio(), t.musicshow = "music_off", + console.log(t.music)) : "" == t.music ? wx.showToast({ + title: "没有上传音频", + icon: "succes", + duration: 1e3, + mask: !0 + }) : (t.musicshow = "music", console.log(t.music), wx.playBackgroundAudio({ + dataUrl: t.music + }), wx.onBackgroundAudioStop(function() { + t.musicshow = "music_off", i.setData({ + detail: t + }); + })), i.setData({ + detail: t + }); + }, + adindex: function(a) { + var i = this, t = i.data.index; + t.isadindex = !1, "0" != t.advote && t.adfixed != t.advote && (t.adfixed = t.advote), + i.setData({ + index: t + }); + }, + timeFormat(param){ + //小于10的格式化函数 + return param < 10 ? '0' + param : param; + }, + countDown(){ + //倒计时函数 + // 获取当前时间,同时得到活动结束时间数组 + let newTime = new Date().getTime(); + let endTimeList = this.data.actEndTimeList; + let countDownArr = []; + + // 对结束时间进行处理渲染到页面 + endTimeList.forEach(o => { + let endTime = new Date(o).getTime(); + let obj = null; + // 如果活动未结束,对时间进行处理 + if (endTime - newTime > 0){ + let time = (endTime - newTime) / 1000; + // 获取天、时、分、秒 + let day = parseInt(time / (60 * 60 * 24)); + let hou = parseInt(time % (60 * 60 * 24) / 3600); + let min = parseInt(time % (60 * 60 * 24) % 3600 / 60); + let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); + obj = { + day: this.timeFormat(day), + hou: this.timeFormat(hou), + min: this.timeFormat(min), + sec: this.timeFormat(sec) + } + }else{//活动已结束,全部设置为'00' + obj = { + day: '00', + hou: '00', + min: '00', + sec: '00' + } + } + countDownArr.push(obj); + }) + // 渲染,然后每隔一秒执行一次倒计时函数 + this.setData({ countDownList: countDownArr}) + setTimeout(this.countDown,1000); + } +}); \ No newline at end of file diff --git a/qf_happyvote/pages/index/index.json b/qf_happyvote/pages/index/index.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/qf_happyvote/pages/index/index.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/qf_happyvote/pages/index/index.wxml b/qf_happyvote/pages/index/index.wxml new file mode 100644 index 0000000..e67e1bf --- /dev/null +++ b/qf_happyvote/pages/index/index.wxml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + +
+ + +
+
{{config.font[35]}}
+
+
+ + + + + + + + + + + + + + + + + + + +
diff --git a/qf_happyvote/pages/index/index.wxss b/qf_happyvote/pages/index/index.wxss new file mode 100644 index 0000000..59bdbcf --- /dev/null +++ b/qf_happyvote/pages/index/index.wxss @@ -0,0 +1,1563 @@ +@import "../../resource/wxParse/wxParse.wxss"; + +@font-face { + font-family:"iconfont";src:url(iconfont.eot?t=1513143346020-do-not-use-local-path-./qf_happyvote/resource/font/iconfont.wxss&3&7);src:url(iconfont.eot?t=1513143346020#iefix-do-not-use-local-path-./qf_happyvote/resource/font/iconfont.wxss&7&7) format('embedded-opentype'),url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff'),url(iconfont.ttf?t=1513143346020-do-not-use-local-path-./qf_happyvote/resource/font/iconfont.wxss&7&7) format('truetype'),url(iconfont.svg?t=1513143346020#iconfont-do-not-use-local-path-./qf_happyvote/resource/font/iconfont.wxss&7&7) format('svg'); +} + +.iconfont { + font-family: "iconfont"!important; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-huodongguize:before { + content: "\e655"; +} + +.icon-huodongguize1:before { + content: "\e656"; +} + +.icon-shijian:before { + content: "\e6b6"; +} + +.icon-iconfont:before { + content: "\e65a"; +} + +.icon-paixing-copy:before { + content: "\e601"; +} + +.icon-shouye-copy:before { + content: "\e602"; +} + +.icon-biaoti:before { + content: "\e603"; +} + +.icon-shenhe:before { + content: "\e627"; +} + +.icon-sousuo:before { + content: "\e960"; +} + +.icon-zhucetianjiahaoyou:before { + content: "\e8ca"; +} + +.icon-xihuan:before { + content: "\e607"; +} + +.icon-liwu:before { + content: "\e635"; +} + +.icon-guize-:before { + content: "\e88d"; +} + +.list { + overflow: visible; +} + +.body { + position: absolute; + top: 0; + bottom: 100rpx; + left: 0; + font-size: 24rpx; + background-color: #FFF; + width: 100%; + background-image: url('https://xcx.zgzmdz.com/attachment/images/baseImages/shopownerbak.png'); + background-size: 100% calc(100% + 70px); + +} + +.container .followback { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + background: rgba(0,0,0,0.3); + z-index: 100; +} + +.container .followback { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + background: rgba(0,0,0,0.3); + z-index: 100; +} + +.container .follow { + position: absolute; + top: 200rpx; + left: 150rpx; + right: 150rpx; + text-align: center; + z-index: 101; +} + +.container .follow image { + border: 1px #0c0c0c solid; + width: 400rpx; +} + +.container .follow .text { + line-height: 30px; + background: #ed969e; + width: 300rpx; + height: 30px; + margin-top: 30rpx; + margin-left: 76rpx; + color: #fff; + border-radius: 30px; +} + +.container .searchback { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + background: rgba(0,0,0,0.3); + z-index: 1001; +} + +.container .search { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 200rpx; + background-color: #FFF; + z-index: 1002; +} + +.container .search .tips { + width: 80rpx; + height: 50rpx; + line-height: 40rpx; + text-align: center; + color: #aaa; + font-size: 25rpx; + margin-left: 180rpx; +} + +.container .search form { + margin: 40rpx 50rpx 0 50rpx; + background-color: #efefef; + padding: 10rpx 0 10rpx 50rpx; + border: 1rpx solid #FFF; + border-radius: 100rpx; + display: block; +} +.index_datetime form { + width: 50%; + margin: 0 20rpx; + background-color: #efefef; + padding: 15rpx 0 15rpx 50rpx; + border: 1rpx solid #FFF; + border-radius: 100rpx; + display: block; + text-align: left; + font-size: 24rpx; +} +.index_datetime { + color: #555; + padding: 10px 0; + display: flex; +} +.index_datetime button { + position: absolute; + right: 40rpx; + top: 37rpx; + width: 109rpx; + height: 54rpx; + line-height: 50rpx; + font-size: 28rpx; + background-color: #efefef; + border: none !important; + z-index: 999; +} +button::after { + border: none; +} +.address { + width:50%; + display:flex; + align-items:center; + position:relative; +} + +.container .search input { + width: 70%; + height: 70rpx; + background-color: #efefef; + border: 0; + font-size: 32rpx; +} + +.container .search button { + position: absolute; + left: 540rpx; + top: 62rpx; + width: 150rpx; + height: 54rpx; + line-height: 50rpx; + font-size: 32rpx; + background-color: #efefef; + border: 0; +} + +.container .search button::after { + border: 0; +} + +.tabtitle { + text-align: center; + font-size: 32rpx; + height: 80rpx; + line-height: 80rpx; +} + +.footer { + position: absolute; + left: 0; + bottom: 0; + z-index: 2; + width: 100%; + text-align: center; + overflow-y: hidden; +} + +.footer .item { + width: 20%; + float: left; + font-size: 24rpx; + padding-bottom: 10rpx; +} + +.footer .item text { + font-size: 48rpx; + margin-bottom: -20rpx; + display: block; +} + +#footer_ss { + width: 1.3rem; + height: 0.6rem; + position: absolute; + top: 0.05rem; + left: 0.3rem; + text-align: center; + line-height: 0.7rem; + font-size: 0.4rem; + border-radius: 1rem; + box-shadow: 0rem 0rem 0.2rem #0c0c0c; +} + +@-webkit-keyframes footer_ss { + 0% { + -webkit-transform: translate3d(0,100%,0); + } + + 0%,100% { + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(0,0,0); + } +} + +@keyframes footer_ss { + 0% { + -webkit-transform: translate3d(0,100%,0); + } + + 0%,100% { + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(0,0,0); + } +} + +.index .head { + width: 100%; + position: relative; + overflow: initial; +} + +.index .head image { + width: 100%; +} + +.index .index_datetop { + text-align: center; + background: #fff; + height: 55rpx; + padding: 10rpx 20rpx 10rpx 20rpx; +} + +.index .index_datetime { + position: relative; + font-size: 30rpx +} + +.index_btn2 { + width: 750rpx; + column-count: 2; + column-gap: 40px; + background: #eee; + color: #555; + padding: 10rpx 0 20rpx 0; + text-align: center; +} + +.index .statistics { + position: absolute; + bottom: -52rpx; + left: 0.4rem; + vertical-align: middle; + width: 96.5%; + text-align: center; + background-color: #FF7979; + padding: 0.30rem 0 0.42rem 0; + box-shadow: 0rem 0rem 0.3rem rgba(170,170,170,0.54); + border-radius: 0.1rem; + opacity: 1; + display: flex; + z-index: 99; + overflow: visible; +} + +@-webkit-keyframes statami { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +@keyframes statami { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +.index .statistics .total { + width: 33.33%; + font-size: 23rpx; + color: #fff; + display: block; +} + +.index .statistics .total .num { + font-size: 37rpx; + color: #555; +} + +.index .indexinfo { + padding: 20rpx; + margin-top: 50rpx; + font-size: rpx; +} + +.index .indexinfo .row { + display: flex; + overflow: hidden; + align-items: center; +} + +.index .indexinfo .row view { + padding-right: 20rpx; +} + +.index .list .menu { + height: 80rpx; + line-height: 80rpx; + text-align: center; + display: flex; + overflow: visible; +} + +.index .list .menu .menuitem1 { + flex: 1; + border-bottom: 1rpx #F9F9F9 solid; + overflow: visible; +} + +.index .list .menu .menuitem2 { + flex: 1; + border-bottom: 1rpx #F9F9F9 solid; + overflow: visible; +} + +.index_leftlist { + width: 340rpx; + margin: 0rpx 10.25rpx 15rpx 25.25rpx; + float: left; +} + +.index_rightlist { + width: 340rpx; + margin: 0rpx 10.25rpx; + float: left; +} + +.index .list .item { + position: relative; + width: 336rpx; + border-radius: 7rpx; + box-shadow: 0rpx 0rpx 2rpx rgba(170,170,170,0.54); + overflow: hidden; + margin-top: 10rpx; + display: block; + border: 1px solid #e5e5e5; + border-top-left-radius: 20rpx; + border-top-right-radius: 20rpx; +} + +.index .list .img { + width: 340rpx; + height: 340rpx; + max-height: 640rpx; + display: block; + border-top-left-radius: 20rpx; + border-top-right-radius: 20rpx; +} + +.index .list .btn6 { + width: 120rpx; + height: 70rpx; + line-height: 70rpx; + color: #fff; + font-size: 30rpx; + text-align: center; + font-weight: 900; + background: #ff8400; + float: left; +} + +.index .list .list_data { + width: 220rpx; + height: 70rpx; + line-height: 70rpx; + color: #fff; + font-size: 30rpx; + text-align: center; + float: right; +} + +.index .list .top { + height: 50rpx; + padding: 0rpx 22rpx 0rpx 15rpx; + line-height: 50rpx; + color: #ffffff; + position: absolute; + top: 50rpx; + left: -2rpx; + z-index: 1000; + background: #fd4731; + font-size: 20rpx; + text-align: left; + font-weight: 600; + border-radius: 0rpx 50rpx 50rpx 0rpx; + box-shadow: 0 0 10rpx rgba(170,170,170,0.57); +} + +.index .loadlist { + height: 80rpx; + line-height: 80rpx; + text-align: center; + background: #333333; + color: #f9f9f9; + opacity: 0.7; +} + +.join { + width: 100%; + position: absolute; + top: 0; + bottom: 0; + background-color: #EEEEEE; +} + +.join .formgroup { + margin: 0rpx 20rpx 30rpx 20rpx; + overflow: visible; +} + +.join .formgroup input { + font-size: 28rpx; + background-color: #FFF; + border-radius: 6rpx; + padding: 20rpx; +} + +.join .imageform { + border-radius: 6rpx; + padding: 20rpx; + background-color: #FFF; + color: #808080; +} + +.join .imagelist { + text-align: right; + overflow-x: hidden; + display: flex; + overflow: visible; + background-color: #FFF; + padding-top: 20rpx; +} + +.join .imageitem { + position: relative; + display: inline-block; + margin-right: 20rpx; + overflow: visible; +} + +.join .imageitem image { + width: 152rpx; + height: 152rpx; + border-radius: 10rpx; +} + +.join .imageclose { + position: absolute; + right: -14rpx; + top: -14rpx; + width: 40rpx; + height: 40rpx; + background-color: #FF5053; + text-align: center; + line-height: 40rpx; + border-radius: 24rpx; + color: #f3f3f3; + font-size: 18rpx; + font-weight: 200; +} + +.join .textform { + border-radius: 6rpx; + padding: 20rpx; + background-color: #FFF; + color: #808080; +} + +.join textarea { + width: 100%; + height: 150rpx; + background-color: #FFF; +} + +.join .submitbtn { + margin: 0 20rpx 10rpx 20rpx; + border: 0; +} + +.join .returnbtn { + margin: 0 20rpx 10rpx 20rpx; + border: 0; +} + +.join .errorlabel { + height: 30rpx; + line-height: 30rpx; + color: #FD4731; + margin: -18rpx 20rpx 20rpx 20rpx; + display: block; +} + +.joinok { + width: 100%; + position: absolute; + top: 0; + bottom: 0; + text-align: center; +} + +.joinok .img { + width: 200rpx; + height: 200rpx; + margin-top: 120rpx; + margin-bottom: 30rpx; +} + +.joinok .msg1 { + font-size: 40rpx; +} + +.joinok .msg2 { + font-size: 24rpx; + color: #888888; +} + +.joinok .joinid { + color: #FD4731; +} + +.joinok .toindex { + margin-top: 80rpx; +} + +.checking { + width: 100%; + position: absolute; + top: 0; + bottom: 0; + text-align: center; +} + +.checking .img { + width: 200rpx; + height: 200rpx; + margin-top: 120rpx; + margin-bottom: 30rpx; +} + +.checking .icontext { + margin-top: 120rpx; + margin-bottom: 30rpx; + display: block; + font-size: 200rpx; +} + +.checking .msg1 { + font-size: 40rpx; +} + +.detail_bg { + background-color: #f9f9f9; + padding: 10rpx; +} + +.detail { + background-color: #fff; + padding: 5rpx 5rpx 20rpx 5rpx; + margin-bottom: 10rpx; + border-radius: 20rpx; + box-shadow: 0 0 5rpx rgba(206,206,206,0.36); + overflow: visible; +} + +.detail .mainimg { + width: 100%; + height: 100%; + border-radius: 20rpx 20rpx 0rpx 0rpx; +} + +.detail .swiperitem { + position: relative; + width: 100%; +} + +.detail .info { + width: 100%; + height: 60rpx; + text-align: left; + font-size: 40rpx; + font-weight: 500; + padding-top: 10rpx; + position: relative; + left: 0rpx; + bottom: -10rpx; + z-index: 1000; + color: #000; + text-shadow: 0rpx 0rpx 1rpx #fff; + overflow: visible; +} + +.detail .name { + font-weight: 900; + overflow: visible; +} + +.detail .no { + font-weight: 300; + font-size: 25rpx; + height: 30rpx; + text-align: left; + color: #888; + padding: 15rpx 0rpx 0rpx 25rpx; + overflow: visible; +} + +.detail .info view { + padding-left: 20rpx; + padding-right: 20rpx; +} + +.detail .count { + width: 120rpx; + border-radius: 10rpx; + float: right; + position: relative; + top: -95rpx; + right: 25rpx; +} + +.detail .data { + font-size: 40rpx; + font-weight: 900; + text-align: center; +} + +.detail .title { + background-color: #000; + font-weight: 300; + text-align: center; + opacity: 0.7; +} + +.detail .desc { + min-height: 70rpx; + padding: 15rpx; + padding-top: 25rpx; + position: relative; + top: 20rpx; + left: 0rpx; + right: 0rpx; + overflow: visible; +} + +.detail .desc image { + width: 32rpx; + height: 32rpx; +} + +.detail .footer1 { + text-align: center; +} + +.detail .btn1 { + text-align: center; + width: 300rpx; + margin-left: 220rpx; + margin-top: 40rpx; + border-top: 30rpx; + border-radius: 300rpx; +} + +.detail .btn1 image { + width: 32rpx; + height: 32rpx; + margin-right: 10rpx; +} + +.detail .btn1::after { + border: 1px solid #FFF; +} + +.detail .btngroup { + display: flex; + justify-content: center; + align-items: flex-end; +} + +.detail .btn2 { + position: absolute; + right: 19rpx; + top: 18rpx; + z-index: 100; + line-height: 50rpx; + text-align: center; + width: 200rpx; + height: 50rpx; + color: #fff; + background: #000; + border-radius: 50rpx; + font-size: 25rpx; + opacity: 0.5; +} + +.detail .btn3 { + position: absolute; + left: 19rpx; + top: 18rpx; + z-index: 100; + line-height: 50rpx; + text-align: center; + height: 50rpx; + color: #fff; + background: #000; + border-radius: 50rpx; + font-size: 25rpx; + opacity: 0.5; + padding: 0rpx 15rpx; +} + +.detail .btn2::after { + border: 1px solid #FFF; +} + +.detail .btn2 image { + width: 32rpx; + height: 32rpx; + margin-right: 10rpx; +} + +.giftbox { + width: 710rpx; + background: rgba(0,0,0,0); + border-radius: 20rpx; + overflow-y: scroll; + position: relative; + left: 22rpx; + border-radius: 30rpx; +} + +.giftline { + width: 710rpx; + float: left; + padding-bottom: 10px; + border-bottom: 1rpx solid rgba(0,0,0,0.04); + background: #eee; +} + +.giftline .a { + width: 150rpx; + float: left; +} + +.giftline image { + width: 80rpx; + height: 80rpx; + float: left; + border-radius: 80rpx; + margin: 28rpx 0rpx 0rpx 40rpx; +} + +.giftline .image1 { + width: 80rpx; + height: 80rpx; + float: left; + border-radius: 0rpx; + margin: 28rpx 0rpx 0rpx 0rpx; +} + +.giftline .b { + width: 450rpx; + float: left; + text-align: left; +} + +.giftline .b .name { + font-size: 30rpx; + margin-top: 16rpx; + font-weight: 900; +} + +.giftline .b .content1 { + color: rgba(78,71,69,0.61); + font-size: 26rpx; + margin-top: 10rpx; + word-wrap: break-word; +} + +.giftline .c { + width: 100rpx; + float: left; +} + +.giftline .c .time { + width: 80rpx; + height: 100rpx; + color: #e28d61; + margin: 32rpx 0rpx 0rpx 10rpx; + text-align: left; +} + +.gift-title { + text-align: center; + height: 60rpx; + line-height: 60rpx; + color: rgba(153,153,153,0.5); + font-size: 24rpx; + margin: 15rpx 0 10rpx 0; +} + +.gift { + position: absolute; + right: 22rpx; + top: 650rpx; + width: 80rpx; + height: 80rpx; + line-height: 80rpx; + text-align: center; + border-radius: 80rpx; + background: #ff8300; + color: #fff; + font-size: 35rpx; + box-shadow: 0 0 10rpx #888; +} +.gifts { + position: fixed; + right: 22rpx; + bottom: 250rpx; + width: 80rpx; + height: 80rpx; + line-height: 80rpx; + text-align: center; + border-radius: 80rpx; + background: #ff8300; + color: #fff; + font-size: 35rpx; + box-shadow: 0 0 10rpx #888; + z-index: 999; +} + +.gift-FIX { + position: fixed; + bottom: 100rpx; + left: 0; + z-index: 1001; + width: 100%; + height: 100%; + background: #000; + display: block; + opacity: 0.5; +} + +.gift-BOX { + position: fixed; + bottom: 100rpx; + left: 0; + z-index: 1002; + color: #000; + width: 750rpx; + padding-left: 30rpx; + background: #fff; + display: block; + overflow: scroll; +} + +.gift-gift { + width: 160rpx; + color: #000; + border: 1rpx solid #eee; + border-radius: 8rpx; + margin: 15rpx 15rpx 15rpx 0rpx; + float: left; +} + +.gift-gift image { + width: 110rpx; + height: 110rpx; + border-radius: 8rpx; + margin: 5rpx 0rpx 0rpx 25rpx; +} + +.gift-gift .a { + position: relative; + top: -28rpx; + left: 0rpx; + width: 110rpx; + height: 34rpx; + border-radius: 20rpx; + margin: 0rpx 0rpx 0rpx 25rpx; + background: #ff8400; + color: #fff; + text-align: center; + font-size: 25rpx; + overflow: visible; +} + +.gift-gift .b { + color: #000; + text-align: center; + font-weight: 600; + line-height: 0rpx; + overflow: visible; + margin-top: -10rpx; +} + +.gift-gift .c { + color: #000; + text-align: center; + line-height: 60rpx; + color: #999; + font-size: 20rpx; + height: 27px; + overflow: visible; +} + +.glyphicon-usd { + color: #000; + font-size: 20rpx; +} + +/* .ranking { +} */ + +.ranking .table { + padding-bottom: 10px; +} + +.ranking .tr { + height: 120rpx; + text-align: center; + display: flex; + justify-content: flex-start; + align-items: center; + border-bottom: 1px solid #F9F9F9; +} + +.ranking .tr view { + display: inline-block; + overflow: hidden; +} + +.ranking .title { + background-color: #F7F7F7; + height: 60rpx; +} + +.ranking .title view { + font-weight: bold; +} + +.ranking .td1 { + width: 60rpx; +} + +.ranking .td2 { + width: 130rpx; +} + +.ranking .td3 { + width: 120rpx; +} + +.ranking .td4 { + width: 130rpx; +} + +.ranking .td5 { + width: 230rpx; + /* text-align: left; */ +} + +.ranking .td6 { + width: 120rpx; +} + +.ranking .fmtimg { + width: 100rpx; + height: 100rpx; + border-radius: 50%; +} +.names { + font-size: 30rpx; + margin-left: 20rpx; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap +} + +.ranking .fpimg { + width: 32rpx; + height: 32rpx; + padding-left: 28rpx; +} + +/* .rule { +} */ + +.rule .content { + padding: 16rpx; +} + +#detail .top { + position: absolute; + top: 20rpx; + left: 20rpx; + width: 100px; + height: 50rpx; + line-height: 50rpx; + border-radius: 50rpx; + border: 1rpx solid #FD4731; + color: #FD4731; + text-align: center; + background: rgba(255,255,255,0.5); + overflow: visible; + font-size: 22rpx; +} + +#detail .videoright { + position: absolute; + top: 15rpx; + right: 15rpx; + z-index: 111; + width: 45px; + height: 45px; + border-radius: 50rpx; + background: rgba(0,0,0,0.2); +} + +#detail .content { + position: relative; +} + +#detail .content .left { + width: 750rpx; + display: inline-block; +} + +#detail .content .right { + position: absolute; + right: 15rpx; + top: 10rpx; + width: 195rpx; + display: inline-block; +} + +#detail .content .left .title { + padding: 15rpx; + font-size: 34rpx; + font-weight: 900; + color: #333; +} + +#detail .content .left .subtitle { + padding: 15rpx; + padding-top: 0rpx; + font-size: 28rpx; + color: #666; +} + +#detail .content .right .but { + width: 160rpx; + height: 63rpx; + border-radius: 5rpx; + border: 1rpx solid #FD4731; + color: #FD4731; + font-size: 24rpx; + line-height: 63rpx; + text-align: center; + padding-left: 5rpx; + padding-right: 5rpx; + background-color: #fff; +} + +#detail .content .menu { + border-top: 1rpx solid #eee; + border-bottom: 1rpx solid #eee; + width: 750rpx; + display: flex; + padding: 15rpx 0; +} + +#detail .content .menu .i { + width: 250rpx; + text-align: center; +} + +#detail .content .menu .i .num { + font-size: 28rpx; + color: #333; +} + +#detail .content .menu .i .title { + font-size: 24rpx; + color: #999; +} + +#detail .content .ok { + width: 460rpx; + height: 90rpx; + line-height: 90rpx; + border-radius: 90rpx; + text-align: center; + font-size: 34rpx; + color: #fff; + margin: 50rpx 145rpx 15rpx 145rpx; + background: #FD4731; + box-shadow: -2rpx 2rpx 3rpx #FD4731; +} + +#detail .content .tips { + text-align: center; + color: #FD4731; + margin-bottom: 50rpx; +} + +#haibao { + position: fixed; + top: 0; + left: 0; + z-index: 1001; + width: 100%; + height: 100%; + background: rgba(0,0,0,0.5); + display: flex; + align-items: center; +} + +#haibao image { + width: 550rpx; + /* height: 750rpx; */ + margin-left: 100rpx; +} + +#haibao .but { + margin: 30rpx 0 0 275rpx; + width: 200rpx; + height: 60rpx; + line-height: 60rpx; + border-radius: 60rpx; + border: 1rpx solid #fff; + color: #555; + font-weight: 900; + background: #fff; + text-align: center; + opacity: 0.8; +} + +#maxpic { + position: fixed; + top: 0; + left: 0; + z-index: 1001; + width: 100%; + height: 100%; + background: rgba(0,0,0,0.6); + display: flex; + align-items: center; +} + +#maxpic image { + width: 750rpx; + max-height: 1100rpx; +} + +.reply { + width: 710rpx; + background: rgba(0,0,0,0); + border-radius: 30rpx; + position: relative; + left: 22rpx; + border-radius: 30rpx; + margin-bottom: 30rpx; +} + +.reply .line { + width: 710rpx; + border-bottom: 1rpx solid rgba(0,0,0,0.04); + background: #eee; + overflow: visible; +} + +.reply .img { + width: 150rpx; + position: relative; + top: 30rpx; + float: left; +} + +.reply .img image { + width: 80rpx; + height: 80rpx; + border-radius: 80rpx; + margin: 0rpx 0rpx 0rpx 40rpx; +} + +.reply .content { + width: 530rpx; + display: inline-block; + text-align: left; +} + +.reply .content .name { + font-size: 30rpx; + margin-top: 16rpx; + font-weight: 900; +} + +.reply .content .content { + color: rgba(78,71,69,0.61); + font-size: 26rpx; +} + +.reply .content .time { + color: rgba(78,71,69,0.41); + font-size: 23rpx; +} + +#reply { + position: fixed; + top: 0; + left: 0; + z-index: 1001; + width: 100%; + height: 100%; + background: rgba(0,0,0,0.5); + display: flex; + align-items: center; + overflow: visible; +} + +#reply .box { + width: 550rpx; + height: 350rpx; + background: #fff; + border-radius: 10rpx; + margin: 0 auto; +} + +#reply .box .name { + font-size: 28rpx; + padding: 15rpx 25rpx; +} + +#reply .box .name b { + float: right; + transform: scale(1.4,1); +} + +#reply .box textarea { + width: 470rpx; + height: 150rpx; + padding: 20rpx; + background: #eee; + margin: 0 auto; + border-radius: 10rpx; +} + +#reply .box .but { + width: 160rpx; + height: 65rpx; + float: right; + text-align: center; + line-height: 65rpx; + background: #04ce9b; + color: #fff; + border-radius: 10rpx; + margin: 13rpx 21rpx; + box-shadow: 0 0 5rpx #888; +} + +.advote { + width: 710rpx; + height: 180rpx; + background: rgba(0,0,0,0); + border-radius: 10rpx; + position: relative; + left: 22rpx; + margin-bottom: 30rpx; +} + +.wxParse-img { + width: 100%; +} +.toupiaobtn { + background: #FF7979; + text-align: center; + color: #fff; + padding: 7px; + margin: 10px 25px; + display: block; + border-radius: 5px; +} +.orderfooter-info-item { + margin: 0px 40px; + color: #FF7979; + font-weight: bold; + font-size: 14px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.orderfooter-info { + margin-bottom: 10px; +} +.topThree { + position: relative; + padding: 10px; + overflow: hidden; +} +.huangguan { + position: absolute; + width: 100px; + height: 105px; + left: 50%; + transform: translate(-50%, 0); + overflow: hidden; +} +.huangguan .bg, .yin .bg, .tong .bg { + width: 100%; + height: 100%; + position: relative; +} +.huangguan .avatar, .yin .avatar, .tong .avatar { + width: 70%; + height: 70%; + border-radius: 50%; + position: absolute; + top: 25px; + right: 7px; +} +.yin { + position: absolute; + left: 7%; + top: 15%; + width: 90px; + height: 95px; + overflow: hidden; +} +.tong { + position: absolute; + right: 8%; + top: 24%; + width: 80px; + height: 85px; + overflow: hidden; +} +.tabtitle { + display: flex; + color: #999 !important; + justify-content: space-around; +} +.tabtitle-item { + color: rgb(153, 153, 153); + font-weight: 800; + border-bottom: none; + font-size: 16px; + overflow: hidden; +} +.tabtitle-item.tabtitle-active { + border-bottom: 2px solid rgb(255, 121, 121); + font-weight: 800; +} +.tab { + display: flex; + text-align: center; +} +.tab-item { + width: 50%; + padding: 10px; + display: flex; + justify-content: center; + align-items: center; + font-size: 32rpx; +} +.tab-item.active { + border-bottom: 1px solid #ff7979; + color: #ff7979; + font-weight: 800; + font-size: 18px; +} +.mallbtn{ + background: #FF7979; + text-align: center; + color: #fff; + padding: 7px; + margin: 10px 25px; + display: block; + border-radius: 5px; + font-size: 14px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.mall_list { + display: flex; + padding: 0 10px; + margin-top: 8px; + justify-content: space-between; + flex-wrap: wrap; +} +.goback { + position: absolute; + top: 25px; + z-index: 999; + width: 30px; + height: 30px; + left: 20px; +} +.nav { + display:flex; + margin: 0 10px; +} +.nav-item { + width: 33%; + color: #FF7979; + padding: 8px 0; + text-align: center; + font-size: 28rpx; +} +.nav-item.active { + color: #fff; + font-weight: bold; + background: #FF7979; +} + +.timebox { + background-color: #fff; + margin: 20pt; + justify-content: space-between; + flex-wrap: wrap; + border-radius: 23px; + text-align: center; + padding: 20rpx; +} +.selectform{ + width: 100%; + border-bottom: 1px solid #EEEDF0; +} +.timetitle{ + color: #333333; + font-size: 14px; + line-height: 20px; + margin-top: 40rpx; + font-weight: 400; +} +.tui-conutdown-box{ + font-size:30px; + font-weight: 400; + line-height: 42px; + color: #333333; + opacity: 1; +} +.tui-countdown-content{ + margin-top: 20rpx; +} + +.newbtn{ + background: #6E02C7; + text-align: center; + color: #fff; + line-height: 20px; + padding: 7px; + margin: 15px 25px; + display: block; + border-radius: 5px; + font-size: 14px; + font-weight: bold; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + border-radius: 18px; + box-shadow: 0px 8px 10px rgba(110, 2, 199, 0.45); +} \ No newline at end of file diff --git a/qf_happyvote/pages/templates/checking.wxml b/qf_happyvote/pages/templates/checking.wxml new file mode 100644 index 0000000..0ac657d --- /dev/null +++ b/qf_happyvote/pages/templates/checking.wxml @@ -0,0 +1,6 @@ + diff --git a/qf_happyvote/pages/templates/checking.wxss b/qf_happyvote/pages/templates/checking.wxss new file mode 100644 index 0000000..e69de29 diff --git a/qf_happyvote/pages/templates/detail.wxml b/qf_happyvote/pages/templates/detail.wxml new file mode 100644 index 0000000..808f06f --- /dev/null +++ b/qf_happyvote/pages/templates/detail.wxml @@ -0,0 +1,124 @@ + diff --git a/qf_happyvote/pages/templates/detail.wxss b/qf_happyvote/pages/templates/detail.wxss new file mode 100644 index 0000000..e69de29 diff --git a/qf_happyvote/pages/templates/footer.wxml b/qf_happyvote/pages/templates/footer.wxml new file mode 100644 index 0000000..d198d64 --- /dev/null +++ b/qf_happyvote/pages/templates/footer.wxml @@ -0,0 +1,40 @@ + diff --git a/qf_happyvote/pages/templates/footer.wxss b/qf_happyvote/pages/templates/footer.wxss new file mode 100644 index 0000000..e69de29 diff --git a/qf_happyvote/pages/templates/index.wxml b/qf_happyvote/pages/templates/index.wxml new file mode 100644 index 0000000..08266e2 --- /dev/null +++ b/qf_happyvote/pages/templates/index.wxml @@ -0,0 +1,119 @@ + diff --git a/qf_happyvote/pages/templates/index.wxss b/qf_happyvote/pages/templates/index.wxss new file mode 100644 index 0000000..e69de29 diff --git a/qf_happyvote/pages/templates/join.wxml b/qf_happyvote/pages/templates/join.wxml new file mode 100644 index 0000000..bd9e0f3 --- /dev/null +++ b/qf_happyvote/pages/templates/join.wxml @@ -0,0 +1,97 @@ + diff --git a/qf_happyvote/pages/templates/join.wxss b/qf_happyvote/pages/templates/join.wxss new file mode 100644 index 0000000..e69de29 diff --git a/qf_happyvote/pages/templates/joinok.wxml b/qf_happyvote/pages/templates/joinok.wxml new file mode 100644 index 0000000..021fb8b --- /dev/null +++ b/qf_happyvote/pages/templates/joinok.wxml @@ -0,0 +1,15 @@ + diff --git a/qf_happyvote/pages/templates/joinok.wxss b/qf_happyvote/pages/templates/joinok.wxss new file mode 100644 index 0000000..e69de29 diff --git a/qf_happyvote/pages/templates/mall.wxml b/qf_happyvote/pages/templates/mall.wxml new file mode 100644 index 0000000..94ebd6f --- /dev/null +++ b/qf_happyvote/pages/templates/mall.wxml @@ -0,0 +1,128 @@ + diff --git a/qf_happyvote/pages/templates/mall.wxss b/qf_happyvote/pages/templates/mall.wxss new file mode 100644 index 0000000..aa04b00 --- /dev/null +++ b/qf_happyvote/pages/templates/mall.wxss @@ -0,0 +1,4 @@ +@import "../../resource/wxParse/wxParse.wxss"; +.timebox { + background-color: red; +} \ No newline at end of file diff --git a/qf_happyvote/pages/templates/ranking.wxml b/qf_happyvote/pages/templates/ranking.wxml new file mode 100644 index 0000000..ad8eb76 --- /dev/null +++ b/qf_happyvote/pages/templates/ranking.wxml @@ -0,0 +1,145 @@ + diff --git a/qf_happyvote/pages/templates/ranking.wxss b/qf_happyvote/pages/templates/ranking.wxss new file mode 100644 index 0000000..e69de29 diff --git a/qf_happyvote/pages/templates/rule.wxml b/qf_happyvote/pages/templates/rule.wxml new file mode 100644 index 0000000..4e41639 --- /dev/null +++ b/qf_happyvote/pages/templates/rule.wxml @@ -0,0 +1,9 @@ + diff --git a/qf_happyvote/pages/templates/rule.wxss b/qf_happyvote/pages/templates/rule.wxss new file mode 100644 index 0000000..e69de29 diff --git a/qf_happyvote/pages/test/test.js b/qf_happyvote/pages/test/test.js new file mode 100644 index 0000000..c5029d6 --- /dev/null +++ b/qf_happyvote/pages/test/test.js @@ -0,0 +1,9 @@ +Page({ + data: { + toView: "red", + scrollTop: 100 + }, + onPullDownRefresh: function(o) { + console.log("111"); + } +}); \ No newline at end of file diff --git a/qf_happyvote/pages/test/test.wxml b/qf_happyvote/pages/test/test.wxml new file mode 100644 index 0000000..6ecb2d6 --- /dev/null +++ b/qf_happyvote/pages/test/test.wxml @@ -0,0 +1,15 @@ + + d + d + d + d + d + d + d + d + d + d + d + d + d + diff --git a/qf_happyvote/pages/test/test.wxss b/qf_happyvote/pages/test/test.wxss new file mode 100644 index 0000000..e69de29 diff --git a/qf_happyvote/pages/web-view/index.js b/qf_happyvote/pages/web-view/index.js new file mode 100644 index 0000000..5c0808b --- /dev/null +++ b/qf_happyvote/pages/web-view/index.js @@ -0,0 +1,78 @@ +// pages/web-view/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + url: '', + title: '' + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var _this = this; + const eventChannel = this.getOpenerEventChannel() + //eventChannel.emit('acceptDataFromOpenedPage', {data: 'test'}); + // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据 + eventChannel.on('acceptDataFromOpenerPage', function(data) { + _this.setData({ + url: data.url + }) + wx.setNavigationBarTitle({ + title: data.title, + }) + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/qf_happyvote/pages/web-view/index.json b/qf_happyvote/pages/web-view/index.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/qf_happyvote/pages/web-view/index.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/qf_happyvote/pages/web-view/index.wxml b/qf_happyvote/pages/web-view/index.wxml new file mode 100644 index 0000000..e4ebb8b --- /dev/null +++ b/qf_happyvote/pages/web-view/index.wxml @@ -0,0 +1,2 @@ + + diff --git a/qf_happyvote/pages/web-view/index.wxss b/qf_happyvote/pages/web-view/index.wxss new file mode 100644 index 0000000..7a16dad --- /dev/null +++ b/qf_happyvote/pages/web-view/index.wxss @@ -0,0 +1 @@ +/* qf_happyvote/pages/web-view/index.wxss */ \ No newline at end of file diff --git a/qf_happyvote/resource/font/iconfont.js b/qf_happyvote/resource/font/iconfont.js new file mode 100644 index 0000000..b359d60 --- /dev/null +++ b/qf_happyvote/resource/font/iconfont.js @@ -0,0 +1,42 @@ +!function(c) { + var t = '', o = function(c, t) { + t.parentNode.insertBefore(c, t); + }, e = function(c, t) { + t.firstChild ? o(c, t.firstChild) : t.appendChild(c); + }; + if (function() { + var c = document.getElementsByTagName("script"); + return c[c.length - 1]; + }().getAttribute("data-injectcss") && !c.__iconfont__svg__cssinject__) { + c.__iconfont__svg__cssinject__ = !0; + try { + document.write(""); + } catch (c) { + console && console.log(c); + } + } + !function(t) { + document.addEventListener ? ~[ "complete", "loaded", "interactive" ].indexOf(document.readyState) ? setTimeout(t, 0) : document.addEventListener("DOMContentLoaded", function c() { + document.removeEventListener("DOMContentLoaded", c, !1), t(); + }, !1) : document.attachEvent && function(t, o) { + var e = c.document, i = !1, n = function() { + i || (i = !0, o()); + }; + !function c() { + try { + e.documentElement.doScroll("left"); + } catch (t) { + return void setTimeout(c, 50); + } + n(); + }(), e.onreadystatechange = function() { + "complete" == e.readyState && (e.onreadystatechange = null, n()); + }; + }(0, t); + }(function() { + var c, o; + (c = document.createElement("div")).innerHTML = t, t = null, (o = c.getElementsByTagName("svg")[0]) && (o.setAttribute("aria-hidden", "true"), + o.style.position = "absolute", o.style.width = 0, o.style.height = 0, o.style.overflow = "hidden", + e(o, document.body)); + }); +}(window); \ No newline at end of file diff --git a/qf_happyvote/resource/font/iconfont.svg b/qf_happyvote/resource/font/iconfont.svg new file mode 100644 index 0000000..8df33f8 --- /dev/null +++ b/qf_happyvote/resource/font/iconfont.svg @@ -0,0 +1,72 @@ + + + + + +Created by iconfont + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qf_happyvote/resource/icon/checking.png b/qf_happyvote/resource/icon/checking.png new file mode 100644 index 0000000000000000000000000000000000000000..b12fec19463c9d2c5e3f4fcaabc29822ec8214f8 GIT binary patch literal 6589 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 literal 0 HcmV?d00001 diff --git a/qf_happyvote/resource/icon/like_white.png b/qf_happyvote/resource/icon/like_white.png new file mode 100644 index 0000000000000000000000000000000000000000..624085cd9cc1aecbfdc4ced2cb89ba6fed99fa96 GIT binary patch literal 263 zcmV+i0r>ujP)`&`nc>L~$5z!t~@3#Gsj*aHrBIW(2D$${RPSr51YKE`S#DGLDK zX&vhfCy~?-fDqUsb*mZEFuXHAn}ye{(+grKuU9& z#_FygAT@I*p!gSECux~q0y-d_=C^TZWU8x7Rs={0Z${JOIsB!ld=E+ N002ovPDHLkV1kC`V95Xg literal 0 HcmV?d00001 diff --git a/qf_happyvote/resource/icon/ok.png b/qf_happyvote/resource/icon/ok.png new file mode 100644 index 0000000000000000000000000000000000000000..4ee01792f11ffa167e60cad5ff3559f44db3a05a GIT binary patch literal 2599 zcmV+?3fT3DP)^1W_i4GC`aHWGNFwnIP%}b>2x_KL90H zu`S_1{2@p}uL42heqS682M|Qazg}Aad)@lnc*p?s9D)o$2B7B_=y~(A2gm^Q+yXss ze)a$vfSy~R=gsej2Ux-Rkl;6^wL~}r!V**R~sg6+9adyhIWggfv0GvlzxzPypc? zgj}~Bh*knHSiu!YoFL*PhT!IV(1wuaCBPRL!JWB$Iwe{Iz;Fc@B*hg}J^lC?-mq%@qjv)yEhAZ)oh^8qA zciwRzm={9+-Sn)XSpZgWHYEJ)nym3IPNWJ|d{832Zqgex2Ebqi6R5`eWT$kIH~@)q zDo5}k*8L9e(+B{=rFahr(OEEdpcM2b_K*-4fE7F&60Z8{@=fqHF(kwTpy%Vg zN&Nl)YPwh=jbg2-5h0jqy50@7xRX|wlMb_E?43}aC2=6>Rf3CvW0`&vJdI03!?<|?`3hH`+S^(tU z?^{0i`Uv1tIhNP9HQ57@d%vxXqm?gEsu_XR*#*`Bbha^7RHNW4b+2R9$uOUELT#|e%FJaEHJ|BR*dE5Htdicl{pM-%fn-5fQA{>zy1c!QaKD zoSmw}3_#xc^`!lh7hg{V%$r1v0OSRr$NINH{OYOA89^fe!&_Vf;7cc0)S-*pBYpSiDax+uP% zRPa*F0pTwPFT}i*Hbr$#esl=BDZZ~%aMabn_z-kgd{3)^@%ID7gP_aeSBrrj_5-LX zSo{+}!$Z({@f84!;M$l6Q1!&f20jiH!a>jr@zthK#^F&+0C3YxI@Uh~eG#8C1=LQ0 z6QVb}E65)NeG;ED1>^(Z>F@#$Y)_Z*0RbcByt{cP-h^TVfNTKLcsI}m0{UK{KAOdt zW9ZCl@QeVE4}cB?n~DQ|S*EFxEP^dpe7)$@k?$Lt)&TZaWyJt`CJ-$nXc{Q&JOKb~ zIX%Bi;&aD;D-V#CYqWsC#FP5JLp@(L$7U}B+XJYI2TOgFS)*ID_IeV*qP&!EIQpI} z(=qY&^v~j`I4c0s83rmzogwI;_yqK&9Mgo`F{}V+CM|rrDYYT!p!ij%u>0Py9RSJ9 z27ZOY8iLM>Z`fb?L|?K7Ak`!Z8-k9CuX{h^WzdHVSOcJsH1l+>Eq9#amNP=oVexmt zU-;9)cR7J%zZP;70`F(>aj}e3u1@c_$^-n;jD)?wZho*XklyZ3@Mh2^L?xD0(06H1^{*E3<1af#xhnPqcGO?xIj1nDhQ$;?o^}wNna9L zeAW1{0AvVi1E$1BK@-;5Nwx111AsgnSj!Wm=lf3tnVOkn0+WUG|GNdA$)iuqv#z!; z6n+Ree5Pt!)&c=v**|I@t_U;LJ7u}J0PLP5FCIN1iTco^kTW0oeVeY*2mtBg?dr$CiVQS0+96q3W*#rRR zeeni*iU&A1ebS99qD#3X0MHFk-azV&B@s>~bupRSwff~vq-m4A{;&n<0I+{5eJ&x+ zyEZK7&*2EV4xQMs#WOts_A`YQTma#$?I0-O0cciU!opUZ80C`%VBh%asMtW2J(muL?F2QAe(1QORk8ivOA zAgaI)kQPnN;yF)~yW8NlsqgdJn)gj`kFXzY3E3pAr}0|C2-ufK8W# zK4z!h0Kf&MZ{;!oeN+5FdoutTfSy~R=grR^AOp~I3-rAC{{d9@PRzSqWBULA002ov JPDHLkV1nzB!t($C literal 0 HcmV?d00001 diff --git a/qf_happyvote/resource/icon/quotesleft.png b/qf_happyvote/resource/icon/quotesleft.png new file mode 100644 index 0000000000000000000000000000000000000000..54cd4212d595d3e71d9c018ac222e2e71a0fb9f6 GIT binary patch literal 332 zcmV-S0ki&zP)B(EZ|*{-tSd z^3nwK$AeZpGjE7!qpIT}J~Okb>JLB)?7Hp-z+h(AA%y)J;GDZ8q6+{=B7y~wh+Wq` z14!Aa1@PYA6Va|f7r>nPHBsl__ZZ`#sxRfSb8ZjdYPP@3>^4=HE2y1j_7-E@s_JJ6 zP6_(H|0wn}O(#izvI{@~9M2EVMdY#8?wlI{+|74SB63#z8Q{IQT34fSOZn^G`~nbB z)@^1FA%xVlwZsuX{$3F|Z2@utb*5DVmjahxs3jEde*-Y{wy`v0Ste#q6Pl;AK50^$ e+jwXLTle2Sh{oB4 zx)AYbS4!zYeKxl*y!U$mxYe_i(j7B@)gbBU$~^ntj;}#0cr1jQX__=#?pF>(tZ8k}aA~NQjM~l}d=(`SWqjiUw`O?2T6Y(z}^J;=0;CIjw+zfIZ P00000NkvXXu0mjfVY-Eb literal 0 HcmV?d00001 diff --git a/qf_happyvote/resource/icon/ranking1.png b/qf_happyvote/resource/icon/ranking1.png new file mode 100644 index 0000000000000000000000000000000000000000..48c5972fedd446b690558eac9e7832bfb908bae6 GIT binary patch literal 665 zcmV;K0%rY*P)I-)dS&Os03HKX`dv?Uf8Ar5GuH{-R=T{iNEUkX(OrpOMr(T zR)anIz=T6$?!DOI)~b$nZ>Iso1#&Ee9-jQ%9D}k@r-VKO~;XRPolL#6g7xwM0%waJ5g@sxL8Ss;G zS4se8IycILvoL_#8Iekb$!+ZnppRi+qIaPBNW|@2o-f0_AkSW{!lL#78WAcQ~|}vYy=0~(hux*Jb>(E+(>l!IT2AH?!I4_L-t;f-iBFBf@}grLQ;S%CP6j< zN&wf%ViKYgpa!_Jn#8zRx8}k9-l=X5J7J&F63j1<8Tuf++z15ocfD*^WWJP7GV%6j z^4ih2Uoxcml}lPv_4AVIO_&TJ-ugel))n{*p0guc+2Fe100000NkvXXu0mjfc857q literal 0 HcmV?d00001 diff --git a/qf_happyvote/resource/icon/ranking2.png b/qf_happyvote/resource/icon/ranking2.png new file mode 100644 index 0000000000000000000000000000000000000000..7627b5ce03905087892bcb1f49a3c625edbb9fdb GIT binary patch literal 654 zcmV;90&)F`P);K0)vaLRv(j8<=#)DR9b& z_cVD6#zE3ZK>{94)b8xeH#7h2t_TPI=)m!@6~LozHcSG?$`8sWQVPHXX5a>(1pvT- zh53111(Tv6r2wW~Hvr+?dN2kL9p#_x9bl##Cn2nRDUgM*URS|W5s1PSnCV6>gf)|b z*lJYRU*QcV@I$vbB%%*72R<)I%-@e_-Y#1H7l5gD+YJ6h zKm(wmg;4!V(GOjBLWH-A8Q4I8&)U%dw-^Xsfv?`E@sNJ%(^iDax45D)IYRh8E2Br< zykyYL`ko4+GviQd!BRKXdw^=mJtX#XX?1R^(Li#zp8aY)uL=_I^7!D}Jb)`(jlLuS zGMxd)s=`#e#?R-ZFQXmGS|o6M46HUcgP)DlONac6s@_RAPPi_wVWtF(cE34v=#A*Hj*w=;kYdRkpzsdHeeT`qc< zY;4c`%l7=(B%}axrefnbS%yY*j_1c(lCD6v*$2_Z*3kq9%zW*5erJ72YJoU1y8vQD z%2DH9E`W40?jpGHA)OPc3gq4Q+k!~%1@SiA%OnUBU=k7m_Av?41Y`nC_b>_41Y}o0 zpLPfpy=~9qYUhu~%I_zAiY-_Ok*fiSUhe{e89y9vbRzl6e3F^Bf5hme-hKs%Oz$g% oPS(#$sW)LkhFtUi00*zYANLd>@b21cssI2007*qoM6N<$f-Y?<4gdfE literal 0 HcmV?d00001 diff --git a/qf_happyvote/resource/icon/ranking3.png b/qf_happyvote/resource/icon/ranking3.png new file mode 100644 index 0000000000000000000000000000000000000000..c2786a534ca31e58ffe71ae0bc1b42231d3cb017 GIT binary patch literal 568 zcmV-80>}M{P)I&d3`zvKtwK405dP!7Sam9FZ@nK8vr5#z%4VcazR=FIOmqen2TVs zf|Vk;IO^SBTt&B0}zT!p!dhNUt(T#V_3o{o+MDRg^ z*1=9!sft7dt%ePE1111`CA@ARTa)>_zp8?g>di3oewM?lo0CV;4AI-Q3IZL38}#6K7N%!{u_7-9;`3_JN?VzPS9DIiNdwiX+ZqiRS}kGSTmNz0v6AYbS; z!JDR2fxHYN6Z8|9>xAUAB_Q%Xh>hP%pqNh#h^rPWk!KZ~&?%75bV!e@?(1rcpaywh zATzBku>z?Dl2p7v%WjE|AnrK?o`)xVA+tk-5Z;5hsF;XRv6(a-Ig3;*^aH@#ddQ=cEvz8-X`(E( wZ-sCB`$u4%4t|`M3@kLZNY2LSitF6@H|Df{5fk@a2LJ#707*qoM6N<$f;vx>Qvd(} literal 0 HcmV?d00001 diff --git a/qf_happyvote/resource/icon/shijian.png b/qf_happyvote/resource/icon/shijian.png new file mode 100644 index 0000000000000000000000000000000000000000..ac6cac3102cd42cca0a36ee26f206af43ae200e8 GIT binary patch literal 718 zcmV;<0x|uGP)8z02L&u08&Aqf+Q7$Q~>jNRvw+aws(Dp zX7~ZftEcz0l6IzPb}Z>t(t)I1Nl)pRXGt$LN6spoKTA52^eF}H`}Dh{M@jc3U`hZG z_%dZ%fwy5|CFy1e$PfUi{U!;zz5SO&mVeS834|{{u(Kch@jG=gt^K_h zj0iqte0w43%sBz_tE9X5VGaNXJUE@nn9R_%#sCl45ALJ$2qFT2#$Qfvsu~HZDm$Pg zYtP2q%Mk&PC6$hCBe-GlAV}uWlJWq^6zVZ(hr&%Vk8;r~Opc|bD;zukpM6KGaGLjB z6xIg`{dPB}VZi`UcxZ3b^ZSrZ0l;})3U0;90MIbLq=;kL<2Dt5X8}p(27qQ^4P>uC z`>6l`?`vVt05Die>EDC_zV&P`0N`n%+r`$KtA$M%p!%6D*eL+~^=q%kI~5_v(p8x; z*fIiOa?!`fY!e1L0BFDeQp70|P*g(=i@m@Pp^gN^wjyk<##s8{8jiU~Svy4-uLd2; zW_{n`UV>TxYggW`p{J$kP$Q?(DUq(k2xtlUj{Adx%(Y^iVc|Wjw-po2(^|qpEkK`r zJ8k>MF;&f!vvs>RSoB9OM!gNWHo>@%_zFb|Zp1cr0#>t=go;I{owm7^3@L1JfB~lC zR3^y$Hg!MZLp`0hJukPE@)6nZB*ZX4cch`z7=f;Rwn^5t<+g7v&uz4T;<|EuhGe1D zvRn9}*1K7cJxr(xztI{4WZ~~Otf6bJKcG3FvdyjJX+|bwZrgIH41d#ioyUkjpag*V zlO6BG-1EzP?Ab=ukG-IpZ)yO<%p={kFQ?|bH;tU8VJ=By3p8 zRF00#glwbnK-P9CL{&3!g}UX6+t0USi6VCJtm zL6wMZEd(N759=<00000V+TRr~nn90#twsPys67R)7jn0V+TTRKR>@vy;tcH|Ol`7@4_qJ@WYS zpJ!(JCu25%V_njwq%BE{$@&*beC{QEdiM5!97{Tqv|>EqPSSY=R$O8M*_CwR07wtL zk#tg0s04CZsZhL8VFG5_?o+1^gq!S-C5YAob0`UuwMG}nR7#`=b}EwtIgoU1RN|?+ zAr8#C1;aX`3NtmLDg_}N-!fsD+aCx*I1Ix2*#N>6qUkK2n}YDqQ{!gX8$XH%w_P)= zM~&53l@x>t7I``AN)ovx43Ch#l9j+E2 z%=6B~7=)WqL;i9QJ)GMBfo$1HL2)DJ;2(T@*VoY#EAs7xc$GxRhCwJlIQN(YB#jyv zyqC#>cumtvN&`Ts%9wPNvrYk$byjbon*wAhWY^ePJ+%Tg$AUDReN2iU3sU<>>LdJ4 z?I2ZK#u$*Vs`ac}fm}agjh=a?wphcrp+-&-{$@=~X}4unGfjlQ>UXt@)=hz-R?wlv zS+>ixAJx3po2RdN_J(uGukZ`hru?@?={e!)U;98X2N0dFzY++WBRT2}X%SF?wS0P? zpcat0y5c)KB^yY>7kIzW1DoE!9*}T8y$3R*6hHILVZrtQWc{G;0z*Iyg7~NW0D1~@ UA;as3`~Uy|07*qoM6N<$f<9IO5C8xG literal 0 HcmV?d00001 diff --git a/qf_happyvote/resource/image/flex.png b/qf_happyvote/resource/image/flex.png new file mode 100644 index 0000000000000000000000000000000000000000..4f39a785cf12bb8fee1158fb8c17a51a2e991c39 GIT binary patch literal 8416 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 EKjwzS$^ZZW literal 0 HcmV?d00001 diff --git a/qf_happyvote/resource/image/iconfont-tianjia.png b/qf_happyvote/resource/image/iconfont-tianjia.png new file mode 100644 index 0000000000000000000000000000000000000000..8a5c4db151e0c8193326d13fabb569723c27745f GIT binary patch literal 1029 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSEX7WqAsj$Z!;#Vf4nJ zFzyCnMyofE9{~j=OI#yLg7ec#$`gxH8OqDc^)mCai<1)zQuXqS(r3T3kz!zAZt`?- z45^s&_O79~OrS{H!|M~y9g4Hw?W{00+C`A1`-%LGW4BJlC#9}k``>}vkt1tkSYyGi zlDz!Hy_(PT3^#9f6G~6J{=RyaV_LZWobva5+>5;*f0VfVb=`Z`i2X7R7VHY|{(8$z znK{29Hi03BVRf$Fsed;)b}+XcNOigM?=7eI`B;{;XIup=Z}wl~S{tl>AkoFi=Q;N0z_-4n{!Q{XLeb`-6ETBAH?HlJ}mrMw7qVhW`m>Uy)9ccUf)TX*8Hn; z8H3rW!W*}W)?`nP%)8=m!n%R$LHyTyed?R%{9-sS&)Qwg@CfYXbBrCNFemdW7@s%( zyyt!Cm$$C<@(+4{-TBV+tnm$Bf+)KJiDqH9cXoF*^J(8%d+)5CK6CT`@;qxjrAOY! z?TgjkGdy~h#Qx&3sA1((_ai~q?W^ZiunRnAIAY0A$mcMJnKEW^VSa+Y-mka=HWPRg z=H*>{H~Bsj=_bbnGblHliFsS0du@{XW|^z!O<4=V`R=Y#%%BN>w7gAs(074>O*3-j?uhv$K-VtD{la^EQ6=3pUXO@geCyR CFt_#q literal 0 HcmV?d00001 diff --git a/qf_happyvote/resource/image/l0g0.png b/qf_happyvote/resource/image/l0g0.png new file mode 100644 index 0000000000000000000000000000000000000000..a41328d6aa7a7055b69e2c538573aa711502b761 GIT binary patch literal 3725 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 Q0nB6!p00i_>zopr0D>Vw)Bpeg literal 0 HcmV?d00001 diff --git a/qf_happyvote/resource/image/music_off.png b/qf_happyvote/resource/image/music_off.png new file mode 100644 index 0000000000000000000000000000000000000000..b1f2d63e1dd623613d763adc584041f073f2f3d7 GIT binary patch literal 893 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 bG4zV20h<_7ks`KtJsv=*Xew7IT88}}!)cH$ literal 0 HcmV?d00001 diff --git a/qf_happyvote/resource/image/reply.png b/qf_happyvote/resource/image/reply.png new file mode 100644 index 0000000000000000000000000000000000000000..d10753f582200ea07f01c13fcbba3aa295efc1ba GIT binary patch literal 4586 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 F{2v*ZT224} literal 0 HcmV?d00001 diff --git a/qf_happyvote/resource/image/tx.png b/qf_happyvote/resource/image/tx.png new file mode 100644 index 0000000000000000000000000000000000000000..91dd5a50c36e01af83807f4d3633266e71d4b45c GIT binary patch literal 8595 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 literal 0 HcmV?d00001 diff --git a/qf_happyvote/resource/js/function.js b/qf_happyvote/resource/js/function.js new file mode 100644 index 0000000..489d150 --- /dev/null +++ b/qf_happyvote/resource/js/function.js @@ -0,0 +1,624 @@ +function t(t) { + r.util.request({ + url: "entry/wxapp/initpage", + data: { + voteid: t.data.voteid, + listlimit: t.data.index.limit, + uid: t.data.memberinfo.id + }, + success: function(i) { + var e = i.data.data, o = t.data.index; + t.mall(e.voteid,e.uid) + wx.getSystemInfo({ + success: function(t) { + o.width = t.windowWidth / 2.213903743315508; + } + }), o.title = e.title, o.picture = e.picture, o.picture2 = "" == e.picture2 ? "0" : e.picture2, + o.picture3 = "" == e.picture3 ? "0" : e.picture3, o.picture4 = "" == e.picture4 ? "0" : e.picture4, + o.picture5 = "" == e.picture5 ? "0" : e.picture5, o.joincount = e.joincount, o.votecount = e.votecount, + o.accesscount = e.accesscount, o.starttime = e.starttime, o.endtime = e.endtime, + o.strtime = e.strtime, o.ischeck = e.ischeck, o.ishbimg = e.ishbimg, o.adfixed = "" == e.adfixed ? "0" : e.adfixed, + o.advote = "" == e.advote ? "0" : e.advote, o.adjoin = "" == e.adjoin ? "0" : e.adjoin, + o.gifts = e.gifts, o.giftid = 1, o.newslist = e.newslist; + for (s = 0; s < e.newslist.length; s++) if (o.size.news.left <= o.size.news.right) { + o.newslist[s].int = 1; + n = o.newslist[s].size[1] * (o.width / o.newslist[s].size[0]); + o.size.news.left = Number(o.size.news.left) + Number(n); + } else { + o.newslist[s].int = 2; + n = o.newslist[s].size[1] * (o.width / o.newslist[s].size[0]); + o.size.news.right = Number(o.size.news.right) + Number(n); + } + o.hotlist = e.hotlist; + for (var s = 0; s < e.hotlist.length; s++) if (o.size.hot.left <= o.size.hot.right) { + o.hotlist[s].int = 1; + n = o.hotlist[s].size[1] * (o.width / o.hotlist[s].size[0]); + o.size.hot.left = Number(o.size.hot.left) + Number(n); + } else { + o.hotlist[s].int = 2; + var n = o.hotlist[s].size[1] * (o.width / o.hotlist[s].size[0]); + o.size.hot.right = Number(o.size.hot.right) + Number(n); + } + if ("0" != o.adfixed) try { + "" == wx.getStorageSync("0424") && (o.isadindex = !0, wx.setStorageSync("0424", "yes")); + } catch (t) {} else o.adfixed = o.advote, o.isadindex = !1; + "0" != o.adjoin && (o.isadjoin = !0); + var d = e.newslist.length; + o.start = d, d < o.limit && (o.pulluploading = !1), wx.setNavigationBarTitle({ + title: o.title + }), wx.setNavigationBarColor({ + frontColor: "#ffffff", + backgroundColor: e.footbgcolor, + animation: { + duration: 400, + timingFunc: "easeIn" + } + }), l.wxParse("rule", "html", e.introduce, t, 5); + var r = t.data.rule.nodes, u = t.data.config; + u.footbgcolor = e.footbgcolor, u.footcolor = e.footcolor, u.footsearchbgcolor = e.footsearchbgcolor, + u.footsearchcolor = e.footsearchcolor, u.buttonbgcolor = e.buttonbgcolor, u.buttoncolor = e.buttoncolor, + u.isvotegiftpop = 1 == e.isvotegiftpop, u.wxappsharetitle = e.wxappsharetitle, u.wxappshareimage = e.wxappshareimage, + u.wxappdetailsharetitle = e.wxappdetailsharetitle, u.wxapptotext = e.wxapptotext, + u.wxapptoappid = e.wxapptoappid, u.wxapptopath = e.wxapptopath, u.wxapptoisindex = 1 == e.wxapptoisindex, + u.wxapptoisdetail = 1 == e.wxapptoisdetail, u.isjoin = 1 == e.isjoin, u.isshare = 1 == e.isshare, + u.isposter = 1 == e.isposter, u.isupdate = 1 == e.isupdate, u.isimgs = 1 == e.isimgs, + u.appid1 = e.imgappid, u.path1 = e.imgpath, u.appid2 = e.imgappid2, u.path2 = e.imgpath2, + u.appid3 = e.imgappid3, u.path3 = e.imgpath3, u.appid4 = e.imgappid4, u.path4 = e.imgpath4, + u.appid5 = e.imgappid5, u.path5 = e.imgpath5, u.ismusic = 1 == e.ismusic, u.isvideo = 1 == e.isvideo, + u.isgift = 1 == e.isgift, u.isre = 1 == e.isre, u.adunit = e.adunit, u.adfixedappid = e.adfixedappid, + u.adfixedpath = e.adfixedpath, u.advoteappid = e.advoteappid, u.advotepath = e.advotepath, + u.adjoinappid = e.adjoinappid, u.adjoinpath = e.adjoinpath, u.isgiftjoin = e.isgiftjoin, + console.log(e), u.font = e.font.split("|"), console.log(3), t.setData({ + voteid: e.voteid, + config: u, + index: o, + rule: r, + uid: e.uid, + showpage: 'mall' + }), "" != t.data.joinid && t.data.joinid > 0 && a(t, t.data.joinid); + } + }); +} + +function a(t, a) { + r.util.request({ + url: "entry/wxapp/joininfo", + data: { + voteid: t.data.voteid, + joinid: a + }, + success: function(a) { + console.log(a.data), e(t, a.data.data); + } + }); +} + +function i(a, e, o, s, n, d) { + var l = s[n]; + if (n == s.length) return wx.hideLoading(), wx.hideNavigationBarLoading(), e.voteid = a.data.voteid, + e.ischeck = a.data.index.ischeck, e.images = JSON.stringify(d), a.data.config.isvideo ? e.video = a.data.join.video[0].url : e.video = "", + a.data.config.ismusic ? e.music = a.data.join.music[0].url : e.music = "", e.uid = a.data.memberinfo.id, + e.avatar = a.data.memberinfo.avatar, a.setData({ + showpage: "joinok" + }),console.log(e), void r.util.request({ + url: "entry/wxapp/join", + data: e, + success: function(i) { + console.log(1000) + var e = i.data.data, o = { + id: e.id, + checkstate: e.checkstate + }; + a.setData({ + joinok: o, + showpage: "joinok", + footerindex: 1 + }), 2 == e.checkstate && t(a); + } + }); + wx.uploadFile({ + url: o, + filePath: l, + name: "image", + success: function(t) { + n += 1; + var r = JSON.parse(t.data); + d.push('https://xcx.zgzmdz.com/attachment/'+r.data), console.log("第" + n + "张:"), i(a, e, o, s, n, d); + }, + fail: function(t) { + console.log("第" + n + "张:上传失败"), console.log(t); + n += 1; + d.push(l),i(a, e, o, s, n, d); + } + }); +} + +function e(t, a) { + var i = t.data.detail; + l.wxParse("detail.resume", "html", a.resume, t, 5), i.id = a.id, i.username = a.username, + i.images = a.images, i.telephone = a.telephone, i.pollcount = a.pollcount, i.gifts = a.gifts, + i.giftrecords = a.giftrecords, i.ranking = a.ranking, i.video = a.video, i.music = a.music, + i.reply = a.reply, i.haibao = !1, i.isreply = !1, i.imgurl = "", i.imgbg = "0", + i.font = "给TA投票", i.topage = "1", t.setData({ + detail: i, + showpage: "detail" + }); +} + +function o(t, a) { + var i = t.data.detail; + i.id = a.id, i.username = a.username, i.images = a.images, i.resume = a.resume, + i.telephone = a.telephone, i.pollcount = a.pollcount, i.gifts = a.gifts, i.giftrecords = a.giftrecords, + i.ranking = a.ranking, i.video = a.video, i.music = a.music, i.reply = a.reply, + i.haibao = !1, i.isreply = !1, i.imgurl = "", i.imgbg = "0", i.font = "修改信息", i.topage = "2", + t.setData({ + detail: i, + showpage: "detail" + }); +} + +function s(t) { + return t = t.replace(/-/g, "/"), new Date(t); +} + +function n(t) { + var a = new Date(), i = s(t.data.index.starttime), e = s(t.data.index.endtime); + return a < i ? -1 : a > e ? -2 : 0; +} + +function d(t) { + var a = t.data.detail; + a.giftbox = !a.giftbox, t.setData({ + detail: a + }); +} + +var r = getApp(), l = require("../../resource/wxParse/wxParse.js"); + +module.exports = { + initpage: t, + getjoininfo: a, + getlistmore:function(t){ + wx.showLoading({ + title: "加载中" + }); + var a = t.data.index; + r.util.request({ + url: "entry/wxapp/MallJoinList", + data: { + voteid: t.data.voteid, + mallid: t.data.nowMallId, + start: t.data.page, + limit: a.limit + }, + success: function(i) { + wx.hideLoading(); + t.setData({ + 'index.newslist': t.data.index.newslist.concat(i.data.data.newlist), + 'index.hotlist': t.data.index.hotlist.concat(i.data.data.hotlist), + }) + } + }); + }, + getlist: function(t) { + wx.showLoading({ + title: "加载中" + }); + var a = t.data.index; + r.util.request({ + url: "entry/wxapp/list", + data: { + voteid: t.data.voteid, + start: a.start, + limit: a.limit + }, + success: function(i) { + wx.hideLoading(); + var e = i.data.data.newslist.length; + if (e < a.limit && (a.pulluploading = !1), e > 0) { + for (a.start = a.newslist.length + e, s = 0; s < e; s++) a.size.news.left <= a.size.news.right ? (i.data.data.newslist[s].int = 1, + o = i.data.data.newslist[s].size[1] * (a.width / i.data.data.newslist[s].size[0]), + a.size.news.left = Number(a.size.news.left) + Number(o)) : (i.data.data.newslist[s].int = 2, + o = i.data.data.newslist[s].size[1] * (a.width / i.data.data.newslist[s].size[0]), + a.size.news.right = Number(a.size.news.right) + Number(o)); + for (s = 0; s < e; s++) if (a.size.hot.left <= a.size.hot.right) i.data.data.hotlist[s].int = 1, + o = i.data.data.hotlist[s].size[1] * (a.width / i.data.data.hotlist[s].size[0]), + a.size.hot.left = Number(a.size.hot.left) + Number(o); else { + i.data.data.hotlist[s].int = 2; + var o = i.data.data.hotlist[s].size[1] * (a.width / i.data.data.hotlist[s].size[0]); + a.size.hot.right = Number(a.size.hot.right) + Number(o); + } + for (var s = 0; s < e; s++) a.newslist.push(i.data.data.newslist[s]), a.hotlist.push(i.data.data.hotlist[s]); + } + a.ispulluploading = !1, t.setData({ + index: a + }); + } + }); + }, + search: function(t, a) { + var i = t.data.search; + "" != a.joinid ? r.util.request({ + url: "entry/wxapp/search", + data: { + voteid: t.data.voteid, + joinid: a.joinid + }, + success: function(a) { + e(t, a.data.data), i.show = !1, t.setData({ + search: i + }); + } + }) : r.util.message("作品编号不能为空", "", "error"); + }, + getrankings: function(t,type) { + r.util.request({ + url: "entry/wxapp/rankings", + data: { + start: 0, + voteid: t.data.voteid, + type: type || 'renqi', + limit: t.data.ranking.limit + }, + success: function(a) { + var i = t.data.ranking; + i.list = a.data.data, i.start = "20", t.setData({ + ranking: i, + showpage: "ranking", + footerindex: 3 + }); + } + }); + }, + join: function(t, a) { + var e = n(t); + if (-1 != e) if (-2 != e) { + for (var o = t.data.join, s = [], d = o.images, l = 0; l < d.length; l++) d[l].isadd && s.push(d[l].src); + var u = !0; + if ("" == a.username.trim() ? (o.validates.username = !0, u = !1) : o.validates.username = !1, + s.length <= 0 ? (o.validates.image = !0, u = !1) : o.validates.image = !1, + // "" == o.video[0].src && t.data.config.isvideo ? (o.validates.video = !0, u = !1) : o.validates.video = !1, + "" == o.music[0].src && t.data.config.ismusic ? (o.validates.music = !0, u = !1) : o.validates.music = !1, + "" == a.resume.trim() ? (o.validates.resume = !0, u = !1) : o.validates.resume = !1, + u) if (wx.showNavigationBarLoading(), r.util.showLoading(), t.data.config.ismusic) { + var c = r.util.getWe7urls("entry/wxapp/uploadmusic"), p = t.data.join.music[0].src; + wx.uploadFile({ + url: c, + filePath: p, + name: "music", + formData: { + voteid: t.data.voteid + }, + success: function(e) { + console.log(2213) + var o = JSON.parse(e.data), n = t.data.join; + if (n.music[0].url = o.data, t.setData({ + join: n + }), t.data.config.isvideo) { + var d = r.util.getWe7urls("entry/wxapp/uploadvideo"), l = t.data.join.video[0].src; + wx.uploadFile({ + url: d, + filePath: l, + name: "video", + formData: { + voteid: t.data.voteid + }, + success: function(e) { + var o = JSON.parse(e.data), n = t.data.join; + n.video[0].url = o.data, t.setData({ + join: n + }); + var d = r.util.getWe7urls("entry/wxapp/uploadimage"); + i(t, a, d, s, 0, []); + }, + fail: function(a) { + console.log("上传失败"), console.log(a), console.log(t); + } + }); + } else { + var u = r.util.getWe7urls("entry/wxapp/uploadimage"); + i(t, a, u, s, 0, []); + } + }, + fail: function(a) { + console.log("上传失败"), console.log(a), console.log(t); + } + }); + } else if (t.data.join.video[0].isadd) { + console.log(321) + var g = r.util.getWe7urls("entry/wxapp/uploadvideo"), f = t.data.join.video[0].src; + wx.uploadFile({ + url: g, + filePath: f, + name: "video", + formData: { + voteid: t.data.voteid + }, + success: function(e) { + var o = JSON.parse(e.data), n = t.data.join; + n.video[0].url = o.data, t.setData({ + join: n + }); + var d = r.util.getWe7urls("entry/wxapp/uploadimage"); + i(t, a, d, s, 0, []); + }, + fail: function(a) { + console.log("上传失败"), console.log(a), console.log(t); + } + }); + } else { + var m = r.util.getWe7urls("entry/wxapp/uploadimage"); + i(t, a, m, s, 0, []); + console.log(123) + } else t.setData({ + join: o + }); + } else r.util.message("活动已经结束,不能报名", "error"); else r.util.message("活动还未开始,不能报名", "error"); + }, + vote: function(t, a) { + var i = n(t); + console.log(t) + -1 != i ? -2 != i ? r.util.request({ + url: "entry/wxapp/vote", + data: { + voteid: t.data.voteid, + joinid: a, + uid: t.data.memberinfo.id, + nickname: t.data.memberinfo.nickname, + avatar: t.data.memberinfo.avatar + }, + success: function(i) { + var e = t.data.index; + e.votecount = Number(e.votecount) + 1, "0" != e.advote && (e.isadindex = !0); + var o = e[e.showlist + "list"]; + if (o.length > 0) for (var s = 0; s < o.length; s++) o[s].id == a && (o[s].pollcount = Number(o[s].pollcount) + 1); + var n = t.data.detail; + n.pollcount = Number(n.pollcount) + 1, t.data.config.isgift && t.data.config.isvotegiftpop && d(t), + t.setData({ + index: e, + detail: n + }), r.util.message("投票成功", "", "success"); + }, + fail(error){ + console.log(error) + if(error.data.errno == -1){ + wx.showModal({ + title: error.data.message, + showCancel: false + }) + } else { + t.setData({ + 'config.userlogin': '1' + }) + } + } + }) : r.util.message("活动已经结束", "error") : r.util.message("活动还未开始", "error"); + }, + sendgift: function(t, a, i) { + var e = t.data.voteid; + r.util.request({ + url: "entry/wxapp/wxpay", + data: { + voteid: e, + joinid: a, + giftid: i, + uid: t.data.memberinfo.id, + op: "sendgift" + }, + success: function(o) { + var s = o.data.data; + wx.requestPayment({ + timeStamp: s.timeStamp, + nonceStr: s.nonceStr, + package: s.package, + signType: s.signType, + paySign: s.paySign, + success: function(o) { + o.data, r.util.request({ + url: "entry/wxapp/wxpay", + data: { + voteid: e, + joinid: a, + giftid: i, + op: s.to, + uid: t.data.memberinfo.id, + nickname: t.data.memberinfo.nickname, + avatar: t.data.memberinfo.avatar + }, + success: function(i) { + var e = t.data.detail; + e.giftrecords; + var o = i.data.data, s = { + avatar: o.avatar, + createtime: o.createtime, + giftimage: o.giftimage, + giftname: o.giftname, + giftprice: o.giftprice, + nickname: o.nickname, + pollcount: o.pollcount + }; + e.giftrecords.push(s); + var n = t.data.index; + n.votecount = Number(n.votecount) + Number(o.pollcount); + var d = n[n.showlist + "list"]; + if (d.length > 0) for (var l = 0; l < d.length; l++) d[l].id == a && (console.log("找到了"), + d[l].pollcount = Number(d[l].pollcount) + Number(o.pollcount)); + e.pollcount = Number(e.pollcount) + Number(o.pollcount), t.setData({ + index: n, + detail: e + }), r.util.message("赠送成功", "", "success"); + } + }); + }, + fail: function(t) { + if (console.log("fail"), console.log(t), "requestPayment:fail cancel" != t.errMsg) { + var a = t.errMsg.replace("requestPayment:fail", ""); + r.util.message(a, "error"); + } + } + }); + } + }); + }, + tojoinpage: function(t) { + var a = t.data.detail; + a.giftbox = !0, t.setData({ + detail: a + }), r.util.request({ + url: "entry/wxapp/myjoininfo", + data: { + voteid: t.data.voteid, + uid: t.data.memberinfo.id + }, + success: function(a) { + var i = a.data.data, o = "join"; + if (i != [] && 2 == i.checkstate) e(t, i), o = "detail"; else if (i != [] && 1 == i.checkstate) o = "checking"; else { + var s = t.data.join, d = n(t); + -1 == d ? (s.subbtn.isdisabled = !0, s.subbtn.text = "活动还未开始") : -2 == d ? (s.subbtn.isdisabled = !0, + s.subbtn.text = "活动已经结束") : (s.subbtn.isdisabled = !1, s.subbtn.text = "确认提交"), + 0 == t.data.config.isjoin && (s.subbtn.isdisabled = !0, s.subbtn.text = "报名还未开启"), + t.setData({ + join: s + }); + } + t.setData({ + showpage: o, + footerindex: 2 + }); + } + }); + }, + mytojoinpage: function(t) { + var a = t.data.detail; + a.giftbox = !0, t.setData({ + detail: a + }), r.util.request({ + url: "entry/wxapp/myjoininfo", + data: { + voteid: t.data.voteid, + uid: t.data.memberinfo.id + }, + success: function(a) { + var i = a.data.data, e = "join"; + if (i != [] && 2 == i.checkstate) console.log(i), o(t, i), e = "detail"; else if (i != [] && 1 == i.checkstate) e = "checking"; else { + var s = t.data.join, d = n(t); + -1 == d ? (s.subbtn.isdisabled = !0, s.subbtn.text = "活动还未开始") : -2 == d ? (s.subbtn.isdisabled = !0, + s.subbtn.text = "活动已经结束") : (s.subbtn.isdisabled = !1, s.subbtn.text = "确认提交"), + 0 == t.data.config.isjoin && (s.subbtn.isdisabled = !0, s.subbtn.text = "报名还未开启"), + t.setData({ + join: s + }); + } + console.log(i) + var mallName = null + var storeName = null + var typesName = null + var images = t.data.join.images + for( var w = 0; w < i.types.length; w++ ){ + if(i.types[w].id == i.mall_type ){ + typesName = i.types[w].name + } + } + for( var l = 0; l < i.mall_list.length; l++ ){ + if(i.mall_list[l].id == i.mall_id ){ + mallName = i.mall_list[l].name + } + } + for( var p = 0; p < i.store_types.length; p++ ){ + if( i.store_types[p].id == i.store_type ){ + storeName = i.store_types[p].name + } + } + for( var img = 0; img< i.images.length; img++ ){ + images[img].isadd = true; + images[img].src = i.images[img] + } + t.setData({ + showpage: e, + 'join.joinInfo': i, + 'join.mallId': i.mall_id, + 'join.mallName': mallName, + 'join.storeId': i.store_type, + 'join.storeName': storeName, + 'join.typesId':i.mall_type, + 'join.region': i.mall_area || [], + 'join.typesName': typesName, + 'join.images': images, + footerindex: 2 + }); + } + }); + }, + escape2Html: function(t) { + console.log(t); + var a = { + "&": "&", + "<": "<", + ">": ">", + """: '"', + "'": "'", + "/": "/" + }; + return t.replace(/&(amp|lt|gt|quot|#39|#x2F);/gi, function(t, i) { + return a[i]; + }); + }, + getranking: function(t,type) { + wx.showLoading({ + title: "加载中" + }), r.util.request({ + url: "entry/wxapp/rankings", + data: { + start: t.data.ranking.start, + voteid: t.data.voteid, + type: type || 'renqi', + limit: t.data.ranking.limit + }, + success: function(a) { + for (var i = t.data.ranking, e = 0; e < a.data.data.length; e++) i.list.push(a.data.data[e]); + i.start = Number(i.start) + 20, i.ispulluploading = !1, t.setData({ + ranking: i + }); + } + }); + }, + giftbox: d, + haibao: function(t, a) { + var i = t.data.detail; + i.haibao ? (i.haibao = !1, t.setData({ + detail: i + })) : r.util.request({ + url: "entry/wxapp/CreatePoster", + data: { + voteid: t.data.voteid, + joinid: a + }, + success: function(a) { + console.log(a.data.data), i.imgurl = a.data.data, i.haibao = !0, t.setData({ + detail: i + }); + } + }); + }, + reply: function(t, a, i) { + var e = t.data.voteid; + r.util.request({ + url: "entry/wxapp/Reply", + data: { + voteid: e, + joinid: a, + content: i, + uid: t.data.memberinfo.id, + op: "add", + nickname: t.data.memberinfo.nickname, + avatar: t.data.memberinfo.avatar + }, + success: function(a) { + var i = t.data.detail; + i.isreply = !1, i.reply.push(a.data.data), t.setData({ + detail: i + }); + } + }); + } +}; \ No newline at end of file diff --git a/qf_happyvote/resource/js/lanch.js b/qf_happyvote/resource/js/lanch.js new file mode 100644 index 0000000..c3b42bc --- /dev/null +++ b/qf_happyvote/resource/js/lanch.js @@ -0,0 +1 @@ +module.exports = function() {}; \ No newline at end of file diff --git a/qf_happyvote/resource/wxParse/html2json.js b/qf_happyvote/resource/wxParse/html2json.js new file mode 100644 index 0000000..eed571d --- /dev/null +++ b/qf_happyvote/resource/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/qf_happyvote/resource/wxParse/htmlparser.js b/qf_happyvote/resource/wxParse/htmlparser.js new file mode 100644 index 0000000..de7b6e9 --- /dev/null +++ b/qf_happyvote/resource/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]*?)]*>"), 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("" : "Error in unnamed extension", a = { + valid: !0, + error: "" + }; + s.helper.isArray(e) || (e = [ e ]); + for (var o = 0; o < e.length; ++o) { + var i = t + " sub-extension " + o + ": ", l = e[o]; + if ("object" !== (void 0 === l ? "undefined" : n(l))) return a.valid = !1, a.error = i + "must be an object, but " + (void 0 === l ? "undefined" : n(l)) + " given", + a; + if (!s.helper.isString(l.type)) return a.valid = !1, a.error = i + 'property "type" must be a string, but ' + n(l.type) + " given", + a; + var c = l.type = l.type.toLowerCase(); + if ("language" === c && (c = l.type = "lang"), "html" === c && (c = l.type = "output"), + "lang" !== c && "output" !== c && "listener" !== c) return a.valid = !1, a.error = i + "type " + c + ' is not recognized. Valid values: "lang/language", "output/html" or "listener"', + a; + if ("listener" === c) { + if (s.helper.isUndefined(l.listeners)) return a.valid = !1, a.error = i + '. Extensions of type "listener" must have a property called "listeners"', + a; + } else if (s.helper.isUndefined(l.filter) && s.helper.isUndefined(l.regex)) return a.valid = !1, + a.error = i + c + ' extensions must define either a "regex" property or a "filter" method', + a; + if (l.listeners) { + if ("object" !== n(l.listeners)) return a.valid = !1, a.error = i + '"listeners" property must be an object but ' + n(l.listeners) + " given", + a; + for (var u in l.listeners) if (l.listeners.hasOwnProperty(u) && "function" != typeof l.listeners[u]) return a.valid = !1, + a.error = i + '"listeners" property must be an hash of [event name]: [callback]. listeners.' + u + " must be a function but " + n(l.listeners[u]) + " given", + a; + } + if (l.filter) { + if ("function" != typeof l.filter) return a.valid = !1, a.error = i + '"filter" must be a function, but ' + n(l.filter) + " given", + a; + } else if (l.regex) { + if (s.helper.isString(l.regex) && (l.regex = new RegExp(l.regex, "g")), !l.regex instanceof RegExp) return a.valid = !1, + a.error = i + '"regex" property must either be a string or a RegExp object, but ' + n(l.regex) + " given", + a; + if (s.helper.isUndefined(l.replace)) return a.valid = !1, a.error = i + '"regex" extensions must implement a replace string or function', + a; + } + } + return a; +} + +function t(e, r) { + return "~E" + r.charCodeAt(0) + "E"; +} + +var n = "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; +}, s = {}, a = {}, o = {}, i = e(!0), l = { + github: { + omitExtraWLInCodeBlocks: !0, + prefixHeaderId: "user-content-", + simplifiedAutoLink: !0, + literalMidWordUnderscores: !0, + strikethrough: !0, + tables: !0, + tablesHeaderId: !0, + ghCodeBlocks: !0, + tasklists: !0 + }, + vanilla: e(!0) +}; + +s.helper = {}, s.extensions = {}, s.setOption = function(e, r) { + return i[e] = r, this; +}, s.getOption = function(e) { + return i[e]; +}, s.getOptions = function() { + return i; +}, s.resetOptions = function() { + i = e(!0); +}, s.setFlavor = function(e) { + if (l.hasOwnProperty(e)) { + var r = l[e]; + for (var t in r) r.hasOwnProperty(t) && (i[t] = r[t]); + } +}, s.getDefaultOptions = function(r) { + return e(r); +}, s.subParser = function(e, r) { + if (s.helper.isString(e)) { + if (void 0 === r) { + if (a.hasOwnProperty(e)) return a[e]; + throw Error("SubParser named " + e + " not registered!"); + } + a[e] = r; + } +}, s.extension = function(e, t) { + if (!s.helper.isString(e)) throw Error("Extension 'name' must be a string"); + if (e = s.helper.stdExtName(e), s.helper.isUndefined(t)) { + if (!o.hasOwnProperty(e)) throw Error("Extension named " + e + " is not registered!"); + return o[e]; + } + "function" == typeof t && (t = t()), s.helper.isArray(t) || (t = [ t ]); + var n = r(t, e); + if (!n.valid) throw Error(n.error); + o[e] = t; +}, s.getAllExtensions = function() { + return o; +}, s.removeExtension = function(e) { + delete o[e]; +}, s.resetExtensions = function() { + o = {}; +}, s.validateExtension = function(e) { + var t = r(e, null); + return !!t.valid || (console.warn(t.error), !1); +}, s.hasOwnProperty("helper") || (s.helper = {}), s.helper.isString = function(e) { + return "string" == typeof e || e instanceof String; +}, s.helper.isFunction = function(e) { + var r = {}; + return e && "[object Function]" === r.toString.call(e); +}, s.helper.forEach = function(e, r) { + if ("function" == typeof e.forEach) e.forEach(r); else for (var t = 0; t < e.length; t++) r(e[t], t, e); +}, s.helper.isArray = function(e) { + return e.constructor === Array; +}, s.helper.isUndefined = function(e) { + return void 0 === e; +}, s.helper.stdExtName = function(e) { + return e.replace(/[_-]||\s/g, "").toLowerCase(); +}, s.helper.escapeCharactersCallback = t, s.helper.escapeCharacters = function(e, r, n) { + var s = "([" + r.replace(/([\[\]\\])/g, "\\$1") + "])"; + n && (s = "\\\\" + s); + var a = new RegExp(s, "g"); + return e = e.replace(a, t); +}; + +var c = function(e, r, t, n) { + var s, a, o, i, l, c = n || "", u = c.indexOf("g") > -1, p = new RegExp(r + "|" + t, "g" + c.replace(/g/g, "")), h = new RegExp(r, c.replace(/g/g, "")), d = []; + do { + for (s = 0; o = p.exec(e); ) if (h.test(o[0])) s++ || (i = (a = p.lastIndex) - o[0].length); else if (s && !--s) { + l = o.index + o[0].length; + var f = { + left: { + start: i, + end: a + }, + match: { + start: a, + end: o.index + }, + right: { + start: o.index, + end: l + }, + wholeMatch: { + start: i, + end: l + } + }; + if (d.push(f), !u) return d; + } + } while (s && (p.lastIndex = a)); + return d; +}; + +s.helper.matchRecursiveRegExp = function(e, r, t, n) { + for (var s = c(e, r, t, n), a = [], o = 0; o < s.length; ++o) a.push([ e.slice(s[o].wholeMatch.start, s[o].wholeMatch.end), e.slice(s[o].match.start, s[o].match.end), e.slice(s[o].left.start, s[o].left.end), e.slice(s[o].right.start, s[o].right.end) ]); + return a; +}, s.helper.replaceRecursiveRegExp = function(e, r, t, n, a) { + if (!s.helper.isFunction(r)) { + var o = r; + r = function() { + return o; + }; + } + var i = c(e, t, n, a), l = e, u = i.length; + if (u > 0) { + var p = []; + 0 !== i[0].wholeMatch.start && p.push(e.slice(0, i[0].wholeMatch.start)); + for (var h = 0; h < u; ++h) p.push(r(e.slice(i[h].wholeMatch.start, i[h].wholeMatch.end), e.slice(i[h].match.start, i[h].match.end), e.slice(i[h].left.start, i[h].left.end), e.slice(i[h].right.start, i[h].right.end))), + h < u - 1 && p.push(e.slice(i[h].wholeMatch.end, i[h + 1].wholeMatch.start)); + i[u - 1].wholeMatch.end < e.length && p.push(e.slice(i[u - 1].wholeMatch.end)), + l = p.join(""); + } + return l; +}, s.helper.isUndefined(console) && (console = { + warn: function(e) { + alert(e); + }, + log: function(e) { + alert(e); + }, + error: function(e) { + throw e; + } +}), s.Converter = function(e) { + function t(e, t) { + if (t = t || null, s.helper.isString(e)) { + if (e = s.helper.stdExtName(e), t = e, s.extensions[e]) return console.warn("DEPRECATION WARNING: " + e + " is an old extension that uses a deprecated loading method.Please inform the developer that the extension should be updated!"), + void a(s.extensions[e], e); + if (s.helper.isUndefined(o[e])) throw Error('Extension "' + e + '" could not be loaded. It was either not found or is not a valid extension.'); + e = o[e]; + } + "function" == typeof e && (e = e()), s.helper.isArray(e) || (e = [ e ]); + var n = r(e, t); + if (!n.valid) throw Error(n.error); + for (var i = 0; i < e.length; ++i) { + switch (e[i].type) { + case "lang": + h.push(e[i]); + break; + + case "output": + d.push(e[i]); + } + if (e[i].hasOwnProperty(f)) for (var l in e[i].listeners) e[i].listeners.hasOwnProperty(l) && c(l, e[i].listeners[l]); + } + } + function a(e, t) { + "function" == typeof e && (e = e(new s.Converter())), s.helper.isArray(e) || (e = [ e ]); + var n = r(e, t); + if (!n.valid) throw Error(n.error); + for (var a = 0; a < e.length; ++a) switch (e[a].type) { + case "lang": + h.push(e[a]); + break; + + case "output": + d.push(e[a]); + break; + + default: + throw Error("Extension loader error: Type unrecognized!!!"); + } + } + function c(e, r) { + if (!s.helper.isString(e)) throw Error("Invalid argument in converter.listen() method: name must be a string, but " + (void 0 === e ? "undefined" : n(e)) + " given"); + if ("function" != typeof r) throw Error("Invalid argument in converter.listen() method: callback must be a function, but " + (void 0 === r ? "undefined" : n(r)) + " given"); + f.hasOwnProperty(e) || (f[e] = []), f[e].push(r); + } + function u(e) { + var r = e.match(/^\s*/)[0].length, t = new RegExp("^\\s{0," + r + "}", "gm"); + return e.replace(t, ""); + } + var p = {}, h = [], d = [], f = {}; + !function() { + e = e || {}; + for (var r in i) i.hasOwnProperty(r) && (p[r] = i[r]); + if ("object" !== (void 0 === e ? "undefined" : n(e))) throw Error("Converter expects the passed parameter to be an object, but " + (void 0 === e ? "undefined" : n(e)) + " was passed instead."); + for (var a in e) e.hasOwnProperty(a) && (p[a] = e[a]); + p.extensions && s.helper.forEach(p.extensions, t); + }(), this._dispatch = function(e, r, t, n) { + if (f.hasOwnProperty(e)) for (var s = 0; s < f[e].length; ++s) { + var a = f[e][s](e, r, this, t, n); + a && void 0 !== a && (r = a); + } + return r; + }, this.listen = function(e, r) { + return c(e, r), this; + }, this.makeHtml = function(e) { + if (!e) return e; + var r = { + gHtmlBlocks: [], + gHtmlMdBlocks: [], + gHtmlSpans: [], + gUrls: {}, + gTitles: {}, + gDimensions: {}, + gListLevel: 0, + hashLinkCounts: {}, + langExtensions: h, + outputModifiers: d, + converter: this, + ghCodeBlocks: [] + }; + return e = e.replace(/~/g, "~T"), e = e.replace(/\$/g, "~D"), e = e.replace(/\r\n/g, "\n"), + e = e.replace(/\r/g, "\n"), p.smartIndentationFix && (e = u(e)), e = e, e = s.subParser("detab")(e, p, r), + e = s.subParser("stripBlankLines")(e, p, r), s.helper.forEach(h, function(t) { + e = s.subParser("runExtension")(t, e, p, r); + }), e = s.subParser("hashPreCodeTags")(e, p, r), e = s.subParser("githubCodeBlocks")(e, p, r), + e = s.subParser("hashHTMLBlocks")(e, p, r), e = s.subParser("hashHTMLSpans")(e, p, r), + e = s.subParser("stripLinkDefinitions")(e, p, r), e = s.subParser("blockGamut")(e, p, r), + e = s.subParser("unhashHTMLSpans")(e, p, r), e = s.subParser("unescapeSpecialChars")(e, p, r), + e = e.replace(/~D/g, "$$"), e = e.replace(/~T/g, "~"), s.helper.forEach(d, function(t) { + e = s.subParser("runExtension")(t, e, p, r); + }), e; + }, this.setOption = function(e, r) { + p[e] = r; + }, this.getOption = function(e) { + return p[e]; + }, this.getOptions = function() { + return p; + }, this.addExtension = function(e, r) { + t(e, r = r || null); + }, this.useExtension = function(e) { + t(e); + }, this.setFlavor = function(e) { + if (l.hasOwnProperty(e)) { + var r = l[e]; + for (var t in r) r.hasOwnProperty(t) && (p[t] = r[t]); + } + }, this.removeExtension = function(e) { + s.helper.isArray(e) || (e = [ e ]); + for (var r = 0; r < e.length; ++r) { + for (var t = e[r], n = 0; n < h.length; ++n) h[n] === t && h[n].splice(n, 1); + for (;0 < d.length; ++n) d[0] === t && d[0].splice(n, 1); + } + }, this.getAllExtensions = function() { + return { + language: h, + output: d + }; + }; +}, s.subParser("anchors", function(e, r, t) { + var n = function(e, r, n, a, o, i, l, c) { + s.helper.isUndefined(c) && (c = ""), e = r; + var u = n, p = a.toLowerCase(), h = o, d = c; + if (!h) if (p || (p = u.toLowerCase().replace(/ ?\n/g, " ")), h = "#" + p, s.helper.isUndefined(t.gUrls[p])) { + if (!(e.search(/\(\s*\)$/m) > -1)) return e; + h = ""; + } else h = t.gUrls[p], s.helper.isUndefined(t.gTitles[p]) || (d = t.gTitles[p]); + var f = '"; + }; + return e = (e = t.converter._dispatch("anchors.before", e, r, t)).replace(/(\[((?:\[[^\]]*]|[^\[\]])*)][ ]?(?:\n[ ]*)?\[(.*?)])()()()()/g, n), + e = e.replace(/(\[((?:\[[^\]]*]|[^\[\]])*)]\([ \t]*()?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g, n), + e = e.replace(/(\[([^\[\]]+)])()()()()()/g, n), e = t.converter._dispatch("anchors.after", e, r, t); +}), s.subParser("autoLinks", function(e, r, t) { + function n(e, r) { + var t = r; + return /^www\./i.test(r) && (r = r.replace(/^www\./i, "http://www.")), '' + t + ""; + } + function a(e, r) { + var t = s.subParser("unescapeSpecialChars")(r); + return s.subParser("encodeEmailAddress")(t); + } + var o = /\b(((https?|ftp|dict):\/\/|www\.)[^'">\s]+\.[^'">\s]+)(?=\s|$)(?!["<>])/gi, i = /<(((https?|ftp|dict):\/\/|www\.)[^'">\s]+)>/gi, l = /(?:^|[ \n\t])([A-Za-z0-9!#$%&'*+-/=?^_`\{|}~\.]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(?:$|[ \n\t])/gi, c = /<(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi; + return e = (e = t.converter._dispatch("autoLinks.before", e, r, t)).replace(i, n), + e = e.replace(c, a), r.simplifiedAutoLink && (e = (e = e.replace(o, n)).replace(l, a)), + e = t.converter._dispatch("autoLinks.after", e, r, t); +}), s.subParser("blockGamut", function(e, r, t) { + e = t.converter._dispatch("blockGamut.before", e, r, t), e = s.subParser("blockQuotes")(e, r, t), + e = s.subParser("headers")(e, r, t); + var n = s.subParser("hashBlock")("
", r, t); + return e = e.replace(/^[ ]{0,2}([ ]?\*[ ]?){3,}[ \t]*$/gm, n), e = e.replace(/^[ ]{0,2}([ ]?\-[ ]?){3,}[ \t]*$/gm, n), + e = e.replace(/^[ ]{0,2}([ ]?_[ ]?){3,}[ \t]*$/gm, n), e = s.subParser("lists")(e, r, t), + e = s.subParser("codeBlocks")(e, r, t), e = s.subParser("tables")(e, r, t), e = s.subParser("hashHTMLBlocks")(e, r, t), + e = s.subParser("paragraphs")(e, r, t), e = t.converter._dispatch("blockGamut.after", e, r, t); +}), s.subParser("blockQuotes", function(e, r, t) { + return e = t.converter._dispatch("blockQuotes.before", e, r, t), e = e.replace(/((^[ \t]{0,3}>[ \t]?.+\n(.+\n)*\n*)+)/gm, function(e, n) { + var a = n; + return a = a.replace(/^[ \t]*>[ \t]?/gm, "~0"), a = a.replace(/~0/g, ""), a = a.replace(/^[ \t]+$/gm, ""), + a = s.subParser("githubCodeBlocks")(a, r, t), a = s.subParser("blockGamut")(a, r, t), + a = a.replace(/(^|\n)/g, "$1 "), a = a.replace(/(\s*
[^\r]+?<\/pre>)/gm, function(e, r) {
+            var t = r;
+            return t = t.replace(/^  /gm, "~0"), t = t.replace(/~0/g, "");
+        }), s.subParser("hashBlock")("
\n" + a + "\n
", r, t); + }), e = t.converter._dispatch("blockQuotes.after", e, r, t); +}), s.subParser("codeBlocks", function(e, r, t) { + e = t.converter._dispatch("codeBlocks.before", e, r, t); + var n = /(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=~0))/g; + return e = (e += "~0").replace(n, function(e, n, a) { + var o = n, i = a, l = "\n"; + return o = s.subParser("outdent")(o), o = s.subParser("encodeCode")(o), o = s.subParser("detab")(o), + o = o.replace(/^\n+/g, ""), o = o.replace(/\n+$/g, ""), r.omitExtraWLInCodeBlocks && (l = ""), + o = "
" + o + l + "
", s.subParser("hashBlock")(o, r, t) + i; + }), e = e.replace(/~0/, ""), e = t.converter._dispatch("codeBlocks.after", e, r, t); +}), s.subParser("codeSpans", function(e, r, t) { + return void 0 === (e = t.converter._dispatch("codeSpans.before", e, r, t)) && (e = ""), + e = e.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm, function(e, r, t, n) { + var a = n; + return a = a.replace(/^([ \t]*)/g, ""), a = a.replace(/[ \t]*$/g, ""), a = s.subParser("encodeCode")(a), + r + "" + a + ""; + }), e = t.converter._dispatch("codeSpans.after", e, r, t); +}), s.subParser("detab", function(e) { + return e = e.replace(/\t(?=\t)/g, " "), e = e.replace(/\t/g, "~A~B"), e = e.replace(/~B(.+?)~A/g, function(e, r) { + for (var t = r, n = 4 - t.length % 4, s = 0; s < n; s++) t += " "; + return t; + }), e = e.replace(/~A/g, " "), e = e.replace(/~B/g, ""); +}), s.subParser("encodeAmpsAndAngles", function(e) { + return e = e.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g, "&"), e = e.replace(/<(?![a-z\/?\$!])/gi, "<"); +}), s.subParser("encodeBackslashEscapes", function(e) { + return e = e.replace(/\\(\\)/g, s.helper.escapeCharactersCallback), e = e.replace(/\\([`*_{}\[\]()>#+-.!])/g, s.helper.escapeCharactersCallback); +}), s.subParser("encodeCode", function(e) { + return e = e.replace(/&/g, "&"), e = e.replace(//g, ">"), + e = s.helper.escapeCharacters(e, "*_{}[]\\", !1); +}), s.subParser("encodeEmailAddress", function(e) { + var r = [ function(e) { + return "&#" + e.charCodeAt(0) + ";"; + }, function(e) { + return "&#x" + e.charCodeAt(0).toString(16) + ";"; + }, function(e) { + return e; + } ]; + return e = "mailto:" + e, e = e.replace(/./g, function(e) { + if ("@" === e) e = r[Math.floor(2 * Math.random())](e); else if (":" !== e) { + var t = Math.random(); + e = t > .9 ? r[2](e) : t > .45 ? r[1](e) : r[0](e); + } + return e; + }), e = '' + e + "", e = e.replace(/">.+:/g, '">'); +}), s.subParser("escapeSpecialCharsWithinTagAttributes", function(e) { + var r = /(<[a-z\/!$]("[^"]*"|'[^']*'|[^'">])*>|)/gi; + return e = e.replace(r, function(e) { + var r = e.replace(/(.)<\/?code>(?=.)/g, "$1`"); + return r = s.helper.escapeCharacters(r, "\\`*_", !1); + }); +}), s.subParser("githubCodeBlocks", function(e, r, t) { + return r.ghCodeBlocks ? (e = t.converter._dispatch("githubCodeBlocks.before", e, r, t), + e += "~0", e = e.replace(/(?:^|\n)```(.*)\n([\s\S]*?)\n```/g, function(e, n, a) { + var o = r.omitExtraWLInCodeBlocks ? "" : "\n"; + return a = s.subParser("encodeCode")(a), a = s.subParser("detab")(a), a = a.replace(/^\n+/g, ""), + a = a.replace(/\n+$/g, ""), a = "
" + a + o + "
", + a = s.subParser("hashBlock")(a, r, t), "\n\n~G" + (t.ghCodeBlocks.push({ + text: e, + codeblock: a + }) - 1) + "G\n\n"; + }), e = e.replace(/~0/, ""), t.converter._dispatch("githubCodeBlocks.after", e, r, t)) : e; +}), s.subParser("hashBlock", function(e, r, t) { + return e = e.replace(/(^\n+|\n+$)/g, ""), "\n\n~K" + (t.gHtmlBlocks.push(e) - 1) + "K\n\n"; +}), s.subParser("hashElement", function(e, r, t) { + return function(e, r) { + var n = r; + return n = n.replace(/\n\n/g, "\n"), n = n.replace(/^\n/, ""), n = n.replace(/\n+$/g, ""), + n = "\n\n~K" + (t.gHtmlBlocks.push(n) - 1) + "K\n\n"; + }; +}), s.subParser("hashHTMLBlocks", function(e, r, t) { + for (var n = [ "pre", "div", "h1", "h2", "h3", "h4", "h5", "h6", "blockquote", "table", "dl", "ol", "ul", "script", "noscript", "form", "fieldset", "iframe", "math", "style", "section", "header", "footer", "nav", "article", "aside", "address", "audio", "canvas", "figure", "hgroup", "output", "video", "p" ], a = 0; a < n.length; ++a) e = s.helper.replaceRecursiveRegExp(e, function(e, r, n, s) { + var a = e; + return -1 !== n.search(/\bmarkdown\b/) && (a = n + t.converter.makeHtml(r) + s), + "\n\n~K" + (t.gHtmlBlocks.push(a) - 1) + "K\n\n"; + }, "^(?: |\\t){0,3}<" + n[a] + "\\b[^>]*>", "", "gim"); + return e = e.replace(/(\n[ ]{0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g, s.subParser("hashElement")(e, r, t)), + e = e.replace(/()/g, s.subParser("hashElement")(e, r, t)), e = e.replace(/(?:\n\n)([ ]{0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g, s.subParser("hashElement")(e, r, t)); +}), s.subParser("hashHTMLSpans", function(e, r, t) { + for (var n = s.helper.matchRecursiveRegExp(e, "]*>", "", "gi"), a = 0; a < n.length; ++a) e = e.replace(n[a][0], "~L" + (t.gHtmlSpans.push(n[a][0]) - 1) + "L"); + return e; +}), s.subParser("unhashHTMLSpans", function(e, r, t) { + for (var n = 0; n < t.gHtmlSpans.length; ++n) e = e.replace("~L" + n + "L", t.gHtmlSpans[n]); + return e; +}), s.subParser("hashPreCodeTags", function(e, r, t) { + return e = s.helper.replaceRecursiveRegExp(e, function(e, r, n, a) { + var o = n + s.subParser("encodeCode")(r) + a; + return "\n\n~G" + (t.ghCodeBlocks.push({ + text: e, + codeblock: o + }) - 1) + "G\n\n"; + }, "^(?: |\\t){0,3}]*>\\s*]*>", "^(?: |\\t){0,3}\\s*
", "gim"); +}), s.subParser("headers", function(e, r, t) { + function n(e) { + var r, n = e.replace(/[^\w]/g, "").toLowerCase(); + return t.hashLinkCounts[n] ? r = n + "-" + t.hashLinkCounts[n]++ : (r = n, t.hashLinkCounts[n] = 1), + !0 === a && (a = "section"), s.helper.isString(a) ? a + r : r; + } + e = t.converter._dispatch("headers.before", e, r, t); + var a = r.prefixHeaderId, o = isNaN(parseInt(r.headerLevelStart)) ? 1 : parseInt(r.headerLevelStart), i = r.smoothLivePreview ? /^(.+)[ \t]*\n={2,}[ \t]*\n+/gm : /^(.+)[ \t]*\n=+[ \t]*\n+/gm, l = r.smoothLivePreview ? /^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm : /^(.+)[ \t]*\n-+[ \t]*\n+/gm; + return e = e.replace(i, function(e, a) { + var i = s.subParser("spanGamut")(a, r, t), l = r.noHeaderId ? "" : ' id="' + n(a) + '"', c = o, u = "" + i + ""; + return s.subParser("hashBlock")(u, r, t); + }), e = e.replace(l, function(e, a) { + var i = s.subParser("spanGamut")(a, r, t), l = r.noHeaderId ? "" : ' id="' + n(a) + '"', c = o + 1, u = "" + i + ""; + return s.subParser("hashBlock")(u, r, t); + }), e = e.replace(/^(#{1,6})[ \t]*(.+?)[ \t]*#*\n+/gm, function(e, a, i) { + var l = s.subParser("spanGamut")(i, r, t), c = r.noHeaderId ? "" : ' id="' + n(i) + '"', u = o - 1 + a.length, p = "" + l + ""; + return s.subParser("hashBlock")(p, r, t); + }), e = t.converter._dispatch("headers.after", e, r, t); +}), s.subParser("images", function(e, r, t) { + function n(e, r, n, a, o, i, l, c) { + var u = t.gUrls, p = t.gTitles, h = t.gDimensions; + if (n = n.toLowerCase(), c || (c = ""), "" === a || null === a) { + if ("" !== n && null !== n || (n = r.toLowerCase().replace(/ ?\n/g, " ")), a = "#" + n, + s.helper.isUndefined(u[n])) return e; + a = u[n], s.helper.isUndefined(p[n]) || (c = p[n]), s.helper.isUndefined(h[n]) || (o = h[n].width, + i = h[n].height); + } + r = r.replace(/"/g, """), r = s.helper.escapeCharacters(r, "*_", !1); + var d = '' + r + '?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(['"])(.*?)\6[ \t]*)?\)/g, o = /!\[([^\]]*?)] ?(?:\n *)?\[(.*?)]()()()()()/g; + return e = (e = t.converter._dispatch("images.before", e, r, t)).replace(o, n), + e = e.replace(a, n), e = t.converter._dispatch("images.after", e, r, t); +}), s.subParser("italicsAndBold", function(e, r, t) { + return e = t.converter._dispatch("italicsAndBold.before", e, r, t), e = r.literalMidWordUnderscores ? (e = (e = (e = e.replace(/(^|\s|>|\b)__(?=\S)([\s\S]+?)__(?=\b|<|\s|$)/gm, "$1$2")).replace(/(^|\s|>|\b)_(?=\S)([\s\S]+?)_(?=\b|<|\s|$)/gm, "$1$2")).replace(/(\*\*)(?=\S)([^\r]*?\S[*]*)\1/g, "$2")).replace(/(\*)(?=\S)([^\r]*?\S)\1/g, "$2") : (e = e.replace(/(\*\*|__)(?=\S)([^\r]*?\S[*_]*)\1/g, "$2")).replace(/(\*|_)(?=\S)([^\r]*?\S)\1/g, "$2"), + e = t.converter._dispatch("italicsAndBold.after", e, r, t); +}), s.subParser("lists", function(e, r, t) { + function n(e, n) { + t.gListLevel++, e = e.replace(/\n{2,}$/, "\n"), e += "~0"; + var a = /(\n)?(^[ \t]*)([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(~0|\2([*+-]|\d+[.])[ \t]+))/gm, o = /\n[ \t]*\n(?!~0)/.test(e); + return e = e.replace(a, function(e, n, a, i, l, c, u) { + u = u && "" !== u.trim(); + var p = s.subParser("outdent")(l, r, t), h = ""; + return c && r.tasklists && (h = ' class="task-list-item" style="list-style-type: none;"', + p = p.replace(/^[ \t]*\[(x|X| )?]/m, function() { + var e = ' -1 ? (p = s.subParser("githubCodeBlocks")(p, r, t), + p = s.subParser("blockGamut")(p, r, t)) : (p = (p = s.subParser("lists")(p, r, t)).replace(/\n$/, ""), + p = o ? s.subParser("paragraphs")(p, r, t) : s.subParser("spanGamut")(p, r, t)), + p = "\n" + p + "\n"; + }), e = e.replace(/~0/g, ""), t.gListLevel--, n && (e = e.replace(/\s+$/, "")), + e; + } + function a(e, r, t) { + var s = "ul" === r ? /^ {0,2}\d+\.[ \t]/gm : /^ {0,2}[*+-][ \t]/gm, a = [], o = ""; + if (-1 !== e.search(s)) { + !function e(a) { + var i = a.search(s); + -1 !== i ? (o += "\n\n<" + r + ">" + n(a.slice(0, i), !!t) + "\n\n", + s = "ul" === (r = "ul" === r ? "ol" : "ul") ? /^ {0,2}\d+\.[ \t]/gm : /^ {0,2}[*+-][ \t]/gm, + e(a.slice(i))) : o += "\n\n<" + r + ">" + n(a, !!t) + "\n\n"; + }(e); + for (var i = 0; i < a.length; ++i) ; + } else o = "\n\n<" + r + ">" + n(e, !!t) + "\n\n"; + return o; + } + e = t.converter._dispatch("lists.before", e, r, t), e += "~0"; + var o = /^(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm; + return t.gListLevel ? e = e.replace(o, function(e, r, t) { + return a(r, t.search(/[*+-]/g) > -1 ? "ul" : "ol", !0); + }) : (o = /(\n\n|^\n?)(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm, + e = e.replace(o, function(e, r, t, n) { + return a(t, n.search(/[*+-]/g) > -1 ? "ul" : "ol"); + })), e = e.replace(/~0/, ""), e = t.converter._dispatch("lists.after", e, r, t); +}), s.subParser("outdent", function(e) { + return e = e.replace(/^(\t|[ ]{1,4})/gm, "~0"), e = e.replace(/~0/g, ""); +}), s.subParser("paragraphs", function(e, r, t) { + for (var n = (e = (e = (e = t.converter._dispatch("paragraphs.before", e, r, t)).replace(/^\n+/g, "")).replace(/\n+$/g, "")).split(/\n{2,}/g), a = [], o = n.length, i = 0; i < o; i++) { + var l = n[i]; + l.search(/~(K|G)(\d+)\1/g) >= 0 ? a.push(l) : (l = (l = s.subParser("spanGamut")(l, r, t)).replace(/^([ \t]*)/g, "

"), + l += "

", a.push(l)); + } + for (o = a.length, i = 0; i < o; i++) { + for (var c = "", u = a[i], p = !1; u.search(/~(K|G)(\d+)\1/) >= 0; ) { + var h = RegExp.$1, d = RegExp.$2; + c = (c = "K" === h ? t.gHtmlBlocks[d] : p ? s.subParser("encodeCode")(t.ghCodeBlocks[d].text) : t.ghCodeBlocks[d].codeblock).replace(/\$/g, "$$$$"), + u = u.replace(/(\n\n)?~(K|G)\d+\2(\n\n)?/, c), /^]*>\s*]*>/.test(u) && (p = !0); + } + a[i] = u; + } + return e = a.join("\n\n"), e = e.replace(/^\n+/g, ""), e = e.replace(/\n+$/g, ""), + t.converter._dispatch("paragraphs.after", e, r, t); +}), s.subParser("runExtension", function(e, r, t, n) { + if (e.filter) r = e.filter(r, n.converter, t); else if (e.regex) { + var s = e.regex; + !s instanceof RegExp && (s = new RegExp(s, "g")), r = r.replace(s, e.replace); + } + return r; +}), s.subParser("spanGamut", function(e, r, t) { + return e = t.converter._dispatch("spanGamut.before", e, r, t), e = s.subParser("codeSpans")(e, r, t), + e = s.subParser("escapeSpecialCharsWithinTagAttributes")(e, r, t), e = s.subParser("encodeBackslashEscapes")(e, r, t), + e = s.subParser("images")(e, r, t), e = s.subParser("anchors")(e, r, t), e = s.subParser("autoLinks")(e, r, t), + e = s.subParser("encodeAmpsAndAngles")(e, r, t), e = s.subParser("italicsAndBold")(e, r, t), + e = s.subParser("strikethrough")(e, r, t), e = e.replace(/ +\n/g, "
\n"), + e = t.converter._dispatch("spanGamut.after", e, r, t); +}), s.subParser("strikethrough", function(e, r, t) { + return r.strikethrough && (e = (e = t.converter._dispatch("strikethrough.before", e, r, t)).replace(/(?:~T){2}([\s\S]+?)(?:~T){2}/g, "$1"), + e = t.converter._dispatch("strikethrough.after", e, r, t)), e; +}), s.subParser("stripBlankLines", function(e) { + return e.replace(/^[ \t]+$/gm, ""); +}), s.subParser("stripLinkDefinitions", function(e, r, t) { + var n = /^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=~0))/gm; + return e += "~0", e = e.replace(n, function(e, n, a, o, i, l, c) { + return n = n.toLowerCase(), t.gUrls[n] = s.subParser("encodeAmpsAndAngles")(a), + l ? l + c : (c && (t.gTitles[n] = c.replace(/"|'/g, """)), r.parseImgDimensions && o && i && (t.gDimensions[n] = { + width: o, + height: i + }), ""); + }), e = e.replace(/~0/, ""); +}), s.subParser("tables", function(e, r, t) { + function n(e) { + return /^:[ \t]*--*$/.test(e) ? ' style="text-align:left;"' : /^--*[ \t]*:[ \t]*$/.test(e) ? ' style="text-align:right;"' : /^:[ \t]*--*[ \t]*:$/.test(e) ? ' style="text-align:center;"' : ""; + } + function a(e, n) { + var a = ""; + return e = e.trim(), r.tableHeaderId && (a = ' id="' + e.replace(/ /g, "_").toLowerCase() + '"'), + e = s.subParser("spanGamut")(e, r, t), "" + e + "\n"; + } + function o(e, n) { + return "" + s.subParser("spanGamut")(e, r, t) + "\n"; + } + function i(e, r) { + for (var t = "\n\n\n", n = e.length, s = 0; s < n; ++s) t += e[s]; + for (t += "\n\n\n", s = 0; s < r.length; ++s) { + t += "\n"; + for (var a = 0; a < n; ++a) t += r[s][a]; + t += "\n"; + } + return t += "\n
\n"; + } + if (!r.tables) return e; + var l = /^[ \t]{0,3}\|?.+\|.+\n[ \t]{0,3}\|?[ \t]*:?[ \t]*(?:-|=){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:-|=){2,}[\s\S]+?(?:\n\n|~0)/gm; + return e = t.converter._dispatch("tables.before", e, r, t), e = e.replace(l, function(e) { + var r, t = e.split("\n"); + for (r = 0; r < t.length; ++r) /^[ \t]{0,3}\|/.test(t[r]) && (t[r] = t[r].replace(/^[ \t]{0,3}\|/, "")), + /\|[ \t]*$/.test(t[r]) && (t[r] = t[r].replace(/\|[ \t]*$/, "")); + var l = t[0].split("|").map(function(e) { + return e.trim(); + }), c = t[1].split("|").map(function(e) { + return e.trim(); + }), u = [], p = [], h = [], d = []; + for (t.shift(), t.shift(), r = 0; r < t.length; ++r) "" !== t[r].trim() && u.push(t[r].split("|").map(function(e) { + return e.trim(); + })); + if (l.length < c.length) return e; + for (r = 0; r < c.length; ++r) h.push(n(c[r])); + for (r = 0; r < l.length; ++r) s.helper.isUndefined(h[r]) && (h[r] = ""), p.push(a(l[r], h[r])); + for (r = 0; r < u.length; ++r) { + for (var f = [], g = 0; g < p.length; ++g) s.helper.isUndefined(u[r][g]), f.push(o(u[r][g], h[g])); + d.push(f); + } + return i(p, d); + }), e = t.converter._dispatch("tables.after", e, r, t); +}), s.subParser("unescapeSpecialChars", function(e) { + return e = e.replace(/~E(\d+)E/g, function(e, r) { + var t = parseInt(r); + return String.fromCharCode(t); + }); +}), module.exports = s; \ No newline at end of file diff --git a/qf_happyvote/resource/wxParse/wxDiscode.js b/qf_happyvote/resource/wxParse/wxDiscode.js new file mode 100644 index 0000000..50dc774 --- /dev/null +++ b/qf_happyvote/resource/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, ""), e = e.replace(/code/g, "wxxxcode-style"); +} + +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/qf_happyvote/resource/wxParse/wxParse.js b/qf_happyvote/resource/wxParse/wxParse.js new file mode 100644 index 0000000..e4b72bd --- /dev/null +++ b/qf_happyvote/resource/wxParse/wxParse.js @@ -0,0 +1,83 @@ +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 = this, a = e.target.dataset.src, i = e.target.dataset.from; + void 0 !== i && i.length > 0 && wx.previewImage({ + current: a, + urls: t.data[i].imageUrls + }); +} + +function i(e) { + var t = this, a = e.target.dataset.from, i = e.target.dataset.idx; + void 0 !== a && a.length > 0 && r(e, i, t, a); +} + +function r(e, a, i, r) { + var d, o = i.data[r]; + if (o && 0 != o.images.length) { + var s = o.images, l = n(e.detail.width, e.detail.height, i, r), g = s[a].index, h = "" + r, m = !0, u = !1, v = void 0; + try { + for (var f, w = g.split(".")[Symbol.iterator](); !(m = (f = w.next()).done); m = !0) h += ".nodes[" + f.value + "]"; + } catch (e) { + u = !0, v = e; + } finally { + try { + !m && w.return && w.return(); + } finally { + if (u) throw v; + } + } + var c = h + ".width", x = h + ".height"; + i.setData((d = {}, t(d, c, l.imageWidth), t(d, x, l.imageheight), d)); + } +} + +function n(e, t, a, i) { + var r = 0, n = 0, d = 0, o = {}, g = a.data[i].view.imagePadding; + return r = s - 2 * g, l, e > r ? (d = (n = r) * t / e, o.imageWidth = n, o.imageheight = d) : (o.imageWidth = e, + o.imageheight = t), o; +} + +var d = e(require("./showdown.js")), o = e(require("./html2json.js")), s = 0, l = 0; + +wx.getSystemInfo({ + success: function(e) { + s = e.windowWidth, l = e.windowHeight; + } +}), module.exports = { + wxParse: function() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "wxParseData", t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "html", r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : '
数据不能为空
', n = arguments[3], s = arguments[4], l = n, g = {}; + if ("html" == t) g = o.default.html2json(r, e); else if ("md" == t || "markdown" == t) { + var h = new d.default.Converter().makeHtml(r); + g = o.default.html2json(h, e); + } + g.view = {}, g.view.imagePadding = 0, void 0 !== s && (g.view.imagePadding = s); + var m = {}; + m[e] = g, l.setData(m), l.wxParseImgLoad = i, l.wxParseImgTap = a; + }, + wxParseTemArray: function(e, t, a, i) { + for (var r = [], n = i.data, d = null, o = 0; o < a; o++) { + var s = n[t + o].nodes; + r.push(s); + } + e = e || "wxParseTemArray", (d = JSON.parse('{"' + e + '":""}'))[e] = r, i.setData(d); + }, + emojisInit: function() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "", t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "/wxParse/emojis/", a = arguments[2]; + o.default.emojisInit(e, t, a); + } +}; \ No newline at end of file diff --git a/qf_happyvote/resource/wxParse/wxParse.wxml b/qf_happyvote/resource/wxParse/wxParse.wxml new file mode 100644 index 0000000..6a73bec --- /dev/null +++ b/qf_happyvote/resource/wxParse/wxParse.wxml @@ -0,0 +1,386 @@ + + + + + + + + + + + + + + + + + diff --git a/qf_happyvote/resource/wxParse/wxParse.wxss b/qf_happyvote/resource/wxParse/wxParse.wxss new file mode 100644 index 0000000..b2e8e2d --- /dev/null +++ b/qf_happyvote/resource/wxParse/wxParse.wxss @@ -0,0 +1,250 @@ +.wxParse { + margin: 0 5px; + font-family: Helvetica,sans-serif; + font-size: 28rpx; + color: #666; + line-height: 1.8; +} + +view { + word-break: break-all; + overflow: auto; +} + +.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 diff --git a/siteinfo.js b/siteinfo.js new file mode 100644 index 0000000..6559adb --- /dev/null +++ b/siteinfo.js @@ -0,0 +1,13 @@ +var e = { + title: "资源邦-www.wazyb.com", + uniacid: "23", + acid: "25", + multiid: "0", + version: "2.15", + siteroot: "https://xcx.zgzmdz.com/app/index.php", + design_method: "9.6", + redirect_module: "", + template: "" +}; + +module.exports = e; \ No newline at end of file diff --git a/sitemap.json b/sitemap.json new file mode 100644 index 0000000..ca02add --- /dev/null +++ b/sitemap.json @@ -0,0 +1,7 @@ +{ + "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", + "rules": [{ + "action": "allow", + "page": "*" + }] +} \ No newline at end of file diff --git a/we7/pages/index/index.js b/we7/pages/index/index.js new file mode 100644 index 0000000..964c2d3 --- /dev/null +++ b/we7/pages/index/index.js @@ -0,0 +1,38 @@ +var e = getApp(); + +Page({ + data: { + navs: [], + slide: [], + commend: [], + userInfo: {} + }, + onLoad: function() { + var s = this; + e.util.footer(s), e.util.request({ + url: "wxapp/home/nav", + cachetime: "30", + success: function(e) { + e.data.message.errno || (console.log(e.data.message.message), s.setData({ + navs: e.data.message.message + })); + } + }), e.util.request({ + url: "wxapp/home/slide", + cachetime: "30", + success: function(e) { + e.data.message.errno || s.setData({ + slide: e.data.message.message + }); + } + }), e.util.request({ + url: "wxapp/home/commend", + cachetime: "30", + success: function(e) { + e.data.message.errno || s.setData({ + commend: e.data.message.message + }); + } + }); + } +}); \ No newline at end of file diff --git a/we7/pages/index/index.json b/we7/pages/index/index.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/we7/pages/index/index.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/we7/pages/index/index.wxml b/we7/pages/index/index.wxml new file mode 100644 index 0000000..7344375 --- /dev/null +++ b/we7/pages/index/index.wxml @@ -0,0 +1,28 @@ + + + + + + + + + + + + {{item.name}} + + + + + {{item.name}} + + + + {{subItem.title}} + + + + + + + diff --git a/we7/pages/index/index.wxss b/we7/pages/index/index.wxss new file mode 100644 index 0000000..efacfc4 --- /dev/null +++ b/we7/pages/index/index.wxss @@ -0,0 +1,86 @@ +.container { + background: #e6e6e6; +} + +.nav { + display: flex; + flex-direction: row; + flex-wrap: wrap; + background-color: #fff; + width: 100%; +} + +.nav-item { + width: 248rpx; + height: 237rpx; + border: #c9c9c9 solid 1px; + color: #fff; + flex-direction: column; + text-align: center; + border-left: none; + border-top: none; +} + +.nav-item.nav-item-no-border { + border-right: none; +} + +.nav-item .nav-icon { + width: 118rpx; + height: 118rpx; + align-items: center; + margin-top: 38rpx; +} + +.nav-item .nav-title,.commend-item .commend-title { + color: #000; + margin-top: 20rpx; + font-size: 24rpx; +} + +.swiper { + width: 100%; + height: 350rpx; +} + +.swiper swiper { + width: 100%; + height: 100%; +} + +.swiper image { + width: 100%; + height: 100%; +} + +.commend { + width: 100%; + text-align: center; + flex-wrap: wrap; + margin-top: 20rpx; + background: #fff; +} + +.commend .commend-column { + display: flex; +} + +.commend .commend-header-title { + text-align: left; + line-height: 98rpx; + font-size: 30rpx; + padding-left: 15rpx; +} + +.commend .commend-item { + display: flex; + flex-direction: column; + border-right: #c9c9c9 solid 1px; + padding-bottom: 60rpx; + width: 372rpx; +} + +.commend .commend-item image { + width: 100%; + height: 210rpx; +} \ No newline at end of file diff --git a/we7/pages/newsDetail/newsDetail.js b/we7/pages/newsDetail/newsDetail.js new file mode 100644 index 0000000..30daaad --- /dev/null +++ b/we7/pages/newsDetail/newsDetail.js @@ -0,0 +1,49 @@ +var e = getApp(), o = require("../../resource/js/htmlToWxml.js"); + +Page({ + data: { + scrollHeight: 0, + newsData: {} + }, + getNewsDetail: function() { + var n = this; + wx.request({ + url: "https://wedengta.com/wxnews/getNews?action=DiscNewsContent&type=4&id=1478677877_1406730_1_9", + headers: { + "Content-Type": "application/json" + }, + success: function(t) { + var s = t.data; + if (0 == s.ret) { + var a = JSON.parse(s.content); + a.content = o.html2json(a.sContent), a.time = e.util.formatTime(1e3 * a.iTime), + n.setData({ + newsData: a + }); + } else console.log("数据拉取失败"); + }, + fail: function(e) { + console.log("数据拉取失败"); + } + }); + }, + stockClick: function(e) { + var o = e.currentTarget.dataset.seccode, n = e.currentTarget.dataset.secname; + console.log("stockClick:" + o + ";secName:" + n); + }, + onLoad: function(e) { + this.getNewsDetail(), console.log("onLoad"); + }, + onShow: function() { + console.log("onShow"); + }, + onReady: function() { + console.log("onReady"); + }, + onHide: function() { + console.log("onHide"); + }, + onUnload: function() { + console.log("onUnload"); + } +}); \ No newline at end of file diff --git a/we7/pages/newsDetail/newsDetail.wxml b/we7/pages/newsDetail/newsDetail.wxml new file mode 100644 index 0000000..cb5e8c6 --- /dev/null +++ b/we7/pages/newsDetail/newsDetail.wxml @@ -0,0 +1,15 @@ + + + {{newsData.sTitle}} + + {{newsData.sFrom}} + {{newsData.time}} + + + + {{newsData.sDescription}} + + + + + diff --git a/we7/pages/newsDetail/newsDetail.wxss b/we7/pages/newsDetail/newsDetail.wxss new file mode 100644 index 0000000..ed5e286 --- /dev/null +++ b/we7/pages/newsDetail/newsDetail.wxss @@ -0,0 +1,109 @@ +.page_gap { + padding: 16px 15px; +} + +.page_news { + background-color: #fff; +} + +.page_news a { + color: #106fbc; +} + +.page_news .h1 { + font-size: 21px; + margin-bottom: 11px; + line-height: 1.3; + color: #373737; + font-weight: bold; + letter-spacing: 0.5px; + display: block; +} + +.news_info { + float: left; + font-size: 12px; + margin-bottom: 15px; + color: rgba(89,89,89,0.6); +} + +.news_info .span { + margin-right: 8px; + display: inline-block; +} + +.summary_block { + background-color: #ececec; + font-size: 14px; + line-height: 1.8; + text-indent: 30px; + box-sizing: border-box; + padding: 10px; + position: relative; + margin-bottom: 20px; + word-break: break-all; + border-radius: 0 3px 3px 3px; + text-align: justify; +} + +.summary_block:before { + content: "摘要"; + display: inline-block; + position: absolute; + left: 0; + top: 0; + border-radius: 0 3px 3px 0; + background-color: #f79464; + color: #fff; + z-index: 10; + text-indent: 0; + font-size: 12px; + padding: 0 4px; + line-height: 1.6; +} + +.news_relative { + font-size: 12px; + margin-bottom: 13px; + clear: both; +} + +.news_relative p { + line-height: 1.7; +} + +.news_relative p span { + color: rgba(89,89,89,0.6); +} + +.news_relative p a { + margin-right: 10px; +} + +.news_txt { + font-size: 16px; + line-height: 1.8; + word-break: break-all; + padding-bottom: 30px; + color: rgb(37,37,37); +} + +.news_txt .div { + margin-bottom: 12px; + text-align: justify; +} + +.news_txt .a { + color: #106fbc; + position: relative; +} + +.news_txt .b { + font-weight: bold; +} + +.news_txt .img { + width: 100%; + display: block; + padding: 5px; +} \ No newline at end of file diff --git a/we7/pages/selectarea/selectarea.js b/we7/pages/selectarea/selectarea.js new file mode 100644 index 0000000..4f2475d --- /dev/null +++ b/we7/pages/selectarea/selectarea.js @@ -0,0 +1,124 @@ +var e = require("../utils/util"), t = "http://japi.zto.cn/zto/api_utf8/baseArea?msg_type=GET_AREA&data=", a = { + addDot: function(e) { + e instanceof Array && e.map(function(e) { + return e.fullName.length > 4 ? (e.fullNameDot = e.fullName.slice(0, 4) + "...", + e) : (e.fullNameDot = e.fullName, e); + }); + }, + load: function(d) { + d.setData({ + isShow: !1 + }), (0, e.Promise)(wx.request, { + url: t + "0", + method: "GET" + }).then(function(l) { + var c = l.data.result[0]; + return a.addDot(l.data.result), d.setData({ + proviceData: l.data.result, + "selectedProvince.index": 0, + "selectedProvince.code": c.code, + "selectedProvince.fullName": c.fullName + }), (0, e.Promise)(wx.request, { + url: t + c.code, + method: "GET" + }); + }).then(function(l) { + var c = l.data.result[0]; + return a.addDot(l.data.result), d.setData({ + cityData: l.data.result, + "selectedCity.index": 0, + "selectedCity.code": c.code, + "selectedCity.fullName": c.fullName + }), (0, e.Promise)(wx.request, { + url: t + c.code, + method: "GET" + }); + }).then(function(e) { + var t = e.data.result[0]; + a.addDot(e.data.result), d.setData({ + districtData: e.data.result, + "selectedDistrict.index": 0, + "selectedDistrict.code": t.code, + "selectedDistrict.fullName": t.fullName + }); + }).catch(function(e) { + console.log(e); + }); + }, + tapProvince: function(d, l) { + var c = d.currentTarget.dataset; + (0, e.Promise)(wx.request, { + url: t + c.code, + method: "GET" + }).then(function(d) { + return a.addDot(d.data.result), l.setData({ + cityData: d.data.result, + "selectedProvince.code": c.code, + "selectedProvince.fullName": c.fullName, + "selectedCity.code": d.data.result[0].code, + "selectedCity.fullName": d.data.result[0].fullName + }), (0, e.Promise)(wx.request, { + url: t + d.data.result[0].code, + method: "GET" + }); + }).then(function(e) { + a.addDot(e.data.result), l.setData({ + districtData: e.data.result, + "selectedProvince.index": d.currentTarget.dataset.index, + "selectedCity.index": 0, + "selectedDistrict.index": 0, + "selectedDistrict.code": e.data.result[0].code, + "selectedDistrict.fullName": e.data.result[0].fullName + }); + }).catch(function(e) { + console.log(e); + }); + }, + tapCity: function(d, l) { + var c = d.currentTarget.dataset; + (0, e.Promise)(wx.request, { + url: t + c.code, + method: "GET" + }).then(function(e) { + a.addDot(e.data.result), l.setData({ + districtData: e.data.result, + "selectedCity.index": d.currentTarget.dataset.index, + "selectedCity.code": c.code, + "selectedCity.fullName": c.fullName, + "selectedDistrict.index": 0, + "selectedDistrict.code": e.data.result[0].code, + "selectedDistrict.fullName": e.data.result[0].fullName + }); + }).catch(function(e) { + console.log(e); + }); + }, + tapDistrict: function(e, t) { + var a = e.currentTarget.dataset; + t.setData({ + "selectedDistrict.index": e.currentTarget.dataset.index, + "selectedDistrict.code": a.code, + "selectedDistrict.fullName": a.fullName + }); + }, + confirm: function(e, t) { + t.setData({ + address: t.data.selectedProvince.fullName + " " + t.data.selectedCity.fullName + " " + t.data.selectedDistrict.fullName, + isShow: !1 + }); + }, + cancel: function(e) { + e.setData({ + isShow: !1 + }); + }, + choosearea: function(e) { + e.setData({ + isShow: !0 + }); + } +}; + +module.exports = { + SA: a +}; \ No newline at end of file diff --git a/we7/pages/selectarea/selectarea.wxml b/we7/pages/selectarea/selectarea.wxml new file mode 100644 index 0000000..c3fb84d --- /dev/null +++ b/we7/pages/selectarea/selectarea.wxml @@ -0,0 +1,19 @@ + + + + 取消 + 确定 + + + + {{item.fullNameDot}} + + + {{item.fullNameDot}} + + + {{item.fullNameDot}} + + + + diff --git a/we7/pages/selectarea/selectarea.wxss b/we7/pages/selectarea/selectarea.wxss new file mode 100644 index 0000000..eb75889 --- /dev/null +++ b/we7/pages/selectarea/selectarea.wxss @@ -0,0 +1,59 @@ +.shade { + background-color: #ccc; + opacity: .6; + position: absolute; + display: none; + left: 0; + top: 0; + width: 100%; + height: 100%; +} + +.show { + display: block; +} + +.handle-bar { + padding: 0 15px; + height: 80rpx; + background-color: #eee; +} + +.confirm { + text-align: right; +} + +.selector-area { + height: 600rpx; + width: 100%; + background-color: #e6ebf3; + position: absolute; + bottom: 0; +} + +.selector { + text-align: center; +} + +.picker { + font-size: 32rpx; + height: 60rpx; + line-height: 60rpx; +} + +.actived { + color: blue; +} + +.area-selector { + height: 520rpx; +} + +.white-shade { + position: absolute; + width: 100%; + height: 60rpx; + background-color: #fff; + left: 0; + margin-top: 240rpx; +} \ No newline at end of file diff --git a/we7/pages/templates/footer.wxml b/we7/pages/templates/footer.wxml new file mode 100644 index 0000000..c803d9e --- /dev/null +++ b/we7/pages/templates/footer.wxml @@ -0,0 +1,24 @@ + + diff --git a/we7/pages/templates/footer.wxss b/we7/pages/templates/footer.wxss new file mode 100644 index 0000000..e69de29 diff --git a/we7/pages/templates/news.wxml b/we7/pages/templates/news.wxml new file mode 100644 index 0000000..b2f2dd1 --- /dev/null +++ b/we7/pages/templates/news.wxml @@ -0,0 +1,14 @@ + diff --git a/we7/pages/templates/news.wxss b/we7/pages/templates/news.wxss new file mode 100644 index 0000000..e69de29 diff --git a/we7/pages/user/index/index.js b/we7/pages/user/index/index.js new file mode 100644 index 0000000..fe1bfa6 --- /dev/null +++ b/we7/pages/user/index/index.js @@ -0,0 +1,14 @@ +var n = getApp(); + +Page({ + data: { + text: "微擎我的" + }, + onLoad: function(o) { + n.util.footer(this); + }, + onReady: function() {}, + onShow: function() {}, + onHide: function() {}, + onUnload: function() {} +}); \ No newline at end of file diff --git a/we7/pages/user/index/index.json b/we7/pages/user/index/index.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/we7/pages/user/index/index.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/we7/pages/user/index/index.wxml b/we7/pages/user/index/index.wxml new file mode 100644 index 0000000..a3893c3 --- /dev/null +++ b/we7/pages/user/index/index.wxml @@ -0,0 +1,7 @@ + + + {{text}} + + + + diff --git a/we7/pages/user/index/index.wxss b/we7/pages/user/index/index.wxss new file mode 100644 index 0000000..1e42677 --- /dev/null +++ b/we7/pages/user/index/index.wxss @@ -0,0 +1,19 @@ +.container { + height: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + padding: 200rpx 0; + box-sizing: border-box; +} + +.textStyle { + display: flex; + flex-direction: column; + align-items: center; +} + +.textContainer { + margin-top: 200px; +} \ No newline at end of file diff --git a/we7/resource/icon/home.png b/we7/resource/icon/home.png new file mode 100644 index 0000000000000000000000000000000000000000..35deb76f7d25121bb89755d26fb9fa26b7c88cbf GIT binary patch literal 1478 zcmd6n`%{ux7{?7U1=D~^StUhyi7hWFjfSR1zzQg0>1Ik-m82oOyk=gu+6{5X7q37U z)JkhI9cxXc%(5~o3n@m;%G^oQMOt;Uyq1@&_VtJTrN3a$%sJ2be!ky%o;kl9#a02w z2JL`0Gc&W{aoOQ;ZCl({OX0I7>S~#pnMDDQz2)bOv+w%?@>cK1>;BrDh2||Q_L#7S z3O+F}16lQ3$0MS8M(jJ8_4eUWP{joKM@bgOoqb=!#9Z$T8jbDt#>awbT&?ftvzl|h z9UC^hvPf?f&)gCZ>7q|Z`z(P+eYY|?s{!gkXM}KCq)t-za#NZnqtCD1O-NrJ1SAh6 z6G$?1&LbCGeA0FTDdt9Z0Shp+SAtOXpFKXdD$h(E4ET|IVW1z`1cM(~a5yMwn9hE1 z;Qcxn_}wmK0r^2SbT)HJqI1EOz6>UiF8J2KvC?M}_}bJxh(W!~r`W3M4#nlMfKfvf z4CIbS;CY@A3KlS(D1qC*;d|SvlBE$vEI^vz0fT~b!6^ZU6JLChS5Gw5>hA5?_j~CW z;Ww&pxhYnCH&{F_c%TwO7sLTKDVUZS_52mso zoPSKk<7+P|C?c--yl#ce6?njDoJ+#=;hgP*H+`R{TLQ-O8 zR}}%cT!{_@XIJgOp+XdcPO5P;(4P+gSdM}lFCbh|h$>s_16786x(`)dg3*0q(?BCV zP{lt~a)Shfhb#14MO-?YMl<#VsPePv|6qB8t=r1E4wS+)sKU#5 zpor_>QkbTwpn=!JfKyPMKU*7T#5=1-A^PJGzn&77>QLoU-G<3g_Ke_+XTO=*f z9hs6aOgUkaqw`Rr1=xEsuyajjLsv?TMT)mxM=rTyzFQu89n&T#Ysnz#_XapG^aG6> zXJ_pY)gPtLe6DTo^zLb0BkOH9mJLriER>i`13R5E?&{=Ylv}BF#~H}3K7*!fETW~> z=AJR2h&tDl!x|G$RES9!nLnP})gRHaQJXP;w5pvlH;B)96Eaq(FhH!uKn!F!5hJszU=R^lu8e^sDG@T*viM&FrMR{Rpggkd@YmN8*F#mZcZUxf&i8y-hXV1N z4J-{bG&DB*5pW^kKD;sYbinoY(bifG4IO_!oX_F(nuV#C1&G*fj~C%5a}!L5%kDHx zS4l*$%8NO8QV=VL56hwD=_X}FzQX2ENyauOIud&GJe;krHdEc@F7#Pa@JF5xu=GR4 z+g&jc7fJi0Cv7H$)W*ghWmbz)LI2>sH#F#6R=ct=Jd=iZ=)|jk~rT!XQjgN{X=vS<_`6%rtFe zj>62frYO<4zJc4e3_@koa}eAfqX1==g^Ll}Ex8}$zKzcW1-3973MV0+f`nuEH%9D3 z%^4y<|4Oqfcw}XW0sXw!V2B;jULd>6Dhg!%hpZR`i-{G`r&SdQ3jGZm6_iScV5V^ouPOXNUA!l1>5cF{5g1V}(Ab3+>| z7gaiK<3|QiBk!%r_f$`_G#e~7 zJKEsKdygwEnYm;Z*$1&^Oj+}0zd{wElW|<}z+xO+7%W12uw@pMTY(5qUudI48Ow~P z#O)3iO+eWJg=qI6gc+>(9Wz=ofb?P)mZQ7y2z&eD1v5T@`4g0VI1u`tbt6R7#2`4@ z7b}@JOhru<1Oqd?3Kzme4`C6+?Zt~G{Hsjz1Ke&mN+E}!122{W{CpNU1ILAlDqYyO z{GbAdvQSf=9N=FXXwSqY`-&za;ODg|c4Z7eHwAtSZgiC;`HJ$<&C`~JPA|V+BzfPO z>6I#tsYA>2)8b<~q&TM5SVqfno`9UnGfh8oK-)6fgQ0D{bVi23l!7(ig| z+}s-%K-=+;H+$d8kFZa)f8ljBXf`bSyE>LGHX}-j{jQeAw2+KodSQ?`eZFM{W~=_Y9qY-``7o><@w}E;*b>e$K&rC(9n@`rz=3Rl*pk^jdpM96C+(jc4P%&H&g*w*%pafC0p?P|GB&|0FWKiHnE9RPhK>37}bfuU*5#8?%zt4juH zi&9^h9c^=8e3ExeogqLKVYHJ`r42#}@v%zRl{zIRMx?91i^m4gh##<%1=4E8i~~S- z)*VHuvyf@mBGal)WhDTS!Lo%N_@Hzdmx6kmj3NXwGyMqE$oqv>m$5KV8O!Z9V z)V!-RMSwb(A`hX(xHfeA2H0}m=BlkvsRiOoTbUS}t;4arUWjjiw;?hsBS-9=NY3bZ zn6|(&?Xj63q#D&Gk(FTY7XSesANVN|EF0^!=Ci6;uV+}h0(6OH)v7O5>`!{5b{kl# z1_a(EP(|?U=<}}m-f&se&9J-Ut@{^cuUmqyFMZeqFTJeImB}W@IjwVk$Srg|35qWJ zny!bl+ooy4#O&6F1N3On(&Ph7jCL6epz9&9cA6%He2g}{^#1`K(MJrVIt{Gfk=4vj z9ywDLf#s~Hi(^Q|oVRxm7S49(X$TB^ zWL8uty>AIe>C^689;&O3SUzbw_#|F!wP{^LRX$sIR`?wk z@2)<$j9>rVJJ#8Ddv@#=&-wM?(Yv?}FX0lexc`5wu(@~k^39LOAAkH&XlPO_dg8n_ z|JO%#c7I%?oE5&Z7tycWs`zH zBS*@^5(S&@SO4)D{o2R0(!46stY_bPhgZFEGk6!j*Pc+dSUm0Ui{D&J?!9QeX@H_+ zZrqHk|6}cKtyvEJFRDt^`oFH|SIt{aptsRow68!xHg5BuvL8J6&CeGu{k^{Ozg3N0 z{I`>wc~!oimg73+Q<;!qLr*!zxK8EEv^ zUHUyhH(YtW&j4tD(0Vc@{n#I!>^ff>FVV=doOx%}p1U_6zI-u-4&_MH#y4J(-fJN3c0XLdaHG}M1J Y=jr@V7u(PZD&-hFUHx3vIVCg!0LdElp8x;= literal 0 HcmV?d00001 diff --git a/we7/resource/icon/hotelselect.png b/we7/resource/icon/hotelselect.png new file mode 100644 index 0000000000000000000000000000000000000000..7cd8e1978b0cf1bd62095cd27a1c541e1bf459d7 GIT binary patch literal 1372 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST~P>fmPYl#WAE}&fB{OeHVKQG+gXt zzOZcLbkAfxX_m-dF>B`8kKLS9jHk!042d!iy1Z^b_r1xlxbFUY&D?2tW_v!+9Apsi z2Hc5lL6q8Yq$|8772S!MQkX64!W|Mva)`J?FX$NJ5`etvS?&Qw{k z^N-E1ocUJ|pMJXhy@xNyl6ekNf*!VwCQ1{km@-`yzOr2EaCpVJM6mISu!l0!O7#hD zEJ6MXz1S3CayN`E~t_<*IYr57*q%U%@2U;lReCB+$si;iAAK zDbV4-Vx%C@$dTfpFq?JL!S^@MpSk?<)1FVJx7r-Oaiu(cp2*n9(SnKJh@QA;zwYga z<7RM=KQ`Xh`p)(#4zJe6%{Wybe)HkJ zr6A8UB|4zsc#8?Lb?HA}mQ==7wzYqL{e5QfolSrHEB&w6vwT|rv@z$OXm;AZTk)nV z|L|@9_2x9Ei^5C?rbZ4GVGm#sq%d&;9qyyh=)f|GQw10>MvW{?f*xuUfR>zO5d!*$ zEX5maCh-2d^7PgHi**+J{}~qdMVG}(G_tH_eptI(zXxdjmD{z6K;xI(d&jK|wCgKa znrY?s--kF<1U&ZM6?X$V>DAkP20-@(<$rG#^iY^kg-7dZ=8tJdzk}6JV=sFA`0Tke zl6&s{O(x$9Bn1x8zn{PEDM~x{p=6iMdYi+Ce}4Ua#xn0F$djN{K)grD2!n)Dh3$6t z-kh0p@b+DMP`FVwD)EH_(B?gush5ZZPOcJ-z3+jgNt~5A-@l4o`*i=uJllW$&)a9O z>%QEab-(=Q?UTJfeUt@~+0gOkKgW+DmuEnBjnsZdze~%fUrdU54wCY8^>bP0l+XkK D4pS=$ literal 0 HcmV?d00001 diff --git a/we7/resource/icon/img_1.png b/we7/resource/icon/img_1.png new file mode 100644 index 0000000000000000000000000000000000000000..09a852cf6c6faf303b6dfd89aa67c288d9f411e5 GIT binary patch literal 1286 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST~P>f#s~Hi(^Q|oVRxm7S49(X$TB^ zWL8uty>AIe>C^689;&O3SUzbw_#|F!wP{^LRX$sIR`?wk z@2)<$j9>rVJJ#8Ddv@#=&-wM?(Yv?}FX0lexc`5wu(@~k^39LOAAkH&XlPO_dg8n_ z|JO%#c7I%?oE5&Z7tycWs`zH zBS*@^5(S&@SO4)D{o2R0(!46stY_bPhgZFEGk6!j*Pc+dSUm0Ui{D&J?!9QeX@H_+ zZrqHk|6}cKtyvEJFRDt^`oFH|SIt{aptsRow68!xHg5BuvL8J6&CeGu{k^{Ozg3N0 z{I`>wc~!oimg73+Q<;!qLr*!zxK8EEv^ zUHUyhH(YtW&j4tD(0Vc@{n#I!>^ff>FVV=doOx%}p1U_6zI-u-4&_MH#y4J(-fJN3c0XLdaHG}M1J Y=jr@V7u(PZD&-hFUHx3vIVCg!0LdElp8x;= literal 0 HcmV?d00001 diff --git a/we7/resource/icon/img_2.png b/we7/resource/icon/img_2.png new file mode 100644 index 0000000000000000000000000000000000000000..7cd8e1978b0cf1bd62095cd27a1c541e1bf459d7 GIT binary patch literal 1372 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST~P>fmPYl#WAE}&fB{OeHVKQG+gXt zzOZcLbkAfxX_m-dF>B`8kKLS9jHk!042d!iy1Z^b_r1xlxbFUY&D?2tW_v!+9Apsi z2Hc5lL6q8Yq$|8772S!MQkX64!W|Mva)`J?FX$NJ5`etvS?&Qw{k z^N-E1ocUJ|pMJXhy@xNyl6ekNf*!VwCQ1{km@-`yzOr2EaCpVJM6mISu!l0!O7#hD zEJ6MXz1S3CayN`E~t_<*IYr57*q%U%@2U;lReCB+$si;iAAK zDbV4-Vx%C@$dTfpFq?JL!S^@MpSk?<)1FVJx7r-Oaiu(cp2*n9(SnKJh@QA;zwYga z<7RM=KQ`Xh`p)(#4zJe6%{Wybe)HkJ zr6A8UB|4zsc#8?Lb?HA}mQ==7wzYqL{e5QfolSrHEB&w6vwT|rv@z$OXm;AZTk)nV z|L|@9_2x9Ei^5C?rbZ4GVGm#sq%d&;9qyyh=)f|GQw10>MvW{?f*xuUfR>zO5d!*$ zEX5maCh-2d^7PgHi**+J{}~qdMVG}(G_tH_eptI(zXxdjmD{z6K;xI(d&jK|wCgKa znrY?s--kF<1U&ZM6?X$V>DAkP20-@(<$rG#^iY^kg-7dZ=8tJdzk}6JV=sFA`0Tke zl6&s{O(x$9Bn1x8zn{PEDM~x{p=6iMdYi+Ce}4Ua#xn0F$djN{K)grD2!n)Dh3$6t z-kh0p@b+DMP`FVwD)EH_(B?gush5ZZPOcJ-z3+jgNt~5A-@l4o`*i=uJllW$&)a9O z>%QEab-(=Q?UTJfeUt@~+0gOkKgW+DmuEnBjnsZdze~%fUrdU54wCY8^>bP0l+XkK D4pS=$ literal 0 HcmV?d00001 diff --git a/we7/resource/icon/img_3.png b/we7/resource/icon/img_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1b54d647b1c229741cf475d80ef3abf70a7629a1 GIT binary patch literal 3061 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 USYBBI+If)SRa3ok9Zb|e0DN#?3;+NC literal 0 HcmV?d00001 diff --git a/we7/resource/icon/img_4.png b/we7/resource/icon/img_4.png new file mode 100644 index 0000000000000000000000000000000000000000..7d329c6eba5007530b37e6729467d11e4ab9a7df GIT binary patch literal 3870 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 USYBBI+If)SRa3ok9Zb|e0DN#?3;+NC literal 0 HcmV?d00001 diff --git a/we7/resource/icon/orderselect.png b/we7/resource/icon/orderselect.png new file mode 100644 index 0000000000000000000000000000000000000000..7d329c6eba5007530b37e6729467d11e4ab9a7df GIT binary patch literal 3870 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 literal 0 HcmV?d00001 diff --git a/we7/resource/icon/payselect.png b/we7/resource/icon/payselect.png new file mode 100644 index 0000000000000000000000000000000000000000..df5d8ca3ccf359a3b2f11df034f1f5a5c117562d GIT binary patch literal 5882 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 literal 0 HcmV?d00001 diff --git a/we7/resource/icon/todo.png b/we7/resource/icon/todo.png new file mode 100644 index 0000000000000000000000000000000000000000..2bbdedd7db63004ee9e2f490f64b0b7578bcc30c GIT binary patch literal 4519 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 literal 0 HcmV?d00001 diff --git a/we7/resource/images/home.png b/we7/resource/images/home.png new file mode 100644 index 0000000000000000000000000000000000000000..35deb76f7d25121bb89755d26fb9fa26b7c88cbf GIT binary patch literal 1478 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 Y=jr@V7u(PZD&-hFUHx3vIVCg!0LdElp8x;= literal 0 HcmV?d00001 diff --git a/we7/resource/images/hotelselect.png b/we7/resource/images/hotelselect.png new file mode 100644 index 0000000000000000000000000000000000000000..7cd8e1978b0cf1bd62095cd27a1c541e1bf459d7 GIT binary patch literal 1372 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST~P>fmPYl#WAE}&fB{OeHVKQG+gXt zzOZcLbkAfxX_m-dF>B`8kKLS9jHk!042d!iy1Z^b_r1xlxbFUY&D?2tW_v!+9Apsi z2Hc5lL6q8Yq$|8772S!MQkX64!W|Mva)`J?FX$NJ5`etvS?&Qw{k z^N-E1ocUJ|pMJXhy@xNyl6ekNf*!VwCQ1{km@-`yzOr2EaCpVJM6mISu!l0!O7#hD zEJ6MXz1S3CayN`E~t_<*IYr57*q%U%@2U;lReCB+$si;iAAK zDbV4-Vx%C@$dTfpFq?JL!S^@MpSk?<)1FVJx7r-Oaiu(cp2*n9(SnKJh@QA;zwYga z<7RM=KQ`Xh`p)(#4zJe6%{Wybe)HkJ zr6A8UB|4zsc#8?Lb?HA}mQ==7wzYqL{e5QfolSrHEB&w6vwT|rv@z$OXm;AZTk)nV z|L|@9_2x9Ei^5C?rbZ4GVGm#sq%d&;9qyyh=)f|GQw10>MvW{?f*xuUfR>zO5d!*$ zEX5maCh-2d^7PgHi**+J{}~qdMVG}(G_tH_eptI(zXxdjmD{z6K;xI(d&jK|wCgKa znrY?s--kF<1U&ZM6?X$V>DAkP20-@(<$rG#^iY^kg-7dZ=8tJdzk}6JV=sFA`0Tke zl6&s{O(x$9Bn1x8zn{PEDM~x{p=6iMdYi+Ce}4Ua#xn0F$djN{K)grD2!n)Dh3$6t z-kh0p@b+DMP`FVwD)EH_(B?gush5ZZPOcJ-z3+jgNt~5A-@l4o`*i=uJllW$&)a9O z>%QEab-(=Q?UTJfeUt@~+0gOkKgW+DmuEnBjnsZdze~%fUrdU54wCY8^>bP0l+XkK D4pS=$ literal 0 HcmV?d00001 diff --git a/we7/resource/images/user.png b/we7/resource/images/user.png new file mode 100644 index 0000000000000000000000000000000000000000..cb3f1a85dc4a5d62b33f81eec018ef7317e8184b GIT binary patch literal 3925 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 literal 0 HcmV?d00001 diff --git a/we7/resource/images/xiala.png b/we7/resource/images/xiala.png new file mode 100644 index 0000000000000000000000000000000000000000..58afd325e8feba06fbdc209a822dfb3c3f9a0ff5 GIT binary patch literal 3792 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 rPCz@z97Mbv|9JRFDCR%&^+)WT2!ZX|Jx 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 literal 0 HcmV?d00001 diff --git a/we7/resource/js/base64.js b/we7/resource/js/base64.js new file mode 100644 index 0000000..839cd43 --- /dev/null +++ b/we7/resource/js/base64.js @@ -0,0 +1,44 @@ +module.exports = { + base64_encode: function(r) { + for (var e, a, t, h = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", o = 0, c = r.length, d = ""; o < c; ) { + if (e = 255 & r.charCodeAt(o++), o == c) { + d += h.charAt(e >> 2), d += h.charAt((3 & e) << 4), d += "=="; + break; + } + if (a = r.charCodeAt(o++), o == c) { + d += h.charAt(e >> 2), d += h.charAt((3 & e) << 4 | (240 & a) >> 4), d += h.charAt((15 & a) << 2), + d += "="; + break; + } + t = r.charCodeAt(o++), d += h.charAt(e >> 2), d += h.charAt((3 & e) << 4 | (240 & a) >> 4), + d += h.charAt((15 & a) << 2 | (192 & t) >> 6), d += h.charAt(63 & t); + } + return d; + }, + base64_decode: function(r) { + for (var e, a, t, h, o = new Array(-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1), c = 0, d = r.length, i = ""; c < d; ) { + do { + e = o[255 & r.charCodeAt(c++)]; + } while (c < d && -1 == e); + if (-1 == e) break; + do { + a = o[255 & r.charCodeAt(c++)]; + } while (c < d && -1 == a); + if (-1 == a) break; + i += String.fromCharCode(e << 2 | (48 & a) >> 4); + do { + if (61 == (t = 255 & r.charCodeAt(c++))) return i; + t = o[t]; + } while (c < d && -1 == t); + if (-1 == t) break; + i += String.fromCharCode((15 & a) << 4 | (60 & t) >> 2); + do { + if (61 == (h = 255 & r.charCodeAt(c++))) return i; + h = o[h]; + } while (c < d && -1 == h); + if (-1 == h) break; + i += String.fromCharCode((3 & t) << 6 | h); + } + return i; + } +}; \ No newline at end of file diff --git a/we7/resource/js/htmlToWxml.js b/we7/resource/js/htmlToWxml.js new file mode 100644 index 0000000..9d8bd01 --- /dev/null +++ b/we7/resource/js/htmlToWxml.js @@ -0,0 +1,199 @@ +function t(t) { + for (var e = {}, r = t.split(","), a = 0; a < r.length; a++) e[r[a]] = !0; + return e; +} + +function e(t) { + return '"' + t + '"'; +} + +function r(t) { + return t.replace(/<\?xml.*\?>\n/, "").replace(/\n/, "").replace(/\n/, ""); +} + +var a = /^<([-A-Za-z0-9_]+)((?:\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/, i = /^<\/([-A-Za-z0-9_]+)[^>]*>/, n = /([a-zA-Z_:][-a-zA-Z0-9_:.]*)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g, s = t("area,base,basefont,br,col,frame,hr,img,input,link,meta,param,embed,command,keygen,source,track,wbr"), o = t("a,address,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"), c = t("abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,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"), l = t("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr"), h = t("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"), d = t("script,style"), u = function(t, e) { + function r(t, r) { + if (r) for (a = m.length - 1; a >= 0 && m[a] != r; a--) ; else var a = 0; + if (a >= 0) { + for (var i = m.length - 1; i >= a; i--) e.end && e.end(m[i]); + m.length = a; + } + } + var u, f, p, m = [], g = t; + for (m.last = function() { + return this[this.length - 1]; + }; t; ) { + if (f = !0, m.last() && d[m.last()]) t = t.replace(new RegExp("([\\s\\S]*?)]*>"), function(t, r) { + return r = r.replace(/|/g, "$1$2"), e.chars && e.chars(r), + ""; + }), r(0, m.last()); else if (0 == t.indexOf("\x3c!--") ? (u = t.indexOf("--\x3e")) >= 0 && (e.comment && e.comment(t.substring(4, u)), + t = t.substring(u + 3), f = !1) : 0 == t.indexOf(" -1 ? "<" + r.tag + n + "/>" : "<" + r.tag + n + ">" + i + (""); + } + return "text" === r.node ? r.text : "comment" === r.node ? "\x3c!--" + r.text + "--\x3e" : "root" === r.node ? i : void 0; +}; + +var m = function(t) { + for (var e = [], r = [], a = 0, i = t.length; a < i; a++) if (0 == a) { + if ("view" == t[a].type) continue; + e.push(t[a]); + } else if ("view" == t[a].type) { + if (e.length > 0) { + s = { + type: "view", + child: e + }; + r.push(s); + } + e = []; + } else if ("img" == t[a].type) { + if (e.length > 0) { + s = { + type: "view", + child: e + }; + r.push(s); + } + var n = t[a].attr; + t[a].attr.width && -1 === t[a].attr.width.indexOf("%") && -1 === t[a].attr.width.indexOf("px") && (t[a].attr.width = t[a].attr.width + "px"), + t[a].attr.height && -1 === t[a].attr.height.indexOf("%") && -1 === t[a].attr.height.indexOf("px") && (t[a].attr.height = t[a].attr.height + "px"); + s = { + type: "img", + attr: n + }; + r.push(s), e = []; + } else if (e.push(t[a]), a == i - 1) { + var s = { + type: "view", + child: e + }; + r.push(s); + } + return r; +}, g = function(t) { + var e = []; + return function t(r) { + var a = {}; + if ("root" == r.node) ; else if ("element" == r.node) switch (r.tag) { + case "a": + a = { + type: "a", + text: r.child[0].text + }; + break; + + case "img": + a = { + type: "img", + text: r.text + }; + break; + + case "p": + case "div": + a = { + type: "view", + text: r.text + }; + } else "text" == r.node && (a = { + type: "text", + text: r.text + }); + if (r.attr && (a.attr = r.attr), 0 != Object.keys(a).length && e.push(a), "a" != r.tag) { + var i = r.child; + if (i) for (var n in i) t(i[n]); + } + }(t), e; +}; + +module.exports = { + html2json: function(t) { + var e = f.html2json(t); + return e = g(e), e = m(e); + } +}; \ No newline at end of file diff --git a/we7/resource/js/md5.js b/we7/resource/js/md5.js new file mode 100644 index 0000000..db9adfd --- /dev/null +++ b/we7/resource/js/md5.js @@ -0,0 +1,75 @@ +!function(n) { + function r(n, r) { + var t = (65535 & n) + (65535 & r); + return (n >> 16) + (r >> 16) + (t >> 16) << 16 | 65535 & t; + } + function t(n, r) { + return n << r | n >>> 32 - r; + } + function e(n, e, u, o, c, f) { + return r(t(r(r(e, n), r(o, f)), c), u); + } + function u(n, r, t, u, o, c, f) { + return e(r & t | ~r & u, n, r, o, c, f); + } + function o(n, r, t, u, o, c, f) { + return e(r & u | t & ~u, n, r, o, c, f); + } + function c(n, r, t, u, o, c, f) { + return e(r ^ t ^ u, n, r, o, c, f); + } + function f(n, r, t, u, o, c, f) { + return e(t ^ (r | ~u), n, r, o, c, f); + } + function i(n, t) { + n[t >> 5] |= 128 << t % 32, n[14 + (t + 64 >>> 9 << 4)] = t; + var e, i, a, h, g, l = 1732584193, d = -271733879, v = -1732584194, C = 271733878; + for (e = 0; e < n.length; e += 16) i = l, a = d, h = v, g = C, d = f(d = f(d = f(d = f(d = c(d = c(d = c(d = c(d = o(d = o(d = o(d = o(d = u(d = u(d = u(d = u(d, v = u(v, C = u(C, l = u(l, d, v, C, n[e], 7, -680876936), d, v, n[e + 1], 12, -389564586), l, d, n[e + 2], 17, 606105819), C, l, n[e + 3], 22, -1044525330), v = u(v, C = u(C, l = u(l, d, v, C, n[e + 4], 7, -176418897), d, v, n[e + 5], 12, 1200080426), l, d, n[e + 6], 17, -1473231341), C, l, n[e + 7], 22, -45705983), v = u(v, C = u(C, l = u(l, d, v, C, n[e + 8], 7, 1770035416), d, v, n[e + 9], 12, -1958414417), l, d, n[e + 10], 17, -42063), C, l, n[e + 11], 22, -1990404162), v = u(v, C = u(C, l = u(l, d, v, C, n[e + 12], 7, 1804603682), d, v, n[e + 13], 12, -40341101), l, d, n[e + 14], 17, -1502002290), C, l, n[e + 15], 22, 1236535329), v = o(v, C = o(C, l = o(l, d, v, C, n[e + 1], 5, -165796510), d, v, n[e + 6], 9, -1069501632), l, d, n[e + 11], 14, 643717713), C, l, n[e], 20, -373897302), v = o(v, C = o(C, l = o(l, d, v, C, n[e + 5], 5, -701558691), d, v, n[e + 10], 9, 38016083), l, d, n[e + 15], 14, -660478335), C, l, n[e + 4], 20, -405537848), v = o(v, C = o(C, l = o(l, d, v, C, n[e + 9], 5, 568446438), d, v, n[e + 14], 9, -1019803690), l, d, n[e + 3], 14, -187363961), C, l, n[e + 8], 20, 1163531501), v = o(v, C = o(C, l = o(l, d, v, C, n[e + 13], 5, -1444681467), d, v, n[e + 2], 9, -51403784), l, d, n[e + 7], 14, 1735328473), C, l, n[e + 12], 20, -1926607734), v = c(v, C = c(C, l = c(l, d, v, C, n[e + 5], 4, -378558), d, v, n[e + 8], 11, -2022574463), l, d, n[e + 11], 16, 1839030562), C, l, n[e + 14], 23, -35309556), v = c(v, C = c(C, l = c(l, d, v, C, n[e + 1], 4, -1530992060), d, v, n[e + 4], 11, 1272893353), l, d, n[e + 7], 16, -155497632), C, l, n[e + 10], 23, -1094730640), v = c(v, C = c(C, l = c(l, d, v, C, n[e + 13], 4, 681279174), d, v, n[e], 11, -358537222), l, d, n[e + 3], 16, -722521979), C, l, n[e + 6], 23, 76029189), v = c(v, C = c(C, l = c(l, d, v, C, n[e + 9], 4, -640364487), d, v, n[e + 12], 11, -421815835), l, d, n[e + 15], 16, 530742520), C, l, n[e + 2], 23, -995338651), v = f(v, C = f(C, l = f(l, d, v, C, n[e], 6, -198630844), d, v, n[e + 7], 10, 1126891415), l, d, n[e + 14], 15, -1416354905), C, l, n[e + 5], 21, -57434055), v = f(v, C = f(C, l = f(l, d, v, C, n[e + 12], 6, 1700485571), d, v, n[e + 3], 10, -1894986606), l, d, n[e + 10], 15, -1051523), C, l, n[e + 1], 21, -2054922799), v = f(v, C = f(C, l = f(l, d, v, C, n[e + 8], 6, 1873313359), d, v, n[e + 15], 10, -30611744), l, d, n[e + 6], 15, -1560198380), C, l, n[e + 13], 21, 1309151649), v = f(v, C = f(C, l = f(l, d, v, C, n[e + 4], 6, -145523070), d, v, n[e + 11], 10, -1120210379), l, d, n[e + 2], 15, 718787259), C, l, n[e + 9], 21, -343485551), + l = r(l, i), d = r(d, a), v = r(v, h), C = r(C, g); + return [ l, d, v, C ]; + } + function a(n) { + var r, t = "", e = 32 * n.length; + for (r = 0; r < e; r += 8) t += String.fromCharCode(n[r >> 5] >>> r % 32 & 255); + return t; + } + function h(n) { + var r, t = []; + for (t[(n.length >> 2) - 1] = void 0, r = 0; r < t.length; r += 1) t[r] = 0; + var e = 8 * n.length; + for (r = 0; r < e; r += 8) t[r >> 5] |= (255 & n.charCodeAt(r / 8)) << r % 32; + return t; + } + function g(n) { + return a(i(h(n), 8 * n.length)); + } + function l(n, r) { + var t, e, u = h(n), o = [], c = []; + for (o[15] = c[15] = void 0, u.length > 16 && (u = i(u, 8 * n.length)), t = 0; t < 16; t += 1) o[t] = 909522486 ^ u[t], + c[t] = 1549556828 ^ u[t]; + return e = i(o.concat(h(r)), 512 + 8 * r.length), a(i(c.concat(e), 640)); + } + function d(n) { + var r, t, e = ""; + for (t = 0; t < n.length; t += 1) r = n.charCodeAt(t), e += "0123456789abcdef".charAt(r >>> 4 & 15) + "0123456789abcdef".charAt(15 & r); + return e; + } + function v(n) { + return unescape(encodeURIComponent(n)); + } + function C(n) { + return g(v(n)); + } + function s(n) { + return d(C(n)); + } + function A(n, r) { + return l(v(n), v(r)); + } + function m(n, r) { + return d(A(n, r)); + } + module.exports = function(n, r, t) { + return r ? t ? A(r, n) : m(r, n) : t ? C(n) : s(n); + }; +}(); \ No newline at end of file diff --git a/we7/resource/js/underscore.js b/we7/resource/js/underscore.js new file mode 100644 index 0000000..d69bae9 --- /dev/null +++ b/we7/resource/js/underscore.js @@ -0,0 +1,621 @@ +var n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(n) { + return typeof n; +} : function(n) { + return n && "function" == typeof Symbol && n.constructor === Symbol && n !== Symbol.prototype ? "symbol" : typeof n; +}; + +(function() { + function t(n) { + function t(t, r, e, u, i, o) { + for (;i >= 0 && i < o; i += n) { + var a = u ? u[i] : i; + e = r(e, t[a], a, t); + } + return e; + } + return function(r, e, u, i) { + e = g(e, i, 4); + var o = !_(r) && d.keys(r), a = (o || r).length, c = n > 0 ? 0 : a - 1; + return arguments.length < 3 && (u = r[o ? o[c] : c], c += n), t(r, e, u, o, c, a); + }; + } + function r(n) { + return function(t, r, e) { + r = m(r, e); + for (var u = null != t && t.length, i = n > 0 ? 0 : u - 1; i >= 0 && i < u; i += n) if (r(t[i], i, t)) return i; + return -1; + }; + } + function e(n, t) { + var r = S.length, e = n.constructor, u = d.isFunction(e) && e.prototype || i, o = "constructor"; + for (d.has(n, o) && !d.contains(t, o) && t.push(o); r--; ) (o = S[r]) in n && n[o] !== u[o] && !d.contains(t, o) && t.push(o); + } + var u = Array.prototype, i = Object.prototype, o = Function.prototype, a = u.push, c = u.slice, l = i.toString, f = i.hasOwnProperty, s = Array.isArray, p = Object.keys, h = o.bind, v = Object.create, y = function() {}, d = function n(t) { + return t instanceof n ? t : this instanceof n ? void (this._wrapped = t) : new n(t); + }; + module.exports = d, d.VERSION = "1.8.2"; + var g = function(n, t, r) { + if (void 0 === t) return n; + switch (null == r ? 3 : r) { + case 1: + return function(r) { + return n.call(t, r); + }; + + case 2: + return function(r, e) { + return n.call(t, r, e); + }; + + case 3: + return function(r, e, u) { + return n.call(t, r, e, u); + }; + + case 4: + return function(r, e, u, i) { + return n.call(t, r, e, u, i); + }; + } + return function() { + return n.apply(t, arguments); + }; + }, m = function(n, t, r) { + return null == n ? d.identity : d.isFunction(n) ? g(n, t, r) : d.isObject(n) ? d.matcher(n) : d.property(n); + }; + d.iteratee = function(n, t) { + return m(n, t, 1 / 0); + }; + var b = function(n, t) { + return function(r) { + var e = arguments.length; + if (e < 2 || null == r) return r; + for (var u = 1; u < e; u++) for (var i = arguments[u], o = n(i), a = o.length, c = 0; c < a; c++) { + var l = o[c]; + t && void 0 !== r[l] || (r[l] = i[l]); + } + return r; + }; + }, j = function(n) { + if (!d.isObject(n)) return {}; + if (v) return v(n); + y.prototype = n; + var t = new y(); + return y.prototype = null, t; + }, x = Math.pow(2, 53) - 1, _ = function(n) { + var t = null != n && n.length; + return "number" == typeof t && t >= 0 && t <= x; + }; + d.each = d.forEach = function(n, t, r) { + t = g(t, r); + var e, u; + if (_(n)) for (e = 0, u = n.length; e < u; e++) t(n[e], e, n); else { + var i = d.keys(n); + for (e = 0, u = i.length; e < u; e++) t(n[i[e]], i[e], n); + } + return n; + }, d.map = d.collect = function(n, t, r) { + t = m(t, r); + for (var e = !_(n) && d.keys(n), u = (e || n).length, i = Array(u), o = 0; o < u; o++) { + var a = e ? e[o] : o; + i[o] = t(n[a], a, n); + } + return i; + }, d.reduce = d.foldl = d.inject = t(1), d.reduceRight = d.foldr = t(-1), d.find = d.detect = function(n, t, r) { + var e; + if (void 0 !== (e = _(n) ? d.findIndex(n, t, r) : d.findKey(n, t, r)) && -1 !== e) return n[e]; + }, d.filter = d.select = function(n, t, r) { + var e = []; + return t = m(t, r), d.each(n, function(n, r, u) { + t(n, r, u) && e.push(n); + }), e; + }, d.reject = function(n, t, r) { + return d.filter(n, d.negate(m(t)), r); + }, d.every = d.all = function(n, t, r) { + t = m(t, r); + for (var e = !_(n) && d.keys(n), u = (e || n).length, i = 0; i < u; i++) { + var o = e ? e[i] : i; + if (!t(n[o], o, n)) return !1; + } + return !0; + }, d.some = d.any = function(n, t, r) { + t = m(t, r); + for (var e = !_(n) && d.keys(n), u = (e || n).length, i = 0; i < u; i++) { + var o = e ? e[i] : i; + if (t(n[o], o, n)) return !0; + } + return !1; + }, d.contains = d.includes = d.include = function(n, t, r) { + return _(n) || (n = d.values(n)), d.indexOf(n, t, "number" == typeof r && r) >= 0; + }, d.invoke = function(n, t) { + var r = c.call(arguments, 2), e = d.isFunction(t); + return d.map(n, function(n) { + var u = e ? t : n[t]; + return null == u ? u : u.apply(n, r); + }); + }, d.pluck = function(n, t) { + return d.map(n, d.property(t)); + }, d.where = function(n, t) { + return d.filter(n, d.matcher(t)); + }, d.findWhere = function(n, t) { + return d.find(n, d.matcher(t)); + }, d.max = function(n, t, r) { + var e, u, i = -1 / 0, o = -1 / 0; + if (null == t && null != n) for (var a = 0, c = (n = _(n) ? n : d.values(n)).length; a < c; a++) (e = n[a]) > i && (i = e); else t = m(t, r), + d.each(n, function(n, r, e) { + ((u = t(n, r, e)) > o || u === -1 / 0 && i === -1 / 0) && (i = n, o = u); + }); + return i; + }, d.min = function(n, t, r) { + var e, u, i = 1 / 0, o = 1 / 0; + if (null == t && null != n) for (var a = 0, c = (n = _(n) ? n : d.values(n)).length; a < c; a++) (e = n[a]) < i && (i = e); else t = m(t, r), + d.each(n, function(n, r, e) { + ((u = t(n, r, e)) < o || u === 1 / 0 && i === 1 / 0) && (i = n, o = u); + }); + return i; + }, d.shuffle = function(n) { + for (var t, r = _(n) ? n : d.values(n), e = r.length, u = Array(e), i = 0; i < e; i++) (t = d.random(0, i)) !== i && (u[i] = u[t]), + u[t] = r[i]; + return u; + }, d.sample = function(n, t, r) { + return null == t || r ? (_(n) || (n = d.values(n)), n[d.random(n.length - 1)]) : d.shuffle(n).slice(0, Math.max(0, t)); + }, d.sortBy = function(n, t, r) { + return t = m(t, r), d.pluck(d.map(n, function(n, r, e) { + return { + value: n, + index: r, + criteria: t(n, r, e) + }; + }).sort(function(n, t) { + var r = n.criteria, e = t.criteria; + if (r !== e) { + if (r > e || void 0 === r) return 1; + if (r < e || void 0 === e) return -1; + } + return n.index - t.index; + }), "value"); + }; + var w = function(n) { + return function(t, r, e) { + var u = {}; + return r = m(r, e), d.each(t, function(e, i) { + var o = r(e, i, t); + n(u, e, o); + }), u; + }; + }; + d.groupBy = w(function(n, t, r) { + d.has(n, r) ? n[r].push(t) : n[r] = [ t ]; + }), d.indexBy = w(function(n, t, r) { + n[r] = t; + }), d.countBy = w(function(n, t, r) { + d.has(n, r) ? n[r]++ : n[r] = 1; + }), d.toArray = function(n) { + return n ? d.isArray(n) ? c.call(n) : _(n) ? d.map(n, d.identity) : d.values(n) : []; + }, d.size = function(n) { + return null == n ? 0 : _(n) ? n.length : d.keys(n).length; + }, d.partition = function(n, t, r) { + t = m(t, r); + var e = [], u = []; + return d.each(n, function(n, r, i) { + (t(n, r, i) ? e : u).push(n); + }), [ e, u ]; + }, d.first = d.head = d.take = function(n, t, r) { + if (null != n) return null == t || r ? n[0] : d.initial(n, n.length - t); + }, d.initial = function(n, t, r) { + return c.call(n, 0, Math.max(0, n.length - (null == t || r ? 1 : t))); + }, d.last = function(n, t, r) { + if (null != n) return null == t || r ? n[n.length - 1] : d.rest(n, Math.max(0, n.length - t)); + }, d.rest = d.tail = d.drop = function(n, t, r) { + return c.call(n, null == t || r ? 1 : t); + }, d.compact = function(n) { + return d.filter(n, d.identity); + }; + var A = function n(t, r, e, u) { + for (var i = [], o = 0, a = u || 0, c = t && t.length; a < c; a++) { + var l = t[a]; + if (_(l) && (d.isArray(l) || d.isArguments(l))) { + r || (l = n(l, r, e)); + var f = 0, s = l.length; + for (i.length += s; f < s; ) i[o++] = l[f++]; + } else e || (i[o++] = l); + } + return i; + }; + d.flatten = function(n, t) { + return A(n, t, !1); + }, d.without = function(n) { + return d.difference(n, c.call(arguments, 1)); + }, d.uniq = d.unique = function(n, t, r, e) { + if (null == n) return []; + d.isBoolean(t) || (e = r, r = t, t = !1), null != r && (r = m(r, e)); + for (var u = [], i = [], o = 0, a = n.length; o < a; o++) { + var c = n[o], l = r ? r(c, o, n) : c; + t ? (o && i === l || u.push(c), i = l) : r ? d.contains(i, l) || (i.push(l), u.push(c)) : d.contains(u, c) || u.push(c); + } + return u; + }, d.union = function() { + return d.uniq(A(arguments, !0, !0)); + }, d.intersection = function(n) { + if (null == n) return []; + for (var t = [], r = arguments.length, e = 0, u = n.length; e < u; e++) { + var i = n[e]; + if (!d.contains(t, i)) { + for (var o = 1; o < r && d.contains(arguments[o], i); o++) ; + o === r && t.push(i); + } + } + return t; + }, d.difference = function(n) { + var t = A(arguments, !0, !0, 1); + return d.filter(n, function(n) { + return !d.contains(t, n); + }); + }, d.zip = function() { + return d.unzip(arguments); + }, d.unzip = function(n) { + for (var t = n && d.max(n, "length").length || 0, r = Array(t), e = 0; e < t; e++) r[e] = d.pluck(n, e); + return r; + }, d.object = function(n, t) { + for (var r = {}, e = 0, u = n && n.length; e < u; e++) t ? r[n[e]] = t[e] : r[n[e][0]] = n[e][1]; + return r; + }, d.indexOf = function(n, t, r) { + var e = 0, u = n && n.length; + if ("number" == typeof r) e = r < 0 ? Math.max(0, u + r) : r; else if (r && u) return e = d.sortedIndex(n, t), + n[e] === t ? e : -1; + if (t !== t) return d.findIndex(c.call(n, e), d.isNaN); + for (;e < u; e++) if (n[e] === t) return e; + return -1; + }, d.lastIndexOf = function(n, t, r) { + var e = n ? n.length : 0; + if ("number" == typeof r && (e = r < 0 ? e + r + 1 : Math.min(e, r + 1)), t !== t) return d.findLastIndex(c.call(n, 0, e), d.isNaN); + for (;--e >= 0; ) if (n[e] === t) return e; + return -1; + }, d.findIndex = r(1), d.findLastIndex = r(-1), d.sortedIndex = function(n, t, r, e) { + for (var u = (r = m(r, e, 1))(t), i = 0, o = n.length; i < o; ) { + var a = Math.floor((i + o) / 2); + r(n[a]) < u ? i = a + 1 : o = a; + } + return i; + }, d.range = function(n, t, r) { + arguments.length <= 1 && (t = n || 0, n = 0), r = r || 1; + for (var e = Math.max(Math.ceil((t - n) / r), 0), u = Array(e), i = 0; i < e; i++, + n += r) u[i] = n; + return u; + }; + var O = function(n, t, r, e, u) { + if (!(e instanceof t)) return n.apply(r, u); + var i = j(n.prototype), o = n.apply(i, u); + return d.isObject(o) ? o : i; + }; + d.bind = function(n, t) { + if (h && n.bind === h) return h.apply(n, c.call(arguments, 1)); + if (!d.isFunction(n)) throw new TypeError("Bind must be called on a function"); + var r = c.call(arguments, 2); + return function e() { + return O(n, e, t, this, r.concat(c.call(arguments))); + }; + }, d.partial = function(n) { + var t = c.call(arguments, 1); + return function r() { + for (var e = 0, u = t.length, i = Array(u), o = 0; o < u; o++) i[o] = t[o] === d ? arguments[e++] : t[o]; + for (;e < arguments.length; ) i.push(arguments[e++]); + return O(n, r, this, this, i); + }; + }, d.bindAll = function(n) { + var t, r, e = arguments.length; + if (e <= 1) throw new Error("bindAll must be passed function names"); + for (t = 1; t < e; t++) n[r = arguments[t]] = d.bind(n[r], n); + return n; + }, d.memoize = function(n, t) { + var r = function r(e) { + var u = r.cache, i = "" + (t ? t.apply(this, arguments) : e); + return d.has(u, i) || (u[i] = n.apply(this, arguments)), u[i]; + }; + return r.cache = {}, r; + }, d.delay = function(n, t) { + var r = c.call(arguments, 2); + return setTimeout(function() { + return n.apply(null, r); + }, t); + }, d.defer = d.partial(d.delay, d, 1), d.throttle = function(n, t, r) { + var e, u, i, o = null, a = 0; + r || (r = {}); + var c = function() { + a = !1 === r.leading ? 0 : d.now(), o = null, i = n.apply(e, u), o || (e = u = null); + }; + return function() { + var l = d.now(); + a || !1 !== r.leading || (a = l); + var f = t - (l - a); + return e = this, u = arguments, f <= 0 || f > t ? (o && (clearTimeout(o), o = null), + a = l, i = n.apply(e, u), o || (e = u = null)) : o || !1 === r.trailing || (o = setTimeout(c, f)), + i; + }; + }, d.debounce = function(n, t, r) { + var e, u, i, o, a, c = function c() { + var l = d.now() - o; + l < t && l >= 0 ? e = setTimeout(c, t - l) : (e = null, r || (a = n.apply(i, u), + e || (i = u = null))); + }; + return function() { + i = this, u = arguments, o = d.now(); + var l = r && !e; + return e || (e = setTimeout(c, t)), l && (a = n.apply(i, u), i = u = null), a; + }; + }, d.wrap = function(n, t) { + return d.partial(t, n); + }, d.negate = function(n) { + return function() { + return !n.apply(this, arguments); + }; + }, d.compose = function() { + var n = arguments, t = n.length - 1; + return function() { + for (var r = t, e = n[t].apply(this, arguments); r--; ) e = n[r].call(this, e); + return e; + }; + }, d.after = function(n, t) { + return function() { + if (--n < 1) return t.apply(this, arguments); + }; + }, d.before = function(n, t) { + var r; + return function() { + return --n > 0 && (r = t.apply(this, arguments)), n <= 1 && (t = null), r; + }; + }, d.once = d.partial(d.before, 2); + var k = !{ + toString: null + }.propertyIsEnumerable("toString"), S = [ "valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString" ]; + d.keys = function(n) { + if (!d.isObject(n)) return []; + if (p) return p(n); + var t = []; + for (var r in n) d.has(n, r) && t.push(r); + return k && e(n, t), t; + }, d.allKeys = function(n) { + if (!d.isObject(n)) return []; + var t = []; + for (var r in n) t.push(r); + return k && e(n, t), t; + }, d.values = function(n) { + for (var t = d.keys(n), r = t.length, e = Array(r), u = 0; u < r; u++) e[u] = n[t[u]]; + return e; + }, d.mapObject = function(n, t, r) { + t = m(t, r); + for (var e, u = d.keys(n), i = u.length, o = {}, a = 0; a < i; a++) o[e = u[a]] = t(n[e], e, n); + return o; + }, d.pairs = function(n) { + for (var t = d.keys(n), r = t.length, e = Array(r), u = 0; u < r; u++) e[u] = [ t[u], n[t[u]] ]; + return e; + }, d.invert = function(n) { + for (var t = {}, r = d.keys(n), e = 0, u = r.length; e < u; e++) t[n[r[e]]] = r[e]; + return t; + }, d.functions = d.methods = function(n) { + var t = []; + for (var r in n) d.isFunction(n[r]) && t.push(r); + return t.sort(); + }, d.extend = b(d.allKeys), d.extendOwn = d.assign = b(d.keys), d.findKey = function(n, t, r) { + t = m(t, r); + for (var e, u = d.keys(n), i = 0, o = u.length; i < o; i++) if (e = u[i], t(n[e], e, n)) return e; + }, d.pick = function(n, t, r) { + var e, u, i = {}, o = n; + if (null == o) return i; + d.isFunction(t) ? (u = d.allKeys(o), e = g(t, r)) : (u = A(arguments, !1, !1, 1), + e = function(n, t, r) { + return t in r; + }, o = Object(o)); + for (var a = 0, c = u.length; a < c; a++) { + var l = u[a], f = o[l]; + e(f, l, o) && (i[l] = f); + } + return i; + }, d.omit = function(n, t, r) { + if (d.isFunction(t)) t = d.negate(t); else { + var e = d.map(A(arguments, !1, !1, 1), String); + t = function(n, t) { + return !d.contains(e, t); + }; + } + return d.pick(n, t, r); + }, d.defaults = b(d.allKeys, !0), d.create = function(n, t) { + var r = j(n); + return t && d.extendOwn(r, t), r; + }, d.clone = function(n) { + return d.isObject(n) ? d.isArray(n) ? n.slice() : d.extend({}, n) : n; + }, d.tap = function(n, t) { + return t(n), n; + }, d.isMatch = function(n, t) { + var r = d.keys(t), e = r.length; + if (null == n) return !e; + for (var u = Object(n), i = 0; i < e; i++) { + var o = r[i]; + if (t[o] !== u[o] || !(o in u)) return !1; + } + return !0; + }; + var F = function t(r, e, u, i) { + if (r === e) return 0 !== r || 1 / r == 1 / e; + if (null == r || null == e) return r === e; + r instanceof d && (r = r._wrapped), e instanceof d && (e = e._wrapped); + var o = l.call(r); + if (o !== l.call(e)) return !1; + switch (o) { + case "[object RegExp]": + case "[object String]": + return "" + r == "" + e; + + case "[object Number]": + return +r != +r ? +e != +e : 0 == +r ? 1 / +r == 1 / e : +r == +e; + + case "[object Date]": + case "[object Boolean]": + return +r == +e; + } + var a = "[object Array]" === o; + if (!a) { + if ("object" != (void 0 === r ? "undefined" : n(r)) || "object" != (void 0 === e ? "undefined" : n(e))) return !1; + var c = r.constructor, f = e.constructor; + if (c !== f && !(d.isFunction(c) && c instanceof c && d.isFunction(f) && f instanceof f) && "constructor" in r && "constructor" in e) return !1; + } + u = u || [], i = i || []; + for (var s = u.length; s--; ) if (u[s] === r) return i[s] === e; + if (u.push(r), i.push(e), a) { + if ((s = r.length) !== e.length) return !1; + for (;s--; ) if (!t(r[s], e[s], u, i)) return !1; + } else { + var p, h = d.keys(r); + if (s = h.length, d.keys(e).length !== s) return !1; + for (;s--; ) if (p = h[s], !d.has(e, p) || !t(r[p], e[p], u, i)) return !1; + } + return u.pop(), i.pop(), !0; + }; + d.isEqual = function(n, t) { + return F(n, t); + }, d.isEmpty = function(n) { + return null == n || (_(n) && (d.isArray(n) || d.isString(n) || d.isArguments(n)) ? 0 === n.length : 0 === d.keys(n).length); + }, d.isElement = function(n) { + return !(!n || 1 !== n.nodeType); + }, d.isArray = s || function(n) { + return "[object Array]" === l.call(n); + }, d.isObject = function(t) { + var r = void 0 === t ? "undefined" : n(t); + return "function" === r || "object" === r && !!t; + }, d.each([ "Arguments", "Function", "String", "Number", "Date", "RegExp", "Error" ], function(n) { + d["is" + n] = function(t) { + return l.call(t) === "[object " + n + "]"; + }; + }), d.isArguments(arguments) || (d.isArguments = function(n) { + return d.has(n, "callee"); + }), "function" != typeof /./ && "object" != ("undefined" == typeof Int8Array ? "undefined" : n(Int8Array)) && (d.isFunction = function(n) { + return "function" == typeof n || !1; + }), d.isFinite = function(n) { + return isFinite(n) && !isNaN(parseFloat(n)); + }, d.isNaN = function(n) { + return d.isNumber(n) && n !== +n; + }, d.isBoolean = function(n) { + return !0 === n || !1 === n || "[object Boolean]" === l.call(n); + }, d.isNull = function(n) { + return null === n; + }, d.isUndefined = function(n) { + return void 0 === n; + }, d.has = function(n, t) { + return null != n && f.call(n, t); + }, d.noConflict = function() { + return root._ = previousUnderscore, this; + }, d.identity = function(n) { + return n; + }, d.constant = function(n) { + return function() { + return n; + }; + }, d.noop = function() {}, d.property = function(n) { + return function(t) { + return null == t ? void 0 : t[n]; + }; + }, d.propertyOf = function(n) { + return null == n ? function() {} : function(t) { + return n[t]; + }; + }, d.matcher = d.matches = function(n) { + return n = d.extendOwn({}, n), function(t) { + return d.isMatch(t, n); + }; + }, d.times = function(n, t, r) { + var e = Array(Math.max(0, n)); + t = g(t, r, 1); + for (var u = 0; u < n; u++) e[u] = t(u); + return e; + }, d.random = function(n, t) { + return null == t && (t = n, n = 0), n + Math.floor(Math.random() * (t - n + 1)); + }, d.now = Date.now || function() { + return new Date().getTime(); + }; + var E = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + "`": "`" + }, I = d.invert(E), M = function(n) { + var t = function(t) { + return n[t]; + }, r = "(?:" + d.keys(n).join("|") + ")", e = RegExp(r), u = RegExp(r, "g"); + return function(n) { + return n = null == n ? "" : "" + n, e.test(n) ? n.replace(u, t) : n; + }; + }; + d.escape = M(E), d.unescape = M(I), d.result = function(n, t, r) { + var e = null == n ? void 0 : n[t]; + return void 0 === e && (e = r), d.isFunction(e) ? e.call(n) : e; + }; + var N = 0; + d.uniqueId = function(n) { + var t = ++N + ""; + return n ? n + t : t; + }, d.templateSettings = { + evaluate: /<%([\s\S]+?)%>/g, + interpolate: /<%=([\s\S]+?)%>/g, + escape: /<%-([\s\S]+?)%>/g + }; + var B = /(.)^/, T = { + "'": "'", + "\\": "\\", + "\r": "r", + "\n": "n", + "\u2028": "u2028", + "\u2029": "u2029" + }, R = /\\|'|\r|\n|\u2028|\u2029/g, q = function(n) { + return "\\" + T[n]; + }; + d.template = function(n, t, r) { + !t && r && (t = r), t = d.defaults({}, t, d.templateSettings); + var e = RegExp([ (t.escape || B).source, (t.interpolate || B).source, (t.evaluate || B).source ].join("|") + "|$", "g"), u = 0, i = "__p+='"; + n.replace(e, function(t, r, e, o, a) { + return i += n.slice(u, a).replace(R, q), u = a + t.length, r ? i += "'+\n((__t=(" + r + "))==null?'':_.escape(__t))+\n'" : e ? i += "'+\n((__t=(" + e + "))==null?'':__t)+\n'" : o && (i += "';\n" + o + "\n__p+='"), + t; + }), i += "';\n", t.variable || (i = "with(obj||{}){\n" + i + "}\n"), i = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + i + "return __p;\n"; + try { + var o = new Function(t.variable || "obj", "_", i); + } catch (n) { + throw n.source = i, n; + } + var a = function(n) { + return o.call(this, n, d); + }, c = t.variable || "obj"; + return a.source = "function(" + c + "){\n" + i + "}", a; + }, d.chain = function(n) { + var t = d(n); + return t._chain = !0, t; + }; + var K = function(n, t) { + return n._chain ? d(t).chain() : t; + }; + d.mixin = function(n) { + d.each(d.functions(n), function(t) { + var r = d[t] = n[t]; + d.prototype[t] = function() { + var n = [ this._wrapped ]; + return a.apply(n, arguments), K(this, r.apply(d, n)); + }; + }); + }, d.mixin(d), d.each([ "pop", "push", "reverse", "shift", "sort", "splice", "unshift" ], function(n) { + var t = u[n]; + d.prototype[n] = function() { + var r = this._wrapped; + return t.apply(r, arguments), "shift" !== n && "splice" !== n || 0 !== r.length || delete r[0], + K(this, r); + }; + }), d.each([ "concat", "join", "slice" ], function(n) { + var t = u[n]; + d.prototype[n] = function() { + return K(this, t.apply(this._wrapped, arguments)); + }; + }), d.prototype.value = function() { + return this._wrapped; + }, d.prototype.valueOf = d.prototype.toJSON = d.prototype.value, d.prototype.toString = function() { + return "" + this._wrapped; + }; +}).call(void 0); \ No newline at end of file diff --git a/we7/resource/js/util.js b/we7/resource/js/util.js new file mode 100644 index 0000000..41541f0 --- /dev/null +++ b/we7/resource/js/util.js @@ -0,0 +1,432 @@ +function _interopRequireDefault(e) { + return e && e.__esModule ? e : { + default: e + }; +} + +function _defineProperty(e, t, n) { + return t in e ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[t] = n, e; +} + +function getQuery(e) { + var t = []; + if (-1 != e.indexOf("?")) for (var n = e.split("?")[1].split("&"), r = 0; r < n.length; r++) n[r].split("=")[0] && unescape(n[r].split("=")[1]) && (t[r] = { + name: n[r].split("=")[0], + value: unescape(n[r].split("=")[1]) + }); + return t; +} + +function getUrlParam(e, t) { + var n = new RegExp("(^|&)" + t + "=([^&]*)(&|$)"), r = e.split("?")[1].match(n); + return null != r ? unescape(r[2]) : null; +} + +function getSign(e, t, n) { + var r = require("underscore.js"), a = require("md5.js"), i = "", o = getUrlParam(e, "sign"); + if (o || t && t.sign) return !1; + if (e && (i = getQuery(e)), t) { + var s = []; + for (var u in t) u && t[u] && (s = s.concat({ + name: u, + value: t[u] + })); + i = i.concat(s); + } + i = r.sortBy(i, "name"), i = r.uniq(i, !0, "name"); + for (var c = "", g = 0; g < i.length; g++) i[g] && i[g].name && i[g].value && (c += i[g].name + "=" + i[g].value, + g < i.length - 1 && (c += "&")); + return n = n || getApp().siteInfo.token, o = a(c + n); +} + +var _typeof = "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; +}, _base = require("base64"), _md = require("md5"), _md2 = _interopRequireDefault(_md), util = {}; + +util.base64_encode = function(e) { + return (0, _base.base64_encode)(e); +}, util.base64_decode = function(e) { + return (0, _base.base64_decode)(e); +}, util.md5 = function(e) { + return (0, _md2.default)(e); +}, util.url = function(e, t) { + var n = getApp(), r = n.siteInfo.siteroot + "?i=" + n.siteInfo.uniacid + "&t=" + n.siteInfo.multiid + "&v=" + n.siteInfo.version + "&from=wxapp&"; + if (e && ((e = e.split("/"))[0] && (r += "c=" + e[0] + "&"), e[1] && (r += "a=" + e[1] + "&"), + e[2] && (r += "do=" + e[2] + "&")), t && "object" === (void 0 === t ? "undefined" : _typeof(t))) for (var a in t) a && t.hasOwnProperty(a) && t[a] && (r += a + "=" + t[a] + "&"); + return r; +}, util.getSign = function(e, t, n) { + return getSign(e, t, n); +}, util.getWe7url = function(e, t) { + var n = wx.getStorageSync("userInfo").sessionid, r = e; + if (-1 == r.indexOf("http://") && -1 == r.indexOf("https://") && (r = util.url(r)), + getUrlParam(r, "state") || t && t.state || !n || (r = r + "&state=we7sid-" + n), + !t || !t.m) { + var a = getCurrentPages(); + a.length && (a = a[getCurrentPages().length - 1]) && a.__route__ && (r = r + "&m=" + a.__route__.split("/")[0]); + } + var i = getSign(r, t); + return i && (r = r + "&sign=" + i), r || !1; +}, util.getWe7urls = function(e, t) { + wx.getStorageSync("userInfo").sessionid; + var n = e; + if (-1 == n.indexOf("http://") && -1 == n.indexOf("https://") && (n = util.url(n)), + !t || !t.m) { + var r = getCurrentPages(); + r.length && (r = r[getCurrentPages().length - 1]) && r.__route__ && (n = n + "&m=" + r.__route__.split("/")[0]); + } + return n || !1; +}, util.request = function(e) { + require("underscore.js"); + var t, n = require("md5.js"), r = getApp(); + (e = e || {}).cachetime = e.cachetime ? e.cachetime : 0, e.showLoading = void 0 === e.showLoading || e.showLoading; + var a = wx.getStorageSync("userInfo").sessionid, i = e.url; + if (-1 == i.indexOf("http://") && -1 == i.indexOf("https://") && (i = util.url(i)), + getUrlParam(i, "state") || e.data && e.data.state || !a || (i = i + "&state=we7sid-" + a), + !e.data || !e.data.m) { + var o = getCurrentPages(); + o.length && (o = o[getCurrentPages().length - 1]) && o.__route__ && (i = i + "&m=" + o.__route__.split("/")[0]); + } + var s = getSign(i, e.data); + if (s && (i = i + "&sign=" + s), !i) return !1; + if (wx.showNavigationBarLoading(), e.showLoading && util.showLoading(), e.cachetime) { + var u = n(i), c = wx.getStorageSync(u), g = Date.parse(new Date()); + if (c && c.data) { + if (c.expire > g) return e.complete && "function" == typeof e.complete && e.complete(c), + e.success && "function" == typeof e.success && e.success(c), console.log("cache:" + i), + wx.hideLoading(), wx.hideNavigationBarLoading(), !0; + wx.removeStorageSync(u); + } + } + wx.request((t = { + url: i, + data: e.data ? e.data : {}, + header: e.header ? e.header : {}, + method: e.method ? e.method : "GET" + }, _defineProperty(t, "header", { + "content-type": "application/x-www-form-urlencoded" + }), _defineProperty(t, "success", function(t) { + if (wx.hideNavigationBarLoading(), wx.hideLoading(), t.data.errno) { + if ("41009" == t.data.errno) return wx.setStorageSync("userInfo", ""), void util.getUserInfo(function() { + util.request(e); + }); + if (e.fail && "function" == typeof e.fail) e.fail(t); else if (t.data.message) { + if (null != t.data.data && t.data.data.redirect) n = t.data.data.redirect; else var n = ""; + r.util.message(t.data.message, n, "error"); + } + } else if (e.success && "function" == typeof e.success && e.success(t), e.cachetime) { + var a = { + data: t.data, + expire: g + 1e3 * e.cachetime + }; + wx.setStorageSync(u, a); + } + }), _defineProperty(t, "fail", function(t) { + wx.hideNavigationBarLoading(), wx.hideLoading(); + var n = require("md5.js")(i), r = wx.getStorageSync(n); + if (r && r.data) return e.success && "function" == typeof e.success && e.success(r), + console.log("failreadcache:" + i), !0; + e.fail && "function" == typeof e.fail && e.fail(t); + }), _defineProperty(t, "complete", function(t) { + e.complete && "function" == typeof e.complete && e.complete(t); + }), t)); +}, util.getUserInfo = function(e) { + !function() { + console.log("start login"); + var t = { + sessionid: "", + wxInfo: "", + memberInfo: "" + }; + wx.login({ + success: function(n) { + n.code ? util.request({ + url: "auth/session/openid", + data: { + code: n.code + }, + cachetime: 0, + success: function(n) { + console.log(n), console.log("openid"), console.log(n.data.data.userinfo.openid), + n.data.errno || (t.sessionid = n.data.data.sessionid, console.log(n.data.data.sessionid), + wx.setStorageSync("userInfo", t), wx.getUserInfo({ + success: function(n) { + t.wxInfo = n.userInfo, console.log(n), wx.setStorageSync("userInfo", t), util.request({ + url: "entry/wxapp/initqfuser", + data: { + signature: n.signature, + rawData: n.rawData, + iv: n.iv, + encryptedData: n.encryptedData + }, + method: "POST", + header: { + "content-type": "application/x-www-form-urlencoded" + }, + cachetime: 0, + success: function(n) { + console.log("res"), console.log(n), n.data.errno || (t.memberInfo = n.data.data, + wx.setStorageSync("userInfo", t)), "function" == typeof e && e(t); + } + }); + }, + fail: function(t) { + "getUserInfo:fail auth deny" == t.errMsg ? wx.showModal({ + title: "获取信息失败", + content: "请允许授权以便为您提供给服务", + success: function(t) { + t.confirm && wx.openSetting({ + success: function(t) { + 1 == t.authSetting["scope.userInfo"] && util.getUserInfo(e); + } + }); + } + }) : wx.showModal({ + title: "获取信息失败", + content: "错误:" + t.errMsg + "。是否重新获取?", + success: function(t) { + t.confirm && wx.openSetting({ + success: function(t) { + 1 == t.authSetting["scope.userInfo"] && util.getUserInfo(e); + } + }); + } + }); + } + })); + } + }) : wx.showModal({ + title: "登陆失败", + content: "获取用户登录态失败!" + n.errMsg, + success: function(t) { + t.confirm && util.getUserInfo(e); + } + }); + } + }); + }(); +}, util.navigateBack = function(e) { + var t = e.delta ? e.delta : 1; + if (e.data) { + var n = getCurrentPages(), r = n[n.length - (t + 1)]; + r.pageForResult ? r.pageForResult(e.data) : r.setData(e.data); + } + wx.navigateBack({ + delta: t, + success: function(t) { + "function" == typeof e.success && e.success(t); + }, + fail: function(t) { + "function" == typeof e.fail && e.fail(t); + }, + complete: function() { + "function" == typeof e.complete && e.complete(); + } + }); +}, util.footer = function(e) { + var t = e, n = getApp().tabBar; + console.log(n) + console.log('----------------------------') + for (var r in n.list) n.list[r].pageUrl = n.list[r].pagePath.replace(/(\?|#)[^"]*/g, ""); + t.setData({ + tabBar: n, + "tabBar.thisurl": t.__route__ + }); +}, util.message = function(e, t, n) { + if (!e) return !0; + if ("object" == (void 0 === e ? "undefined" : _typeof(e)) && (t = e.redirect, n = e.type, + e = e.title), t) { + var r = t.substring(0, 9), a = "", i = ""; + "navigate:" == r ? (i = "navigateTo", a = t.substring(9)) : "redirect:" == r ? (i = "redirectTo", + a = t.substring(9)) : (a = t, i = "redirectTo"); + } + n || (n = "success"), "success" == n ? wx.showToast({ + title: e, + icon: "success", + duration: 2e3, + mask: !!a, + complete: function() { + a && setTimeout(function() { + wx[i]({ + url: a + }); + }, 1800); + } + }) : "error" == n && wx.showModal({ + title: "系统信息", + content: e, + showCancel: !1, + complete: function() { + a && wx[i]({ + url: a + }); + } + }); +}, util.user = util.getUserInfo, util.showLoading = function() { + wx.getStorageSync("isShowLoading") && (wx.hideLoading(), wx.setStorageSync("isShowLoading", !1)), + wx.showLoading({ + title: "加载中", + complete: function() { + wx.setStorageSync("isShowLoading", !0); + }, + fail: function() { + wx.setStorageSync("isShowLoading", !1); + } + }); +}, util.showImage = function(e) { + var t = e ? e.currentTarget.dataset.preview : ""; + if (!t) return !1; + wx.previewImage({ + urls: [ t ] + }); +}, util.parseContent = function(e) { + if (!e) return e; + var t = [ "\ud83c[\udf00-\udfff]", "\ud83d[\udc00-\ude4f]", "\ud83d[\ude80-\udeff]" ], n = e.match(new RegExp(t.join("|"), "g")); + if (n) for (var r in n) e = e.replace(n[r], "[U+" + n[r].codePointAt(0).toString(16).toUpperCase() + "]"); + return e; +}, util.date = function() { + this.isLeapYear = function(e) { + return 0 == e.getYear() % 4 && (e.getYear() % 100 != 0 || e.getYear() % 400 == 0); + }, this.dateToStr = function(e, t) { + e = arguments[0] || "yyyy-MM-dd HH:mm:ss", t = arguments[1] || new Date(); + var n = e, r = [ "日", "一", "二", "三", "四", "五", "六" ]; + return n = n.replace(/yyyy|YYYY/, t.getFullYear()), n = n.replace(/yy|YY/, t.getYear() % 100 > 9 ? (t.getYear() % 100).toString() : "0" + t.getYear() % 100), + n = n.replace(/MM/, t.getMonth() > 9 ? t.getMonth() + 1 : "0" + (t.getMonth() + 1)), + n = n.replace(/M/g, t.getMonth()), n = n.replace(/w|W/g, r[t.getDay()]), n = n.replace(/dd|DD/, t.getDate() > 9 ? t.getDate().toString() : "0" + t.getDate()), + n = n.replace(/d|D/g, t.getDate()), n = n.replace(/hh|HH/, t.getHours() > 9 ? t.getHours().toString() : "0" + t.getHours()), + n = n.replace(/h|H/g, t.getHours()), n = n.replace(/mm/, t.getMinutes() > 9 ? t.getMinutes().toString() : "0" + t.getMinutes()), + n = n.replace(/m/g, t.getMinutes()), n = n.replace(/ss|SS/, t.getSeconds() > 9 ? t.getSeconds().toString() : "0" + t.getSeconds()), + n = n.replace(/s|S/g, t.getSeconds()); + }, this.dateAdd = function(e, t, n) { + switch (n = arguments[2] || new Date(), e) { + case "s": + return new Date(n.getTime() + 1e3 * t); + + case "n": + return new Date(n.getTime() + 6e4 * t); + + case "h": + return new Date(n.getTime() + 36e5 * t); + + case "d": + return new Date(n.getTime() + 864e5 * t); + + case "w": + return new Date(n.getTime() + 6048e5 * t); + + case "m": + return new Date(n.getFullYear(), n.getMonth() + t, n.getDate(), n.getHours(), n.getMinutes(), n.getSeconds()); + + case "y": + return new Date(n.getFullYear() + t, n.getMonth(), n.getDate(), n.getHours(), n.getMinutes(), n.getSeconds()); + } + }, this.dateDiff = function(e, t, n) { + switch (e) { + case "s": + return parseInt((n - t) / 1e3); + + case "n": + return parseInt((n - t) / 6e4); + + case "h": + return parseInt((n - t) / 36e5); + + case "d": + return parseInt((n - t) / 864e5); + + case "w": + return parseInt((n - t) / 6048e5); + + case "m": + return n.getMonth() + 1 + 12 * (n.getFullYear() - t.getFullYear()) - (t.getMonth() + 1); + + case "y": + return n.getFullYear() - t.getFullYear(); + } + }, this.strToDate = function(dateStr) { + var data = dateStr, reCat = /(\d{1,4})/gm, t = data.match(reCat); + return t[1] = t[1] - 1, eval("var d = new Date(" + t.join(",") + ");"), d; + }, this.strFormatToDate = function(e, t) { + var n = 0, r = -1, a = t.length; + (r = e.indexOf("yyyy")) > -1 && r < a && (n = t.substr(r, 4)); + var i = 0; + (r = e.indexOf("MM")) > -1 && r < a && (i = parseInt(t.substr(r, 2)) - 1); + var o = 0; + (r = e.indexOf("dd")) > -1 && r < a && (o = parseInt(t.substr(r, 2))); + var s = 0; + ((r = e.indexOf("HH")) > -1 || (r = e.indexOf("hh")) > 1) && r < a && (s = parseInt(t.substr(r, 2))); + var u = 0; + (r = e.indexOf("mm")) > -1 && r < a && (u = t.substr(r, 2)); + var c = 0; + return (r = e.indexOf("ss")) > -1 && r < a && (c = t.substr(r, 2)), new Date(n, i, o, s, u, c); + }, this.dateToLong = function(e) { + return e.getTime(); + }, this.longToDate = function(e) { + return new Date(e); + }, this.isDate = function(e, t) { + null == t && (t = "yyyyMMdd"); + var n = t.indexOf("yyyy"); + if (-1 == n) return !1; + var r = e.substring(n, n + 4), a = t.indexOf("MM"); + if (-1 == a) return !1; + var i = e.substring(a, a + 2), o = t.indexOf("dd"); + if (-1 == o) return !1; + var s = e.substring(o, o + 2); + return !(!isNumber(r) || r > "2100" || r < "1900") && (!(!isNumber(i) || i > "12" || i < "01") && !(s > getMaxDay(r, i) || s < "01")); + }, this.getMaxDay = function(e, t) { + return 4 == t || 6 == t || 9 == t || 11 == t ? "30" : 2 == t ? e % 4 == 0 && e % 100 != 0 || e % 400 == 0 ? "29" : "28" : "31"; + }, this.isNumber = function(e) { + return /^\d+$/g.test(e); + }, this.toArray = function(e) { + e = arguments[0] || new Date(); + var t = Array(); + return t[0] = e.getFullYear(), t[1] = e.getMonth(), t[2] = e.getDate(), t[3] = e.getHours(), + t[4] = e.getMinutes(), t[5] = e.getSeconds(), t; + }, this.datePart = function(e, t) { + t = arguments[1] || new Date(); + var n = "", r = [ "日", "一", "二", "三", "四", "五", "六" ]; + switch (e) { + case "y": + n = t.getFullYear(); + break; + + case "M": + n = t.getMonth() + 1; + break; + + case "d": + n = t.getDate(); + break; + + case "w": + n = r[t.getDay()]; + break; + + case "ww": + n = t.WeekNumOfYear(); + break; + + case "h": + n = t.getHours(); + break; + + case "m": + n = t.getMinutes(); + break; + + case "s": + n = t.getSeconds(); + } + return n; + }, this.maxDayOfDate = function(e) { + (e = arguments[0] || new Date()).setDate(1), e.setMonth(e.getMonth() + 1); + var t = e.getTime() - 864e5; + return new Date(t).getDate(); + }; +}, module.exports = util; \ No newline at end of file diff --git a/we7/resource/js/webview.js b/we7/resource/js/webview.js new file mode 100644 index 0000000..1db9a4f --- /dev/null +++ b/we7/resource/js/webview.js @@ -0,0 +1,32 @@ +function e(e, t) { + e = e.replace(/(#\/)(.*)/, ""); + var n = new RegExp("(^|&)" + t + "=([^&]*)(&|$)", "i"), r = e.match(n); + return null !== r ? unescape(r[2]) : null; +} + +var t = getApp(); + +module.exports = { + backApp: function(e) { + if (e) try { + wx.setStorageSync("we7_webview", e); + } catch (e) { + console.log(e); + } + var t = getCurrentPages(); + if (t.length > 1) for (var n in t) "wn_storex/pages/view/index" === t[n].__route__ && wx.navigateBack({ + data: t.length - n + 1 + }); + }, + urlAddCode: function(n) { + var r = wx.getStorageSync("userInfo"), a = function(t) { + var r = e(n, "state"); + n.indexOf("http") || r || (n = n.replace(/index.php\?/, "index.php?from=wxapp&state=we7sid-" + t.sessionid + "&")); + var a = getCurrentPages(); + a && (a = a[getCurrentPages().length - 1]), a.setData({ + url: n + }); + }; + r.sessionid ? a(r) : t.util.getUserInfo(a); + } +}; \ No newline at end of file diff --git a/更多免费精品源码请访问.url b/更多免费精品源码请访问.url new file mode 100644 index 0000000..96ecb02 --- /dev/null +++ b/更多免费精品源码请访问.url @@ -0,0 +1,5 @@ +[{000214A0-0000-0000-C000-000000000046}] +Prop3=19,2 +[InternetShortcut] +IDList= +URL=http://www.wazyb.com/