瀏覽代碼

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

张延森 4 年之前
父節點
當前提交
fe69453e2f

+ 7
- 7
config/index.js 查看文件

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

+ 1
- 1
index.html 查看文件

5
   <meta charset='utf-8'>
5
   <meta charset='utf-8'>
6
   <meta content='width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0' name='viewport'>
6
   <meta content='width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0' name='viewport'>
7
   <meta name="referrer" content="no-referrer">
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
   <title>牛彩</title>
9
   <title>牛彩</title>
10
   <script>
10
   <script>
11
     let Width = document.documentElement.clientWidth / 375 * 100
11
     let Width = document.documentElement.clientWidth / 375 * 100

+ 55
- 74
package-lock.json 查看文件

2380
     },
2380
     },
2381
     "buffer-alloc": {
2381
     "buffer-alloc": {
2382
       "version": "1.2.0",
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
       "requires": {
2385
       "requires": {
2386
         "buffer-alloc-unsafe": "^1.1.0",
2386
         "buffer-alloc-unsafe": "^1.1.0",
2387
         "buffer-fill": "^1.0.0"
2387
         "buffer-fill": "^1.0.0"
2389
     },
2389
     },
2390
     "buffer-alloc-unsafe": {
2390
     "buffer-alloc-unsafe": {
2391
       "version": "1.1.0",
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
     "buffer-fill": {
2395
     "buffer-fill": {
2396
       "version": "1.0.0",
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
       "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw="
2398
       "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw="
2399
     },
2399
     },
2400
     "buffer-from": {
2400
     "buffer-from": {
4015
     },
4015
     },
4016
     "dijkstrajs": {
4016
     "dijkstrajs": {
4017
       "version": "1.0.1",
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
       "integrity": "sha1-082BIh4+pAdCz83lVtTpnpjdxxs="
4019
       "integrity": "sha1-082BIh4+pAdCz83lVtTpnpjdxxs="
4020
     },
4020
     },
4021
     "dir-glob": {
4021
     "dir-glob": {
5537
         "ansi-regex": {
5537
         "ansi-regex": {
5538
           "version": "2.1.1",
5538
           "version": "2.1.1",
5539
           "bundled": true,
5539
           "bundled": true,
5540
-          "dev": true,
5541
-          "optional": true
5540
+          "dev": true
5542
         },
5541
         },
5543
         "aproba": {
5542
         "aproba": {
5544
           "version": "1.2.0",
5543
           "version": "1.2.0",
5559
         "balanced-match": {
5558
         "balanced-match": {
5560
           "version": "1.0.0",
5559
           "version": "1.0.0",
5561
           "bundled": true,
5560
           "bundled": true,
5562
-          "dev": true,
5563
-          "optional": true
5561
+          "dev": true
5564
         },
5562
         },
5565
         "brace-expansion": {
5563
         "brace-expansion": {
5566
           "version": "1.1.11",
5564
           "version": "1.1.11",
5567
           "bundled": true,
5565
           "bundled": true,
5568
           "dev": true,
5566
           "dev": true,
5569
-          "optional": true,
5570
           "requires": {
5567
           "requires": {
5571
             "balanced-match": "^1.0.0",
5568
             "balanced-match": "^1.0.0",
5572
             "concat-map": "0.0.1"
5569
             "concat-map": "0.0.1"
5581
         "code-point-at": {
5578
         "code-point-at": {
5582
           "version": "1.1.0",
5579
           "version": "1.1.0",
5583
           "bundled": true,
5580
           "bundled": true,
5584
-          "dev": true,
5585
-          "optional": true
5581
+          "dev": true
5586
         },
5582
         },
5587
         "concat-map": {
5583
         "concat-map": {
5588
           "version": "0.0.1",
5584
           "version": "0.0.1",
5589
           "bundled": true,
5585
           "bundled": true,
5590
-          "dev": true,
5591
-          "optional": true
5586
+          "dev": true
5592
         },
5587
         },
5593
         "console-control-strings": {
5588
         "console-control-strings": {
5594
           "version": "1.1.0",
5589
           "version": "1.1.0",
5595
           "bundled": true,
5590
           "bundled": true,
5596
-          "dev": true,
5597
-          "optional": true
5591
+          "dev": true
5598
         },
5592
         },
5599
         "core-util-is": {
5593
         "core-util-is": {
5600
           "version": "1.0.2",
5594
           "version": "1.0.2",
5711
         "inherits": {
5705
         "inherits": {
5712
           "version": "2.0.3",
5706
           "version": "2.0.3",
5713
           "bundled": true,
5707
           "bundled": true,
5714
-          "dev": true,
5715
-          "optional": true
5708
+          "dev": true
5716
         },
5709
         },
5717
         "ini": {
5710
         "ini": {
5718
           "version": "1.3.5",
5711
           "version": "1.3.5",
5724
           "version": "1.0.0",
5717
           "version": "1.0.0",
5725
           "bundled": true,
5718
           "bundled": true,
5726
           "dev": true,
5719
           "dev": true,
5727
-          "optional": true,
5728
           "requires": {
5720
           "requires": {
5729
             "number-is-nan": "^1.0.0"
5721
             "number-is-nan": "^1.0.0"
5730
           }
5722
           }
5739
           "version": "3.0.4",
5731
           "version": "3.0.4",
5740
           "bundled": true,
5732
           "bundled": true,
5741
           "dev": true,
5733
           "dev": true,
5742
-          "optional": true,
5743
           "requires": {
5734
           "requires": {
5744
             "brace-expansion": "^1.1.7"
5735
             "brace-expansion": "^1.1.7"
5745
           }
5736
           }
5747
         "minimist": {
5738
         "minimist": {
5748
           "version": "0.0.8",
5739
           "version": "0.0.8",
5749
           "bundled": true,
5740
           "bundled": true,
5750
-          "dev": true,
5751
-          "optional": true
5741
+          "dev": true
5752
         },
5742
         },
5753
         "minipass": {
5743
         "minipass": {
5754
           "version": "2.2.4",
5744
           "version": "2.2.4",
5755
           "bundled": true,
5745
           "bundled": true,
5756
           "dev": true,
5746
           "dev": true,
5757
-          "optional": true,
5758
           "requires": {
5747
           "requires": {
5759
             "safe-buffer": "^5.1.1",
5748
             "safe-buffer": "^5.1.1",
5760
             "yallist": "^3.0.0"
5749
             "yallist": "^3.0.0"
5773
           "version": "0.5.1",
5762
           "version": "0.5.1",
5774
           "bundled": true,
5763
           "bundled": true,
5775
           "dev": true,
5764
           "dev": true,
5776
-          "optional": true,
5777
           "requires": {
5765
           "requires": {
5778
             "minimist": "0.0.8"
5766
             "minimist": "0.0.8"
5779
           }
5767
           }
5854
         "number-is-nan": {
5842
         "number-is-nan": {
5855
           "version": "1.0.1",
5843
           "version": "1.0.1",
5856
           "bundled": true,
5844
           "bundled": true,
5857
-          "dev": true,
5858
-          "optional": true
5845
+          "dev": true
5859
         },
5846
         },
5860
         "object-assign": {
5847
         "object-assign": {
5861
           "version": "4.1.1",
5848
           "version": "4.1.1",
5867
           "version": "1.4.0",
5854
           "version": "1.4.0",
5868
           "bundled": true,
5855
           "bundled": true,
5869
           "dev": true,
5856
           "dev": true,
5870
-          "optional": true,
5871
           "requires": {
5857
           "requires": {
5872
             "wrappy": "1"
5858
             "wrappy": "1"
5873
           }
5859
           }
5953
         "safe-buffer": {
5939
         "safe-buffer": {
5954
           "version": "5.1.1",
5940
           "version": "5.1.1",
5955
           "bundled": true,
5941
           "bundled": true,
5956
-          "dev": true,
5957
-          "optional": true
5942
+          "dev": true
5958
         },
5943
         },
5959
         "safer-buffer": {
5944
         "safer-buffer": {
5960
           "version": "2.1.2",
5945
           "version": "2.1.2",
5990
           "version": "1.0.2",
5975
           "version": "1.0.2",
5991
           "bundled": true,
5976
           "bundled": true,
5992
           "dev": true,
5977
           "dev": true,
5993
-          "optional": true,
5994
           "requires": {
5978
           "requires": {
5995
             "code-point-at": "^1.0.0",
5979
             "code-point-at": "^1.0.0",
5996
             "is-fullwidth-code-point": "^1.0.0",
5980
             "is-fullwidth-code-point": "^1.0.0",
6010
           "version": "3.0.1",
5994
           "version": "3.0.1",
6011
           "bundled": true,
5995
           "bundled": true,
6012
           "dev": true,
5996
           "dev": true,
6013
-          "optional": true,
6014
           "requires": {
5997
           "requires": {
6015
             "ansi-regex": "^2.0.0"
5998
             "ansi-regex": "^2.0.0"
6016
           }
5999
           }
6054
         "wrappy": {
6037
         "wrappy": {
6055
           "version": "1.0.2",
6038
           "version": "1.0.2",
6056
           "bundled": true,
6039
           "bundled": true,
6057
-          "dev": true,
6058
-          "optional": true
6040
+          "dev": true
6059
         },
6041
         },
6060
         "yallist": {
6042
         "yallist": {
6061
           "version": "3.0.2",
6043
           "version": "3.0.2",
6062
           "bundled": true,
6044
           "bundled": true,
6063
-          "dev": true,
6064
-          "optional": true
6045
+          "dev": true
6065
         }
6046
         }
6066
       }
6047
       }
6067
     },
6048
     },
9764
     },
9745
     },
9765
     "pngjs": {
9746
     "pngjs": {
9766
       "version": "3.4.0",
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
     "portfinder": {
9751
     "portfinder": {
9771
       "version": "1.0.19",
9752
       "version": "1.0.19",
12063
     },
12044
     },
12064
     "qrcode": {
12045
     "qrcode": {
12065
       "version": "1.4.4",
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
       "requires": {
12049
       "requires": {
12069
         "buffer": "^5.4.3",
12050
         "buffer": "^5.4.3",
12070
         "buffer-alloc": "^1.2.0",
12051
         "buffer-alloc": "^1.2.0",
12077
       "dependencies": {
12058
       "dependencies": {
12078
         "ansi-regex": {
12059
         "ansi-regex": {
12079
           "version": "4.1.0",
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
         "buffer": {
12064
         "buffer": {
12084
           "version": "5.6.0",
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
           "requires": {
12068
           "requires": {
12088
             "base64-js": "^1.0.2",
12069
             "base64-js": "^1.0.2",
12089
             "ieee754": "^1.1.4"
12070
             "ieee754": "^1.1.4"
12091
         },
12072
         },
12092
         "camelcase": {
12073
         "camelcase": {
12093
           "version": "5.3.1",
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
         "cliui": {
12078
         "cliui": {
12098
           "version": "5.0.0",
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
           "requires": {
12082
           "requires": {
12102
             "string-width": "^3.1.0",
12083
             "string-width": "^3.1.0",
12103
             "strip-ansi": "^5.2.0",
12084
             "strip-ansi": "^5.2.0",
12106
         },
12087
         },
12107
         "find-up": {
12088
         "find-up": {
12108
           "version": "3.0.0",
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
           "requires": {
12092
           "requires": {
12112
             "locate-path": "^3.0.0"
12093
             "locate-path": "^3.0.0"
12113
           }
12094
           }
12114
         },
12095
         },
12115
         "get-caller-file": {
12096
         "get-caller-file": {
12116
           "version": "2.0.5",
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
         "isarray": {
12101
         "isarray": {
12121
           "version": "2.0.5",
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
         "locate-path": {
12106
         "locate-path": {
12126
           "version": "3.0.0",
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
           "requires": {
12110
           "requires": {
12130
             "p-locate": "^3.0.0",
12111
             "p-locate": "^3.0.0",
12131
             "path-exists": "^3.0.0"
12112
             "path-exists": "^3.0.0"
12133
         },
12114
         },
12134
         "p-limit": {
12115
         "p-limit": {
12135
           "version": "2.3.0",
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
           "requires": {
12119
           "requires": {
12139
             "p-try": "^2.0.0"
12120
             "p-try": "^2.0.0"
12140
           }
12121
           }
12141
         },
12122
         },
12142
         "p-locate": {
12123
         "p-locate": {
12143
           "version": "3.0.0",
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
           "requires": {
12127
           "requires": {
12147
             "p-limit": "^2.0.0"
12128
             "p-limit": "^2.0.0"
12148
           }
12129
           }
12149
         },
12130
         },
12150
         "p-try": {
12131
         "p-try": {
12151
           "version": "2.2.0",
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
         "require-main-filename": {
12136
         "require-main-filename": {
12156
           "version": "2.0.0",
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
         "string-width": {
12141
         "string-width": {
12161
           "version": "3.1.0",
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
           "requires": {
12145
           "requires": {
12165
             "emoji-regex": "^7.0.1",
12146
             "emoji-regex": "^7.0.1",
12166
             "is-fullwidth-code-point": "^2.0.0",
12147
             "is-fullwidth-code-point": "^2.0.0",
12169
         },
12150
         },
12170
         "strip-ansi": {
12151
         "strip-ansi": {
12171
           "version": "5.2.0",
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
           "requires": {
12155
           "requires": {
12175
             "ansi-regex": "^4.1.0"
12156
             "ansi-regex": "^4.1.0"
12176
           }
12157
           }
12177
         },
12158
         },
12178
         "wrap-ansi": {
12159
         "wrap-ansi": {
12179
           "version": "5.1.0",
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
           "requires": {
12163
           "requires": {
12183
             "ansi-styles": "^3.2.0",
12164
             "ansi-styles": "^3.2.0",
12184
             "string-width": "^3.0.0",
12165
             "string-width": "^3.0.0",
12187
         },
12168
         },
12188
         "yargs": {
12169
         "yargs": {
12189
           "version": "13.3.2",
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
           "requires": {
12173
           "requires": {
12193
             "cliui": "^5.0.0",
12174
             "cliui": "^5.0.0",
12194
             "find-up": "^3.0.0",
12175
             "find-up": "^3.0.0",
12204
         },
12185
         },
12205
         "yargs-parser": {
12186
         "yargs-parser": {
12206
           "version": "13.1.2",
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
           "requires": {
12190
           "requires": {
12210
             "camelcase": "^5.0.0",
12191
             "camelcase": "^5.0.0",
12211
             "decamelize": "^1.2.0"
12192
             "decamelize": "^1.2.0"

二進制
src/assets/img/tixian.png 查看文件


+ 85
- 0
src/pages/WoDe/GeRenSheZhi/ZhangHuSheZhi/BangDingShenFenZheng/index.vue 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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 查看文件

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
             <span>{{UserInfo.name || '未设置'}}</span>
16
             <span>{{UserInfo.name || '未设置'}}</span>
17
             <i class="iconfont iconjiantouright"></i>
17
             <i class="iconfont iconjiantouright"></i>
18
           </router-link>
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
         </ul>
34
         </ul>
20
       </div>
35
       </div>
21
     </MainPageContainer>
36
     </MainPageContainer>

+ 89
- 0
src/pages/WoDe/TiXian/index.vue 查看文件

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 查看文件

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
             </div>
10
             </div>
11
             <router-link :to="{ name: 'SignIn' }" v-if="UserInfo === null">点击注册/登录</router-link>
11
             <router-link :to="{ name: 'SignIn' }" v-if="UserInfo === null">点击注册/登录</router-link>
12
             <span v-else>{{UserInfo.name}}</span>
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
           </div>
14
           </div>
14
         </div>
15
         </div>
15
 
16
 
47
         { name: '账号明细', desc: '流水明细', img: require('../../../assets/img/icon10.png'), router: 'ZhangHaoMingXi' },
48
         { name: '账号明细', desc: '流水明细', img: require('../../../assets/img/icon10.png'), router: 'ZhangHaoMingXi' },
48
         { name: '安全中心', desc: '用户设置', img: require('../../../assets/img/icon9.png'), router: 'AnQuanZhongXin' },
49
         { name: '安全中心', desc: '用户设置', img: require('../../../assets/img/icon9.png'), router: 'AnQuanZhongXin' },
49
         { name: '个人设置', desc: '关于我们', img: require('../../../assets/img/icon8.png'), router: 'GeRenSheZhi' },
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
         <!-- 内容 -->
10
         <!-- 内容 -->
11
         <div class="flex-item">
11
         <div class="flex-item">
12
           <div>
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
                     </div>
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
           </div>
29
           </div>
36
         </div>
30
         </div>
37
       </div>
31
       </div>
44
 import MainPageContainer from '../../../components/common/MainPageContainer'
38
 import MainPageContainer from '../../../components/common/MainPageContainer'
45
 import { swiper, swiperSlide } from 'vue-awesome-swiper'
39
 import { swiper, swiperSlide } from 'vue-awesome-swiper'
46
 import { createNamespacedHelpers } from 'vuex'
40
 import { createNamespacedHelpers } from 'vuex'
47
-const { mapState: mapUserState } = createNamespacedHelpers('user')
41
+const { mapState: mapUserState, mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
48
 export default {
42
 export default {
49
   name: '',
43
   name: '',
50
   data () {
44
   data () {
51
     let _that = this
45
     let _that = this
52
     return {
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
       NavActiveId: 1, // 导航选中id
55
       NavActiveId: 1, // 导航选中id
55
       NavList: [ // 导航数据
56
       NavList: [ // 导航数据
56
         { name: '全部', id: 1 },
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
       SwiperOptions: {
61
       SwiperOptions: {
63
         on: {
62
         on: {
73
       return this.$refs.MySwiper.swiper
72
       return this.$refs.MySwiper.swiper
74
     },
73
     },
75
     ...mapUserState({
74
     ...mapUserState({
76
-      UserAccountDetails: x => x.UserAccountDetails // 用户账户明细
75
+      UserInfo: x => x.UserInfo, // 用户信息
76
+      AccountBill: x => x.AccountBill // 用户账户明细
77
     })
77
     })
78
   },
78
   },
79
   components: {
79
   components: {
88
     })
88
     })
89
   },
89
   },
90
   methods: {
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
     CutNav (item, index) { // 切换nav
121
     CutNav (item, index) { // 切换nav
92
       if (this.DataLock) return
122
       if (this.DataLock) return
93
       this.DataLock = true
123
       this.DataLock = true
94
       this.NavActiveId = item.id
124
       this.NavActiveId = item.id
95
-      this.MySwiper.slideTo(index, 0, false)
125
+      this.Init()
96
       this.DataLock = false
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
     Refresh (done) { // 页面下拉刷新
138
     Refresh (done) { // 页面下拉刷新
115
-      window.setTimeout(() => {
139
+      if (!this.DataLock) {
140
+        this.Init(done)
141
+      } else {
116
         done()
142
         done()
117
-      }, 1000)
143
+      }
118
     }
144
     }
119
   }
145
   }
120
 }
146
 }

+ 29
- 39
src/pages/WoDe/ZhangHaoMingXi/page.scss 查看文件

44
         top: 0;
44
         top: 0;
45
         bottom: 0;
45
         bottom: 0;
46
         overflow: hidden;
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
                     font-size: 0.15rem;
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
       <div class="PageContainer">
4
       <div class="PageContainer">
5
         <div class="centerLabel">
5
         <div class="centerLabel">
6
           <i class="iconfont iconshibai" v-if="OrderStatus === 'Error'"></i>
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
           <i class="iconfont iconchenggong active" v-if="OrderStatus === 'Success'"></i>
8
           <i class="iconfont iconchenggong active" v-if="OrderStatus === 'Success'"></i>
9
           <span v-if="OrderStatus === 'Success'">支付成功</span>
9
           <span v-if="OrderStatus === 'Success'">支付成功</span>
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>
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
       'GetAliPayStatus'
45
       'GetAliPayStatus'
46
     ]),
46
     ]),
47
     Init () { // 初始化
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
           this.OrderStatus = res.data.data === 1 ? 'Success' : 'Error'
50
           this.OrderStatus = res.data.data === 1 ? 'Success' : 'Error'
51
         })
51
         })
52
       }
52
       }

+ 29
- 1
src/router/index.js 查看文件

309
                     }
309
                     }
310
                   },
310
                   },
311
                   {
311
                   {
312
-                    path: '/WoDe/GeRenSheZhi/ZhangHuSheZhi/EditUserNick', // 修用户昵称
312
+                    path: '/WoDe/GeRenSheZhi/ZhangHuSheZhi/EditUserNick', // 修用户昵称
313
                     name: 'EditUserNick',
313
                     name: 'EditUserNick',
314
                     component: resolve => {
314
                     component: resolve => {
315
                       require(['@/pages/WoDe/GeRenSheZhi/ZhangHuSheZhi/EditUserNick'], RouterLoading.resolve(resolve))
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
             component: resolve => {
353
             component: resolve => {
333
               require(['@/pages/WoDe/XiaZaiErWeiMa'], RouterLoading.resolve(resolve))
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
 export default {
4
 export default {
5
   namespaced: true,
5
   namespaced: true,
6
   state: {
6
   state: {
7
+    AccountBill: [], // 账户明细
7
     StoreList: [], // 店铺列表
8
     StoreList: [], // 店铺列表
8
     LanQiuCart: [], // 篮球购物车
9
     LanQiuCart: [], // 篮球购物车
9
     ZuQiuCart: [], // 足球购物车
10
     ZuQiuCart: [], // 足球购物车
111
     },
112
     },
112
     EmptyUserBettingList (state) { // 清空用户投注列表
113
     EmptyUserBettingList (state) { // 清空用户投注列表
113
       state.UserBettingList = []
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
   actions: {
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
     GetAliPayStatus (context, payload) { // 获取支付宝支付结果
144
     GetAliPayStatus (context, payload) { // 获取支付宝支付结果
118
       return new Promise((resolve, reject) => {
145
       return new Promise((resolve, reject) => {
119
         ToolClass.Axios(resolve, reject, Api.GetAliPayStatus, context, payload, 1000)
146
         ToolClass.Axios(resolve, reject, Api.GetAliPayStatus, context, payload, 1000)

+ 16
- 0
src/util/Api.js 查看文件

2
 const prefix = process.env.NODE_ENV === 'production' ? '/api' : '/api'
2
 const prefix = process.env.NODE_ENV === 'production' ? '/api' : '/api'
3
 
3
 
4
 const $api = {
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
   CreateAliPayOrder: { // 创建支付宝订单
21
   CreateAliPayOrder: { // 创建支付宝订单
6
     method: 'get',
22
     method: 'get',
7
     url: `${prefix}/app/order/alipay/buylottery`
23
     url: `${prefix}/app/order/alipay/buylottery`

+ 5
- 4
src/util/PublicMethod.js 查看文件

135
     return false
135
     return false
136
   },
136
   },
137
   DateFormat (timestamp) { // 格式化时间
137
   DateFormat (timestamp) { // 格式化时间
138
-    let Date = new Date(timestamp - 0)
138
+    timestamp = new Date(timestamp).getTime()
139
+    let aDate = new Date(timestamp - 0)
139
     let yy = new Date(timestamp).getFullYear()
140
     let yy = new Date(timestamp).getFullYear()
140
     let mm = new Date(timestamp).getMonth() + 1
141
     let mm = new Date(timestamp).getMonth() + 1
141
     let dd = new Date(timestamp).getDate()
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
     return `${yy}-${mm}-${dd} ${hh}:${min}:${ss}`
146
     return `${yy}-${mm}-${dd} ${hh}:${min}:${ss}`
146
   },
147
   },
147
   WindowClick (callback) { // window点击事件
148
   WindowClick (callback) { // window点击事件