备份
Showing
46 changed files
with
2239 additions
and
133 deletions
| ... | @@ -1942,6 +1942,13 @@ | ... | @@ -1942,6 +1942,13 @@ |
| 1942 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", | 1942 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", |
| 1943 | "dev": true | 1943 | "dev": true |
| 1944 | }, | 1944 | }, |
| 1945 | "asap": { | ||
| 1946 | "version": "2.0.6", | ||
| 1947 | "resolved": "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz", | ||
| 1948 | "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", | ||
| 1949 | "dev": true, | ||
| 1950 | "optional": true | ||
| 1951 | }, | ||
| 1945 | "asn1": { | 1952 | "asn1": { |
| 1946 | "version": "0.2.4", | 1953 | "version": "0.2.4", |
| 1947 | "resolved": "http://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz", | 1954 | "resolved": "http://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz", |
| ... | @@ -5412,7 +5419,8 @@ | ... | @@ -5412,7 +5419,8 @@ |
| 5412 | "ansi-regex": { | 5419 | "ansi-regex": { |
| 5413 | "version": "2.1.1", | 5420 | "version": "2.1.1", |
| 5414 | "bundled": true, | 5421 | "bundled": true, |
| 5415 | "dev": true | 5422 | "dev": true, |
| 5423 | "optional": true | ||
| 5416 | }, | 5424 | }, |
| 5417 | "aproba": { | 5425 | "aproba": { |
| 5418 | "version": "1.2.0", | 5426 | "version": "1.2.0", |
| ... | @@ -5433,12 +5441,14 @@ | ... | @@ -5433,12 +5441,14 @@ |
| 5433 | "balanced-match": { | 5441 | "balanced-match": { |
| 5434 | "version": "1.0.0", | 5442 | "version": "1.0.0", |
| 5435 | "bundled": true, | 5443 | "bundled": true, |
| 5436 | "dev": true | 5444 | "dev": true, |
| 5445 | "optional": true | ||
| 5437 | }, | 5446 | }, |
| 5438 | "brace-expansion": { | 5447 | "brace-expansion": { |
| 5439 | "version": "1.1.11", | 5448 | "version": "1.1.11", |
| 5440 | "bundled": true, | 5449 | "bundled": true, |
| 5441 | "dev": true, | 5450 | "dev": true, |
| 5451 | "optional": true, | ||
| 5442 | "requires": { | 5452 | "requires": { |
| 5443 | "balanced-match": "^1.0.0", | 5453 | "balanced-match": "^1.0.0", |
| 5444 | "concat-map": "0.0.1" | 5454 | "concat-map": "0.0.1" |
| ... | @@ -5453,17 +5463,20 @@ | ... | @@ -5453,17 +5463,20 @@ |
| 5453 | "code-point-at": { | 5463 | "code-point-at": { |
| 5454 | "version": "1.1.0", | 5464 | "version": "1.1.0", |
| 5455 | "bundled": true, | 5465 | "bundled": true, |
| 5456 | "dev": true | 5466 | "dev": true, |
| 5467 | "optional": true | ||
| 5457 | }, | 5468 | }, |
| 5458 | "concat-map": { | 5469 | "concat-map": { |
| 5459 | "version": "0.0.1", | 5470 | "version": "0.0.1", |
| 5460 | "bundled": true, | 5471 | "bundled": true, |
| 5461 | "dev": true | 5472 | "dev": true, |
| 5473 | "optional": true | ||
| 5462 | }, | 5474 | }, |
| 5463 | "console-control-strings": { | 5475 | "console-control-strings": { |
| 5464 | "version": "1.1.0", | 5476 | "version": "1.1.0", |
| 5465 | "bundled": true, | 5477 | "bundled": true, |
| 5466 | "dev": true | 5478 | "dev": true, |
| 5479 | "optional": true | ||
| 5467 | }, | 5480 | }, |
| 5468 | "core-util-is": { | 5481 | "core-util-is": { |
| 5469 | "version": "1.0.2", | 5482 | "version": "1.0.2", |
| ... | @@ -5580,7 +5593,8 @@ | ... | @@ -5580,7 +5593,8 @@ |
| 5580 | "inherits": { | 5593 | "inherits": { |
| 5581 | "version": "2.0.3", | 5594 | "version": "2.0.3", |
| 5582 | "bundled": true, | 5595 | "bundled": true, |
| 5583 | "dev": true | 5596 | "dev": true, |
| 5597 | "optional": true | ||
| 5584 | }, | 5598 | }, |
| 5585 | "ini": { | 5599 | "ini": { |
| 5586 | "version": "1.3.5", | 5600 | "version": "1.3.5", |
| ... | @@ -5592,6 +5606,7 @@ | ... | @@ -5592,6 +5606,7 @@ |
| 5592 | "version": "1.0.0", | 5606 | "version": "1.0.0", |
| 5593 | "bundled": true, | 5607 | "bundled": true, |
| 5594 | "dev": true, | 5608 | "dev": true, |
| 5609 | "optional": true, | ||
| 5595 | "requires": { | 5610 | "requires": { |
| 5596 | "number-is-nan": "^1.0.0" | 5611 | "number-is-nan": "^1.0.0" |
| 5597 | } | 5612 | } |
| ... | @@ -5606,6 +5621,7 @@ | ... | @@ -5606,6 +5621,7 @@ |
| 5606 | "version": "3.0.4", | 5621 | "version": "3.0.4", |
| 5607 | "bundled": true, | 5622 | "bundled": true, |
| 5608 | "dev": true, | 5623 | "dev": true, |
| 5624 | "optional": true, | ||
| 5609 | "requires": { | 5625 | "requires": { |
| 5610 | "brace-expansion": "^1.1.7" | 5626 | "brace-expansion": "^1.1.7" |
| 5611 | } | 5627 | } |
| ... | @@ -5613,12 +5629,14 @@ | ... | @@ -5613,12 +5629,14 @@ |
| 5613 | "minimist": { | 5629 | "minimist": { |
| 5614 | "version": "0.0.8", | 5630 | "version": "0.0.8", |
| 5615 | "bundled": true, | 5631 | "bundled": true, |
| 5616 | "dev": true | 5632 | "dev": true, |
| 5633 | "optional": true | ||
| 5617 | }, | 5634 | }, |
| 5618 | "minipass": { | 5635 | "minipass": { |
| 5619 | "version": "2.3.5", | 5636 | "version": "2.3.5", |
| 5620 | "bundled": true, | 5637 | "bundled": true, |
| 5621 | "dev": true, | 5638 | "dev": true, |
| 5639 | "optional": true, | ||
| 5622 | "requires": { | 5640 | "requires": { |
| 5623 | "safe-buffer": "^5.1.2", | 5641 | "safe-buffer": "^5.1.2", |
| 5624 | "yallist": "^3.0.0" | 5642 | "yallist": "^3.0.0" |
| ... | @@ -5637,6 +5655,7 @@ | ... | @@ -5637,6 +5655,7 @@ |
| 5637 | "version": "0.5.1", | 5655 | "version": "0.5.1", |
| 5638 | "bundled": true, | 5656 | "bundled": true, |
| 5639 | "dev": true, | 5657 | "dev": true, |
| 5658 | "optional": true, | ||
| 5640 | "requires": { | 5659 | "requires": { |
| 5641 | "minimist": "0.0.8" | 5660 | "minimist": "0.0.8" |
| 5642 | } | 5661 | } |
| ... | @@ -5717,7 +5736,8 @@ | ... | @@ -5717,7 +5736,8 @@ |
| 5717 | "number-is-nan": { | 5736 | "number-is-nan": { |
| 5718 | "version": "1.0.1", | 5737 | "version": "1.0.1", |
| 5719 | "bundled": true, | 5738 | "bundled": true, |
| 5720 | "dev": true | 5739 | "dev": true, |
| 5740 | "optional": true | ||
| 5721 | }, | 5741 | }, |
| 5722 | "object-assign": { | 5742 | "object-assign": { |
| 5723 | "version": "4.1.1", | 5743 | "version": "4.1.1", |
| ... | @@ -5729,6 +5749,7 @@ | ... | @@ -5729,6 +5749,7 @@ |
| 5729 | "version": "1.4.0", | 5749 | "version": "1.4.0", |
| 5730 | "bundled": true, | 5750 | "bundled": true, |
| 5731 | "dev": true, | 5751 | "dev": true, |
| 5752 | "optional": true, | ||
| 5732 | "requires": { | 5753 | "requires": { |
| 5733 | "wrappy": "1" | 5754 | "wrappy": "1" |
| 5734 | } | 5755 | } |
| ... | @@ -5814,7 +5835,8 @@ | ... | @@ -5814,7 +5835,8 @@ |
| 5814 | "safe-buffer": { | 5835 | "safe-buffer": { |
| 5815 | "version": "5.1.2", | 5836 | "version": "5.1.2", |
| 5816 | "bundled": true, | 5837 | "bundled": true, |
| 5817 | "dev": true | 5838 | "dev": true, |
| 5839 | "optional": true | ||
| 5818 | }, | 5840 | }, |
| 5819 | "safer-buffer": { | 5841 | "safer-buffer": { |
| 5820 | "version": "2.1.2", | 5842 | "version": "2.1.2", |
| ... | @@ -5850,6 +5872,7 @@ | ... | @@ -5850,6 +5872,7 @@ |
| 5850 | "version": "1.0.2", | 5872 | "version": "1.0.2", |
| 5851 | "bundled": true, | 5873 | "bundled": true, |
| 5852 | "dev": true, | 5874 | "dev": true, |
| 5875 | "optional": true, | ||
| 5853 | "requires": { | 5876 | "requires": { |
| 5854 | "code-point-at": "^1.0.0", | 5877 | "code-point-at": "^1.0.0", |
| 5855 | "is-fullwidth-code-point": "^1.0.0", | 5878 | "is-fullwidth-code-point": "^1.0.0", |
| ... | @@ -5869,6 +5892,7 @@ | ... | @@ -5869,6 +5892,7 @@ |
| 5869 | "version": "3.0.1", | 5892 | "version": "3.0.1", |
| 5870 | "bundled": true, | 5893 | "bundled": true, |
| 5871 | "dev": true, | 5894 | "dev": true, |
| 5895 | "optional": true, | ||
| 5872 | "requires": { | 5896 | "requires": { |
| 5873 | "ansi-regex": "^2.0.0" | 5897 | "ansi-regex": "^2.0.0" |
| 5874 | } | 5898 | } |
| ... | @@ -5912,12 +5936,14 @@ | ... | @@ -5912,12 +5936,14 @@ |
| 5912 | "wrappy": { | 5936 | "wrappy": { |
| 5913 | "version": "1.0.2", | 5937 | "version": "1.0.2", |
| 5914 | "bundled": true, | 5938 | "bundled": true, |
| 5915 | "dev": true | 5939 | "dev": true, |
| 5940 | "optional": true | ||
| 5916 | }, | 5941 | }, |
| 5917 | "yallist": { | 5942 | "yallist": { |
| 5918 | "version": "3.0.3", | 5943 | "version": "3.0.3", |
| 5919 | "bundled": true, | 5944 | "bundled": true, |
| 5920 | "dev": true | 5945 | "dev": true, |
| 5946 | "optional": true | ||
| 5921 | } | 5947 | } |
| 5922 | } | 5948 | } |
| 5923 | }, | 5949 | }, |
| ... | @@ -6673,6 +6699,13 @@ | ... | @@ -6673,6 +6699,13 @@ |
| 6673 | "integrity": "sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=", | 6699 | "integrity": "sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=", |
| 6674 | "dev": true | 6700 | "dev": true |
| 6675 | }, | 6701 | }, |
| 6702 | "image-size": { | ||
| 6703 | "version": "0.5.5", | ||
| 6704 | "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz", | ||
| 6705 | "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", | ||
| 6706 | "dev": true, | ||
| 6707 | "optional": true | ||
| 6708 | }, | ||
| 6676 | "import-cwd": { | 6709 | "import-cwd": { |
| 6677 | "version": "2.1.0", | 6710 | "version": "2.1.0", |
| 6678 | "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz", | 6711 | "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz", |
| ... | @@ -7385,6 +7418,64 @@ | ... | @@ -7385,6 +7418,64 @@ |
| 7385 | "invert-kv": "^2.0.0" | 7418 | "invert-kv": "^2.0.0" |
| 7386 | } | 7419 | } |
| 7387 | }, | 7420 | }, |
| 7421 | "less": { | ||
| 7422 | "version": "3.9.0", | ||
| 7423 | "resolved": "https://registry.npm.taobao.org/less/download/less-3.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fless%2Fdownload%2Fless-3.9.0.tgz", | ||
| 7424 | "integrity": "sha1-t1EcQ/N89X3Iff/ZiD7BISibFHQ=", | ||
| 7425 | "dev": true, | ||
| 7426 | "requires": { | ||
| 7427 | "clone": "^2.1.2", | ||
| 7428 | "errno": "^0.1.1", | ||
| 7429 | "graceful-fs": "^4.1.2", | ||
| 7430 | "image-size": "~0.5.0", | ||
| 7431 | "mime": "^1.4.1", | ||
| 7432 | "mkdirp": "^0.5.0", | ||
| 7433 | "promise": "^7.1.1", | ||
| 7434 | "request": "^2.83.0", | ||
| 7435 | "source-map": "~0.6.0" | ||
| 7436 | }, | ||
| 7437 | "dependencies": { | ||
| 7438 | "clone": { | ||
| 7439 | "version": "2.1.2", | ||
| 7440 | "resolved": "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz", | ||
| 7441 | "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", | ||
| 7442 | "dev": true | ||
| 7443 | }, | ||
| 7444 | "mime": { | ||
| 7445 | "version": "1.6.0", | ||
| 7446 | "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1560034758817&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz", | ||
| 7447 | "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", | ||
| 7448 | "dev": true, | ||
| 7449 | "optional": true | ||
| 7450 | }, | ||
| 7451 | "source-map": { | ||
| 7452 | "version": "0.6.1", | ||
| 7453 | "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", | ||
| 7454 | "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", | ||
| 7455 | "dev": true, | ||
| 7456 | "optional": true | ||
| 7457 | } | ||
| 7458 | } | ||
| 7459 | }, | ||
| 7460 | "less-loader": { | ||
| 7461 | "version": "5.0.0", | ||
| 7462 | "resolved": "https://registry.npm.taobao.org/less-loader/download/less-loader-5.0.0.tgz", | ||
| 7463 | "integrity": "sha1-SY3eOmxsT4h0WO6e0/CGoSrRtGY=", | ||
| 7464 | "dev": true, | ||
| 7465 | "requires": { | ||
| 7466 | "clone": "^2.1.1", | ||
| 7467 | "loader-utils": "^1.1.0", | ||
| 7468 | "pify": "^4.0.1" | ||
| 7469 | }, | ||
| 7470 | "dependencies": { | ||
| 7471 | "clone": { | ||
| 7472 | "version": "2.1.2", | ||
| 7473 | "resolved": "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz", | ||
| 7474 | "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", | ||
| 7475 | "dev": true | ||
| 7476 | } | ||
| 7477 | } | ||
| 7478 | }, | ||
| 7388 | "levn": { | 7479 | "levn": { |
| 7389 | "version": "0.3.0", | 7480 | "version": "0.3.0", |
| 7390 | "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz", | 7481 | "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz", |
| ... | @@ -9733,6 +9824,16 @@ | ... | @@ -9733,6 +9824,16 @@ |
| 9733 | "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", | 9824 | "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", |
| 9734 | "dev": true | 9825 | "dev": true |
| 9735 | }, | 9826 | }, |
| 9827 | "promise": { | ||
| 9828 | "version": "7.3.1", | ||
| 9829 | "resolved": "https://registry.npm.taobao.org/promise/download/promise-7.3.1.tgz", | ||
| 9830 | "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", | ||
| 9831 | "dev": true, | ||
| 9832 | "optional": true, | ||
| 9833 | "requires": { | ||
| 9834 | "asap": "~2.0.3" | ||
| 9835 | } | ||
| 9836 | }, | ||
| 9736 | "promise-inflight": { | 9837 | "promise-inflight": { |
| 9737 | "version": "1.0.1", | 9838 | "version": "1.0.1", |
| 9738 | "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", | 9839 | "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", |
| ... | @@ -10520,7 +10621,8 @@ | ... | @@ -10520,7 +10621,8 @@ |
| 10520 | "version": "4.0.8", | 10621 | "version": "4.0.8", |
| 10521 | "resolved": "https://registry.npm.taobao.org/rx-lite/download/rx-lite-4.0.8.tgz", | 10622 | "resolved": "https://registry.npm.taobao.org/rx-lite/download/rx-lite-4.0.8.tgz", |
| 10522 | "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", | 10623 | "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", |
| 10523 | "dev": true | 10624 | "dev": true, |
| 10625 | "optional": true | ||
| 10524 | }, | 10626 | }, |
| 10525 | "rx-lite-aggregates": { | 10627 | "rx-lite-aggregates": { |
| 10526 | "version": "4.0.8", | 10628 | "version": "4.0.8", | ... | ... |
| ... | @@ -34,6 +34,8 @@ | ... | @@ -34,6 +34,8 @@ |
| 34 | "babel-plugin-import": "^1.12.0", | 34 | "babel-plugin-import": "^1.12.0", |
| 35 | "eslint": "^5.16.0", | 35 | "eslint": "^5.16.0", |
| 36 | "eslint-plugin-vue": "^5.0.0", | 36 | "eslint-plugin-vue": "^5.0.0", |
| 37 | "less": "^3.9.0", | ||
| 38 | "less-loader": "^5.0.0", | ||
| 37 | "node-sass": "^4.12.0", | 39 | "node-sass": "^4.12.0", |
| 38 | "sass-loader": "^7.1.0", | 40 | "sass-loader": "^7.1.0", |
| 39 | "vue-template-compiler": "^2.6.10" | 41 | "vue-template-compiler": "^2.6.10" | ... | ... |
| ... | @@ -8,7 +8,7 @@ | ... | @@ -8,7 +8,7 @@ |
| 8 | <meta name="viewport" | 8 | <meta name="viewport" |
| 9 | content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"> | 9 | content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"> |
| 10 | <link rel="icon" href="<%= BASE_URL %>favicon.ico"> | 10 | <link rel="icon" href="<%= BASE_URL %>favicon.ico"> |
| 11 | <title>vue-cli3-framework</title> | 11 | <title></title> |
| 12 | </head> | 12 | </head> |
| 13 | 13 | ||
| 14 | <body> | 14 | <body> | ... | ... |
| ... | @@ -4,12 +4,13 @@ | ... | @@ -4,12 +4,13 @@ |
| 4 | <router-link to="/">Home</router-link> | | 4 | <router-link to="/">Home</router-link> | |
| 5 | <router-link to="/about">About</router-link> | 5 | <router-link to="/about">About</router-link> |
| 6 | </div>--> | 6 | </div>--> |
| 7 | <router-view/> | 7 | <router-view /> |
| 8 | </div> | 8 | </div> |
| 9 | </template> | 9 | </template> |
| 10 | 10 | ||
| 11 | |||
| 11 | <style lang="scss"> | 12 | <style lang="scss"> |
| 12 | @import './styles/support.scss'; | 13 | @import "./styles/support.scss"; |
| 13 | 14 | ||
| 14 | #app { | 15 | #app { |
| 15 | /* font-family: 'Avenir', Helvetica, Arial, sans-serif; | 16 | /* font-family: 'Avenir', Helvetica, Arial, sans-serif; |
| ... | @@ -30,6 +31,10 @@ div { | ... | @@ -30,6 +31,10 @@ div { |
| 30 | padding: 0; | 31 | padding: 0; |
| 31 | } | 32 | } |
| 32 | 33 | ||
| 34 | body { | ||
| 35 | background-color: #74cb35; | ||
| 36 | } | ||
| 37 | |||
| 33 | .app__width { | 38 | .app__width { |
| 34 | width: 750px; | 39 | width: 750px; |
| 35 | } | 40 | } |
| ... | @@ -83,5 +88,51 @@ div { | ... | @@ -83,5 +88,51 @@ div { |
| 83 | position: relative; | 88 | position: relative; |
| 84 | } | 89 | } |
| 85 | 90 | ||
| 91 | .sys-btn { | ||
| 92 | width: 430px; | ||
| 93 | height: 128px; | ||
| 94 | background: url(./assets/imgs/btn.png) no-repeat; | ||
| 95 | background-size: 100%; | ||
| 96 | text-align: center; | ||
| 97 | line-height: 118px; | ||
| 98 | color: #fff; | ||
| 99 | font-size: 50px; | ||
| 100 | font-weight: 600; | ||
| 101 | margin: auto; | ||
| 102 | } | ||
| 103 | |||
| 104 | .sys-btn-02 { | ||
| 105 | width: 342px; | ||
| 106 | height: 110px; | ||
| 107 | background: url(./assets/imgs/btn2.png) no-repeat; | ||
| 108 | background-size: 100%; | ||
| 109 | text-align: center; | ||
| 110 | line-height: 100px; | ||
| 111 | color: #fff; | ||
| 112 | font-size: 40px; | ||
| 113 | font-weight: 600; | ||
| 114 | margin: auto; | ||
| 115 | } | ||
| 86 | 116 | ||
| 117 | .sys-container-panel { | ||
| 118 | margin: auto; | ||
| 119 | width: 692px; | ||
| 120 | background-color: #fff; | ||
| 121 | border-radius: 50px; | ||
| 122 | box-shadow: 5px 5px 15px #8bc263; | ||
| 123 | position: relative; | ||
| 124 | .container-title { | ||
| 125 | width: 505px; | ||
| 126 | height: 84px; | ||
| 127 | line-height: 104px; | ||
| 128 | background: url(./assets/imgs/title-bg.png) no-repeat; | ||
| 129 | background-size: 100%; | ||
| 130 | position: absolute; | ||
| 131 | left: 93.5px; | ||
| 132 | top: -42px; | ||
| 133 | font-size: 38px; | ||
| 134 | font-weight: 600; | ||
| 135 | color: #e8e8e8; | ||
| 136 | } | ||
| 137 | } | ||
| 87 | </style> | 138 | </style> | ... | ... |
src/api/area.js
0 → 100644
| 1 | export default { | ||
| 2 | province_list: { | ||
| 3 | 110000: '北京市', | ||
| 4 | 120000: '天津市', | ||
| 5 | 130000: '河北省', | ||
| 6 | 140000: '山西省', | ||
| 7 | 150000: '内蒙古自治区', | ||
| 8 | 210000: '辽宁省', | ||
| 9 | 220000: '吉林省', | ||
| 10 | 230000: '黑龙江省', | ||
| 11 | 310000: '上海市', | ||
| 12 | 320000: '江苏省', | ||
| 13 | 330000: '浙江省', | ||
| 14 | 340000: '安徽省', | ||
| 15 | 350000: '福建省', | ||
| 16 | 360000: '江西省', | ||
| 17 | 370000: '山东省', | ||
| 18 | 410000: '河南省', | ||
| 19 | 420000: '湖北省', | ||
| 20 | 430000: '湖南省', | ||
| 21 | 440000: '广东省', | ||
| 22 | 450000: '广西壮族自治区', | ||
| 23 | 460000: '海南省', | ||
| 24 | 500000: '重庆市', | ||
| 25 | 510000: '四川省', | ||
| 26 | 520000: '贵州省', | ||
| 27 | 530000: '云南省', | ||
| 28 | 540000: '西藏自治区', | ||
| 29 | 610000: '陕西省', | ||
| 30 | 620000: '甘肃省', | ||
| 31 | 630000: '青海省', | ||
| 32 | 640000: '宁夏回族自治区', | ||
| 33 | 650000: '新疆维吾尔自治区', | ||
| 34 | 710000: '台湾省', | ||
| 35 | 810000: '香港特别行政区', | ||
| 36 | 820000: '澳门特别行政区', | ||
| 37 | 900000: '海外' | ||
| 38 | }, | ||
| 39 | city_list: { | ||
| 40 | 110100: '北京市', | ||
| 41 | 120100: '天津市', | ||
| 42 | 130100: '石家庄市', | ||
| 43 | 130200: '唐山市', | ||
| 44 | 130300: '秦皇岛市', | ||
| 45 | 130400: '邯郸市', | ||
| 46 | 130500: '邢台市', | ||
| 47 | 130600: '保定市', | ||
| 48 | 130700: '张家口市', | ||
| 49 | 130800: '承德市', | ||
| 50 | 130900: '沧州市', | ||
| 51 | 131000: '廊坊市', | ||
| 52 | 131100: '衡水市', | ||
| 53 | 140100: '太原市', | ||
| 54 | 140200: '大同市', | ||
| 55 | 140300: '阳泉市', | ||
| 56 | 140400: '长治市', | ||
| 57 | 140500: '晋城市', | ||
| 58 | 140600: '朔州市', | ||
| 59 | 140700: '晋中市', | ||
| 60 | 140800: '运城市', | ||
| 61 | 140900: '忻州市', | ||
| 62 | 141000: '临汾市', | ||
| 63 | 141100: '吕梁市', | ||
| 64 | 150100: '呼和浩特市', | ||
| 65 | 150200: '包头市', | ||
| 66 | 150300: '乌海市', | ||
| 67 | 150400: '赤峰市', | ||
| 68 | 150500: '通辽市', | ||
| 69 | 150600: '鄂尔多斯市', | ||
| 70 | 150700: '呼伦贝尔市', | ||
| 71 | 150800: '巴彦淖尔市', | ||
| 72 | 150900: '乌兰察布市', | ||
| 73 | 152200: '兴安盟', | ||
| 74 | 152500: '锡林郭勒盟', | ||
| 75 | 152900: '阿拉善盟', | ||
| 76 | 210100: '沈阳市', | ||
| 77 | 210200: '大连市', | ||
| 78 | 210300: '鞍山市', | ||
| 79 | 210400: '抚顺市', | ||
| 80 | 210500: '本溪市', | ||
| 81 | 210600: '丹东市', | ||
| 82 | 210700: '锦州市', | ||
| 83 | 210800: '营口市', | ||
| 84 | 210900: '阜新市', | ||
| 85 | 211000: '辽阳市', | ||
| 86 | 211100: '盘锦市', | ||
| 87 | 211200: '铁岭市', | ||
| 88 | 211300: '朝阳市', | ||
| 89 | 211400: '葫芦岛市', | ||
| 90 | 220100: '长春市', | ||
| 91 | 220200: '吉林市', | ||
| 92 | 220300: '四平市', | ||
| 93 | 220400: '辽源市', | ||
| 94 | 220500: '通化市', | ||
| 95 | 220600: '白山市', | ||
| 96 | 220700: '松原市', | ||
| 97 | 220800: '白城市', | ||
| 98 | 222400: '延边朝鲜族自治州', | ||
| 99 | 230100: '哈尔滨市', | ||
| 100 | 230200: '齐齐哈尔市', | ||
| 101 | 230300: '鸡西市', | ||
| 102 | 230400: '鹤岗市', | ||
| 103 | 230500: '双鸭山市', | ||
| 104 | 230600: '大庆市', | ||
| 105 | 230700: '伊春市', | ||
| 106 | 230800: '佳木斯市', | ||
| 107 | 230900: '七台河市', | ||
| 108 | 231000: '牡丹江市', | ||
| 109 | 231100: '黑河市', | ||
| 110 | 231200: '绥化市', | ||
| 111 | 232700: '大兴安岭地区', | ||
| 112 | 310100: '上海市', | ||
| 113 | 320100: '南京市', | ||
| 114 | 320200: '无锡市', | ||
| 115 | 320300: '徐州市', | ||
| 116 | 320400: '常州市', | ||
| 117 | 320500: '苏州市', | ||
| 118 | 320600: '南通市', | ||
| 119 | 320700: '连云港市', | ||
| 120 | 320800: '淮安市', | ||
| 121 | 320900: '盐城市', | ||
| 122 | 321000: '扬州市', | ||
| 123 | 321100: '镇江市', | ||
| 124 | 321200: '泰州市', | ||
| 125 | 321300: '宿迁市', | ||
| 126 | 330100: '杭州市', | ||
| 127 | 330200: '宁波市', | ||
| 128 | 330300: '温州市', | ||
| 129 | 330400: '嘉兴市', | ||
| 130 | 330500: '湖州市', | ||
| 131 | 330600: '绍兴市', | ||
| 132 | 330700: '金华市', | ||
| 133 | 330800: '衢州市', | ||
| 134 | 330900: '舟山市', | ||
| 135 | 331000: '台州市', | ||
| 136 | 331100: '丽水市', | ||
| 137 | 340100: '合肥市', | ||
| 138 | 340200: '芜湖市', | ||
| 139 | 340300: '蚌埠市', | ||
| 140 | 340400: '淮南市', | ||
| 141 | 340500: '马鞍山市', | ||
| 142 | 340600: '淮北市', | ||
| 143 | 340700: '铜陵市', | ||
| 144 | 340800: '安庆市', | ||
| 145 | 341000: '黄山市', | ||
| 146 | 341100: '滁州市', | ||
| 147 | 341200: '阜阳市', | ||
| 148 | 341300: '宿州市', | ||
| 149 | 341500: '六安市', | ||
| 150 | 341600: '亳州市', | ||
| 151 | 341700: '池州市', | ||
| 152 | 341800: '宣城市', | ||
| 153 | 350100: '福州市', | ||
| 154 | 350200: '厦门市', | ||
| 155 | 350300: '莆田市', | ||
| 156 | 350400: '三明市', | ||
| 157 | 350500: '泉州市', | ||
| 158 | 350600: '漳州市', | ||
| 159 | 350700: '南平市', | ||
| 160 | 350800: '龙岩市', | ||
| 161 | 350900: '宁德市', | ||
| 162 | 360100: '南昌市', | ||
| 163 | 360200: '景德镇市', | ||
| 164 | 360300: '萍乡市', | ||
| 165 | 360400: '九江市', | ||
| 166 | 360500: '新余市', | ||
| 167 | 360600: '鹰潭市', | ||
| 168 | 360700: '赣州市', | ||
| 169 | 360800: '吉安市', | ||
| 170 | 360900: '宜春市', | ||
| 171 | 361000: '抚州市', | ||
| 172 | 361100: '上饶市', | ||
| 173 | 370100: '济南市', | ||
| 174 | 370200: '青岛市', | ||
| 175 | 370300: '淄博市', | ||
| 176 | 370400: '枣庄市', | ||
| 177 | 370500: '东营市', | ||
| 178 | 370600: '烟台市', | ||
| 179 | 370700: '潍坊市', | ||
| 180 | 370800: '济宁市', | ||
| 181 | 370900: '泰安市', | ||
| 182 | 371000: '威海市', | ||
| 183 | 371100: '日照市', | ||
| 184 | 371200: '莱芜市', | ||
| 185 | 371300: '临沂市', | ||
| 186 | 371400: '德州市', | ||
| 187 | 371500: '聊城市', | ||
| 188 | 371600: '滨州市', | ||
| 189 | 371700: '菏泽市', | ||
| 190 | 410100: '郑州市', | ||
| 191 | 410200: '开封市', | ||
| 192 | 410300: '洛阳市', | ||
| 193 | 410400: '平顶山市', | ||
| 194 | 410500: '安阳市', | ||
| 195 | 410600: '鹤壁市', | ||
| 196 | 410700: '新乡市', | ||
| 197 | 410800: '焦作市', | ||
| 198 | 410900: '濮阳市', | ||
| 199 | 411000: '许昌市', | ||
| 200 | 411100: '漯河市', | ||
| 201 | 411200: '三门峡市', | ||
| 202 | 411300: '南阳市', | ||
| 203 | 411400: '商丘市', | ||
| 204 | 411500: '信阳市', | ||
| 205 | 411600: '周口市', | ||
| 206 | 411700: '驻马店市', | ||
| 207 | 419000: '省直辖县', | ||
| 208 | 420100: '武汉市', | ||
| 209 | 420200: '黄石市', | ||
| 210 | 420300: '十堰市', | ||
| 211 | 420500: '宜昌市', | ||
| 212 | 420600: '襄阳市', | ||
| 213 | 420700: '鄂州市', | ||
| 214 | 420800: '荆门市', | ||
| 215 | 420900: '孝感市', | ||
| 216 | 421000: '荆州市', | ||
| 217 | 421100: '黄冈市', | ||
| 218 | 421200: '咸宁市', | ||
| 219 | 421300: '随州市', | ||
| 220 | 422800: '恩施土家族苗族自治州', | ||
| 221 | 429000: '省直辖县', | ||
| 222 | 430100: '长沙市', | ||
| 223 | 430200: '株洲市', | ||
| 224 | 430300: '湘潭市', | ||
| 225 | 430400: '衡阳市', | ||
| 226 | 430500: '邵阳市', | ||
| 227 | 430600: '岳阳市', | ||
| 228 | 430700: '常德市', | ||
| 229 | 430800: '张家界市', | ||
| 230 | 430900: '益阳市', | ||
| 231 | 431000: '郴州市', | ||
| 232 | 431100: '永州市', | ||
| 233 | 431200: '怀化市', | ||
| 234 | 431300: '娄底市', | ||
| 235 | 433100: '湘西土家族苗族自治州', | ||
| 236 | 440100: '广州市', | ||
| 237 | 440200: '韶关市', | ||
| 238 | 440300: '深圳市', | ||
| 239 | 440400: '珠海市', | ||
| 240 | 440500: '汕头市', | ||
| 241 | 440600: '佛山市', | ||
| 242 | 440700: '江门市', | ||
| 243 | 440800: '湛江市', | ||
| 244 | 440900: '茂名市', | ||
| 245 | 441200: '肇庆市', | ||
| 246 | 441300: '惠州市', | ||
| 247 | 441400: '梅州市', | ||
| 248 | 441500: '汕尾市', | ||
| 249 | 441600: '河源市', | ||
| 250 | 441700: '阳江市', | ||
| 251 | 441800: '清远市', | ||
| 252 | 441900: '东莞市', | ||
| 253 | 442000: '中山市', | ||
| 254 | 445100: '潮州市', | ||
| 255 | 445200: '揭阳市', | ||
| 256 | 445300: '云浮市', | ||
| 257 | 450100: '南宁市', | ||
| 258 | 450200: '柳州市', | ||
| 259 | 450300: '桂林市', | ||
| 260 | 450400: '梧州市', | ||
| 261 | 450500: '北海市', | ||
| 262 | 450600: '防城港市', | ||
| 263 | 450700: '钦州市', | ||
| 264 | 450800: '贵港市', | ||
| 265 | 450900: '玉林市', | ||
| 266 | 451000: '百色市', | ||
| 267 | 451100: '贺州市', | ||
| 268 | 451200: '河池市', | ||
| 269 | 451300: '来宾市', | ||
| 270 | 451400: '崇左市', | ||
| 271 | 460100: '海口市', | ||
| 272 | 460200: '三亚市', | ||
| 273 | 460300: '三沙市', | ||
| 274 | 460400: '儋州市', | ||
| 275 | 469000: '省直辖县', | ||
| 276 | 500100: '重庆市', | ||
| 277 | 500200: '县', | ||
| 278 | 510100: '成都市', | ||
| 279 | 510300: '自贡市', | ||
| 280 | 510400: '攀枝花市', | ||
| 281 | 510500: '泸州市', | ||
| 282 | 510600: '德阳市', | ||
| 283 | 510700: '绵阳市', | ||
| 284 | 510800: '广元市', | ||
| 285 | 510900: '遂宁市', | ||
| 286 | 511000: '内江市', | ||
| 287 | 511100: '乐山市', | ||
| 288 | 511300: '南充市', | ||
| 289 | 511400: '眉山市', | ||
| 290 | 511500: '宜宾市', | ||
| 291 | 511600: '广安市', | ||
| 292 | 511700: '达州市', | ||
| 293 | 511800: '雅安市', | ||
| 294 | 511900: '巴中市', | ||
| 295 | 512000: '资阳市', | ||
| 296 | 513200: '阿坝藏族羌族自治州', | ||
| 297 | 513300: '甘孜藏族自治州', | ||
| 298 | 513400: '凉山彝族自治州', | ||
| 299 | 520100: '贵阳市', | ||
| 300 | 520200: '六盘水市', | ||
| 301 | 520300: '遵义市', | ||
| 302 | 520400: '安顺市', | ||
| 303 | 520500: '毕节市', | ||
| 304 | 520600: '铜仁市', | ||
| 305 | 522300: '黔西南布依族苗族自治州', | ||
| 306 | 522600: '黔东南苗族侗族自治州', | ||
| 307 | 522700: '黔南布依族苗族自治州', | ||
| 308 | 530100: '昆明市', | ||
| 309 | 530300: '曲靖市', | ||
| 310 | 530400: '玉溪市', | ||
| 311 | 530500: '保山市', | ||
| 312 | 530600: '昭通市', | ||
| 313 | 530700: '丽江市', | ||
| 314 | 530800: '普洱市', | ||
| 315 | 530900: '临沧市', | ||
| 316 | 532300: '楚雄彝族自治州', | ||
| 317 | 532500: '红河哈尼族彝族自治州', | ||
| 318 | 532600: '文山壮族苗族自治州', | ||
| 319 | 532800: '西双版纳傣族自治州', | ||
| 320 | 532900: '大理白族自治州', | ||
| 321 | 533100: '德宏傣族景颇族自治州', | ||
| 322 | 533300: '怒江傈僳族自治州', | ||
| 323 | 533400: '迪庆藏族自治州', | ||
| 324 | 540100: '拉萨市', | ||
| 325 | 540200: '日喀则市', | ||
| 326 | 540300: '昌都市', | ||
| 327 | 540400: '林芝市', | ||
| 328 | 540500: '山南市', | ||
| 329 | 540600: '那曲市', | ||
| 330 | 542500: '阿里地区', | ||
| 331 | 610100: '西安市', | ||
| 332 | 610200: '铜川市', | ||
| 333 | 610300: '宝鸡市', | ||
| 334 | 610400: '咸阳市', | ||
| 335 | 610500: '渭南市', | ||
| 336 | 610600: '延安市', | ||
| 337 | 610700: '汉中市', | ||
| 338 | 610800: '榆林市', | ||
| 339 | 610900: '安康市', | ||
| 340 | 611000: '商洛市', | ||
| 341 | 620100: '兰州市', | ||
| 342 | 620200: '嘉峪关市', | ||
| 343 | 620300: '金昌市', | ||
| 344 | 620400: '白银市', | ||
| 345 | 620500: '天水市', | ||
| 346 | 620600: '武威市', | ||
| 347 | 620700: '张掖市', | ||
| 348 | 620800: '平凉市', | ||
| 349 | 620900: '酒泉市', | ||
| 350 | 621000: '庆阳市', | ||
| 351 | 621100: '定西市', | ||
| 352 | 621200: '陇南市', | ||
| 353 | 622900: '临夏回族自治州', | ||
| 354 | 623000: '甘南藏族自治州', | ||
| 355 | 630100: '西宁市', | ||
| 356 | 630200: '海东市', | ||
| 357 | 632200: '海北藏族自治州', | ||
| 358 | 632300: '黄南藏族自治州', | ||
| 359 | 632500: '海南藏族自治州', | ||
| 360 | 632600: '果洛藏族自治州', | ||
| 361 | 632700: '玉树藏族自治州', | ||
| 362 | 632800: '海西蒙古族藏族自治州', | ||
| 363 | 640100: '银川市', | ||
| 364 | 640200: '石嘴山市', | ||
| 365 | 640300: '吴忠市', | ||
| 366 | 640400: '固原市', | ||
| 367 | 640500: '中卫市', | ||
| 368 | 650100: '乌鲁木齐市', | ||
| 369 | 650200: '克拉玛依市', | ||
| 370 | 650400: '吐鲁番市', | ||
| 371 | 650500: '哈密市', | ||
| 372 | 652300: '昌吉回族自治州', | ||
| 373 | 652700: '博尔塔拉蒙古自治州', | ||
| 374 | 652800: '巴音郭楞蒙古自治州', | ||
| 375 | 652900: '阿克苏地区', | ||
| 376 | 653000: '克孜勒苏柯尔克孜自治州', | ||
| 377 | 653100: '喀什地区', | ||
| 378 | 653200: '和田地区', | ||
| 379 | 654000: '伊犁哈萨克自治州', | ||
| 380 | 654200: '塔城地区', | ||
| 381 | 654300: '阿勒泰地区', | ||
| 382 | 659000: '自治区直辖县级行政区划', | ||
| 383 | 710100: '台北市', | ||
| 384 | 710200: '高雄市', | ||
| 385 | 710300: '台南市', | ||
| 386 | 710400: '台中市', | ||
| 387 | 710500: '金门县', | ||
| 388 | 710600: '南投县', | ||
| 389 | 710700: '基隆市', | ||
| 390 | 710800: '新竹市', | ||
| 391 | 710900: '嘉义市', | ||
| 392 | 711100: '新北市', | ||
| 393 | 711200: '宜兰县', | ||
| 394 | 711300: '新竹县', | ||
| 395 | 711400: '桃园县', | ||
| 396 | 711500: '苗栗县', | ||
| 397 | 711700: '彰化县', | ||
| 398 | 711900: '嘉义县', | ||
| 399 | 712100: '云林县', | ||
| 400 | 712400: '屏东县', | ||
| 401 | 712500: '台东县', | ||
| 402 | 712600: '花莲县', | ||
| 403 | 712700: '澎湖县', | ||
| 404 | 712800: '连江县', | ||
| 405 | 810100: '香港岛', | ||
| 406 | 810200: '九龙', | ||
| 407 | 810300: '新界', | ||
| 408 | 820100: '澳门半岛', | ||
| 409 | 820200: '离岛', | ||
| 410 | 900400: '阿富汗', | ||
| 411 | 900800: '阿尔巴尼亚', | ||
| 412 | 901000: '南极洲', | ||
| 413 | 901200: '阿尔及利亚', | ||
| 414 | 901600: '美属萨摩亚', | ||
| 415 | 902000: '安道尔', | ||
| 416 | 902400: '安哥拉', | ||
| 417 | 902800: '安提瓜和巴布达', | ||
| 418 | 903100: '阿塞拜疆', | ||
| 419 | 903200: '阿根廷', | ||
| 420 | 903600: '澳大利亚', | ||
| 421 | 904000: '奥地利', | ||
| 422 | 904400: '巴哈马', | ||
| 423 | 904800: '巴林', | ||
| 424 | 905000: '孟加拉', | ||
| 425 | 905100: '亚美尼亚', | ||
| 426 | 905200: '巴巴多斯', | ||
| 427 | 905600: '比利时', | ||
| 428 | 906000: '百慕大', | ||
| 429 | 906400: '不丹', | ||
| 430 | 906800: '玻利维亚', | ||
| 431 | 907000: '波黑', | ||
| 432 | 907200: '博茨瓦纳', | ||
| 433 | 907400: '布韦岛', | ||
| 434 | 907600: '巴西', | ||
| 435 | 908400: '伯利兹', | ||
| 436 | 908600: '英属印度洋领地', | ||
| 437 | 909000: '所罗门群岛', | ||
| 438 | 909200: '英属维尔京群岛', | ||
| 439 | 909600: '文莱', | ||
| 440 | 910000: '保加利亚', | ||
| 441 | 910400: '缅甸', | ||
| 442 | 910800: '布隆迪', | ||
| 443 | 911200: '白俄罗斯', | ||
| 444 | 911600: '柬埔寨', | ||
| 445 | 912000: '喀麦隆', | ||
| 446 | 912400: '加拿大', | ||
| 447 | 913200: '佛得角', | ||
| 448 | 913600: '开曼群岛', | ||
| 449 | 914000: '中非', | ||
| 450 | 914400: '斯里兰卡', | ||
| 451 | 914800: '乍得', | ||
| 452 | 915200: '智利', | ||
| 453 | 916200: '圣诞岛', | ||
| 454 | 916600: '科科斯群岛', | ||
| 455 | 917000: '哥伦比亚', | ||
| 456 | 917400: '科摩罗', | ||
| 457 | 917500: '马约特', | ||
| 458 | 917800: '刚果(布)', | ||
| 459 | 918000: '刚果(金)', | ||
| 460 | 918400: '库克群岛', | ||
| 461 | 918800: '哥斯达黎加', | ||
| 462 | 919100: '克罗地亚', | ||
| 463 | 919200: '古巴', | ||
| 464 | 919600: '塞浦路斯', | ||
| 465 | 920300: '捷克', | ||
| 466 | 920400: '贝宁', | ||
| 467 | 920800: '丹麦', | ||
| 468 | 921200: '多米尼克', | ||
| 469 | 921400: '多米尼加', | ||
| 470 | 921800: '厄瓜多尔', | ||
| 471 | 922200: '萨尔瓦多', | ||
| 472 | 922600: '赤道几内亚', | ||
| 473 | 923100: '埃塞俄比亚', | ||
| 474 | 923200: '厄立特里亚', | ||
| 475 | 923300: '爱沙尼亚', | ||
| 476 | 923400: '法罗群岛', | ||
| 477 | 923800: '马尔维纳斯群岛( 福克兰)', | ||
| 478 | 923900: '南乔治亚岛和南桑威奇群岛', | ||
| 479 | 924200: '斐济群岛', | ||
| 480 | 924600: '芬兰', | ||
| 481 | 924800: '奥兰群岛', | ||
| 482 | 925000: '法国', | ||
| 483 | 925400: '法属圭亚那', | ||
| 484 | 925800: '法属波利尼西亚', | ||
| 485 | 926000: '法属南部领地', | ||
| 486 | 926200: '吉布提', | ||
| 487 | 926600: '加蓬', | ||
| 488 | 926800: '格鲁吉亚', | ||
| 489 | 927000: '冈比亚', | ||
| 490 | 927500: '巴勒斯坦', | ||
| 491 | 927600: '德国', | ||
| 492 | 928800: '加纳', | ||
| 493 | 929200: '直布罗陀', | ||
| 494 | 929600: '基里巴斯', | ||
| 495 | 930000: '希腊', | ||
| 496 | 930400: '格陵兰', | ||
| 497 | 930800: '格林纳达', | ||
| 498 | 931200: '瓜德罗普', | ||
| 499 | 931600: '关岛', | ||
| 500 | 932000: '危地马拉', | ||
| 501 | 932400: '几内亚', | ||
| 502 | 932800: '圭亚那', | ||
| 503 | 933200: '海地', | ||
| 504 | 933400: '赫德岛和麦克唐纳群岛', | ||
| 505 | 933600: '梵蒂冈', | ||
| 506 | 934000: '洪都拉斯', | ||
| 507 | 934800: '匈牙利', | ||
| 508 | 935200: '冰岛', | ||
| 509 | 935600: '印度', | ||
| 510 | 936000: '印尼', | ||
| 511 | 936400: '伊朗', | ||
| 512 | 936800: '伊拉克', | ||
| 513 | 937200: '爱尔兰', | ||
| 514 | 937600: '以色列', | ||
| 515 | 938000: '意大利', | ||
| 516 | 938400: '科特迪瓦', | ||
| 517 | 938800: '牙买加', | ||
| 518 | 939200: '日本', | ||
| 519 | 939800: '哈萨克斯坦', | ||
| 520 | 940000: '约旦', | ||
| 521 | 940400: '肯尼亚', | ||
| 522 | 940800: '朝鲜 北朝鲜', | ||
| 523 | 941000: '韩国', | ||
| 524 | 941400: '科威特', | ||
| 525 | 941700: '吉尔吉斯斯坦', | ||
| 526 | 941800: '老挝', | ||
| 527 | 942200: '黎巴嫩', | ||
| 528 | 942600: '莱索托', | ||
| 529 | 942800: '拉脱维亚', | ||
| 530 | 943000: '利比里亚', | ||
| 531 | 943400: '利比亚', | ||
| 532 | 943800: '列支敦士登', | ||
| 533 | 944000: '立陶宛', | ||
| 534 | 944200: '卢森堡', | ||
| 535 | 945000: '马达加斯加', | ||
| 536 | 945400: '马拉维', | ||
| 537 | 945800: '马来西亚', | ||
| 538 | 946200: '马尔代夫', | ||
| 539 | 946600: '马里', | ||
| 540 | 947000: '马耳他', | ||
| 541 | 947400: '马提尼克', | ||
| 542 | 947800: '毛里塔尼亚', | ||
| 543 | 948000: '毛里求斯', | ||
| 544 | 948400: '墨西哥', | ||
| 545 | 949200: '摩纳哥', | ||
| 546 | 949600: '蒙古国', | ||
| 547 | 949800: '摩尔多瓦', | ||
| 548 | 949900: '黑山', | ||
| 549 | 950000: '蒙塞拉特岛', | ||
| 550 | 950400: '摩洛哥', | ||
| 551 | 950800: '莫桑比克', | ||
| 552 | 951200: '阿曼', | ||
| 553 | 951600: '纳米比亚', | ||
| 554 | 952000: '瑙鲁', | ||
| 555 | 952400: '尼泊尔', | ||
| 556 | 952800: '荷兰', | ||
| 557 | 953300: '阿鲁巴', | ||
| 558 | 953500: '荷兰加勒比区', | ||
| 559 | 954000: '新喀里多尼亚', | ||
| 560 | 954800: '瓦努阿图', | ||
| 561 | 955400: '新西兰', | ||
| 562 | 955800: '尼加拉瓜', | ||
| 563 | 956200: '尼日尔', | ||
| 564 | 956600: '尼日利亚', | ||
| 565 | 957000: '纽埃', | ||
| 566 | 957400: '诺福克岛', | ||
| 567 | 957800: '挪威', | ||
| 568 | 958000: '北马里亚纳群岛', | ||
| 569 | 958100: '美国本土外小岛屿', | ||
| 570 | 958300: '密克罗尼西亚联邦', | ||
| 571 | 958400: '马绍尔群岛', | ||
| 572 | 958500: '帕劳', | ||
| 573 | 958600: '巴基斯坦', | ||
| 574 | 959100: '巴拿马', | ||
| 575 | 959800: '巴布亚新几内亚', | ||
| 576 | 960000: '巴拉圭', | ||
| 577 | 960400: '秘鲁', | ||
| 578 | 960800: '菲律宾', | ||
| 579 | 961200: '皮特凯恩群岛', | ||
| 580 | 961600: '波兰', | ||
| 581 | 962000: '葡萄牙', | ||
| 582 | 962400: '几内亚比绍', | ||
| 583 | 962600: '东帝汶', | ||
| 584 | 963000: '波多黎各', | ||
| 585 | 963400: '卡塔尔', | ||
| 586 | 963800: '留尼汪', | ||
| 587 | 964200: '罗马尼亚', | ||
| 588 | 964300: '俄罗斯', | ||
| 589 | 964600: '卢旺达', | ||
| 590 | 965200: '圣巴泰勒米岛', | ||
| 591 | 965400: '圣赫勒拿', | ||
| 592 | 965900: '圣基茨和尼维斯', | ||
| 593 | 966000: '安圭拉', | ||
| 594 | 966200: '圣卢西亚', | ||
| 595 | 966300: '法属圣马丁', | ||
| 596 | 966600: '圣皮埃尔和密克隆', | ||
| 597 | 967000: '圣文森特和格林纳丁斯', | ||
| 598 | 967400: '圣马力诺', | ||
| 599 | 967800: '圣多美和普林西比', | ||
| 600 | 968200: '沙特阿拉伯', | ||
| 601 | 968600: '塞内加尔', | ||
| 602 | 968800: '塞尔维亚', | ||
| 603 | 969000: '塞舌尔', | ||
| 604 | 969400: '塞拉利昂', | ||
| 605 | 970200: '新加坡', | ||
| 606 | 970300: '斯洛伐克', | ||
| 607 | 970400: '越南', | ||
| 608 | 970500: '斯洛文尼亚', | ||
| 609 | 970600: '索马里', | ||
| 610 | 971000: '南非', | ||
| 611 | 971600: '津巴布韦', | ||
| 612 | 972400: '西班牙', | ||
| 613 | 972800: '南苏丹', | ||
| 614 | 972900: '苏丹', | ||
| 615 | 973200: '西撒哈拉', | ||
| 616 | 974000: '苏里南', | ||
| 617 | 974400: '斯瓦尔巴群岛和 扬马延岛', | ||
| 618 | 974800: '斯威士兰', | ||
| 619 | 975200: '瑞典', | ||
| 620 | 975600: '瑞士', | ||
| 621 | 976000: '叙利亚', | ||
| 622 | 976200: '塔吉克斯坦', | ||
| 623 | 976400: '泰国', | ||
| 624 | 976800: '多哥', | ||
| 625 | 977200: '托克劳', | ||
| 626 | 977600: '汤加', | ||
| 627 | 978000: '特立尼达和多巴哥', | ||
| 628 | 978400: '阿联酋', | ||
| 629 | 978800: '突尼斯', | ||
| 630 | 979200: '土耳其', | ||
| 631 | 979500: '土库曼斯坦', | ||
| 632 | 979600: '特克斯和凯科斯群岛', | ||
| 633 | 979800: '图瓦卢', | ||
| 634 | 980000: '乌干达', | ||
| 635 | 980400: '乌克兰', | ||
| 636 | 980700: '马其顿', | ||
| 637 | 981800: '埃及', | ||
| 638 | 982600: '英国', | ||
| 639 | 983100: '根西岛', | ||
| 640 | 983200: '泽西岛', | ||
| 641 | 983300: '马恩岛', | ||
| 642 | 983400: '坦桑尼亚', | ||
| 643 | 984000: '美国', | ||
| 644 | 985000: '美属维尔京群岛', | ||
| 645 | 985400: '布基纳法索', | ||
| 646 | 985800: '乌拉圭', | ||
| 647 | 986000: '乌兹别克斯坦', | ||
| 648 | 986200: '委内瑞拉', | ||
| 649 | 987600: '瓦利斯和富图纳', | ||
| 650 | 988200: '萨摩亚', | ||
| 651 | 988700: '也门', | ||
| 652 | 989400: '赞比亚' | ||
| 653 | } | ||
| 654 | }; | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | import axios from 'axios'; | 1 | import axios from 'axios'; |
| 2 | import Vue from 'vue'; | ||
| 3 | import Router from '../router' | ||
| 4 | |||
| 2 | // import { | 5 | // import { |
| 3 | // Toast | 6 | // Toast |
| 4 | // } from 'vant'; | 7 | // } from 'vant'; |
| ... | @@ -12,23 +15,33 @@ function Toast(msg) { | ... | @@ -12,23 +15,33 @@ function Toast(msg) { |
| 12 | 15 | ||
| 13 | // 服务器地址 | 16 | // 服务器地址 |
| 14 | let base = "https://ow.go.qudone.com"; | 17 | let base = "https://ow.go.qudone.com"; |
| 18 | let baseWxAppid = "wx9fc8816188c0ef2a"; | ||
| 19 | let wxOauthUrl = "http://clubwxuat.hm.liby.com.cn/api/getOpenId.htm"; | ||
| 15 | if (location.href.indexOf("//k.wxpai.cn") > 0) { | 20 | if (location.href.indexOf("//k.wxpai.cn") > 0) { |
| 16 | base = "https://api.k.wxpai.cn/bizproxy" | 21 | base = "https://api.k.wxpai.cn/bizproxy" |
| 22 | baseWxAppid = "wx9fc8816188c0ef2a"; | ||
| 23 | wxOauthUrl = "http://clubwxuat.hm.liby.com.cn/api/getOpenId.htm"; | ||
| 17 | } | 24 | } |
| 25 | |||
| 26 | let whileList = [ | ||
| 27 | "https://api.k.wxpai.cn/bizproxy/kdapi/file/upload" | ||
| 28 | ] | ||
| 18 | // let base = COM.baseUrl; | 29 | // let base = COM.baseUrl; |
| 19 | 30 | ||
| 20 | // 请求拦截器 | 31 | // 请求拦截器 |
| 21 | // axios.interceptors.request.use( | 32 | axios.interceptors.request.use( |
| 22 | // config => { | 33 | config => { |
| 23 | // // 每次发送请求之前判断是否存在token,如果存在,则统一在http请求的header都加上token,不用每次请求都手动添加了 | 34 | // 每次发送请求之前判断是否存在token,如果存在,则统一在http请求的header都加上token,不用每次请求都手动添加了 |
| 24 | // // 即使本地存在token,也有可能token是过期的,所以在响应拦截器中要对返回状态进行判断 | 35 | // 即使本地存在token,也有可能token是过期的,所以在响应拦截器中要对返回状态进行判断 |
| 25 | // const token = "token"; //这里写入token | 36 | const token = store.getSession(); |
| 26 | // token && (config.headers.Authorization = token); | 37 | if (token && whileList.indexOf(config.url) < 0) { |
| 27 | // return config; | 38 | config.headers["sessionId"] = token; |
| 28 | // }, | 39 | } |
| 29 | // error => { | 40 | return config; |
| 30 | // return Promise.error(error); | 41 | }, |
| 31 | // }) | 42 | error => { |
| 43 | return Promise.error(error); | ||
| 44 | }) | ||
| 32 | 45 | ||
| 33 | // 响应拦截器 | 46 | // 响应拦截器 |
| 34 | axios.interceptors.response.use( | 47 | axios.interceptors.response.use( |
| ... | @@ -37,7 +50,11 @@ axios.interceptors.response.use( | ... | @@ -37,7 +50,11 @@ axios.interceptors.response.use( |
| 37 | if (response.data.code === 200) { | 50 | if (response.data.code === 200) { |
| 38 | return Promise.resolve(response); | 51 | return Promise.resolve(response); |
| 39 | } else { | 52 | } else { |
| 40 | Toast(response.data.bizMsg); | 53 | if (response.data.code == 404) { |
| 54 | store.removeSession(); | ||
| 55 | store.saveRedirectUrl(); | ||
| 56 | Router.push("/"); | ||
| 57 | } | ||
| 41 | return Promise.reject(response); | 58 | return Promise.reject(response); |
| 42 | } | 59 | } |
| 43 | } else { | 60 | } else { |
| ... | @@ -46,43 +63,9 @@ axios.interceptors.response.use( | ... | @@ -46,43 +63,9 @@ axios.interceptors.response.use( |
| 46 | }, | 63 | }, |
| 47 | // 服务器状态码不是200的情况 | 64 | // 服务器状态码不是200的情况 |
| 48 | error => { | 65 | error => { |
| 66 | console.log("Router.path === ", Router.history.current); | ||
| 49 | if (error.response.status) { | 67 | if (error.response.status) { |
| 50 | switch (error.response.status) { | 68 | switch (error.response.status) { |
| 51 | // 401: 未登录 | ||
| 52 | // 未登录则跳转登录页面,并携带当前页面的路径 | ||
| 53 | // 在登录成功后返回当前页面,这一步需要在登录页操作。 | ||
| 54 | case 401: | ||
| 55 | router.replace({ | ||
| 56 | path: '/login', | ||
| 57 | query: { | ||
| 58 | redirect: router.currentRoute.fullPath | ||
| 59 | } | ||
| 60 | }); | ||
| 61 | break; | ||
| 62 | // 403 token过期 | ||
| 63 | // 登录过期对用户进行提示 | ||
| 64 | // 清除本地token和清空vuex中token对象 | ||
| 65 | // 跳转登录页面 | ||
| 66 | case 403: | ||
| 67 | Toast({ | ||
| 68 | message: '登录过期,请重新登录', | ||
| 69 | duration: 1000, | ||
| 70 | forbidClick: true | ||
| 71 | }); | ||
| 72 | // 清除token | ||
| 73 | localStorage.removeItem('token'); | ||
| 74 | store.commit('loginSuccess', null); | ||
| 75 | // 跳转登录页面,并将要浏览的页面fullPath传过去,登录成功后跳转需要访问的页面 | ||
| 76 | setTimeout(() => { | ||
| 77 | router.replace({ | ||
| 78 | path: '/login', | ||
| 79 | query: { | ||
| 80 | redirect: router.currentRoute.fullPath | ||
| 81 | } | ||
| 82 | }); | ||
| 83 | }, 1000); | ||
| 84 | break; | ||
| 85 | // 404请求不存在 | ||
| 86 | case 404: | 69 | case 404: |
| 87 | Toast({ | 70 | Toast({ |
| 88 | message: '网络请求不存在', | 71 | message: '网络请求不存在', |
| ... | @@ -90,7 +73,7 @@ axios.interceptors.response.use( | ... | @@ -90,7 +73,7 @@ axios.interceptors.response.use( |
| 90 | forbidClick: true | 73 | forbidClick: true |
| 91 | }); | 74 | }); |
| 92 | break; | 75 | break; |
| 93 | // 其他错误,直接抛出错误提示 | 76 | // 其他错误,直接抛出错误提示 |
| 94 | default: | 77 | default: |
| 95 | Toast({ | 78 | Toast({ |
| 96 | message: error.response.data.message, | 79 | message: error.response.data.message, |
| ... | @@ -119,7 +102,9 @@ export const httpGet = params => { | ... | @@ -119,7 +102,9 @@ export const httpGet = params => { |
| 119 | url, | 102 | url, |
| 120 | data | 103 | data |
| 121 | } = params; | 104 | } = params; |
| 122 | return axios.get(`${base}${url}`, { | 105 | data = !data ? {} : data; |
| 106 | let requestUrl = url.indexOf("http:") >= 0 || url.indexOf("https:") >= 0 ? url : `${base}${url}`; | ||
| 107 | return axios.get(requestUrl, { | ||
| 123 | params: data | 108 | params: data |
| 124 | }).then(res => res.data.content); | 109 | }).then(res => res.data.content); |
| 125 | } | 110 | } |
| ... | @@ -133,9 +118,57 @@ export const httpPost = params => { | ... | @@ -133,9 +118,57 @@ export const httpPost = params => { |
| 133 | url, | 118 | url, |
| 134 | data | 119 | data |
| 135 | } = params; | 120 | } = params; |
| 136 | return axios.post(`${base}${url}`, data).then(res => res.data.content); | 121 | let requestUrl = url.indexOf("http:") >= 0 || url.indexOf("https:") >= 0 ? url : `${base}${url}`; |
| 122 | return axios.post(requestUrl, data).then(res => res.data.content); | ||
| 137 | } | 123 | } |
| 138 | 124 | ||
| 125 | export const store = { | ||
| 126 | putSession: function (sessionId) { | ||
| 127 | localStorage.setItem("_jiajia_childrenhost_sesson", sessionId); | ||
| 128 | }, | ||
| 129 | getSession: function () { | ||
| 130 | return localStorage.getItem("_jiajia_childrenhost_sesson"); | ||
| 131 | }, | ||
| 132 | removeSession: function () { | ||
| 133 | localStorage.removeItem("_jiajia_childrenhost_sesson"); | ||
| 134 | }, | ||
| 135 | saveRedirectUrl() { | ||
| 136 | let current = Router.history.current || {}; | ||
| 137 | let data = { | ||
| 138 | route: current.path, | ||
| 139 | params: current.query | ||
| 140 | } | ||
| 141 | localStorage.setItem("_jiajia_childrenhost_redirect", JSON.stringify(data)); | ||
| 142 | }, | ||
| 143 | getRedirectUrl() { | ||
| 144 | let dataStr = localStorage.getItem("_jiajia_childrenhost_redirect"); | ||
| 145 | if (dataStr) { | ||
| 146 | let data = JSON.parse(dataStr); | ||
| 147 | let path = data.route; | ||
| 148 | let sep = "?"; | ||
| 149 | if (data.params) { | ||
| 150 | for (let key in data.params) { | ||
| 151 | path += sep + key + "=" + data.params[key]; | ||
| 152 | sep = "&"; | ||
| 153 | } | ||
| 154 | } | ||
| 155 | return path; | ||
| 156 | } | ||
| 157 | return null; | ||
| 158 | }, | ||
| 159 | delRedirectUrl() { | ||
| 160 | localStorage.removeItem("_jiajia_childrenhost_redirect"); | ||
| 161 | }, | ||
| 162 | getWxAppId() { | ||
| 163 | return `${baseWxAppid}`; | ||
| 164 | }, | ||
| 165 | toWxLogin() { | ||
| 166 | let baseUrl = location.origin + location.pathname; | ||
| 167 | let returnUrl = encodeURIComponent(`${wxOauthUrl}` + "?returnUrl=" + baseUrl + "?openId=OPENID&p=p"); | ||
| 168 | let oauthUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + `${baseWxAppid}` + "&redirect_uri=" + returnUrl + "&response_type=code&scope=snsapi_userinfo&stats=" + new Date().getTime() + "#wechat_redirect"; | ||
| 169 | location.href = oauthUrl; | ||
| 170 | } | ||
| 171 | } | ||
| 139 | 172 | ||
| 140 | /** | 173 | /** |
| 141 | * 封装post方法 | 174 | * 封装post方法 |
| ... | @@ -152,5 +185,38 @@ export const formdata = params => { | ... | @@ -152,5 +185,38 @@ export const formdata = params => { |
| 152 | url, | 185 | url, |
| 153 | data | 186 | data |
| 154 | } = params; | 187 | } = params; |
| 155 | return axios.post(`${base}${url}`, data, formDataHeaders).then(res => res.data); | ||
| 156 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 188 | let requestUrl = url.indexOf("http:") >= 0 || url.indexOf("https:") >= 0 ? url : `${base}${url}`; | ||
| 189 | return axios.post(requestUrl, data, formDataHeaders).then(res => res.data); | ||
| 190 | } | ||
| 191 | |||
| 192 | |||
| 193 | export const request = { | ||
| 194 | post(url, data) { | ||
| 195 | return axios.post(`${requestDomain}${url}`, data); | ||
| 196 | }, | ||
| 197 | get(url, data) { | ||
| 198 | return axios.get(`${requestDomain}${url}`, { params: data }); | ||
| 199 | }, | ||
| 200 | form(url, params) { | ||
| 201 | let formData = new FormData(); //使用formData对象 | ||
| 202 | for (let key in params) { | ||
| 203 | formData.append(key, params[key]); | ||
| 204 | } | ||
| 205 | let requestUrl = url.indexOf("://") >= 0 ? `${url}` : `${requestDomain}${url}`; | ||
| 206 | return axios.post(requestUrl, formData, formDataHeaders) | ||
| 207 | }, | ||
| 208 | build(url, params){ | ||
| 209 | let fullUrl = `${requestDomain}${url}`; | ||
| 210 | let split = ""; | ||
| 211 | for(let key in params){ | ||
| 212 | if(split){ | ||
| 213 | split = "&"; | ||
| 214 | } else { | ||
| 215 | split = "?" | ||
| 216 | } | ||
| 217 | fullUrl += split + key +"="+params[key]; | ||
| 218 | } | ||
| 219 | return fullUrl; | ||
| 220 | }, | ||
| 221 | /*test*/ | ||
| 222 | }; | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
src/assets/imgs/bottom-grassland.png
0 → 100644
84.4 KB
src/assets/imgs/btn.png
0 → 100644
7.9 KB
src/assets/imgs/btn2.png
0 → 100644
4.19 KB
src/assets/imgs/checkbox-checked.png
0 → 100644
770 Bytes
src/assets/imgs/checkbox-uncheck.png
0 → 100644
313 Bytes
src/assets/imgs/draw-down.png
0 → 100644
390 Bytes
src/assets/imgs/head-leap.png
0 → 100644
57.6 KB
src/assets/imgs/icon-01.png
0 → 100644
2.45 KB
src/assets/imgs/icon-02.png
0 → 100644
2.89 KB
src/assets/imgs/icon-03.png
0 → 100644
4.05 KB
src/assets/imgs/icon-04.png
0 → 100644
4.24 KB
src/assets/imgs/idx-head.jpg
0 → 100644
636 KB
src/assets/imgs/leap-01.png
0 → 100644
18.6 KB
src/assets/imgs/leap-02.png
0 → 100644
35.9 KB
src/assets/imgs/leap-03.png
0 → 100644
86.7 KB
src/assets/imgs/prize.png
0 → 100644
312 KB
src/assets/imgs/rule.png
0 → 100644
104 KB
src/assets/imgs/title-bg.png
0 → 100644
12.3 KB
src/assets/imgs/walfare-qrcode.png
0 → 100644
16.1 KB
src/assets/imgs/welfare-bg.jpg
0 → 100644
105 KB
src/assets/imgs/welfare-cj.png
0 → 100644
239 KB
src/assets/imgs/welfare-qy.png
0 → 100644
319 KB
src/assets/imgs/welfare-top.jpg
0 → 100644
120 KB
src/components/biz-model/biz-model.vue
0 → 100644
| 1 | <template> | ||
| 2 | <van-overlay :show="show" > | ||
| 3 | |||
| 4 | </van-overlay> | ||
| 5 | </template> | ||
| 6 | |||
| 7 | <script> | ||
| 8 | import Vue from "vue"; | ||
| 9 | import { Overlay } from "vant"; | ||
| 10 | Vue.use(Overlay); | ||
| 11 | |||
| 12 | export default { | ||
| 13 | props: ["value"], | ||
| 14 | data() { | ||
| 15 | return { | ||
| 16 | model: this.value, | ||
| 17 | show: false | ||
| 18 | }; | ||
| 19 | }, | ||
| 20 | methods: {}, | ||
| 21 | created() {} | ||
| 22 | }; | ||
| 23 | </script> | ||
| 24 | |||
| 25 | <style lang="less" scoped> | ||
| 26 | </style> |
src/components/bottom-tools/bottom-tools.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="bottom-panel"> | ||
| 3 | <div class="bottom-tool-container"> | ||
| 4 | <div class="item" v-bind:class="{activity : activityIndex == 1}" @click="itemSelect(1)"> | ||
| 5 | <div class="white-bg"> | ||
| 6 | <div class="icon icon-01"></div> | ||
| 7 | </div> | ||
| 8 | <div class="name">大赛介绍</div> | ||
| 9 | </div> | ||
| 10 | <div class="item" v-bind:class="{activity : activityIndex == 2}" @click="itemSelect(2)"> | ||
| 11 | <div class="white-bg"> | ||
| 12 | <div class="icon icon-02"></div> | ||
| 13 | </div> | ||
| 14 | <div class="name">我要报名</div> | ||
| 15 | </div> | ||
| 16 | <div class="item" v-bind:class="{activity : activityIndex == 3}" @click="itemSelect(3)"> | ||
| 17 | <div class="white-bg"> | ||
| 18 | <div class="icon icon-03"></div> | ||
| 19 | </div> | ||
| 20 | <div class="name">人气评选</div> | ||
| 21 | </div> | ||
| 22 | <div class="item" v-bind:class="{activity : activityIndex == 4}" @click="itemSelect(4)"> | ||
| 23 | <div class="white-bg"> | ||
| 24 | <div class="icon icon-04"></div> | ||
| 25 | </div> | ||
| 26 | <div class="name">更多福利</div> | ||
| 27 | </div> | ||
| 28 | </div> | ||
| 29 | </div> | ||
| 30 | </template> | ||
| 31 | |||
| 32 | <script> | ||
| 33 | export default { | ||
| 34 | props: ["value"], | ||
| 35 | data() { | ||
| 36 | return { | ||
| 37 | activityIndex: this.value | ||
| 38 | }; | ||
| 39 | }, | ||
| 40 | methods: { | ||
| 41 | itemSelect(index) { | ||
| 42 | if (this.activityIndex == index) { | ||
| 43 | return; | ||
| 44 | } | ||
| 45 | this.activityIndex = index; | ||
| 46 | switch (this.activityIndex) { | ||
| 47 | case 1: | ||
| 48 | this.$router.push("/"); | ||
| 49 | break; | ||
| 50 | case 2: | ||
| 51 | this.$router.push("/sign"); | ||
| 52 | break; | ||
| 53 | case 3: | ||
| 54 | this.$router.push("/list"); | ||
| 55 | break; | ||
| 56 | case 4: | ||
| 57 | this.$router.push("/welfare"); | ||
| 58 | break; | ||
| 59 | } | ||
| 60 | this.$emit("selectChange", this.activityIndex); | ||
| 61 | } | ||
| 62 | }, | ||
| 63 | created() { | ||
| 64 | if (!this.activityIndex) { | ||
| 65 | this.activityIndex = 1; | ||
| 66 | } | ||
| 67 | } | ||
| 68 | }; | ||
| 69 | </script> | ||
| 70 | |||
| 71 | <style lang="less" scoped> | ||
| 72 | .bottom-panel { | ||
| 73 | z-index: 999; | ||
| 74 | position: fixed; | ||
| 75 | bottom: 0; | ||
| 76 | height: 165px; | ||
| 77 | width: 750px; | ||
| 78 | background: url(../../assets/imgs/bottom-grassland.png) no-repeat; | ||
| 79 | background-size: 100% auto; | ||
| 80 | background-position: bottom; | ||
| 81 | } | ||
| 82 | .bottom-tool-container { | ||
| 83 | margin: auto; | ||
| 84 | width: 680px; | ||
| 85 | display: flex; | ||
| 86 | justify-content: space-between; | ||
| 87 | } | ||
| 88 | |||
| 89 | .item { | ||
| 90 | width: 140px; | ||
| 91 | .icon { | ||
| 92 | margin: auto; | ||
| 93 | width: 86px; | ||
| 94 | height: 86px; | ||
| 95 | } | ||
| 96 | |||
| 97 | .icon-01 { | ||
| 98 | background: url(../../assets/imgs/icon-01.png); | ||
| 99 | background-size: 100%; | ||
| 100 | } | ||
| 101 | .icon-02 { | ||
| 102 | background: url(../../assets/imgs/icon-02.png); | ||
| 103 | background-size: 100%; | ||
| 104 | } | ||
| 105 | .icon-03 { | ||
| 106 | background: url(../../assets/imgs/icon-03.png); | ||
| 107 | background-size: 100%; | ||
| 108 | } | ||
| 109 | .icon-04 { | ||
| 110 | background: url(../../assets/imgs/icon-04.png); | ||
| 111 | background-size: 100%; | ||
| 112 | } | ||
| 113 | |||
| 114 | .name { | ||
| 115 | width: 100%; | ||
| 116 | text-align: center; | ||
| 117 | color: #fff; | ||
| 118 | font-size: 24px; | ||
| 119 | } | ||
| 120 | .white-bg { | ||
| 121 | margin: auto; | ||
| 122 | padding-top: 7px; | ||
| 123 | background-color: transparent; | ||
| 124 | width: 110px; | ||
| 125 | height: 103px; | ||
| 126 | border-radius: 55px; | ||
| 127 | } | ||
| 128 | } | ||
| 129 | |||
| 130 | .activity { | ||
| 131 | .white-bg { | ||
| 132 | background-color: #fff !important; | ||
| 133 | } | ||
| 134 | } | ||
| 135 | </style> |
| 1 | <template> | 1 | <template> |
| 2 | <div class="home">home</div> | 2 | <div class="home"> |
| 3 | <!-- <div class="title"></div> | ||
| 4 | <div class="sys-btn btn-margin">我要报名</div> | ||
| 5 | <div class="rule"></div> | ||
| 6 | <div class="prize"></div> | ||
| 7 | <div class="leap-01"></div> | ||
| 8 | <div class="leap-02"></div> | ||
| 9 | <div class="leap-03"></div> | ||
| 10 | <div class="remain"></div> | ||
| 11 | <bottom-tool v-model="activityIndex"></bottom-tool>--> | ||
| 12 | </div> | ||
| 3 | </template> | 13 | </template> |
| 4 | 14 | ||
| 5 | <script> | 15 | <script> |
| 16 | let urls = { | ||
| 17 | login: "/jiajiaCHApi/app/login" | ||
| 18 | }; | ||
| 19 | import { store, httpPost } from "@/api/fetch-api.js"; | ||
| 20 | |||
| 6 | export default { | 21 | export default { |
| 7 | name: 'home' | 22 | name: "home", |
| 8 | } | 23 | data() { |
| 24 | return { | ||
| 25 | activityIndex: 1, | ||
| 26 | loginParam: { | ||
| 27 | openid: "", | ||
| 28 | accessToken: "" | ||
| 29 | } | ||
| 30 | }; | ||
| 31 | }, | ||
| 32 | methods: { | ||
| 33 | init() { | ||
| 34 | if (store.getSession()) { | ||
| 35 | this.$router.push("/index"); | ||
| 36 | } else { | ||
| 37 | let params = this.analysisParams(); | ||
| 38 | if (params["openId"]) { | ||
| 39 | this.loginParam.openid = params["openId"]; | ||
| 40 | this.loginParam.accessToken = params["access_token"]; | ||
| 41 | this.login(); | ||
| 42 | } else { | ||
| 43 | store.toWxLogin(); | ||
| 44 | } | ||
| 45 | } | ||
| 46 | }, | ||
| 47 | analysisParams() { | ||
| 48 | let params = {}; | ||
| 49 | var query = window.location.search.substring(1); | ||
| 50 | var vars = query.split("&"); | ||
| 51 | for (var i = 0; i < vars.length; i++) { | ||
| 52 | var pair = vars[i].split("="); | ||
| 53 | params[pair[0]] = pair[1]; | ||
| 54 | } | ||
| 55 | return params; | ||
| 56 | }, | ||
| 57 | login() { | ||
| 58 | httpPost({ url: urls.login, data: this.loginParam }).then(res => { | ||
| 59 | store.putSession(res.sessionId); | ||
| 60 | let path = store.getRedirectUrl(); | ||
| 61 | path = !path ? "/index" : path; | ||
| 62 | store.delRedirectUrl(); | ||
| 63 | this.$router.push(path); | ||
| 64 | }); | ||
| 65 | } | ||
| 66 | }, | ||
| 67 | created() { | ||
| 68 | this.init(); | ||
| 69 | } | ||
| 70 | }; | ||
| 9 | </script> | 71 | </script> |
| 10 | 72 | ||
| 11 | <style lang="scss" scoped> | 73 | <style lang="scss" scoped> |
| 12 | .home { | 74 | .home { |
| 75 | position: relative; | ||
| 13 | text-align: center; | 76 | text-align: center; |
| 77 | background-color: #74cb35; | ||
| 14 | } | 78 | } |
| 15 | </style> | 79 | </style> | ... | ... |
src/pages/demo/index.js
deleted
100644 → 0
| 1 | import api from '../../api/api' | ||
| 2 | import { | ||
| 3 | httpGet, | ||
| 4 | httpPost | ||
| 5 | } from '../../api/fetch-api.js' | ||
| 6 | |||
| 7 | export default { | ||
| 8 | data() { | ||
| 9 | return { | ||
| 10 | key: 'value' | ||
| 11 | } | ||
| 12 | }, | ||
| 13 | components: {}, | ||
| 14 | methods: { | ||
| 15 | initData() {} | ||
| 16 | }, | ||
| 17 | mounted() {}, | ||
| 18 | created() { | ||
| 19 | console.log("demo created"); | ||
| 20 | } | ||
| 21 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/pages/demo/index.scss
deleted
100644 → 0
| 1 | @import './../../styles/support'; |
src/pages/demo/index.vue
deleted
100644 → 0
| 1 | |||
| 2 | <template> | ||
| 3 | <div class="page"> | ||
| 4 | <div class="app__bgc bgc"></div> | ||
| 5 | <div class="app__bg bg"></div> | ||
| 6 | <div class="app__content main"> | ||
| 7 | <div class="top-space"></div> | ||
| 8 | <div class="content"> | ||
| 9 | <span class="iconfont iconclose">demo</span> | ||
| 10 | </div> | ||
| 11 | </div> | ||
| 12 | </div> | ||
| 13 | </template> | ||
| 14 | |||
| 15 | <script src="./index.js"></script> | ||
| 16 | <style lang="scss" scoped> | ||
| 17 | // @import './index.scss'; | ||
| 18 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/pages/draw/index.vue
0 → 100644
File mode changed
src/pages/index/index.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="home"> | ||
| 3 | <div class="title"></div> | ||
| 4 | <div class="sys-btn btn-margin" @click="toSign">立即报名</div> | ||
| 5 | <div class="rule"></div> | ||
| 6 | <div class="prize"></div> | ||
| 7 | <div class="leap-01"></div> | ||
| 8 | <div class="leap-02"></div> | ||
| 9 | <div class="leap-03"></div> | ||
| 10 | <div class="remain"></div> | ||
| 11 | <bottom-tool v-model="activityIndex"></bottom-tool> | ||
| 12 | </div> | ||
| 13 | </template> | ||
| 14 | |||
| 15 | <script> | ||
| 16 | import BottomTool from "@/components/bottom-tools/bottom-tools"; | ||
| 17 | |||
| 18 | export default { | ||
| 19 | name: "home", | ||
| 20 | data() { | ||
| 21 | return { | ||
| 22 | activityIndex: 1 | ||
| 23 | }; | ||
| 24 | }, | ||
| 25 | methods : { | ||
| 26 | toSign(){ | ||
| 27 | this.$router.push("/sign") | ||
| 28 | } | ||
| 29 | }, | ||
| 30 | components: { | ||
| 31 | BottomTool | ||
| 32 | } | ||
| 33 | }; | ||
| 34 | </script> | ||
| 35 | |||
| 36 | <style lang="scss" scoped> | ||
| 37 | .home { | ||
| 38 | position: relative; | ||
| 39 | text-align: center; | ||
| 40 | background-color: #74cb35; | ||
| 41 | } | ||
| 42 | .title { | ||
| 43 | width: 750px; | ||
| 44 | height: 955px; | ||
| 45 | background: url(../../assets/imgs/idx-head.jpg); | ||
| 46 | background-size: 100%; | ||
| 47 | } | ||
| 48 | .rule { | ||
| 49 | width: 689px; | ||
| 50 | height: 672px; | ||
| 51 | background: url(../../assets/imgs/rule.png); | ||
| 52 | background-size: 100%; | ||
| 53 | margin: auto; | ||
| 54 | margin-top: 26px; | ||
| 55 | } | ||
| 56 | .prize { | ||
| 57 | width: 684px; | ||
| 58 | height: 1570px; | ||
| 59 | background: url(../../assets/imgs/prize.png); | ||
| 60 | background-size: 100%; | ||
| 61 | margin: auto; | ||
| 62 | margin-top: 40px; | ||
| 63 | } | ||
| 64 | .btn-margin { | ||
| 65 | margin-top: 10px; | ||
| 66 | } | ||
| 67 | .leap-01 { | ||
| 68 | width: 87px; | ||
| 69 | height: 216px; | ||
| 70 | background: url(../../assets/imgs/leap-01.png); | ||
| 71 | background-size: 100%; | ||
| 72 | position: absolute; | ||
| 73 | right: 0; | ||
| 74 | top: 990px; | ||
| 75 | } | ||
| 76 | .leap-02 { | ||
| 77 | width: 138px; | ||
| 78 | height: 290px; | ||
| 79 | background: url(../../assets/imgs/leap-02.png); | ||
| 80 | background-size: 100%; | ||
| 81 | position: absolute; | ||
| 82 | right: 0; | ||
| 83 | top: 1665px; | ||
| 84 | } | ||
| 85 | .leap-03 { | ||
| 86 | width: 750px; | ||
| 87 | height: 355px; | ||
| 88 | background: url(../../assets/imgs/leap-03.png); | ||
| 89 | background-size: 100%; | ||
| 90 | position: absolute; | ||
| 91 | bottom: 0px; | ||
| 92 | } | ||
| 93 | .remain{ | ||
| 94 | height: 0px; | ||
| 95 | } | ||
| 96 | </style> |
src/pages/list/index.vue
0 → 100644
File mode changed
src/pages/sign/components/EditModel.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="editClass"> | ||
| 3 | <div class="sys-container-panel content"> | ||
| 4 | <div class="container-title">我要报名</div> | ||
| 5 | <div class="head-line"></div> | ||
| 6 | |||
| 7 | <div class="text-container space"> | ||
| 8 | <div class="label">选手姓名:</div> | ||
| 9 | <div class="form-item"> | ||
| 10 | <input v-model="formData.name" placeholder="请填写参赛者姓名" /> | ||
| 11 | </div> | ||
| 12 | </div> | ||
| 13 | |||
| 14 | <div class="text-container space"> | ||
| 15 | <div class="label">所属地区:</div> | ||
| 16 | <div class="inline-group inline-group-width"> | ||
| 17 | <div class="form-item inline-group inline-02" @click="selectCityHandler"> | ||
| 18 | <div class="label">{{formData.province ? formData.province : "请选择"}}</div> | ||
| 19 | <div class="icon-draw-down"></div> | ||
| 20 | </div> | ||
| 21 | <div class="form-item inline-group inline-02" @click="selectCityHandler"> | ||
| 22 | <div class="label">{{formData.city ? formData.city : "请选择"}}</div> | ||
| 23 | <div class="icon-draw-down"></div> | ||
| 24 | </div> | ||
| 25 | </div> | ||
| 26 | </div> | ||
| 27 | |||
| 28 | <div class="text-container space"> | ||
| 29 | <div class="label">个人简介:</div> | ||
| 30 | <div class="form-item"> | ||
| 31 | <input v-model="formData.profile" placeholder="可填写参赛者获取过荣誉、特殊才艺技能等" /> | ||
| 32 | </div> | ||
| 33 | </div> | ||
| 34 | |||
| 35 | <div class="text-container space"> | ||
| 36 | <div class="label">竞赛宣言:</div> | ||
| 37 | <div class="form-item"> | ||
| 38 | <input v-model="formData.slogan" placeholder="参赛口号,不超过8个字" /> | ||
| 39 | </div> | ||
| 40 | </div> | ||
| 41 | <div class="text-container space"> | ||
| 42 | <div class="label">家长姓名:</div> | ||
| 43 | <div class="form-item"> | ||
| 44 | <input v-model="formData.parentName" placeholder="请填写父亲/母亲称呼" /> | ||
| 45 | </div> | ||
| 46 | </div> | ||
| 47 | <div class="text-container space"> | ||
| 48 | <div class="label">联系方式:</div> | ||
| 49 | <div class="form-item"> | ||
| 50 | <input v-model="formData.parentMobile" placeholder="请填写正确手机号码" /> | ||
| 51 | </div> | ||
| 52 | </div> | ||
| 53 | <div class="text-container space"> | ||
| 54 | <div class="label">照片/视频:</div> | ||
| 55 | <div class="item-group top"> | ||
| 56 | <div> | ||
| 57 | <upload-item v-model="formData.worksList"></upload-item> | ||
| 58 | </div> | ||
| 59 | <div class="tips">可上传1-3张照片,首张默认为海报图</div> | ||
| 60 | </div> | ||
| 61 | </div> | ||
| 62 | </div> | ||
| 63 | <div class="sys-btn-02" :class="{disabled : !autoRegister}" @click="submitFormHandler">确认提交</div> | ||
| 64 | |||
| 65 | <div class="center base-margin auto-register-tips" @click="acceptRegisterHandler"> | ||
| 66 | <div class="icon-register" :class="{activity : autoRegister}"></div> | ||
| 67 | <div class="tips">自动注册为立白集团会员,立享会员权益,详见“更多福利”</div> | ||
| 68 | </div> | ||
| 69 | |||
| 70 | <van-popup position="bottom" :style="{ height: '40%' }" v-model="area.show"> | ||
| 71 | <van-area | ||
| 72 | :area-list="areaList" | ||
| 73 | :columns-num="2" | ||
| 74 | title="选择城市" | ||
| 75 | :value="formData.cityCode" | ||
| 76 | @cancel="area.show = false" | ||
| 77 | @confirm="confirmSelectCityHandler" | ||
| 78 | /> | ||
| 79 | </van-popup> | ||
| 80 | </div> | ||
| 81 | </template> | ||
| 82 | |||
| 83 | <script> | ||
| 84 | let urls = { | ||
| 85 | area: "https://api.k.wxpai.cn/bizproxy/kdapi/area", | ||
| 86 | submit: "/jiajiaCHApi/app/works/submit" | ||
| 87 | }; | ||
| 88 | |||
| 89 | import UploadItem from "./UploadItem"; | ||
| 90 | import { httpGet, httpPost } from "@/api/fetch-api"; | ||
| 91 | import AreaList from "@/api/area"; | ||
| 92 | |||
| 93 | import Vue from "vue"; | ||
| 94 | import { Toast } from "vant"; | ||
| 95 | import { Area } from "vant"; | ||
| 96 | import { Popup } from "vant"; | ||
| 97 | |||
| 98 | Vue.use(Popup); | ||
| 99 | Vue.use(Area); | ||
| 100 | Vue.use(Toast); | ||
| 101 | |||
| 102 | export default { | ||
| 103 | props: ["value"], | ||
| 104 | data() { | ||
| 105 | return { | ||
| 106 | autoRegister: true, | ||
| 107 | successModelVisiable: true, | ||
| 108 | area: { | ||
| 109 | show: false | ||
| 110 | }, | ||
| 111 | formData: this.value | ||
| 112 | }; | ||
| 113 | }, | ||
| 114 | methods: { | ||
| 115 | selectCityHandler() { | ||
| 116 | if (!this.formData.cityCode) { | ||
| 117 | this.formData.cityCode = "110100"; | ||
| 118 | } | ||
| 119 | this.area.show = true; | ||
| 120 | }, | ||
| 121 | confirmSelectCityHandler(res) { | ||
| 122 | let province = res[0]; | ||
| 123 | let city = res[1]; | ||
| 124 | if (!city) { | ||
| 125 | return; | ||
| 126 | } | ||
| 127 | this.formData.province = province.name; | ||
| 128 | this.formData.provinceCode = province.code; | ||
| 129 | this.formData.city = city.name; | ||
| 130 | this.formData.cityCode = city.code; | ||
| 131 | this.area.show = false; | ||
| 132 | }, | ||
| 133 | acceptRegisterHandler() { | ||
| 134 | this.autoRegister = !this.autoRegister; | ||
| 135 | if (!this.autoRegister) { | ||
| 136 | } | ||
| 137 | }, | ||
| 138 | submitFormHandler() { | ||
| 139 | if (!this.autoRegister) { | ||
| 140 | return; | ||
| 141 | } | ||
| 142 | if (!this.formData.name) { | ||
| 143 | Toast("请填写“参数者姓名”"); | ||
| 144 | return; | ||
| 145 | } | ||
| 146 | if (!this.formData.province) { | ||
| 147 | Toast("请选择“所属地区”"); | ||
| 148 | return; | ||
| 149 | } | ||
| 150 | if (!this.formData.profile) { | ||
| 151 | Toast("请填写“个人简介”"); | ||
| 152 | return; | ||
| 153 | } | ||
| 154 | if (!this.formData.slogan) { | ||
| 155 | Toast("请填写“竞赛宣言”"); | ||
| 156 | return; | ||
| 157 | } | ||
| 158 | if (this.formData.slogan.length > 8) { | ||
| 159 | Toast("“竞赛宣言”不要超过8个字"); | ||
| 160 | return; | ||
| 161 | } | ||
| 162 | if (!this.formData.parentName) { | ||
| 163 | Toast("请填写“家长姓名”"); | ||
| 164 | return; | ||
| 165 | } | ||
| 166 | if (!this.formData.parentMobile) { | ||
| 167 | Toast("请填写“联系方式”"); | ||
| 168 | return; | ||
| 169 | } | ||
| 170 | if ( | ||
| 171 | this.formData.parentMobile.indexOf("1") != 0 || | ||
| 172 | this.formData.parentMobile.length != 11 | ||
| 173 | ) { | ||
| 174 | Toast("请填写正确的“联系方式”"); | ||
| 175 | return; | ||
| 176 | } | ||
| 177 | if (!this.formData.worksList || this.formData.worksList.length == 0) { | ||
| 178 | Toast("请上传作品"); | ||
| 179 | return; | ||
| 180 | } | ||
| 181 | |||
| 182 | Toast.loading({ | ||
| 183 | mask: true, | ||
| 184 | message: "数据提交中..." | ||
| 185 | }); | ||
| 186 | httpPost({ url: urls.submit, data: this.formData }).then(res => { | ||
| 187 | Toast.clear(); | ||
| 188 | this.$emit("submit", res); | ||
| 189 | }); | ||
| 190 | } | ||
| 191 | }, | ||
| 192 | computed: { | ||
| 193 | areaList() { | ||
| 194 | return AreaList; | ||
| 195 | } | ||
| 196 | }, | ||
| 197 | components: { | ||
| 198 | UploadItem | ||
| 199 | }, | ||
| 200 | created() {} | ||
| 201 | }; | ||
| 202 | </script> | ||
| 203 | |||
| 204 | <style lang="scss" scoped> | ||
| 205 | .content { | ||
| 206 | margin: 85px auto 60px auto; | ||
| 207 | padding-bottom: 60px; | ||
| 208 | |||
| 209 | .head-line { | ||
| 210 | height: 60px; | ||
| 211 | } | ||
| 212 | |||
| 213 | .edit { | ||
| 214 | width: 630px; | ||
| 215 | text-align: right; | ||
| 216 | u { | ||
| 217 | font-size: 24px; | ||
| 218 | color: #5db288; | ||
| 219 | position: relative; | ||
| 220 | z-index: 1000; | ||
| 221 | } | ||
| 222 | } | ||
| 223 | |||
| 224 | .swipe { | ||
| 225 | width: 630px; | ||
| 226 | height: 320px; | ||
| 227 | margin: auto; | ||
| 228 | border: 2px solid #82acae; | ||
| 229 | border-radius: 30px; | ||
| 230 | } | ||
| 231 | |||
| 232 | .space { | ||
| 233 | margin-top: 20px !important; | ||
| 234 | } | ||
| 235 | .top { | ||
| 236 | display: flex; | ||
| 237 | align-items: flex-start !important; | ||
| 238 | } | ||
| 239 | |||
| 240 | .inline-group-width { | ||
| 241 | width: 500px; | ||
| 242 | } | ||
| 243 | |||
| 244 | .inline-group { | ||
| 245 | display: flex; | ||
| 246 | justify-content: space-between; | ||
| 247 | align-items: center; | ||
| 248 | } | ||
| 249 | |||
| 250 | .text-container { | ||
| 251 | display: flex; | ||
| 252 | align-items: center; | ||
| 253 | width: 620px; | ||
| 254 | margin: auto; | ||
| 255 | |||
| 256 | .inline { | ||
| 257 | width: 315px !important; | ||
| 258 | } | ||
| 259 | |||
| 260 | .inline-02 { | ||
| 261 | width: 180px !important; | ||
| 262 | padding: 0 30px; | ||
| 263 | .label { | ||
| 264 | font-size: 20px; | ||
| 265 | } | ||
| 266 | } | ||
| 267 | |||
| 268 | .right { | ||
| 269 | justify-content: flex-end !important; | ||
| 270 | } | ||
| 271 | |||
| 272 | .label { | ||
| 273 | min-width: 128px; | ||
| 274 | font-size: 20px; | ||
| 275 | text-align: left; | ||
| 276 | } | ||
| 277 | .msg { | ||
| 278 | color: #303531; | ||
| 279 | font-size: 24px; | ||
| 280 | text-align: left; | ||
| 281 | } | ||
| 282 | .primay { | ||
| 283 | font-size: 32px !important; | ||
| 284 | font-weight: 600; | ||
| 285 | color: #ff9e30; | ||
| 286 | } | ||
| 287 | |||
| 288 | .form-item { | ||
| 289 | width: 500px; | ||
| 290 | height: 52px; | ||
| 291 | border: 1px solid #82acae; | ||
| 292 | background-color: #addfe1; | ||
| 293 | border-radius: 26px; | ||
| 294 | line-height: 52px; | ||
| 295 | display: flex; | ||
| 296 | align-items: center; | ||
| 297 | |||
| 298 | input { | ||
| 299 | margin-left: 25px; | ||
| 300 | line-height: 52px; | ||
| 301 | height: 52px; | ||
| 302 | border: none; | ||
| 303 | width: 90%; | ||
| 304 | height: 100%; | ||
| 305 | background-color: transparent; | ||
| 306 | position: relative; | ||
| 307 | z-index: 1000; | ||
| 308 | font-size: 22px; | ||
| 309 | } | ||
| 310 | } | ||
| 311 | } | ||
| 312 | |||
| 313 | input::-webkit-input-placeholder { | ||
| 314 | color: #4f9984; | ||
| 315 | font-size: 18px; | ||
| 316 | } | ||
| 317 | |||
| 318 | } | ||
| 319 | |||
| 320 | .view-btn-group { | ||
| 321 | display: flex; | ||
| 322 | width: 730px; | ||
| 323 | margin: auto; | ||
| 324 | justify-content: space-between; | ||
| 325 | margin-bottom: 200px; | ||
| 326 | |||
| 327 | .sys-btn-02 { | ||
| 328 | width: 300px; | ||
| 329 | line-height: 90px; | ||
| 330 | } | ||
| 331 | } | ||
| 332 | |||
| 333 | .auto-register-tips { | ||
| 334 | width: 700px; | ||
| 335 | margin: auto; | ||
| 336 | } | ||
| 337 | |||
| 338 | .icon-draw-down { | ||
| 339 | width: 30px; | ||
| 340 | height: 18px; | ||
| 341 | background: url(../../../assets/imgs/draw-down.png) no-repeat; | ||
| 342 | background-size: 100%; | ||
| 343 | } | ||
| 344 | |||
| 345 | .base-margin { | ||
| 346 | margin-top: 40px; | ||
| 347 | } | ||
| 348 | |||
| 349 | .icon-register { | ||
| 350 | width: 30px; | ||
| 351 | height: 30px; | ||
| 352 | background: url(../../../assets/imgs/checkbox-uncheck.png) no-repeat; | ||
| 353 | background-size: 100%; | ||
| 354 | } | ||
| 355 | |||
| 356 | .icon-register.activity { | ||
| 357 | width: 30px; | ||
| 358 | height: 30px; | ||
| 359 | background: url(../../../assets/imgs/checkbox-checked.png) no-repeat; | ||
| 360 | background-size: 100%; | ||
| 361 | } | ||
| 362 | |||
| 363 | .center { | ||
| 364 | display: flex; | ||
| 365 | justify-content: center; | ||
| 366 | align-items: center; | ||
| 367 | } | ||
| 368 | |||
| 369 | .disabled { | ||
| 370 | filter: grayscale(100%); | ||
| 371 | } | ||
| 372 | |||
| 373 | .tips { | ||
| 374 | font-size: 20px; | ||
| 375 | color: #064e39; | ||
| 376 | padding-left: 10px; | ||
| 377 | text-align: left; | ||
| 378 | } | ||
| 379 | </style> |
src/pages/sign/components/UploadItem.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div> | ||
| 3 | <div class="img-container" v-for="(item,index) in fileList" :key="index"> | ||
| 4 | <img :src="item.worksUrl" /> | ||
| 5 | <i class="van-icon van-icon-delete" @click="deleteImageHandler(index)"></i> | ||
| 6 | </div> | ||
| 7 | <van-uploader | ||
| 8 | ref="vanUploader" | ||
| 9 | class="uploader" | ||
| 10 | :after-read="uploadSumit" | ||
| 11 | v-if="!fileList || fileList.length < 3" | ||
| 12 | >+</van-uploader> | ||
| 13 | </div> | ||
| 14 | </template> | ||
| 15 | |||
| 16 | |||
| 17 | |||
| 18 | <script> | ||
| 19 | import { request } from "@/api/fetch-api.js"; | ||
| 20 | |||
| 21 | import Vue from "vue"; | ||
| 22 | import { Uploader } from "vant"; | ||
| 23 | Vue.use(Uploader); | ||
| 24 | |||
| 25 | /** | ||
| 26 | * 外层插件可通过监听:v-on:before-upload;v-on:after-upload两个事件监听上传结果 | ||
| 27 | * after-upload(success, src) | ||
| 28 | */ | ||
| 29 | |||
| 30 | export default { | ||
| 31 | props: ["value"], | ||
| 32 | data() { | ||
| 33 | return { | ||
| 34 | fileList: this.value, | ||
| 35 | uploadUrl: "https://api.k.wxpai.cn/bizproxy/kdapi/file/upload", | ||
| 36 | }; | ||
| 37 | }, | ||
| 38 | methods: { | ||
| 39 | uploadSumit(params) { | ||
| 40 | console.log(params); | ||
| 41 | let data = { | ||
| 42 | path: "/pro/jiajiaChildrenHost", | ||
| 43 | file: params.file | ||
| 44 | }; | ||
| 45 | request | ||
| 46 | .form(this.uploadUrl, data) | ||
| 47 | .then(result => { | ||
| 48 | let uploadResult = { | ||
| 49 | worksUrl: result.data.content, | ||
| 50 | worksType: params.file.type.indexOf("image") >= 0 ? "pic" : "video" | ||
| 51 | }; | ||
| 52 | if (!this.fileList) { | ||
| 53 | this.fileList = []; | ||
| 54 | } | ||
| 55 | this.fileList.push(uploadResult); | ||
| 56 | this.$emit("input", this.fileList); | ||
| 57 | }) | ||
| 58 | .catch(res => {}); | ||
| 59 | }, | ||
| 60 | deleteImageHandler(index) { | ||
| 61 | this.fileList.splice(index, 1); | ||
| 62 | } | ||
| 63 | }, | ||
| 64 | computed: { | ||
| 65 | currentValue: function() { | ||
| 66 | return this.value; | ||
| 67 | } | ||
| 68 | } | ||
| 69 | }; | ||
| 70 | </script> | ||
| 71 | |||
| 72 | <style lang="scss" scoped> | ||
| 73 | .uploader { | ||
| 74 | border: 1px solid #82acae; | ||
| 75 | border-radius: 6px; | ||
| 76 | position: relative; | ||
| 77 | overflow: hidden; | ||
| 78 | padding: 10px; | ||
| 79 | background-color: #addfe1; | ||
| 80 | width: 120px; | ||
| 81 | min-height: 120px; | ||
| 82 | font-size: 40px; | ||
| 83 | line-height: 120px; | ||
| 84 | text-align: center; | ||
| 85 | font-weight: bold; | ||
| 86 | } | ||
| 87 | |||
| 88 | .img-container { | ||
| 89 | border: 1px solid #82acae; | ||
| 90 | border-radius: 6px; | ||
| 91 | position: relative; | ||
| 92 | overflow: hidden; | ||
| 93 | padding: 10px; | ||
| 94 | background-color: #addfe1; | ||
| 95 | width: 120px; | ||
| 96 | text-align: center; | ||
| 97 | font-weight: bold; | ||
| 98 | margin-bottom: 10px; | ||
| 99 | img { | ||
| 100 | width: 100%; | ||
| 101 | } | ||
| 102 | |||
| 103 | .van-icon { | ||
| 104 | background-color: rgba($color: #000000, $alpha: 0.3); | ||
| 105 | position: absolute; | ||
| 106 | right: 10px; | ||
| 107 | bottom: 5px; | ||
| 108 | font-size: 40px; | ||
| 109 | } | ||
| 110 | } | ||
| 111 | |||
| 112 | .avatar { | ||
| 113 | max-width: 120px; | ||
| 114 | max-height: 120px; | ||
| 115 | display: block; | ||
| 116 | } | ||
| 117 | </style> |
src/pages/sign/components/ViewModel.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="viewClass"> | ||
| 3 | <div class="sys-container-panel content"> | ||
| 4 | <div class="container-title">我要报名</div> | ||
| 5 | <div class="head-line"></div> | ||
| 6 | <div class="edit"> | ||
| 7 | <u @click="formEditHandler">信息编辑</u> | ||
| 8 | </div> | ||
| 9 | <div class="swipe"> | ||
| 10 | <van-swipe :autoplay="5000"> | ||
| 11 | <van-swipe-item v-for="(works, index) in formData.worksList" :key="index"> | ||
| 12 | <img :src="works.worksUrl" /> | ||
| 13 | </van-swipe-item> | ||
| 14 | </van-swipe> | ||
| 15 | </div> | ||
| 16 | <div class="text-container space"> | ||
| 17 | <div class="text-container inline"> | ||
| 18 | <div class="label">参数编号:</div> | ||
| 19 | <div class="msg">{{formData.worksNo}}</div> | ||
| 20 | </div> | ||
| 21 | |||
| 22 | <div class="text-container inline right"> | ||
| 23 | <div class="label">目前人气值:</div> | ||
| 24 | <div class="msg primay">{{formData.praiseNumber}}</div> | ||
| 25 | </div> | ||
| 26 | </div> | ||
| 27 | |||
| 28 | <div class="text-container space"> | ||
| 29 | <div class="label">来自城市:</div> | ||
| 30 | <div class="msg">{{formData.province}} {{formData.city}}</div> | ||
| 31 | </div> | ||
| 32 | |||
| 33 | <div class="text-container space top"> | ||
| 34 | <div class="label">我的简介:</div> | ||
| 35 | <div class="msg">{{formData.profile}}</div> | ||
| 36 | </div> | ||
| 37 | |||
| 38 | <div class="text-container space top"> | ||
| 39 | <div class="label">竞赛宣言:</div> | ||
| 40 | <div class="msg">{{formData.slogan}}</div> | ||
| 41 | </div> | ||
| 42 | |||
| 43 | <div class="privacy"> | ||
| 44 | <hr /> | ||
| 45 | <div class="text-container space top"> | ||
| 46 | <div class="label">家长称呼:</div> | ||
| 47 | <div class="msg">{{formData.parentName}}</div> | ||
| 48 | </div> | ||
| 49 | </div> | ||
| 50 | </div> | ||
| 51 | |||
| 52 | <div class="view-btn-group"> | ||
| 53 | <div class="sys-btn-02" @click="selfPraiseHandler">投自己一票</div> | ||
| 54 | <div class="sys-btn-02" @click="showShareHandler">呼叫亲友团</div> | ||
| 55 | </div> | ||
| 56 | </div> | ||
| 57 | </template> | ||
| 58 | |||
| 59 | <script> | ||
| 60 | let urls = {}; | ||
| 61 | |||
| 62 | import { httpGet, httpPost } from "@/api/fetch-api"; | ||
| 63 | |||
| 64 | import Vue from "vue"; | ||
| 65 | import { Toast } from "vant"; | ||
| 66 | import { Popup } from "vant"; | ||
| 67 | |||
| 68 | Vue.use(Popup); | ||
| 69 | Vue.use(Toast); | ||
| 70 | |||
| 71 | export default { | ||
| 72 | props: ["value"], | ||
| 73 | data() { | ||
| 74 | return { | ||
| 75 | formData: this.value | ||
| 76 | }; | ||
| 77 | }, | ||
| 78 | methods: { | ||
| 79 | formEditHandler() { | ||
| 80 | this.$emit("edit"); | ||
| 81 | }, | ||
| 82 | selfPraiseHandler() { | ||
| 83 | // 自己点赞 | ||
| 84 | }, | ||
| 85 | showShareHandler() { | ||
| 86 | // 出现分享层 | ||
| 87 | } | ||
| 88 | }, | ||
| 89 | created() { | ||
| 90 | console.log("view model === ", this.formData); | ||
| 91 | } | ||
| 92 | }; | ||
| 93 | </script> | ||
| 94 | |||
| 95 | <style lang="scss" scoped> | ||
| 96 | .content { | ||
| 97 | margin: 85px auto 60px auto; | ||
| 98 | padding-bottom: 60px; | ||
| 99 | |||
| 100 | .head-line { | ||
| 101 | height: 60px; | ||
| 102 | } | ||
| 103 | |||
| 104 | .edit { | ||
| 105 | width: 630px; | ||
| 106 | text-align: right; | ||
| 107 | u { | ||
| 108 | font-size: 24px; | ||
| 109 | color: #5db288; | ||
| 110 | position: relative; | ||
| 111 | z-index: 1000; | ||
| 112 | } | ||
| 113 | } | ||
| 114 | |||
| 115 | .swipe { | ||
| 116 | width: 630px; | ||
| 117 | height: 320px; | ||
| 118 | margin: auto; | ||
| 119 | border: 2px solid #82acae; | ||
| 120 | border-radius: 30px; | ||
| 121 | |||
| 122 | img { | ||
| 123 | max-height: 300px; | ||
| 124 | max-width: 600px; | ||
| 125 | } | ||
| 126 | } | ||
| 127 | |||
| 128 | .space { | ||
| 129 | margin-top: 20px !important; | ||
| 130 | } | ||
| 131 | .top { | ||
| 132 | display: flex; | ||
| 133 | align-items: flex-start !important; | ||
| 134 | } | ||
| 135 | |||
| 136 | .inline-group-width { | ||
| 137 | width: 500px; | ||
| 138 | } | ||
| 139 | |||
| 140 | .inline-group { | ||
| 141 | display: flex; | ||
| 142 | justify-content: space-between; | ||
| 143 | align-items: center; | ||
| 144 | } | ||
| 145 | |||
| 146 | .text-container { | ||
| 147 | display: flex; | ||
| 148 | align-items: center; | ||
| 149 | width: 620px; | ||
| 150 | margin: auto; | ||
| 151 | |||
| 152 | .inline { | ||
| 153 | width: 315px !important; | ||
| 154 | } | ||
| 155 | |||
| 156 | .inline-02 { | ||
| 157 | width: 180px !important; | ||
| 158 | padding: 0 30px; | ||
| 159 | .label { | ||
| 160 | font-size: 20px; | ||
| 161 | } | ||
| 162 | } | ||
| 163 | |||
| 164 | .right { | ||
| 165 | justify-content: flex-end !important; | ||
| 166 | } | ||
| 167 | |||
| 168 | .label { | ||
| 169 | min-width: 128px; | ||
| 170 | font-size: 20px; | ||
| 171 | text-align: left; | ||
| 172 | } | ||
| 173 | .msg { | ||
| 174 | color: #303531; | ||
| 175 | font-size: 24px; | ||
| 176 | text-align: left; | ||
| 177 | } | ||
| 178 | .primay { | ||
| 179 | font-size: 32px !important; | ||
| 180 | font-weight: 600; | ||
| 181 | color: #ff9e30; | ||
| 182 | } | ||
| 183 | } | ||
| 184 | |||
| 185 | .privacy { | ||
| 186 | width: 630px; | ||
| 187 | margin: auto; | ||
| 188 | hr { | ||
| 189 | border-top: 3px dashed #d4d1c5; | ||
| 190 | margin: 60px auto; | ||
| 191 | } | ||
| 192 | } | ||
| 193 | } | ||
| 194 | |||
| 195 | .view-btn-group { | ||
| 196 | display: flex; | ||
| 197 | width: 730px; | ||
| 198 | margin: auto; | ||
| 199 | justify-content: space-between; | ||
| 200 | margin-bottom: 200px; | ||
| 201 | |||
| 202 | .sys-btn-02 { | ||
| 203 | width: 300px; | ||
| 204 | line-height: 90px; | ||
| 205 | } | ||
| 206 | } | ||
| 207 | |||
| 208 | .auto-register-tips { | ||
| 209 | width: 700px; | ||
| 210 | margin: auto; | ||
| 211 | } | ||
| 212 | |||
| 213 | .icon-draw-down { | ||
| 214 | width: 30px; | ||
| 215 | height: 18px; | ||
| 216 | background: url(../../../assets/imgs/draw-down.png) no-repeat; | ||
| 217 | background-size: 100%; | ||
| 218 | } | ||
| 219 | </style> |
src/pages/sign/index.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="home"> | ||
| 3 | <div class="head-leap"></div> | ||
| 4 | |||
| 5 | <ViewModel v-model="formData" v-if="init && !formEdit" v-on:edit="formEdit=true"></ViewModel> | ||
| 6 | <EditModel v-model="formData" v-if="init && formEdit" v-on:submit="initActivity"></EditModel> | ||
| 7 | |||
| 8 | <div class="bottom-line"></div> | ||
| 9 | |||
| 10 | <bottom-tool v-model="activityIndex"></bottom-tool> | ||
| 11 | |||
| 12 | <!-- <van-popup class="messagePopue" v-model="successModelVisiable" :close-on-click-overlay="false"> | ||
| 13 | <div></div> | ||
| 14 | </van-popup>--> | ||
| 15 | </div> | ||
| 16 | </template> | ||
| 17 | |||
| 18 | <script> | ||
| 19 | let urls = { | ||
| 20 | myWork: "/jiajiaCHApi/app/works", | ||
| 21 | area: "https://api.k.wxpai.cn/bizproxy/kdapi/area" | ||
| 22 | }; | ||
| 23 | |||
| 24 | import BottomTool from "@/components/bottom-tools/bottom-tools"; | ||
| 25 | import EditModel from "./components/EditModel"; | ||
| 26 | import ViewModel from "./components/ViewModel"; | ||
| 27 | |||
| 28 | import { httpGet, httpPost } from "@/api/fetch-api"; | ||
| 29 | import AreaList from "@/api/area"; | ||
| 30 | |||
| 31 | import Vue from "vue"; | ||
| 32 | import { Toast } from "vant"; | ||
| 33 | import { Area } from "vant"; | ||
| 34 | import { Popup } from "vant"; | ||
| 35 | import { Swipe, SwipeItem } from "vant"; | ||
| 36 | |||
| 37 | Vue.use(Popup); | ||
| 38 | Vue.use(Area); | ||
| 39 | Vue.use(Toast); | ||
| 40 | Vue.use(Swipe).use(SwipeItem); | ||
| 41 | |||
| 42 | export default { | ||
| 43 | name: "home", | ||
| 44 | data() { | ||
| 45 | return { | ||
| 46 | activityIndex: 2, | ||
| 47 | formEdit: false, | ||
| 48 | init: false, | ||
| 49 | isMy: 1, | ||
| 50 | successModelVisiable: true, | ||
| 51 | formData: { | ||
| 52 | name: "", | ||
| 53 | province: "", | ||
| 54 | provinceCode: "", | ||
| 55 | city: "", | ||
| 56 | cityCode: "", | ||
| 57 | profile: "", | ||
| 58 | slogan: "", | ||
| 59 | parentName: "", | ||
| 60 | parentMobile: "", | ||
| 61 | worksList: [] | ||
| 62 | } | ||
| 63 | }; | ||
| 64 | }, | ||
| 65 | methods: { | ||
| 66 | initActivity() { | ||
| 67 | Toast.loading({ | ||
| 68 | mask: true, | ||
| 69 | message: "加载中..." | ||
| 70 | }); | ||
| 71 | |||
| 72 | httpGet({ url: urls.myWork }).then(res => { | ||
| 73 | this.init = true; | ||
| 74 | Toast.clear(); | ||
| 75 | this.formData = res.data || {}; | ||
| 76 | if (!res.data) { | ||
| 77 | this.formEdit = true; | ||
| 78 | } else { | ||
| 79 | this.formEdit = false; | ||
| 80 | } | ||
| 81 | }); | ||
| 82 | } | ||
| 83 | }, | ||
| 84 | components: { | ||
| 85 | BottomTool, | ||
| 86 | EditModel, | ||
| 87 | ViewModel | ||
| 88 | }, | ||
| 89 | created() { | ||
| 90 | this.initActivity(); | ||
| 91 | } | ||
| 92 | }; | ||
| 93 | </script> | ||
| 94 | |||
| 95 | <style lang="scss" scoped> | ||
| 96 | .home { | ||
| 97 | position: relative; | ||
| 98 | text-align: center; | ||
| 99 | } | ||
| 100 | |||
| 101 | .head-leap { | ||
| 102 | width: 750px; | ||
| 103 | height: 231px; | ||
| 104 | background: url(../../assets/imgs/head-leap.png); | ||
| 105 | background-size: 100%; | ||
| 106 | position: fixed; | ||
| 107 | left: 0; | ||
| 108 | top: 0; | ||
| 109 | z-index: 999; | ||
| 110 | } | ||
| 111 | |||
| 112 | .bottom-line { | ||
| 113 | height: 250px; | ||
| 114 | background-color: transparent; | ||
| 115 | } | ||
| 116 | </style> |
src/pages/welfare/index.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="home"> | ||
| 3 | <div class="header"></div> | ||
| 4 | |||
| 5 | <div class="qy"> | ||
| 6 | <div class="qrcode"> | ||
| 7 | <img src="../../assets/imgs/walfare-qrcode.png" /> | ||
| 8 | </div> | ||
| 9 | </div> | ||
| 10 | <div class="cj"> | ||
| 11 | <div class="sys-btn-02 btn-position" @click="toDraw">马上抽奖</div> | ||
| 12 | </div> | ||
| 13 | |||
| 14 | <div class="remain"></div> | ||
| 15 | <bottom-tool v-model="activityIndex"></bottom-tool> | ||
| 16 | </div> | ||
| 17 | </template> | ||
| 18 | |||
| 19 | <script> | ||
| 20 | import BottomTool from "@/components/bottom-tools/bottom-tools"; | ||
| 21 | |||
| 22 | export default { | ||
| 23 | name: "home", | ||
| 24 | data() { | ||
| 25 | return { | ||
| 26 | activityIndex: 4 | ||
| 27 | }; | ||
| 28 | }, | ||
| 29 | methods: { | ||
| 30 | toDraw() { | ||
| 31 | this.$router.push("/draw"); | ||
| 32 | } | ||
| 33 | }, | ||
| 34 | components: { | ||
| 35 | BottomTool | ||
| 36 | } | ||
| 37 | }; | ||
| 38 | </script> | ||
| 39 | |||
| 40 | <style lang="scss" scoped> | ||
| 41 | .home { | ||
| 42 | position: relative; | ||
| 43 | text-align: center; | ||
| 44 | background: url(../../assets/imgs/welfare-bg.jpg); | ||
| 45 | background-size: 100% auto; | ||
| 46 | } | ||
| 47 | .header { | ||
| 48 | width: 750px; | ||
| 49 | height: 247px; | ||
| 50 | background: url(../../assets/imgs/welfare-top.jpg); | ||
| 51 | background-size: 100%; | ||
| 52 | } | ||
| 53 | |||
| 54 | .qy { | ||
| 55 | width: 708px; | ||
| 56 | height: 1136px; | ||
| 57 | background: url(../../assets/imgs/welfare-qy.png); | ||
| 58 | background-size: 100%; | ||
| 59 | margin: auto; | ||
| 60 | margin-top: -100px; | ||
| 61 | position: relative; | ||
| 62 | |||
| 63 | .qrcode { | ||
| 64 | position: absolute; | ||
| 65 | width: 171px; | ||
| 66 | height: 171px; | ||
| 67 | left: 270px; | ||
| 68 | bottom: 140px; | ||
| 69 | img { | ||
| 70 | width: 100%; | ||
| 71 | } | ||
| 72 | } | ||
| 73 | } | ||
| 74 | |||
| 75 | .cj { | ||
| 76 | width: 718px; | ||
| 77 | height: 968px; | ||
| 78 | background: url(../../assets/imgs/welfare-cj.png); | ||
| 79 | background-size: 100%; | ||
| 80 | margin: auto; | ||
| 81 | margin-top: 50px; | ||
| 82 | position: relative; | ||
| 83 | } | ||
| 84 | |||
| 85 | .btn-position { | ||
| 86 | position: absolute; | ||
| 87 | bottom: 80px; | ||
| 88 | left: 188px; | ||
| 89 | } | ||
| 90 | |||
| 91 | .remain { | ||
| 92 | height: 150px; | ||
| 93 | } | ||
| 94 | </style> |
| ... | @@ -5,29 +5,53 @@ import Home from './pages/Home.vue' | ... | @@ -5,29 +5,53 @@ import Home from './pages/Home.vue' |
| 5 | Vue.use(Router) | 5 | Vue.use(Router) |
| 6 | 6 | ||
| 7 | const routes = [{ | 7 | const routes = [{ |
| 8 | path: '/', | 8 | path: '/', |
| 9 | name: 'home', | 9 | name: 'home', |
| 10 | component: Home, | 10 | component: Home, |
| 11 | meta: { | 11 | meta: { |
| 12 | title: '首页' | 12 | title: '加载中...' |
| 13 | } | ||
| 14 | }, | ||
| 15 | { | ||
| 16 | path: '/demo', | ||
| 17 | name: 'demo', | ||
| 18 | component: () => import('./pages/demo/index.vue'), | ||
| 19 | meta: { | ||
| 20 | title: '模板' | ||
| 21 | } | ||
| 22 | }, | ||
| 23 | { | ||
| 24 | path: '/about', | ||
| 25 | name: 'about', | ||
| 26 | component: () => import('./pages/About.vue'), | ||
| 27 | meta: { | ||
| 28 | title: '关于' | ||
| 29 | } | ||
| 30 | } | 13 | } |
| 14 | }, | ||
| 15 | { | ||
| 16 | path: '/index', | ||
| 17 | name: 'index', | ||
| 18 | component: () => import('./pages/index/index.vue'), | ||
| 19 | meta: { | ||
| 20 | title: '大赛介绍' | ||
| 21 | } | ||
| 22 | }, | ||
| 23 | { | ||
| 24 | path: '/sign', | ||
| 25 | name: 'sign', | ||
| 26 | component: () => import('./pages/sign/index.vue'), | ||
| 27 | meta: { | ||
| 28 | title: '我要报名' | ||
| 29 | } | ||
| 30 | }, | ||
| 31 | { | ||
| 32 | path: '/list', | ||
| 33 | name: 'list', | ||
| 34 | component: () => import('./pages/list/index.vue'), | ||
| 35 | meta: { | ||
| 36 | title: '人气评选' | ||
| 37 | } | ||
| 38 | }, | ||
| 39 | { | ||
| 40 | path: '/welfare', | ||
| 41 | name: 'welfare', | ||
| 42 | component: () => import('./pages/welfare/index.vue'), | ||
| 43 | meta: { | ||
| 44 | title: '更多福利' | ||
| 45 | } | ||
| 46 | }, | ||
| 47 | { | ||
| 48 | path: '/draw', | ||
| 49 | name: 'draw', | ||
| 50 | component: () => import('./pages/draw/index.vue'), | ||
| 51 | meta: { | ||
| 52 | title: '幸运抽奖' | ||
| 53 | } | ||
| 54 | } | ||
| 31 | ] | 55 | ] |
| 32 | 56 | ||
| 33 | // add route path | 57 | // add route path | ... | ... |
| ... | @@ -38,7 +38,7 @@ module.exports = { | ... | @@ -38,7 +38,7 @@ module.exports = { |
| 38 | 38 | ||
| 39 | // 它支持webPack-dev-server的所有选项 | 39 | // 它支持webPack-dev-server的所有选项 |
| 40 | devServer: { | 40 | devServer: { |
| 41 | host: "localhost", | 41 | host: "192.168.0.101", |
| 42 | port: 9001, // 端口号 | 42 | port: 9001, // 端口号 |
| 43 | https: false, // https:{type:Boolean} | 43 | https: false, // https:{type:Boolean} |
| 44 | open: true, //配置自动启动浏览器 | 44 | open: true, //配置自动启动浏览器 | ... | ... |
-
Please register or sign in to post a comment