Просмотр исходного кода

Merge branch 'master' of http://git.ycjcjy.com/xuchengxiang/niucai-user into master

张延森 4 лет назад
Родитель
Сommit
fe69453e2f

+ 7
- 7
config/index.js Просмотреть файл

@@ -11,16 +11,16 @@ module.exports = {
11 11
     assetsSubDirectory: 'static',
12 12
     assetsPublicPath: '/',
13 13
     proxyTable: {
14
-      // '/api': {
15
-      //   target: 'http://123.57.65.31:9004',
16
-      //   changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
17
-      //   pathRewrite: { '^/api': '/api' }
18
-      // },
19 14
       '/api': {
20
-        target: 'https://app.xnsport.cn',
15
+        target: 'http://123.57.65.31:9004',
21 16
         changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
22 17
         pathRewrite: { '^/api': '/api' }
23
-      }
18
+      },
19
+      // '/api': {
20
+      //   target: 'https://app.xnsport.cn',
21
+      //   changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
22
+      //   pathRewrite: { '^/api': '/api' }
23
+      // }
24 24
       // '/app-api': {
25 25
       //   target: 'http://ycapi.jcjyhn.com',
26 26
       //   changeOrigin: true, // 如果接口跨域,需要进行这个参数配置

+ 1
- 1
index.html Просмотреть файл

@@ -5,7 +5,7 @@
5 5
   <meta charset='utf-8'>
6 6
   <meta content='width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0' name='viewport'>
7 7
   <meta name="referrer" content="no-referrer">
8
-  <link rel="stylesheet" href="//at.alicdn.com/t/font_2022160_w52az879v6.css">
8
+  <link rel="stylesheet" href="//at.alicdn.com/t/font_2022160_f7cp731cw5p.css">
9 9
   <title>牛彩</title>
10 10
   <script>
11 11
     let Width = document.documentElement.clientWidth / 375 * 100

+ 55
- 74
package-lock.json Просмотреть файл

@@ -2380,8 +2380,8 @@
2380 2380
     },
2381 2381
     "buffer-alloc": {
2382 2382
       "version": "1.2.0",
2383
-      "resolved": "https://registry.npm.taobao.org/buffer-alloc/download/buffer-alloc-1.2.0.tgz",
2384
-      "integrity": "sha1-iQ3ZDZI6hz4I4Q5f1RpX5bfM4Ow=",
2383
+      "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
2384
+      "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
2385 2385
       "requires": {
2386 2386
         "buffer-alloc-unsafe": "^1.1.0",
2387 2387
         "buffer-fill": "^1.0.0"
@@ -2389,12 +2389,12 @@
2389 2389
     },
2390 2390
     "buffer-alloc-unsafe": {
2391 2391
       "version": "1.1.0",
2392
-      "resolved": "https://registry.npm.taobao.org/buffer-alloc-unsafe/download/buffer-alloc-unsafe-1.1.0.tgz",
2393
-      "integrity": "sha1-vX3CauKXLQ7aJTvgYdupkjScGfA="
2392
+      "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
2393
+      "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg=="
2394 2394
     },
2395 2395
     "buffer-fill": {
2396 2396
       "version": "1.0.0",
2397
-      "resolved": "https://registry.npm.taobao.org/buffer-fill/download/buffer-fill-1.0.0.tgz",
2397
+      "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
2398 2398
       "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw="
2399 2399
     },
2400 2400
     "buffer-from": {
@@ -4015,7 +4015,7 @@
4015 4015
     },
4016 4016
     "dijkstrajs": {
4017 4017
       "version": "1.0.1",
4018
-      "resolved": "https://registry.npm.taobao.org/dijkstrajs/download/dijkstrajs-1.0.1.tgz",
4018
+      "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.1.tgz",
4019 4019
       "integrity": "sha1-082BIh4+pAdCz83lVtTpnpjdxxs="
4020 4020
     },
4021 4021
     "dir-glob": {
@@ -5537,8 +5537,7 @@
5537 5537
         "ansi-regex": {
5538 5538
           "version": "2.1.1",
5539 5539
           "bundled": true,
5540
-          "dev": true,
5541
-          "optional": true
5540
+          "dev": true
5542 5541
         },
5543 5542
         "aproba": {
5544 5543
           "version": "1.2.0",
@@ -5559,14 +5558,12 @@
5559 5558
         "balanced-match": {
5560 5559
           "version": "1.0.0",
5561 5560
           "bundled": true,
5562
-          "dev": true,
5563
-          "optional": true
5561
+          "dev": true
5564 5562
         },
5565 5563
         "brace-expansion": {
5566 5564
           "version": "1.1.11",
5567 5565
           "bundled": true,
5568 5566
           "dev": true,
5569
-          "optional": true,
5570 5567
           "requires": {
5571 5568
             "balanced-match": "^1.0.0",
5572 5569
             "concat-map": "0.0.1"
@@ -5581,20 +5578,17 @@
5581 5578
         "code-point-at": {
5582 5579
           "version": "1.1.0",
5583 5580
           "bundled": true,
5584
-          "dev": true,
5585
-          "optional": true
5581
+          "dev": true
5586 5582
         },
5587 5583
         "concat-map": {
5588 5584
           "version": "0.0.1",
5589 5585
           "bundled": true,
5590
-          "dev": true,
5591
-          "optional": true
5586
+          "dev": true
5592 5587
         },
5593 5588
         "console-control-strings": {
5594 5589
           "version": "1.1.0",
5595 5590
           "bundled": true,
5596
-          "dev": true,
5597
-          "optional": true
5591
+          "dev": true
5598 5592
         },
5599 5593
         "core-util-is": {
5600 5594
           "version": "1.0.2",
@@ -5711,8 +5705,7 @@
5711 5705
         "inherits": {
5712 5706
           "version": "2.0.3",
5713 5707
           "bundled": true,
5714
-          "dev": true,
5715
-          "optional": true
5708
+          "dev": true
5716 5709
         },
5717 5710
         "ini": {
5718 5711
           "version": "1.3.5",
@@ -5724,7 +5717,6 @@
5724 5717
           "version": "1.0.0",
5725 5718
           "bundled": true,
5726 5719
           "dev": true,
5727
-          "optional": true,
5728 5720
           "requires": {
5729 5721
             "number-is-nan": "^1.0.0"
5730 5722
           }
@@ -5739,7 +5731,6 @@
5739 5731
           "version": "3.0.4",
5740 5732
           "bundled": true,
5741 5733
           "dev": true,
5742
-          "optional": true,
5743 5734
           "requires": {
5744 5735
             "brace-expansion": "^1.1.7"
5745 5736
           }
@@ -5747,14 +5738,12 @@
5747 5738
         "minimist": {
5748 5739
           "version": "0.0.8",
5749 5740
           "bundled": true,
5750
-          "dev": true,
5751
-          "optional": true
5741
+          "dev": true
5752 5742
         },
5753 5743
         "minipass": {
5754 5744
           "version": "2.2.4",
5755 5745
           "bundled": true,
5756 5746
           "dev": true,
5757
-          "optional": true,
5758 5747
           "requires": {
5759 5748
             "safe-buffer": "^5.1.1",
5760 5749
             "yallist": "^3.0.0"
@@ -5773,7 +5762,6 @@
5773 5762
           "version": "0.5.1",
5774 5763
           "bundled": true,
5775 5764
           "dev": true,
5776
-          "optional": true,
5777 5765
           "requires": {
5778 5766
             "minimist": "0.0.8"
5779 5767
           }
@@ -5854,8 +5842,7 @@
5854 5842
         "number-is-nan": {
5855 5843
           "version": "1.0.1",
5856 5844
           "bundled": true,
5857
-          "dev": true,
5858
-          "optional": true
5845
+          "dev": true
5859 5846
         },
5860 5847
         "object-assign": {
5861 5848
           "version": "4.1.1",
@@ -5867,7 +5854,6 @@
5867 5854
           "version": "1.4.0",
5868 5855
           "bundled": true,
5869 5856
           "dev": true,
5870
-          "optional": true,
5871 5857
           "requires": {
5872 5858
             "wrappy": "1"
5873 5859
           }
@@ -5953,8 +5939,7 @@
5953 5939
         "safe-buffer": {
5954 5940
           "version": "5.1.1",
5955 5941
           "bundled": true,
5956
-          "dev": true,
5957
-          "optional": true
5942
+          "dev": true
5958 5943
         },
5959 5944
         "safer-buffer": {
5960 5945
           "version": "2.1.2",
@@ -5990,7 +5975,6 @@
5990 5975
           "version": "1.0.2",
5991 5976
           "bundled": true,
5992 5977
           "dev": true,
5993
-          "optional": true,
5994 5978
           "requires": {
5995 5979
             "code-point-at": "^1.0.0",
5996 5980
             "is-fullwidth-code-point": "^1.0.0",
@@ -6010,7 +5994,6 @@
6010 5994
           "version": "3.0.1",
6011 5995
           "bundled": true,
6012 5996
           "dev": true,
6013
-          "optional": true,
6014 5997
           "requires": {
6015 5998
             "ansi-regex": "^2.0.0"
6016 5999
           }
@@ -6054,14 +6037,12 @@
6054 6037
         "wrappy": {
6055 6038
           "version": "1.0.2",
6056 6039
           "bundled": true,
6057
-          "dev": true,
6058
-          "optional": true
6040
+          "dev": true
6059 6041
         },
6060 6042
         "yallist": {
6061 6043
           "version": "3.0.2",
6062 6044
           "bundled": true,
6063
-          "dev": true,
6064
-          "optional": true
6045
+          "dev": true
6065 6046
         }
6066 6047
       }
6067 6048
     },
@@ -9764,8 +9745,8 @@
9764 9745
     },
9765 9746
     "pngjs": {
9766 9747
       "version": "3.4.0",
9767
-      "resolved": "https://registry.npm.taobao.org/pngjs/download/pngjs-3.4.0.tgz",
9768
-      "integrity": "sha1-mcp9clll+2VYFOr2XzjxK72/VV8="
9748
+      "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz",
9749
+      "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w=="
9769 9750
     },
9770 9751
     "portfinder": {
9771 9752
       "version": "1.0.19",
@@ -12063,8 +12044,8 @@
12063 12044
     },
12064 12045
     "qrcode": {
12065 12046
       "version": "1.4.4",
12066
-      "resolved": "https://registry.npm.taobao.org/qrcode/download/qrcode-1.4.4.tgz",
12067
-      "integrity": "sha1-8MQ1aKfnUQpV78O4jZYC9xlj6oM=",
12047
+      "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.4.4.tgz",
12048
+      "integrity": "sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==",
12068 12049
       "requires": {
12069 12050
         "buffer": "^5.4.3",
12070 12051
         "buffer-alloc": "^1.2.0",
@@ -12077,13 +12058,13 @@
12077 12058
       "dependencies": {
12078 12059
         "ansi-regex": {
12079 12060
           "version": "4.1.0",
12080
-          "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
12081
-          "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc="
12061
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
12062
+          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
12082 12063
         },
12083 12064
         "buffer": {
12084 12065
           "version": "5.6.0",
12085
-          "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-5.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-5.6.0.tgz",
12086
-          "integrity": "sha1-oxdJ3H2B2E2wir+Te2uMQDP2J4Y=",
12066
+          "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz",
12067
+          "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==",
12087 12068
           "requires": {
12088 12069
             "base64-js": "^1.0.2",
12089 12070
             "ieee754": "^1.1.4"
@@ -12091,13 +12072,13 @@
12091 12072
         },
12092 12073
         "camelcase": {
12093 12074
           "version": "5.3.1",
12094
-          "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1602349921044&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz",
12095
-          "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA="
12075
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
12076
+          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
12096 12077
         },
12097 12078
         "cliui": {
12098 12079
           "version": "5.0.0",
12099
-          "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz?cache=0&sync_timestamp=1602861359936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-5.0.0.tgz",
12100
-          "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=",
12080
+          "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
12081
+          "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
12101 12082
           "requires": {
12102 12083
             "string-width": "^3.1.0",
12103 12084
             "strip-ansi": "^5.2.0",
@@ -12106,26 +12087,26 @@
12106 12087
         },
12107 12088
         "find-up": {
12108 12089
           "version": "3.0.0",
12109
-          "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz",
12110
-          "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
12090
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
12091
+          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
12111 12092
           "requires": {
12112 12093
             "locate-path": "^3.0.0"
12113 12094
           }
12114 12095
         },
12115 12096
         "get-caller-file": {
12116 12097
           "version": "2.0.5",
12117
-          "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz",
12118
-          "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34="
12098
+          "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
12099
+          "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
12119 12100
         },
12120 12101
         "isarray": {
12121 12102
           "version": "2.0.5",
12122
-          "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-2.0.5.tgz",
12123
-          "integrity": "sha1-ivHkwSISRMxiRZ+vOJQNTmRKVyM="
12103
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
12104
+          "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
12124 12105
         },
12125 12106
         "locate-path": {
12126 12107
           "version": "3.0.0",
12127
-          "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz",
12128
-          "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
12108
+          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
12109
+          "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
12129 12110
           "requires": {
12130 12111
             "p-locate": "^3.0.0",
12131 12112
             "path-exists": "^3.0.0"
@@ -12133,34 +12114,34 @@
12133 12114
         },
12134 12115
         "p-limit": {
12135 12116
           "version": "2.3.0",
12136
-          "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1594559696906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz",
12137
-          "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
12117
+          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
12118
+          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
12138 12119
           "requires": {
12139 12120
             "p-try": "^2.0.0"
12140 12121
           }
12141 12122
         },
12142 12123
         "p-locate": {
12143 12124
           "version": "3.0.0",
12144
-          "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz",
12145
-          "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
12125
+          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
12126
+          "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
12146 12127
           "requires": {
12147 12128
             "p-limit": "^2.0.0"
12148 12129
           }
12149 12130
         },
12150 12131
         "p-try": {
12151 12132
           "version": "2.2.0",
12152
-          "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz",
12153
-          "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY="
12133
+          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
12134
+          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
12154 12135
         },
12155 12136
         "require-main-filename": {
12156 12137
           "version": "2.0.0",
12157
-          "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz",
12158
-          "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs="
12138
+          "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
12139
+          "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
12159 12140
         },
12160 12141
         "string-width": {
12161 12142
           "version": "3.1.0",
12162
-          "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz",
12163
-          "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=",
12143
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
12144
+          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
12164 12145
           "requires": {
12165 12146
             "emoji-regex": "^7.0.1",
12166 12147
             "is-fullwidth-code-point": "^2.0.0",
@@ -12169,16 +12150,16 @@
12169 12150
         },
12170 12151
         "strip-ansi": {
12171 12152
           "version": "5.2.0",
12172
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz",
12173
-          "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
12153
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
12154
+          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
12174 12155
           "requires": {
12175 12156
             "ansi-regex": "^4.1.0"
12176 12157
           }
12177 12158
         },
12178 12159
         "wrap-ansi": {
12179 12160
           "version": "5.1.0",
12180
-          "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz",
12181
-          "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=",
12161
+          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
12162
+          "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
12182 12163
           "requires": {
12183 12164
             "ansi-styles": "^3.2.0",
12184 12165
             "string-width": "^3.0.0",
@@ -12187,8 +12168,8 @@
12187 12168
         },
12188 12169
         "yargs": {
12189 12170
           "version": "13.3.2",
12190
-          "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1602805668950&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz",
12191
-          "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=",
12171
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
12172
+          "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
12192 12173
           "requires": {
12193 12174
             "cliui": "^5.0.0",
12194 12175
             "find-up": "^3.0.0",
@@ -12204,8 +12185,8 @@
12204 12185
         },
12205 12186
         "yargs-parser": {
12206 12187
           "version": "13.1.2",
12207
-          "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1602861360075&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz",
12208
-          "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=",
12188
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
12189
+          "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
12209 12190
           "requires": {
12210 12191
             "camelcase": "^5.0.0",
12211 12192
             "decamelize": "^1.2.0"

Двоичные данные
src/assets/img/tixian.png Просмотреть файл


+ 85
- 0
src/pages/WoDe/GeRenSheZhi/ZhangHuSheZhi/BangDingShenFenZheng/index.vue Просмотреть файл

@@ -0,0 +1,85 @@
1
+<template>
2
+  <div class="Page">
3
+    <MainPageContainer :ShowMainHeader="true" :ShowMainHeaderBack="true" MainHeaderTitle="绑定身份证" @UserInfoChange="Init">
4
+      <div class="PageContainer">
5
+        <div class="Form">
6
+          <input type="text" placeholder="请输入身份证号码" v-model="IdCard">
7
+        </div>
8
+        <div class="Form">
9
+          <input type="text" placeholder="请确认您的姓名" v-model="RealName">
10
+        </div>
11
+        <div class="Btn">
12
+          <a @click="ToBindIdCard">确认</a>
13
+        </div>
14
+      </div>
15
+    </MainPageContainer>
16
+  </div>
17
+</template>
18
+
19
+<script>
20
+import MainPageContainer from '../../../../../components/common/MainPageContainer'
21
+import { createNamespacedHelpers } from 'vuex'
22
+const { mapState: mapUserState, mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
23
+export default {
24
+  name: '',
25
+  data () {
26
+    return {
27
+      IdCard: '',
28
+      RealName: '',
29
+      DataLock: false
30
+    }
31
+  },
32
+  computed: {
33
+    ...mapUserState({
34
+      UserInfo: x => x.UserInfo
35
+    })
36
+  },
37
+  components: {
38
+    MainPageContainer
39
+  },
40
+  created () {
41
+  },
42
+  mounted () {
43
+    this.$nextTick(() => {
44
+    })
45
+  },
46
+  methods: {
47
+    ...mapUserMutations([
48
+      'EditUserInfo'
49
+    ]),
50
+    ...mapUserActions([
51
+      'BindIdCard'
52
+    ]),
53
+    Init () {
54
+    },
55
+    ToBindIdCard () {
56
+      if (this.DataLock) return
57
+      this.DataLock = true
58
+      if (this.IdCard === '') {
59
+        this.Toast('身份证号不能为空')
60
+        this.DataLock = false
61
+        return false
62
+      }
63
+      if (this.RealName === '') {
64
+        this.Toast('姓名不能为空')
65
+        this.DataLock = false
66
+        return false
67
+      }
68
+      this.BindIdCard({ data: { idCard: this.IdCard, realName: this.RealName } }).then(() => {
69
+        this.Toast('绑定身份证成功')
70
+        this.EditUserInfo({ name: 'idCard', value: this.IdCard })
71
+        this.DataLock = false
72
+        this.$router.go(-1)
73
+      }).catch((res) => {
74
+        this.Toast(res.data.message)
75
+        this.DataLock = false
76
+      })
77
+    }
78
+  }
79
+}
80
+</script>
81
+
82
+<!-- Add "scoped" attribute to limit CSS to this component only -->
83
+<style lang="scss" scoped>
84
+@import "page.scss";
85
+</style>

+ 45
- 0
src/pages/WoDe/GeRenSheZhi/ZhangHuSheZhi/BangDingShenFenZheng/page.scss Просмотреть файл

@@ -0,0 +1,45 @@
1
+.Page {
2
+  background: #f2f2f2;
3
+  width: 100%;
4
+  height: 100%;
5
+  position: relative;
6
+  overflow: hidden;
7
+  .PageContainer {
8
+    width: 100%;
9
+    height: 100%;
10
+    position: relative;
11
+    overflow-y: scroll;
12
+    -webkit-overflow-scrolling: touch;
13
+    > .Form {
14
+      padding: 0.15rem;
15
+      background: #fff;
16
+      > input {
17
+        display: block;
18
+        font-size: 0.14rem;
19
+        line-height: 0.2rem;
20
+        width: 100%;
21
+      }
22
+    }
23
+    > span {
24
+      display: block;
25
+      font-size: 0.12rem;
26
+      color: #adadad;
27
+      line-height: 0.2rem;
28
+      margin-top: 0.05rem;
29
+      text-indent: 0.15rem;
30
+    }
31
+    > .Btn {
32
+      padding: 0 0.15rem;
33
+      margin-top: 0.5rem;
34
+      > a {
35
+        display: block;
36
+        text-align: center;
37
+        font-size: 0.16rem;
38
+        color: #fff;
39
+        background: #ff5200;
40
+        border-radius: 0.06rem;
41
+        line-height: 0.42rem;
42
+      }
43
+    }
44
+  }
45
+}

+ 76
- 0
src/pages/WoDe/GeRenSheZhi/ZhangHuSheZhi/BangDingZhiFuBao/index.vue Просмотреть файл

@@ -0,0 +1,76 @@
1
+<template>
2
+  <div class="Page">
3
+    <MainPageContainer :ShowMainHeader="true" :ShowMainHeaderBack="true" MainHeaderTitle="绑定支付宝" @UserInfoChange="Init">
4
+      <div class="PageContainer">
5
+        <div class="Form">
6
+          <input type="text" placeholder="请输入支付宝账号" v-model="AliAccount">
7
+        </div>
8
+        <div class="Btn">
9
+          <a @click="ToBindIdCard">确认</a>
10
+        </div>
11
+      </div>
12
+    </MainPageContainer>
13
+  </div>
14
+</template>
15
+
16
+<script>
17
+import MainPageContainer from '../../../../../components/common/MainPageContainer'
18
+import { createNamespacedHelpers } from 'vuex'
19
+const { mapState: mapUserState, mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
20
+export default {
21
+  name: '',
22
+  data () {
23
+    return {
24
+      AliAccount: '',
25
+      DataLock: false
26
+    }
27
+  },
28
+  computed: {
29
+    ...mapUserState({
30
+      UserInfo: x => x.UserInfo
31
+    })
32
+  },
33
+  components: {
34
+    MainPageContainer
35
+  },
36
+  created () {
37
+  },
38
+  mounted () {
39
+    this.$nextTick(() => {
40
+    })
41
+  },
42
+  methods: {
43
+    ...mapUserMutations([
44
+      'EditUserInfo'
45
+    ]),
46
+    ...mapUserActions([
47
+      'UpdateUserInfo'
48
+    ]),
49
+    Init () {
50
+    },
51
+    ToBindIdCard () {
52
+      if (this.DataLock) return
53
+      this.DataLock = true
54
+      if (this.AliAccount === '') {
55
+        this.Toast('支付宝账号不能为空')
56
+        this.DataLock = false
57
+        return false
58
+      }
59
+      this.UpdateUserInfo({ urlData: { id: this.UserInfo.customerId }, data: { alipayUser: this.AliAccount } }).then(() => {
60
+        this.Toast('绑定支付宝成功')
61
+        this.EditUserInfo({ name: 'alipayUser', value: this.AliAccount })
62
+        this.DataLock = false
63
+        this.$router.go(-1)
64
+      }).catch((res) => {
65
+        this.Toast(res.data.message)
66
+        this.DataLock = false
67
+      })
68
+    }
69
+  }
70
+}
71
+</script>
72
+
73
+<!-- Add "scoped" attribute to limit CSS to this component only -->
74
+<style lang="scss" scoped>
75
+@import "page.scss";
76
+</style>

+ 45
- 0
src/pages/WoDe/GeRenSheZhi/ZhangHuSheZhi/BangDingZhiFuBao/page.scss Просмотреть файл

@@ -0,0 +1,45 @@
1
+.Page {
2
+  background: #f2f2f2;
3
+  width: 100%;
4
+  height: 100%;
5
+  position: relative;
6
+  overflow: hidden;
7
+  .PageContainer {
8
+    width: 100%;
9
+    height: 100%;
10
+    position: relative;
11
+    overflow-y: scroll;
12
+    -webkit-overflow-scrolling: touch;
13
+    > .Form {
14
+      padding: 0.15rem;
15
+      background: #fff;
16
+      > input {
17
+        display: block;
18
+        font-size: 0.14rem;
19
+        line-height: 0.2rem;
20
+        width: 100%;
21
+      }
22
+    }
23
+    > span {
24
+      display: block;
25
+      font-size: 0.12rem;
26
+      color: #adadad;
27
+      line-height: 0.2rem;
28
+      margin-top: 0.05rem;
29
+      text-indent: 0.15rem;
30
+    }
31
+    > .Btn {
32
+      padding: 0 0.15rem;
33
+      margin-top: 0.5rem;
34
+      > a {
35
+        display: block;
36
+        text-align: center;
37
+        font-size: 0.16rem;
38
+        color: #fff;
39
+        background: #ff5200;
40
+        border-radius: 0.06rem;
41
+        line-height: 0.42rem;
42
+      }
43
+    }
44
+  }
45
+}

+ 90
- 0
src/pages/WoDe/GeRenSheZhi/ZhangHuSheZhi/EditTiXianMiMa/index.vue Просмотреть файл

@@ -0,0 +1,90 @@
1
+<template>
2
+  <div class="Page">
3
+    <MainPageContainer :ShowMainHeader="true" :ShowMainHeaderBack="true" MainHeaderTitle="设置提现密码" @UserInfoChange="Init">
4
+      <div class="PageContainer">
5
+        <div class="Form">
6
+          <input type="password" placeholder="请输入登录密码" v-model="LoginPassword" @input="LoginPassword = LoginPassword.substring(0, 12)">
7
+        </div>
8
+        <div class="Form">
9
+          <input type="password" placeholder="请输入2~12个字符" v-model="Password" @input="Password = Password.substring(0, 12)">
10
+        </div>
11
+        <div class="Form">
12
+          <input type="password" placeholder="请确认您的密码" v-model="PasswordAgain" @input="PasswordAgain = PasswordAgain.substring(0, 12)">
13
+        </div>
14
+        <div class="Btn">
15
+          <a @click="EditMiMa">确认</a>
16
+        </div>
17
+      </div>
18
+    </MainPageContainer>
19
+  </div>
20
+</template>
21
+
22
+<script>
23
+import md5 from 'js-md5'
24
+import MainPageContainer from '../../../../../components/common/MainPageContainer'
25
+import { createNamespacedHelpers } from 'vuex'
26
+const { mapState: mapUserState, mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
27
+export default {
28
+  name: '',
29
+  data () {
30
+    return {
31
+      LoginPassword: '',
32
+      Password: '',
33
+      PasswordAgain: '',
34
+      DataLock: false
35
+    }
36
+  },
37
+  computed: {
38
+    ...mapUserState({
39
+      UserInfo: x => x.UserInfo
40
+    })
41
+  },
42
+  components: {
43
+    MainPageContainer
44
+  },
45
+  created () {
46
+  },
47
+  mounted () {
48
+    this.$nextTick(() => {
49
+    })
50
+  },
51
+  methods: {
52
+    ...mapUserMutations([
53
+      'EditUserInfo'
54
+    ]),
55
+    ...mapUserActions([
56
+      'UpdateUserInfo'
57
+    ]),
58
+    Init () {
59
+    },
60
+    EditMiMa () {
61
+      if (this.DataLock || this.Password === '' || this.PasswordAgain === '' || (this.UserInfo.cashPass !== null && this.LoginPassword === '')) return
62
+      this.DataLock = true
63
+      if (this.LoginPassword === '') {
64
+        this.Toast('登录密码不能为空')
65
+        this.DataLock = false
66
+        return false
67
+      }
68
+      if (this.Password !== this.PasswordAgain) {
69
+        this.Toast('新密码与确认密码不一致')
70
+        this.DataLock = false
71
+        return false
72
+      }
73
+      this.UpdateUserInfo({ urlData: { id: this.UserInfo.customerId }, data: { cashPass: md5(this.Password), loginPass: md5(this.LoginPassword) } }).then(() => {
74
+        this.Toast('提现密码设置成功')
75
+        this.EditUserInfo({ name: 'cashPass', value: this.Password })
76
+        this.DataLock = false
77
+        this.$router.go(-1)
78
+      }).catch((res) => {
79
+        this.Toast(res.data.message)
80
+        this.DataLock = false
81
+      })
82
+    }
83
+  }
84
+}
85
+</script>
86
+
87
+<!-- Add "scoped" attribute to limit CSS to this component only -->
88
+<style lang="scss" scoped>
89
+@import "page.scss";
90
+</style>

+ 45
- 0
src/pages/WoDe/GeRenSheZhi/ZhangHuSheZhi/EditTiXianMiMa/page.scss Просмотреть файл

@@ -0,0 +1,45 @@
1
+.Page {
2
+  background: #f2f2f2;
3
+  width: 100%;
4
+  height: 100%;
5
+  position: relative;
6
+  overflow: hidden;
7
+  .PageContainer {
8
+    width: 100%;
9
+    height: 100%;
10
+    position: relative;
11
+    overflow-y: scroll;
12
+    -webkit-overflow-scrolling: touch;
13
+    > .Form {
14
+      padding: 0.15rem;
15
+      background: #fff;
16
+      > input {
17
+        display: block;
18
+        font-size: 0.14rem;
19
+        line-height: 0.2rem;
20
+        width: 100%;
21
+      }
22
+    }
23
+    > span {
24
+      display: block;
25
+      font-size: 0.12rem;
26
+      color: #adadad;
27
+      line-height: 0.2rem;
28
+      margin-top: 0.05rem;
29
+      text-indent: 0.15rem;
30
+    }
31
+    > .Btn {
32
+      padding: 0 0.15rem;
33
+      margin-top: 0.5rem;
34
+      > a {
35
+        display: block;
36
+        text-align: center;
37
+        font-size: 0.16rem;
38
+        color: #fff;
39
+        background: #ff5200;
40
+        border-radius: 0.06rem;
41
+        line-height: 0.42rem;
42
+      }
43
+    }
44
+  }
45
+}

+ 15
- 0
src/pages/WoDe/GeRenSheZhi/ZhangHuSheZhi/UserInfo/index.vue Просмотреть файл

@@ -16,6 +16,21 @@
16 16
             <span>{{UserInfo.name || '未设置'}}</span>
17 17
             <i class="iconfont iconjiantouright"></i>
18 18
           </router-link>
19
+          <router-link tag="li" class="flex-h" :to="{name: 'EditTiXianMiMa'}">
20
+            <span class="flex-item">提现密码</span>
21
+            <span>{{UserInfo.cashPass === null ? '未设置' : ''}}</span>
22
+            <i class="iconfont iconjiantouright"></i>
23
+          </router-link>
24
+          <router-link tag="li" class="flex-h" :to="{name: 'BangDingShenFenZheng'}">
25
+            <span class="flex-item">绑定身份证</span>
26
+            <span>{{UserInfo.idCard === null ? '未绑定' : '已绑定'}}</span>
27
+            <i class="iconfont iconjiantouright"></i>
28
+          </router-link>
29
+          <router-link tag="li" class="flex-h" :to="{name: 'BangDingZhiFuBao'}">
30
+            <span class="flex-item">绑定支付宝</span>
31
+            <span>{{UserInfo.alipayUser === null ? '未绑定' : '已绑定'}}</span>
32
+            <i class="iconfont iconjiantouright"></i>
33
+          </router-link>
19 34
         </ul>
20 35
       </div>
21 36
     </MainPageContainer>

+ 89
- 0
src/pages/WoDe/TiXian/index.vue Просмотреть файл

@@ -0,0 +1,89 @@
1
+<template>
2
+  <div class="Page">
3
+    <MainPageContainer :ShowMainHeader="true" :ShowMainHeaderBack="true" MainHeaderTitle="提现" @UserInfoChange="Init">
4
+      <div class="PageContainer">
5
+        <span v-if="UserInfo !== null">当前账户余额:{{UserInfo.account.cash === null ? 0 : UserInfo.account.cash / 100}}元</span>
6
+        <div class="Form">
7
+          <input type="number" placeholder="请输入提现金额" v-model="Amount">
8
+        </div>
9
+        <div class="Form">
10
+          <input type="password" placeholder="请输入提现密码" v-model="Password" @input="Password = Password.substring(0, 12)">
11
+        </div>
12
+        <span style="color: #999">未设置过提现密码?<router-link :to="{ name: 'EditTiXianMiMa' }">设置提现密码</router-link></span>
13
+        <div class="Btn">
14
+          <a @click="ToCashOut">提现</a>
15
+        </div>
16
+      </div>
17
+    </MainPageContainer>
18
+  </div>
19
+</template>
20
+
21
+<script>
22
+import md5 from 'js-md5'
23
+import MainPageContainer from '../../../components/common/MainPageContainer'
24
+import { createNamespacedHelpers } from 'vuex'
25
+const { mapState: mapUserState, mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
26
+export default {
27
+  name: '',
28
+  data () {
29
+    return {
30
+      Amount: '',
31
+      Password: '',
32
+      DataLock: false
33
+    }
34
+  },
35
+  computed: {
36
+    ...mapUserState({
37
+      UserInfo: x => x.UserInfo
38
+    })
39
+  },
40
+  components: {
41
+    MainPageContainer
42
+  },
43
+  created () {
44
+  },
45
+  mounted () {
46
+    this.$nextTick(() => {
47
+    })
48
+  },
49
+  methods: {
50
+    ...mapUserMutations([
51
+      'EditUserInfo'
52
+    ]),
53
+    ...mapUserActions([
54
+      'UpdateUserInfo',
55
+      'CashOut'
56
+    ]),
57
+    Init () {
58
+    },
59
+    ToCashOut () {
60
+      // if (this.Amount === '') {
61
+      //   this.Toast('提现金额不能为空')
62
+      //   return false
63
+      // }
64
+      // if (this.Amount - 0 > this.UserInfo.account.cash - 0) {
65
+      //   this.Toast('提现金额不能大于账户余额')
66
+      //   return false
67
+      // }
68
+      // if (this.Password === '') {
69
+      //   this.Toast('提现密码不能为空')
70
+      //   return false
71
+      // }
72
+      if (this.DataLock) return
73
+      this.DataLock = true
74
+      this.CashOut({ data: { amount: this.Amount * 100, cashPass: md5(this.Password) } }).then((res) => {
75
+        this.Toast('提现成功')
76
+        this.DataLock = false
77
+      }).catch((res) => {
78
+        this.Toast(res.data.message)
79
+        this.DataLock = false
80
+      })
81
+    }
82
+  }
83
+}
84
+</script>
85
+
86
+<!-- Add "scoped" attribute to limit CSS to this component only -->
87
+<style lang="scss" scoped>
88
+@import "page.scss";
89
+</style>

+ 47
- 0
src/pages/WoDe/TiXian/page.scss Просмотреть файл

@@ -0,0 +1,47 @@
1
+.Page {
2
+  background: #f2f2f2;
3
+  width: 100%;
4
+  height: 100%;
5
+  position: relative;
6
+  overflow: hidden;
7
+  .PageContainer {
8
+    width: 100%;
9
+    height: 100%;
10
+    position: relative;
11
+    overflow-y: scroll;
12
+    -webkit-overflow-scrolling: touch;
13
+    > span {
14
+      display: block;
15
+      font-size: 0.14rem;
16
+      color: #333;
17
+      line-height: 0.4rem;
18
+      text-indent: 0.15rem;
19
+      > a {
20
+        color: #ff5200;
21
+      }
22
+    }
23
+    > .Form {
24
+      padding: 0.15rem;
25
+      background: #fff;
26
+      > input {
27
+        display: block;
28
+        font-size: 0.14rem;
29
+        line-height: 0.2rem;
30
+        width: 100%;
31
+      }
32
+    }
33
+    > .Btn {
34
+      padding: 0 0.15rem;
35
+      margin-top: 0.5rem;
36
+      > a {
37
+        display: block;
38
+        text-align: center;
39
+        font-size: 0.16rem;
40
+        color: #fff;
41
+        background: #ff5200;
42
+        border-radius: 0.06rem;
43
+        line-height: 0.42rem;
44
+      }
45
+    }
46
+  }
47
+}

+ 3
- 1
src/pages/WoDe/UserCenter/index.vue Просмотреть файл

@@ -10,6 +10,7 @@
10 10
             </div>
11 11
             <router-link :to="{ name: 'SignIn' }" v-if="UserInfo === null">点击注册/登录</router-link>
12 12
             <span v-else>{{UserInfo.name}}</span>
13
+            <span v-if="UserInfo !== null" style="margin-top: 0; line-height: 0.2rem;">账户余额:{{UserInfo.account.cash / 100}}元</span>
13 14
           </div>
14 15
         </div>
15 16
 
@@ -47,7 +48,8 @@ export default {
47 48
         { name: '账号明细', desc: '流水明细', img: require('../../../assets/img/icon10.png'), router: 'ZhangHaoMingXi' },
48 49
         { name: '安全中心', desc: '用户设置', img: require('../../../assets/img/icon9.png'), router: 'AnQuanZhongXin' },
49 50
         { name: '个人设置', desc: '关于我们', img: require('../../../assets/img/icon8.png'), router: 'GeRenSheZhi' },
50
-        { name: '下载二维码', desc: '分享好友', img: require('../../../assets/img/icon11.png'), router: 'XiaZaiErWeiMa' }
51
+        { name: '下载二维码', desc: '分享好友', img: require('../../../assets/img/icon11.png'), router: 'XiaZaiErWeiMa' },
52
+        { name: '提现', desc: '提取余额', img: require('../../../assets/img/tixian.png'), router: 'TiXian' }
51 53
       ]
52 54
     }
53 55
   },

+ 71
- 45
src/pages/WoDe/ZhangHaoMingXi/index.vue Просмотреть файл

@@ -10,28 +10,22 @@
10 10
         <!-- 内容 -->
11 11
         <div class="flex-item">
12 12
           <div>
13
-            <swiper :options="SwiperOptions" ref="MySwiper">
14
-              <swiper-slide v-for="(item, index) in NavList" :key="index">
15
-                <div class="SwiperItem">
16
-                  <scroller :on-refresh="Refresh">
17
-                    <div class="Container">
18
-
19
-                      <!-- 全部 -->
20
-                      <ul>
21
-                        <li v-for="(item, index) in UserAccountDetails[ReturnType(item.id)]" :key="index" class="flex-h">
22
-                          <div class="flex-item">
23
-                            <span>{{item.type}}</span>
24
-                            <span>{{item.createDate}}</span>
25
-                          </div>
26
-                          <span>{{item.amount}}元</span>
27
-                        </li>
28
-                      </ul>
13
+            <scroller :on-refresh="Refresh" :on-infinite="Infinite" :ref="`MyScroller`">
14
+              <div class="Container">
29 15
 
16
+                <!-- 全部 -->
17
+                <ul>
18
+                  <li v-for="(item, index) in AccountBill" :key="index" class="flex-h">
19
+                    <div class="flex-item">
20
+                      <span>{{item.feeType === 'BETTING' ? '投注' : '提现'}}</span>
21
+                      <span>{{ToolClass.DateFormat(item.createDate)}}</span>
30 22
                     </div>
31
-                  </scroller>
32
-                </div>
33
-              </swiper-slide>
34
-            </swiper>
23
+                    <span>{{item.amount / 100}}元</span>
24
+                  </li>
25
+                </ul>
26
+
27
+              </div>
28
+            </scroller>
35 29
           </div>
36 30
         </div>
37 31
       </div>
@@ -44,20 +38,25 @@ import 'swiper/dist/css/swiper.css'
44 38
 import MainPageContainer from '../../../components/common/MainPageContainer'
45 39
 import { swiper, swiperSlide } from 'vue-awesome-swiper'
46 40
 import { createNamespacedHelpers } from 'vuex'
47
-const { mapState: mapUserState } = createNamespacedHelpers('user')
41
+const { mapState: mapUserState, mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
48 42
 export default {
49 43
   name: '',
50 44
   data () {
51 45
     let _that = this
52 46
     return {
53
-      DataLock: false, // 数据锁
47
+      PageData: {
48
+        pageNum: 0,
49
+        pageSize: 10
50
+      },
51
+      PageList: [],
52
+      Timer: null,
53
+      HasNextPage: true,
54
+      DataLock: false,
54 55
       NavActiveId: 1, // 导航选中id
55 56
       NavList: [ // 导航数据
56 57
         { name: '全部', id: 1 },
57
-        { name: '充值', id: 2 },
58
-        { name: '投注', id: 3 },
59
-        { name: '派奖', id: 4 },
60
-        { name: '提现', id: 5 }
58
+        { name: '投注', id: 2 },
59
+        { name: '提现', id: 3 }
61 60
       ],
62 61
       SwiperOptions: {
63 62
         on: {
@@ -73,7 +72,8 @@ export default {
73 72
       return this.$refs.MySwiper.swiper
74 73
     },
75 74
     ...mapUserState({
76
-      UserAccountDetails: x => x.UserAccountDetails // 用户账户明细
75
+      UserInfo: x => x.UserInfo, // 用户信息
76
+      AccountBill: x => x.AccountBill // 用户账户明细
77 77
     })
78 78
   },
79 79
   components: {
@@ -88,33 +88,59 @@ export default {
88 88
     })
89 89
   },
90 90
   methods: {
91
+    ...mapUserActions([
92
+      'GetAccountBill'
93
+    ]),
94
+    ...mapUserMutations([
95
+      'EmptyAccountBill'
96
+    ]),
97
+    Init (done = () => { }) { // 初始化
98
+      this.EmptyAccountBill()
99
+      this.PageData.pageNum = 1
100
+      this.HasNextPage = true
101
+      this.DataLock = false
102
+      this.ToGetPageList(done)
103
+    },
104
+    ToGetPageList (done = () => { }) { // 获取页面列表
105
+      if (this.HasNextPage) {
106
+        let QueryData = { ...this.PageData }
107
+        if (this.NavActiveId - 0 === 2) {
108
+          QueryData.feeType = 'BETTING'
109
+        }
110
+        if (this.NavActiveId - 0 === 3) {
111
+          QueryData.feeType = 'CASH_OUT'
112
+        }
113
+        this.GetAccountBill({ urlData: { id: this.UserInfo.customerId }, queryData: { ...QueryData } }).then((res) => {
114
+          this.HasNextPage = res.data.data.total > this.AccountBill.length
115
+          done()
116
+        }).catch(() => {
117
+          done()
118
+        })
119
+      }
120
+    },
91 121
     CutNav (item, index) { // 切换nav
92 122
       if (this.DataLock) return
93 123
       this.DataLock = true
94 124
       this.NavActiveId = item.id
95
-      this.MySwiper.slideTo(index, 0, false)
125
+      this.Init()
96 126
       this.DataLock = false
97 127
     },
98
-    ReturnType (id) { // 返回明细类型
99
-      switch (id) {
100
-        case 1:
101
-          return 'All'
102
-        case 2:
103
-          return 'Pay'
104
-        case 3:
105
-          return 'Bet'
106
-        case 4:
107
-          return 'SendPrize'
108
-        case 5:
109
-          return 'WithDraw'
110
-        default:
111
-          return 'All'
112
-      }
128
+    Infinite (done) { // 上拉加载
129
+      this.Timer = window.setTimeout(() => {
130
+        if (this.HasNextPage) {
131
+          this.PageData.pageNum += 1
132
+          this.ToGetPageList(done)
133
+        } else {
134
+          this.$refs.MyScroller.finishInfinite(true)
135
+        }
136
+      }, 1000)
113 137
     },
114 138
     Refresh (done) { // 页面下拉刷新
115
-      window.setTimeout(() => {
139
+      if (!this.DataLock) {
140
+        this.Init(done)
141
+      } else {
116 142
         done()
117
-      }, 1000)
143
+      }
118 144
     }
119 145
   }
120 146
 }

+ 29
- 39
src/pages/WoDe/ZhangHaoMingXi/page.scss Просмотреть файл

@@ -44,49 +44,39 @@
44 44
         top: 0;
45 45
         bottom: 0;
46 46
         overflow: hidden;
47
-        > div {
48
-          width: 100%;
49
-          height: 100%;
50
-          position: relative;
51
-          .SwiperItem {
52
-            width: 100%;
53
-            height: 100%;
54
-            position: relative;
55
-            .Container {
56
-              ul {
57
-                padding: 0 0.15rem;
58
-                > li {
59
-                  align-items: center;
60
-                  padding: 0.1rem 0;
61
-                  border-bottom: 0.01rem solid #f7f7f7;
62
-                  > div {
63
-                    > span {
64
-                      display: block;
65
-                      width: 100%;
66
-                      font-size: 0.12rem;
67
-                      color: #999;
68
-                      line-height: 0.2rem;
69
-                      white-space: nowrap;
70
-                      overflow: hidden;
71
-                      text-overflow: ellipsis;
72
-                      &:first-child {
73
-                        font-size: 0.15rem;
74
-                        color: #333;
75
-                        margin-bottom: 0.05rem;
76
-                      }
77
-                    }
78
-                  }
79
-                  > span {
47
+        .Container {
48
+          ul {
49
+            padding: 0 0.15rem;
50
+            > li {
51
+              align-items: center;
52
+              padding: 0.1rem 0;
53
+              border-bottom: 0.01rem solid #f7f7f7;
54
+              > div {
55
+                > span {
56
+                  display: block;
57
+                  width: 100%;
58
+                  font-size: 0.12rem;
59
+                  color: #999;
60
+                  line-height: 0.2rem;
61
+                  white-space: nowrap;
62
+                  overflow: hidden;
63
+                  text-overflow: ellipsis;
64
+                  &:first-child {
80 65
                     font-size: 0.15rem;
81
-                    font-weight: bold;
82
-                    color: #999;
83
-                    margin-left: 0.1rem;
84
-                    &.active {
85
-                      color: #ff5200;
86
-                    }
66
+                    color: #333;
67
+                    margin-bottom: 0.05rem;
87 68
                   }
88 69
                 }
89 70
               }
71
+              > span {
72
+                font-size: 0.15rem;
73
+                font-weight: bold;
74
+                color: #999;
75
+                margin-left: 0.1rem;
76
+                &.active {
77
+                  color: #ff5200;
78
+                }
79
+              }
90 80
             }
91 81
           }
92 82
         }

+ 3
- 3
src/pages/index/DingDanZhiFuZhuangTai/index.vue Просмотреть файл

@@ -4,7 +4,7 @@
4 4
       <div class="PageContainer">
5 5
         <div class="centerLabel">
6 6
           <i class="iconfont iconshibai" v-if="OrderStatus === 'Error'"></i>
7
-          <span v-if="OrderStatus === 'Error'">支付失败</span>
7
+          <span v-if="OrderStatus === 'Error'">支付</span>
8 8
           <i class="iconfont iconchenggong active" v-if="OrderStatus === 'Success'"></i>
9 9
           <span v-if="OrderStatus === 'Success'">支付成功</span>
10 10
           <a v-if="OrderStatus === 'Error'" :href="`/api/app/order/alipay/betting?orderId=${$route.query.id}&returlURL=${LocationOrigin}&token=${Jwt}&routerName=${$route.query.routerName}`">重新支付</a>
@@ -45,8 +45,8 @@ export default {
45 45
       'GetAliPayStatus'
46 46
     ]),
47 47
     Init () { // 初始化
48
-      if (this.$route.query.id !== undefined) {
49
-        this.GetAliPayStatus({ urlData: { id: this.$route.query.id } }).then((res) => {
48
+      if (this.$route.query.orderId !== undefined) {
49
+        this.GetAliPayStatus({ urlData: { id: this.$route.query.orderId } }).then((res) => {
50 50
           this.OrderStatus = res.data.data === 1 ? 'Success' : 'Error'
51 51
         })
52 52
       }

+ 29
- 1
src/router/index.js Просмотреть файл

@@ -309,11 +309,32 @@ let router = new Router({
309 309
                     }
310 310
                   },
311 311
                   {
312
-                    path: '/WoDe/GeRenSheZhi/ZhangHuSheZhi/EditUserNick', // 修用户昵称
312
+                    path: '/WoDe/GeRenSheZhi/ZhangHuSheZhi/EditUserNick', // 修用户昵称
313 313
                     name: 'EditUserNick',
314 314
                     component: resolve => {
315 315
                       require(['@/pages/WoDe/GeRenSheZhi/ZhangHuSheZhi/EditUserNick'], RouterLoading.resolve(resolve))
316 316
                     }
317
+                  },
318
+                  {
319
+                    path: '/WoDe/GeRenSheZhi/ZhangHuSheZhi/EditTiXianMiMa', // 修改提现密码
320
+                    name: 'EditTiXianMiMa',
321
+                    component: resolve => {
322
+                      require(['@/pages/WoDe/GeRenSheZhi/ZhangHuSheZhi/EditTiXianMiMa'], RouterLoading.resolve(resolve))
323
+                    }
324
+                  },
325
+                  {
326
+                    path: '/WoDe/GeRenSheZhi/ZhangHuSheZhi/BangDingShenFenZheng', // 绑定身份证
327
+                    name: 'BangDingShenFenZheng',
328
+                    component: resolve => {
329
+                      require(['@/pages/WoDe/GeRenSheZhi/ZhangHuSheZhi/BangDingShenFenZheng'], RouterLoading.resolve(resolve))
330
+                    }
331
+                  },
332
+                  {
333
+                    path: '/WoDe/GeRenSheZhi/ZhangHuSheZhi/BangDingZhiFuBao', // 绑定支付宝
334
+                    name: 'BangDingZhiFuBao',
335
+                    component: resolve => {
336
+                      require(['@/pages/WoDe/GeRenSheZhi/ZhangHuSheZhi/BangDingZhiFuBao'], RouterLoading.resolve(resolve))
337
+                    }
317 338
                   }
318 339
                 ]
319 340
               },
@@ -332,6 +353,13 @@ let router = new Router({
332 353
             component: resolve => {
333 354
               require(['@/pages/WoDe/XiaZaiErWeiMa'], RouterLoading.resolve(resolve))
334 355
             }
356
+          },
357
+          {
358
+            path: '/WoDe/TiXian', // 提现
359
+            name: 'TiXian',
360
+            component: resolve => {
361
+              require(['@/pages/WoDe/TiXian'], RouterLoading.resolve(resolve))
362
+            }
335 363
           }
336 364
         ]
337 365
       },

+ 27
- 0
src/store/user/index.js Просмотреть файл

@@ -4,6 +4,7 @@ import ToolClass from '../../util/PublicMethod'
4 4
 export default {
5 5
   namespaced: true,
6 6
   state: {
7
+    AccountBill: [], // 账户明细
7 8
     StoreList: [], // 店铺列表
8 9
     LanQiuCart: [], // 篮球购物车
9 10
     ZuQiuCart: [], // 足球购物车
@@ -111,9 +112,35 @@ export default {
111 112
     },
112 113
     EmptyUserBettingList (state) { // 清空用户投注列表
113 114
       state.UserBettingList = []
115
+    },
116
+    UpdateAccountBill (state, data) { // 更新账户明细
117
+      state.AccountBill = state.AccountBill.concat(data.records || [])
118
+    },
119
+    EmptyAccountBill (state) { // 清空账户明细
120
+      state.AccountBill = []
114 121
     }
115 122
   },
116 123
   actions: {
124
+    BindAliAccount (context, payload) { // 绑定支付宝
125
+      return new Promise((resolve, reject) => {
126
+        ToolClass.Axios(resolve, reject, Api.BindAliAccount, context, payload, 1000)
127
+      })
128
+    },
129
+    BindIdCard (context, payload) { // 绑定身份证
130
+      return new Promise((resolve, reject) => {
131
+        ToolClass.Axios(resolve, reject, Api.BindIdCard, context, payload, 1000)
132
+      })
133
+    },
134
+    CashOut (context, payload) { // 提现
135
+      return new Promise((resolve, reject) => {
136
+        ToolClass.Axios(resolve, reject, Api.CashOut, context, payload, 1000)
137
+      })
138
+    },
139
+    GetAccountBill (context, payload) { // 获取账户明细
140
+      return new Promise((resolve, reject) => {
141
+        ToolClass.Axios(resolve, reject, Api.GetAccountBill, context, payload, 1000, 'UpdateAccountBill')
142
+      })
143
+    },
117 144
     GetAliPayStatus (context, payload) { // 获取支付宝支付结果
118 145
       return new Promise((resolve, reject) => {
119 146
         ToolClass.Axios(resolve, reject, Api.GetAliPayStatus, context, payload, 1000)

+ 16
- 0
src/util/Api.js Просмотреть файл

@@ -2,6 +2,22 @@
2 2
 const prefix = process.env.NODE_ENV === 'production' ? '/api' : '/api'
3 3
 
4 4
 const $api = {
5
+  BindAliAccount: { // 绑定支付宝
6
+    method: 'post',
7
+    url: `${prefix}/shop/alipay/auth/user`
8
+  },
9
+  BindIdCard: { // 绑定身份证
10
+    method: 'put',
11
+    url: `${prefix}/app/bind/identity`
12
+  },
13
+  CashOut: { // 提现
14
+    method: 'post',
15
+    url: `${prefix}/app/account/cashout`
16
+  },
17
+  GetAccountBill: { // 获取账户明细
18
+    method: 'get',
19
+    url: `${prefix}/app/customer/:id/bill`
20
+  },
5 21
   CreateAliPayOrder: { // 创建支付宝订单
6 22
     method: 'get',
7 23
     url: `${prefix}/app/order/alipay/buylottery`

+ 5
- 4
src/util/PublicMethod.js Просмотреть файл

@@ -135,13 +135,14 @@ const ToolClass = {
135 135
     return false
136 136
   },
137 137
   DateFormat (timestamp) { // 格式化时间
138
-    let Date = new Date(timestamp - 0)
138
+    timestamp = new Date(timestamp).getTime()
139
+    let aDate = new Date(timestamp - 0)
139 140
     let yy = new Date(timestamp).getFullYear()
140 141
     let mm = new Date(timestamp).getMonth() + 1
141 142
     let dd = new Date(timestamp).getDate()
142
-    let hh = Date.getHours()
143
-    let min = Date.getMinutes()
144
-    let ss = Date.getSeconds()
143
+    let hh = aDate.getHours()
144
+    let min = aDate.getMinutes()
145
+    let ss = aDate.getSeconds()
145 146
     return `${yy}-${mm}-${dd} ${hh}:${min}:${ss}`
146 147
   },
147 148
   WindowClick (callback) { // window点击事件