周立森 5 년 전
부모
커밋
2e692b17bc
73개의 변경된 파일25554개의 추가작업 그리고 643개의 파일을 삭제
  1. BIN
      foyo.zip
  2. 356
    31
      package-lock.json
  3. 5
    0
      package.json
  4. 33
    0
      public/iconfont.css
  5. 5
    0
      public/index.html
  6. 618
    0
      public/swiper/dist/css/swiper.css
  7. 12
    0
      public/swiper/dist/css/swiper.min.css
  8. 7151
    0
      public/swiper/dist/js/swiper.esm.bundle.js
  9. 7133
    0
      public/swiper/dist/js/swiper.esm.js
  10. 8124
    0
      public/swiper/dist/js/swiper.js
  11. 13
    0
      public/swiper/dist/js/swiper.min.js
  12. 1
    0
      public/swiper/dist/js/swiper.min.js.map
  13. 2
    0
      public/until/jquery-1.8.3.min.js
  14. 185
    44
      src/App.vue
  15. BIN
      src/assets/1.jpg
  16. BIN
      src/assets/image/about/FOYO.jpg
  17. BIN
      src/assets/image/about/FOYO形象图.jpg
  18. 0
    0
      src/assets/image/about/aboutbanner.jpg
  19. BIN
      src/assets/image/case/case1.jpg
  20. BIN
      src/assets/image/case/case2.jpg
  21. BIN
      src/assets/image/case/case3.jpg
  22. BIN
      src/assets/image/case/case4.jpg
  23. BIN
      src/assets/image/case/case5.jpg
  24. BIN
      src/assets/image/case/case6.jpg
  25. BIN
      src/assets/image/case/case7.jpg
  26. BIN
      src/assets/image/case/case8.jpg
  27. BIN
      src/assets/image/case/logo.png
  28. BIN
      src/assets/image/case/首屏banner.jpg
  29. BIN
      src/assets/image/case2/客户logo.jpg
  30. BIN
      src/assets/image/case2/微信icon.png
  31. BIN
      src/assets/image/case2/微博icon.png
  32. BIN
      src/assets/image/case2/赞.png
  33. BIN
      src/assets/image/case2/赞触发.png
  34. BIN
      src/assets/image/case2/首屏banner.jpg
  35. 0
    0
      src/assets/image/contact/QQ.jpg
  36. 0
    0
      src/assets/image/contact/contactbanner.png
  37. BIN
      src/assets/image/contact/photo.jpg
  38. 0
    0
      src/assets/image/contact/weixin.jpg
  39. BIN
      src/assets/image/home/logo.png
  40. BIN
      src/assets/image/mobile/侧菜单logo.png
  41. BIN
      src/assets/image/mobile/分割线.png
  42. BIN
      src/assets/image/mobile/热线.jpg
  43. BIN
      src/assets/image/mobile/菜单按钮_click.png
  44. BIN
      src/assets/image/mobile/菜单按钮_normal.png
  45. BIN
      src/assets/image/mobile/顶栏logo.png
  46. 0
    0
      src/assets/image/联系我们.jpg
  47. 0
    0
      src/assets/image/联系我们触发.jpg
  48. BIN
      src/assets/image/联系我们触发.png
  49. 0
    0
      src/assets/image/返回顶层.jpg
  50. 0
    0
      src/assets/image/返回顶层触发.jpg
  51. BIN
      src/assets/logo.png
  52. BIN
      src/assets/logo1.png
  53. BIN
      src/assets/qq.png
  54. 159
    0
      src/components/Business.vue
  55. 137
    0
      src/components/ClickContact.vue
  56. 0
    34
      src/components/HelloWorld.vue
  57. 94
    0
      src/components/Wheelplanting.vue
  58. 106
    0
      src/components/mobnav.vue
  59. 45
    0
      src/config/api.js
  60. 8
    0
      src/main.js
  61. 33
    1
      src/router.js
  62. 0
    6
      src/utils/comptype.js
  63. 0
    6
      src/utils/httpcode.js
  64. 0
    61
      src/utils/request.js
  65. 0
    17
      src/utils/uploadImage.js
  66. 196
    138
      src/views/About.vue
  67. 211
    49
      src/views/Case.vue
  68. 122
    35
      src/views/Contact.vue
  69. 141
    0
      src/views/Details.vue
  70. 161
    39
      src/views/Dynamic.vue
  71. 484
    180
      src/views/Home.vue
  72. 3
    2
      utils/request.js
  73. 16
    0
      vue.config.js

BIN
foyo.zip 파일 보기


+ 356
- 31
package-lock.json 파일 보기

@@ -930,6 +930,11 @@
930 930
       "integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=",
931 931
       "dev": true
932 932
     },
933
+    "@sindresorhus/is": {
934
+      "version": "0.7.0",
935
+      "resolved": "https://registry.npm.taobao.org/@sindresorhus/is/download/@sindresorhus/is-0.7.0.tgz",
936
+      "integrity": "sha1-mgb08TfuhNffBGDB/bETX/psUP0="
937
+    },
933 938
     "@soda/friendly-errors-webpack-plugin": {
934 939
       "version": "1.7.1",
935 940
       "resolved": "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.7.1.tgz",
@@ -2348,6 +2353,13 @@
2348 2353
       "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
2349 2354
       "dev": true
2350 2355
     },
2356
+    "asap": {
2357
+      "version": "2.0.6",
2358
+      "resolved": "http://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz",
2359
+      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
2360
+      "dev": true,
2361
+      "optional": true
2362
+    },
2351 2363
     "asn1": {
2352 2364
       "version": "0.2.4",
2353 2365
       "resolved": "http://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz",
@@ -2486,6 +2498,43 @@
2486 2498
       "integrity": "sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8=",
2487 2499
       "dev": true
2488 2500
     },
2501
+    "axios": {
2502
+      "version": "0.19.0",
2503
+      "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.19.0.tgz",
2504
+      "integrity": "sha1-jgm/89kSLhM/e4EByPvdAO09Krg=",
2505
+      "requires": {
2506
+        "follow-redirects": "1.5.10",
2507
+        "is-buffer": "^2.0.2"
2508
+      },
2509
+      "dependencies": {
2510
+        "debug": {
2511
+          "version": "3.1.0",
2512
+          "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz?cache=0&other_urls=http%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.1.0.tgz",
2513
+          "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
2514
+          "requires": {
2515
+            "ms": "2.0.0"
2516
+          }
2517
+        },
2518
+        "follow-redirects": {
2519
+          "version": "1.5.10",
2520
+          "resolved": "http://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.5.10.tgz",
2521
+          "integrity": "sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio=",
2522
+          "requires": {
2523
+            "debug": "=3.1.0"
2524
+          }
2525
+        },
2526
+        "is-buffer": {
2527
+          "version": "2.0.3",
2528
+          "resolved": "http://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.3.tgz",
2529
+          "integrity": "sha1-Ts8/z3ScvR5HJonhCaxmJhol5yU="
2530
+        },
2531
+        "ms": {
2532
+          "version": "2.0.0",
2533
+          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
2534
+          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
2535
+        }
2536
+      }
2537
+    },
2489 2538
     "babel-code-frame": {
2490 2539
       "version": "6.26.0",
2491 2540
       "resolved": "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz",
@@ -3019,6 +3068,42 @@
3019 3068
         "schema-utils": "^1.0.0"
3020 3069
       }
3021 3070
     },
3071
+    "cacheable-request": {
3072
+      "version": "2.1.4",
3073
+      "resolved": "https://registry.npm.taobao.org/cacheable-request/download/cacheable-request-2.1.4.tgz",
3074
+      "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=",
3075
+      "requires": {
3076
+        "clone-response": "1.0.2",
3077
+        "get-stream": "3.0.0",
3078
+        "http-cache-semantics": "3.8.1",
3079
+        "keyv": "3.0.0",
3080
+        "lowercase-keys": "1.0.0",
3081
+        "normalize-url": "2.0.1",
3082
+        "responselike": "1.0.2"
3083
+      },
3084
+      "dependencies": {
3085
+        "get-stream": {
3086
+          "version": "3.0.0",
3087
+          "resolved": "http://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz",
3088
+          "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
3089
+        },
3090
+        "lowercase-keys": {
3091
+          "version": "1.0.0",
3092
+          "resolved": "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.0.tgz",
3093
+          "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY="
3094
+        },
3095
+        "normalize-url": {
3096
+          "version": "2.0.1",
3097
+          "resolved": "http://registry.npm.taobao.org/normalize-url/download/normalize-url-2.0.1.tgz",
3098
+          "integrity": "sha1-g1qdoVUfom9w6SMpBpojqmV01+Y=",
3099
+          "requires": {
3100
+            "prepend-http": "^2.0.0",
3101
+            "query-string": "^5.0.1",
3102
+            "sort-keys": "^2.0.0"
3103
+          }
3104
+        }
3105
+      }
3106
+    },
3022 3107
     "call-me-maybe": {
3023 3108
       "version": "1.0.1",
3024 3109
       "resolved": "http://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz",
@@ -3308,6 +3393,14 @@
3308 3393
       "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
3309 3394
       "dev": true
3310 3395
     },
3396
+    "clone-response": {
3397
+      "version": "1.0.2",
3398
+      "resolved": "https://registry.npm.taobao.org/clone-response/download/clone-response-1.0.2.tgz",
3399
+      "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
3400
+      "requires": {
3401
+        "mimic-response": "^1.0.0"
3402
+      }
3403
+    },
3311 3404
     "coa": {
3312 3405
       "version": "2.0.2",
3313 3406
       "resolved": "http://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz",
@@ -3662,11 +3755,15 @@
3662 3755
         }
3663 3756
       }
3664 3757
     },
3758
+    "core-js": {
3759
+      "version": "2.6.9",
3760
+      "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.9.tgz",
3761
+      "integrity": "sha1-a0shRiDINBUuF5Mjcn/Bl0GwhPI="
3762
+    },
3665 3763
     "core-util-is": {
3666 3764
       "version": "1.0.2",
3667 3765
       "resolved": "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
3668
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
3669
-      "dev": true
3766
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
3670 3767
     },
3671 3768
     "cosmiconfig": {
3672 3769
       "version": "5.2.1",
@@ -4093,8 +4190,15 @@
4093 4190
     "decode-uri-component": {
4094 4191
       "version": "0.2.0",
4095 4192
       "resolved": "http://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz",
4096
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
4097
-      "dev": true
4193
+      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
4194
+    },
4195
+    "decompress-response": {
4196
+      "version": "3.3.0",
4197
+      "resolved": "https://registry.npm.taobao.org/decompress-response/download/decompress-response-3.3.0.tgz",
4198
+      "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
4199
+      "requires": {
4200
+        "mimic-response": "^1.0.0"
4201
+      }
4098 4202
     },
4099 4203
     "deep-equal": {
4100 4204
       "version": "1.0.1",
@@ -4455,6 +4559,11 @@
4455 4559
       "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
4456 4560
       "dev": true
4457 4561
     },
4562
+    "duplexer3": {
4563
+      "version": "0.1.4",
4564
+      "resolved": "https://registry.npm.taobao.org/duplexer3/download/duplexer3-0.1.4.tgz",
4565
+      "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
4566
+    },
4458 4567
     "duplexify": {
4459 4568
       "version": "3.7.1",
4460 4569
       "resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz",
@@ -5324,7 +5433,6 @@
5324 5433
       "version": "2.3.0",
5325 5434
       "resolved": "http://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz",
5326 5435
       "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
5327
-      "dev": true,
5328 5436
       "requires": {
5329 5437
         "inherits": "^2.0.1",
5330 5438
         "readable-stream": "^2.0.0"
@@ -6012,6 +6120,42 @@
6012 6120
         "slash": "^2.0.0"
6013 6121
       }
6014 6122
     },
6123
+    "got": {
6124
+      "version": "8.3.2",
6125
+      "resolved": "https://registry.npm.taobao.org/got/download/got-8.3.2.tgz",
6126
+      "integrity": "sha1-HSP2Q5Dpf3dsrFLluTbl9RTS6Tc=",
6127
+      "requires": {
6128
+        "@sindresorhus/is": "^0.7.0",
6129
+        "cacheable-request": "^2.1.1",
6130
+        "decompress-response": "^3.3.0",
6131
+        "duplexer3": "^0.1.4",
6132
+        "get-stream": "^3.0.0",
6133
+        "into-stream": "^3.1.0",
6134
+        "is-retry-allowed": "^1.1.0",
6135
+        "isurl": "^1.0.0-alpha5",
6136
+        "lowercase-keys": "^1.0.0",
6137
+        "mimic-response": "^1.0.0",
6138
+        "p-cancelable": "^0.4.0",
6139
+        "p-timeout": "^2.0.1",
6140
+        "pify": "^3.0.0",
6141
+        "safe-buffer": "^5.1.1",
6142
+        "timed-out": "^4.0.1",
6143
+        "url-parse-lax": "^3.0.0",
6144
+        "url-to-options": "^1.0.1"
6145
+      },
6146
+      "dependencies": {
6147
+        "get-stream": {
6148
+          "version": "3.0.0",
6149
+          "resolved": "http://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz",
6150
+          "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
6151
+        },
6152
+        "pify": {
6153
+          "version": "3.0.0",
6154
+          "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz",
6155
+          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
6156
+        }
6157
+      }
6158
+    },
6015 6159
     "graceful-fs": {
6016 6160
       "version": "4.2.2",
6017 6161
       "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.2.tgz",
@@ -6074,12 +6218,25 @@
6074 6218
       "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
6075 6219
       "dev": true
6076 6220
     },
6221
+    "has-symbol-support-x": {
6222
+      "version": "1.4.2",
6223
+      "resolved": "https://registry.npm.taobao.org/has-symbol-support-x/download/has-symbol-support-x-1.4.2.tgz",
6224
+      "integrity": "sha1-FAn5i8ACR9pF2mfO4KNvKC/yZFU="
6225
+    },
6077 6226
     "has-symbols": {
6078 6227
       "version": "1.0.0",
6079 6228
       "resolved": "http://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.0.tgz",
6080 6229
       "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
6081 6230
       "dev": true
6082 6231
     },
6232
+    "has-to-string-tag-x": {
6233
+      "version": "1.4.1",
6234
+      "resolved": "https://registry.npm.taobao.org/has-to-string-tag-x/download/has-to-string-tag-x-1.4.1.tgz",
6235
+      "integrity": "sha1-oEWrOD17SyASoAFIqwql8pAETU0=",
6236
+      "requires": {
6237
+        "has-symbol-support-x": "^1.4.1"
6238
+      }
6239
+    },
6083 6240
     "has-value": {
6084 6241
       "version": "1.0.0",
6085 6242
       "resolved": "http://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz",
@@ -6318,6 +6475,11 @@
6318 6475
         }
6319 6476
       }
6320 6477
     },
6478
+    "http-cache-semantics": {
6479
+      "version": "3.8.1",
6480
+      "resolved": "https://registry.npm.taobao.org/http-cache-semantics/download/http-cache-semantics-3.8.1.tgz",
6481
+      "integrity": "sha1-ObDhat2bYFvwqe89nar0hDtMrNI="
6482
+    },
6321 6483
     "http-deceiver": {
6322 6484
       "version": "1.2.7",
6323 6485
       "resolved": "http://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz",
@@ -6446,6 +6608,13 @@
6446 6608
       "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=",
6447 6609
       "dev": true
6448 6610
     },
6611
+    "image-size": {
6612
+      "version": "0.5.5",
6613
+      "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz",
6614
+      "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
6615
+      "dev": true,
6616
+      "optional": true
6617
+    },
6449 6618
     "import-cwd": {
6450 6619
       "version": "2.1.0",
6451 6620
       "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz",
@@ -6523,8 +6692,7 @@
6523 6692
     "inherits": {
6524 6693
       "version": "2.0.4",
6525 6694
       "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz?cache=0&sync_timestamp=1560975547815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.4.tgz",
6526
-      "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=",
6527
-      "dev": true
6695
+      "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w="
6528 6696
     },
6529 6697
     "inquirer": {
6530 6698
       "version": "6.5.1",
@@ -6628,6 +6796,22 @@
6628 6796
         }
6629 6797
       }
6630 6798
     },
6799
+    "into-stream": {
6800
+      "version": "3.1.0",
6801
+      "resolved": "https://registry.npm.taobao.org/into-stream/download/into-stream-3.1.0.tgz",
6802
+      "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=",
6803
+      "requires": {
6804
+        "from2": "^2.1.1",
6805
+        "p-is-promise": "^1.1.0"
6806
+      },
6807
+      "dependencies": {
6808
+        "p-is-promise": {
6809
+          "version": "1.1.0",
6810
+          "resolved": "https://registry.npm.taobao.org/p-is-promise/download/p-is-promise-1.1.0.tgz",
6811
+          "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4="
6812
+        }
6813
+      }
6814
+    },
6631 6815
     "invariant": {
6632 6816
       "version": "2.2.4",
6633 6817
       "resolved": "http://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz",
@@ -6841,6 +7025,11 @@
6841 7025
       "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
6842 7026
       "dev": true
6843 7027
     },
7028
+    "is-object": {
7029
+      "version": "1.0.1",
7030
+      "resolved": "https://registry.npm.taobao.org/is-object/download/is-object-1.0.1.tgz",
7031
+      "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA="
7032
+    },
6844 7033
     "is-path-cwd": {
6845 7034
       "version": "2.2.0",
6846 7035
       "resolved": "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-2.2.0.tgz?cache=0&sync_timestamp=1562347283002&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-2.2.0.tgz",
@@ -6868,8 +7057,7 @@
6868 7057
     "is-plain-obj": {
6869 7058
       "version": "1.1.0",
6870 7059
       "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz",
6871
-      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
6872
-      "dev": true
7060
+      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
6873 7061
     },
6874 7062
     "is-plain-object": {
6875 7063
       "version": "2.0.4",
@@ -6901,6 +7089,11 @@
6901 7089
       "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=",
6902 7090
       "dev": true
6903 7091
     },
7092
+    "is-retry-allowed": {
7093
+      "version": "1.1.0",
7094
+      "resolved": "https://registry.npm.taobao.org/is-retry-allowed/download/is-retry-allowed-1.1.0.tgz",
7095
+      "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ="
7096
+    },
6904 7097
     "is-stream": {
6905 7098
       "version": "1.1.0",
6906 7099
       "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz",
@@ -6946,8 +7139,7 @@
6946 7139
     "isarray": {
6947 7140
       "version": "1.0.0",
6948 7141
       "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-1.0.0.tgz",
6949
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
6950
-      "dev": true
7142
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
6951 7143
     },
6952 7144
     "isexe": {
6953 7145
       "version": "2.0.0",
@@ -6967,6 +7159,15 @@
6967 7159
       "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
6968 7160
       "dev": true
6969 7161
     },
7162
+    "isurl": {
7163
+      "version": "1.0.0",
7164
+      "resolved": "https://registry.npm.taobao.org/isurl/download/isurl-1.0.0.tgz",
7165
+      "integrity": "sha1-sn9PSfPNqj6kSgpbfzRi5u3DnWc=",
7166
+      "requires": {
7167
+        "has-to-string-tag-x": "^1.2.0",
7168
+        "is-object": "^1.0.1"
7169
+      }
7170
+    },
6970 7171
     "javascript-stringify": {
6971 7172
       "version": "1.6.0",
6972 7173
       "resolved": "https://registry.npm.taobao.org/javascript-stringify/download/javascript-stringify-1.6.0.tgz",
@@ -7022,6 +7223,11 @@
7022 7223
       "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=",
7023 7224
       "dev": true
7024 7225
     },
7226
+    "json-buffer": {
7227
+      "version": "3.0.0",
7228
+      "resolved": "https://registry.npm.taobao.org/json-buffer/download/json-buffer-3.0.0.tgz",
7229
+      "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg="
7230
+    },
7025 7231
     "json-parse-better-errors": {
7026 7232
       "version": "1.0.2",
7027 7233
       "resolved": "http://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz",
@@ -7096,6 +7302,14 @@
7096 7302
         "verror": "1.10.0"
7097 7303
       }
7098 7304
     },
7305
+    "keyv": {
7306
+      "version": "3.0.0",
7307
+      "resolved": "https://registry.npm.taobao.org/keyv/download/keyv-3.0.0.tgz",
7308
+      "integrity": "sha1-RJI7o55osSp87H32wyaMAx8u83M=",
7309
+      "requires": {
7310
+        "json-buffer": "3.0.0"
7311
+      }
7312
+    },
7099 7313
     "killable": {
7100 7314
       "version": "1.0.1",
7101 7315
       "resolved": "http://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz",
@@ -7136,6 +7350,57 @@
7136 7350
         "invert-kv": "^2.0.0"
7137 7351
       }
7138 7352
     },
7353
+    "less": {
7354
+      "version": "3.10.3",
7355
+      "resolved": "https://registry.npm.taobao.org/less/download/less-3.10.3.tgz",
7356
+      "integrity": "sha1-QXoJddXu7MUs/0vPo8CdNXgeZ5I=",
7357
+      "dev": true,
7358
+      "requires": {
7359
+        "clone": "^2.1.2",
7360
+        "errno": "^0.1.1",
7361
+        "graceful-fs": "^4.1.2",
7362
+        "image-size": "~0.5.0",
7363
+        "mime": "^1.4.1",
7364
+        "mkdirp": "^0.5.0",
7365
+        "promise": "^7.1.1",
7366
+        "request": "^2.83.0",
7367
+        "source-map": "~0.6.0"
7368
+      },
7369
+      "dependencies": {
7370
+        "clone": {
7371
+          "version": "2.1.2",
7372
+          "resolved": "http://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz",
7373
+          "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
7374
+          "dev": true
7375
+        },
7376
+        "mime": {
7377
+          "version": "1.6.0",
7378
+          "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",
7379
+          "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=",
7380
+          "dev": true,
7381
+          "optional": true
7382
+        }
7383
+      }
7384
+    },
7385
+    "less-loader": {
7386
+      "version": "5.0.0",
7387
+      "resolved": "https://registry.npm.taobao.org/less-loader/download/less-loader-5.0.0.tgz",
7388
+      "integrity": "sha1-SY3eOmxsT4h0WO6e0/CGoSrRtGY=",
7389
+      "dev": true,
7390
+      "requires": {
7391
+        "clone": "^2.1.1",
7392
+        "loader-utils": "^1.1.0",
7393
+        "pify": "^4.0.1"
7394
+      },
7395
+      "dependencies": {
7396
+        "clone": {
7397
+          "version": "2.1.2",
7398
+          "resolved": "http://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz",
7399
+          "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
7400
+          "dev": true
7401
+        }
7402
+      }
7403
+    },
7139 7404
     "levn": {
7140 7405
       "version": "0.3.0",
7141 7406
       "resolved": "http://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz",
@@ -7319,6 +7584,11 @@
7319 7584
       "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
7320 7585
       "dev": true
7321 7586
     },
7587
+    "lowercase-keys": {
7588
+      "version": "1.0.1",
7589
+      "resolved": "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.1.tgz",
7590
+      "integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8="
7591
+    },
7322 7592
     "lru-cache": {
7323 7593
       "version": "4.1.5",
7324 7594
       "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz",
@@ -7506,6 +7776,11 @@
7506 7776
       "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=",
7507 7777
       "dev": true
7508 7778
     },
7779
+    "mimic-response": {
7780
+      "version": "1.0.1",
7781
+      "resolved": "https://registry.npm.taobao.org/mimic-response/download/mimic-response-1.0.1.tgz",
7782
+      "integrity": "sha1-SSNTiHju9CBjy4o+OweYeBSHqxs="
7783
+    },
7509 7784
     "mini-css-extract-plugin": {
7510 7785
       "version": "0.6.0",
7511 7786
       "resolved": "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.6.0.tgz?cache=0&sync_timestamp=1563310319732&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.6.0.tgz",
@@ -7869,8 +8144,7 @@
7869 8144
     "object-assign": {
7870 8145
       "version": "4.1.1",
7871 8146
       "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz",
7872
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
7873
-      "dev": true
8147
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
7874 8148
     },
7875 8149
     "object-copy": {
7876 8150
       "version": "0.1.0",
@@ -8107,6 +8381,11 @@
8107 8381
       "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
8108 8382
       "dev": true
8109 8383
     },
8384
+    "p-cancelable": {
8385
+      "version": "0.4.1",
8386
+      "resolved": "https://registry.npm.taobao.org/p-cancelable/download/p-cancelable-0.4.1.tgz",
8387
+      "integrity": "sha1-NfNj1n1SCByNlYXje8zrfgu8sqA="
8388
+    },
8110 8389
     "p-defer": {
8111 8390
       "version": "1.0.0",
8112 8391
       "resolved": "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz?cache=0&sync_timestamp=1559922734651&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-defer%2Fdownload%2Fp-defer-1.0.0.tgz",
@@ -8116,8 +8395,7 @@
8116 8395
     "p-finally": {
8117 8396
       "version": "1.0.0",
8118 8397
       "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz",
8119
-      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
8120
-      "dev": true
8398
+      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
8121 8399
     },
8122 8400
     "p-is-promise": {
8123 8401
       "version": "2.1.0",
@@ -8175,6 +8453,14 @@
8175 8453
         "retry": "^0.12.0"
8176 8454
       }
8177 8455
     },
8456
+    "p-timeout": {
8457
+      "version": "2.0.1",
8458
+      "resolved": "https://registry.npm.taobao.org/p-timeout/download/p-timeout-2.0.1.tgz",
8459
+      "integrity": "sha1-2N0ZeVldLcATnh/ka4tkbLPN8Dg=",
8460
+      "requires": {
8461
+        "p-finally": "^1.0.0"
8462
+      }
8463
+    },
8178 8464
     "p-try": {
8179 8465
       "version": "1.0.0",
8180 8466
       "resolved": "http://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz",
@@ -8917,8 +9203,7 @@
8917 9203
     "prepend-http": {
8918 9204
       "version": "2.0.0",
8919 9205
       "resolved": "https://registry.npm.taobao.org/prepend-http/download/prepend-http-2.0.0.tgz",
8920
-      "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
8921
-      "dev": true
9206
+      "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc="
8922 9207
     },
8923 9208
     "prettier": {
8924 9209
       "version": "1.16.3",
@@ -8951,8 +9236,7 @@
8951 9236
     "process-nextick-args": {
8952 9237
       "version": "2.0.1",
8953 9238
       "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz",
8954
-      "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=",
8955
-      "dev": true
9239
+      "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I="
8956 9240
     },
8957 9241
     "progress": {
8958 9242
       "version": "2.0.3",
@@ -8960,6 +9244,16 @@
8960 9244
       "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=",
8961 9245
       "dev": true
8962 9246
     },
9247
+    "promise": {
9248
+      "version": "7.3.1",
9249
+      "resolved": "http://registry.npm.taobao.org/promise/download/promise-7.3.1.tgz",
9250
+      "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=",
9251
+      "dev": true,
9252
+      "optional": true,
9253
+      "requires": {
9254
+        "asap": "~2.0.3"
9255
+      }
9256
+    },
8963 9257
     "promise-inflight": {
8964 9258
       "version": "1.0.1",
8965 9259
       "resolved": "http://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz",
@@ -9063,7 +9357,6 @@
9063 9357
       "version": "5.1.1",
9064 9358
       "resolved": "https://registry.npm.taobao.org/query-string/download/query-string-5.1.1.tgz?cache=0&sync_timestamp=1564173124567&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquery-string%2Fdownload%2Fquery-string-5.1.1.tgz",
9065 9359
       "integrity": "sha1-p4wBK3HBfgXy4/ojGd0zBoLvs8s=",
9066
-      "dev": true,
9067 9360
       "requires": {
9068 9361
         "decode-uri-component": "^0.2.0",
9069 9362
         "object-assign": "^4.1.0",
@@ -9155,7 +9448,6 @@
9155 9448
       "version": "2.3.6",
9156 9449
       "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.6.tgz",
9157 9450
       "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=",
9158
-      "dev": true,
9159 9451
       "requires": {
9160 9452
         "core-util-is": "~1.0.0",
9161 9453
         "inherits": "~2.0.3",
@@ -9169,14 +9461,12 @@
9169 9461
         "safe-buffer": {
9170 9462
           "version": "5.1.2",
9171 9463
           "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
9172
-          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=",
9173
-          "dev": true
9464
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
9174 9465
         },
9175 9466
         "string_decoder": {
9176 9467
           "version": "1.1.1",
9177 9468
           "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
9178 9469
           "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
9179
-          "dev": true,
9180 9470
           "requires": {
9181 9471
             "safe-buffer": "~5.1.0"
9182 9472
           }
@@ -9468,6 +9758,14 @@
9468 9758
       "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
9469 9759
       "dev": true
9470 9760
     },
9761
+    "responselike": {
9762
+      "version": "1.0.2",
9763
+      "resolved": "https://registry.npm.taobao.org/responselike/download/responselike-1.0.2.tgz",
9764
+      "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
9765
+      "requires": {
9766
+        "lowercase-keys": "^1.0.0"
9767
+      }
9768
+    },
9471 9769
     "restore-cursor": {
9472 9770
       "version": "2.0.0",
9473 9771
       "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz",
@@ -9568,8 +9866,7 @@
9568 9866
     "safe-buffer": {
9569 9867
       "version": "5.2.0",
9570 9868
       "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.0.tgz",
9571
-      "integrity": "sha1-t02uxJsRSPiMZLaNSbHoFcHy9Rk=",
9572
-      "dev": true
9869
+      "integrity": "sha1-t02uxJsRSPiMZLaNSbHoFcHy9Rk="
9573 9870
     },
9574 9871
     "safe-regex": {
9575 9872
       "version": "1.1.0",
@@ -9991,7 +10288,6 @@
9991 10288
       "version": "2.0.0",
9992 10289
       "resolved": "https://registry.npm.taobao.org/sort-keys/download/sort-keys-2.0.0.tgz?cache=0&sync_timestamp=1565864727994&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsort-keys%2Fdownload%2Fsort-keys-2.0.0.tgz",
9993 10290
       "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
9994
-      "dev": true,
9995 10291
       "requires": {
9996 10292
         "is-plain-obj": "^1.0.0"
9997 10293
       }
@@ -10262,8 +10558,7 @@
10262 10558
     "strict-uri-encode": {
10263 10559
       "version": "1.1.0",
10264 10560
       "resolved": "http://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz",
10265
-      "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
10266
-      "dev": true
10561
+      "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
10267 10562
     },
10268 10563
     "string-width": {
10269 10564
       "version": "2.1.1",
@@ -10604,6 +10899,11 @@
10604 10899
       "integrity": "sha1-9d9zJFNAewkZHa5z4qjMc/OBqCY=",
10605 10900
       "dev": true
10606 10901
     },
10902
+    "timed-out": {
10903
+      "version": "4.0.1",
10904
+      "resolved": "https://registry.npm.taobao.org/timed-out/download/timed-out-4.0.1.tgz",
10905
+      "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8="
10906
+    },
10607 10907
     "timers-browserify": {
10608 10908
       "version": "2.0.11",
10609 10909
       "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftimers-browserify%2Fdownload%2Ftimers-browserify-2.0.11.tgz",
@@ -10994,6 +11294,19 @@
10994 11294
         "requires-port": "^1.0.0"
10995 11295
       }
10996 11296
     },
11297
+    "url-parse-lax": {
11298
+      "version": "3.0.0",
11299
+      "resolved": "https://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-3.0.0.tgz",
11300
+      "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
11301
+      "requires": {
11302
+        "prepend-http": "^2.0.0"
11303
+      }
11304
+    },
11305
+    "url-to-options": {
11306
+      "version": "1.0.1",
11307
+      "resolved": "https://registry.npm.taobao.org/url-to-options/download/url-to-options-1.0.1.tgz",
11308
+      "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k="
11309
+    },
10997 11310
     "use": {
10998 11311
       "version": "3.1.1",
10999 11312
       "resolved": "http://registry.npm.taobao.org/use/download/use-3.1.1.tgz",
@@ -11020,8 +11333,7 @@
11020 11333
     "util-deprecate": {
11021 11334
       "version": "1.0.2",
11022 11335
       "resolved": "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
11023
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
11024
-      "dev": true
11336
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
11025 11337
     },
11026 11338
     "util.promisify": {
11027 11339
       "version": "1.0.0",
@@ -11095,6 +11407,11 @@
11095 11407
       "resolved": "https://registry.npm.taobao.org/vue/download/vue-2.6.10.tgz",
11096 11408
       "integrity": "sha1-pysaQqTYKnIepDjRtr9V5mGVxjc="
11097 11409
     },
11410
+    "vue-axios": {
11411
+      "version": "2.1.4",
11412
+      "resolved": "https://registry.npm.taobao.org/vue-axios/download/vue-axios-2.1.4.tgz",
11413
+      "integrity": "sha1-qdKY9+h2+ah/6zNrN63LzjT/n58="
11414
+    },
11098 11415
     "vue-eslint-parser": {
11099 11416
       "version": "5.0.0",
11100 11417
       "resolved": "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-5.0.0.tgz",
@@ -11169,6 +11486,14 @@
11169 11486
         }
11170 11487
       }
11171 11488
     },
11489
+    "vue-resource": {
11490
+      "version": "1.5.1",
11491
+      "resolved": "https://registry.npm.taobao.org/vue-resource/download/vue-resource-1.5.1.tgz",
11492
+      "integrity": "sha1-Dz1oXjJU0hgAvr2Wbtz1bDSztuQ=",
11493
+      "requires": {
11494
+        "got": "^8.0.3"
11495
+      }
11496
+    },
11172 11497
     "vue-router": {
11173 11498
       "version": "3.1.2",
11174 11499
       "resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.1.2.tgz",

+ 5
- 0
package.json 파일 보기

@@ -8,10 +8,13 @@
8 8
     "lint": "vue-cli-service lint"
9 9
   },
10 10
   "dependencies": {
11
+    "axios": "^0.19.0",
11 12
     "core-js": "^2.6.5",
12 13
     "element-ui": "^2.11.1",
13 14
     "swiper": "^4.5.0",
14 15
     "vue": "^2.6.10",
16
+    "vue-axios": "^2.1.4",
17
+    "vue-resource": "^1.5.1",
15 18
     "vue-router": "^3.0.3",
16 19
     "vuex": "^3.0.1"
17 20
   },
@@ -22,6 +25,8 @@
22 25
     "babel-eslint": "^10.0.1",
23 26
     "eslint": "^5.16.0",
24 27
     "eslint-plugin-vue": "^5.0.0",
28
+    "less": "^3.10.3",
29
+    "less-loader": "^5.0.0",
25 30
     "vue-template-compiler": "^2.6.10"
26 31
   },
27 32
   "eslintConfig": {

+ 33
- 0
public/iconfont.css 파일 보기

@@ -0,0 +1,33 @@
1
+@font-face {font-family: "iconfont";
2
+  src: url('iconfont.eot?t=1567077690040'); /* IE9 */
3
+  src: url('iconfont.eot?t=1567077690040#iefix') format('embedded-opentype'), /* IE6-IE8 */
4
+  url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAVQAAsAAAAACnwAAAUCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDMgqIGIY9ATYCJAMUCwwABCAFhG0HSRvKCFGUTk6C7IvC2FgafadT2Zw4+5fiRr7QwWjyj6Owb/nwv6l/rkCoOzMjmanQBFISp3Si6cQyMfsS8cz9mX+9/k1QBrcDcOAJBoYd7a9/e02anUOCPphAhXRo30gmKis8/9mRWBRKim2RtvaYvLc7ujRN9QSsjp3FpZXNpbVirQCGAty1fm9WqvA/0APau7/qP8LraiAb+ML1QADEo1hDpFuPfsMggcPejQAgPsOtQirowTvoBJJKbDiWg6yCAIkuoQ8ArIy+n/yNJkkAhcBg7ztou7vQ6W1/RFnke8S4gADRfFYA4kkAA9AQwAFiNtp9WCJvGKH4pp/j6ASIhwQK+pvtt/TfmvwR/f6dTHoiPN75gwcwUHAQgIiwUSJSOyn4lRN5GDDgt3QMKPBbEww48EdUfF+QgMr4mYrIUIAsA2pNRJ6cIJ1mEYrsR1DSjHuvRry9ajI0psKqYex36MZpqIJO6FWsunV2yFLcf3A9p+1fPSexHtM3bgTY9dRv6jsBukjW+gWTqaN3Ervx+Dwfuva8DHdRXftkKTlRzgbYSzo6jB2y9I1bKV1zVy4t0a4N3YRpxtSxICeZmz6LVj+Hf77svdm8vru/i27lmNdHZuqoxbVu6VwVWvUNlfP1YHZvjM5WykriT1Yhs72bc89sCdkxoyoPceKXBiGVyU2IOjOqazENueuV8Y7NdOqXX5HKzy1LiNJu+2Pve270sXOh8tplv3gxrPJle7P7yusaX18j6iq/olx59LWoSVVhfIdOj/vltzxRIBGTry39P+2/27ZqpkaY98u/H6+ks9OV0HQ2pPhRzdrDH7Frd6Vai7r67UYvQf19wZo0Fq19qjugu6Vt0dmZbIe/JN676x4G7cXfme7OewlfI67atPM1CWnUbaYyrvXgcGXge//rHEcumsGzkDMxR+r0um/i7I5dunSLDP/f1oR9DwvslOpocHZlSW5a7ibFDvLFsWaJIigcoF3sqCg2wcORO0WxQenCHTFtUGxQNfGOUN1WkoSkWCKS7iQhMaboirROekxIl1ePeECV18SSUo7GrqYk7clrtN4Rq4E8bbwzXSoZh98hGQs1wAfNY5TkTv542tXY0c/DNzZl6m1HWbsWddW+fdW6Lbps3+L89vbOLSfV7de3jtqifWPjVYfjk2gkQic1rTd60PjxY8eG6o1hhSeIVKq05SRHYlVV4kQHpgKA79kJ+h8AMJ3+LLGxXazY+YqN+LRuw4KFWasnprSrkhK+wCNvl79qHXm/46AhfOSUIIs+myJiDzcktkHgWr0n1AoFLIIEvM7ij2HNJ9Kd7tM8pixzJgkkZGVAYUMRMEioSeTUhiAgAc1AhISOEI8Gep6cgAwmBsLjANS3gAFBqiNAkYwrwJDqIZFTP4KAbP+CiNQYxGNEGedMQO2M+K6mplqaSy6dJhvOYEB3TVZ8XDpEc1f4VDMviRgjNLPcCMmNFUc51VMLaOYcB5RPdjexLF3WzaBf7sFupvl8QTlkBj2a01LKLCvUxm7Xm15IcQb9iEdXJo3KonGRlZpGZnAKCtCD4Zb4ytcPoXGr4KMyOxrq3CNoTOWM8WWNKRwEYk8UIDXcS3W5ydyasDCqk+licZCfrAdaNT4nHiQLNW/y0DhZFGUjoiFt2HGQTkXK+rj/MRb9MZra5xQIJYxwIhARNpehBsoqVNHtLQ2UGqJTNVxqgE1nOgAAAA==') format('woff2'),
5
+  url('iconfont.woff?t=1567077690040') format('woff'),
6
+  url('iconfont.ttf?t=1567077690040') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
7
+  url('iconfont.svg?t=1567077690040#iconfont') format('svg'); /* iOS 4.1- */
8
+}
9
+
10
+.iconfont {
11
+  font-family: "iconfont" !important;
12
+  font-size: 16px;
13
+  font-style: normal;
14
+  -webkit-font-smoothing: antialiased;
15
+  -moz-osx-font-smoothing: grayscale;
16
+}
17
+
18
+.icon-dianhua:before {
19
+  content: "\e88b";
20
+}
21
+
22
+.icon-guanbi:before {
23
+  content: "\e612";
24
+}
25
+
26
+.icon-caidan:before {
27
+  content: "\e607";
28
+}
29
+
30
+.icon-zan:before {
31
+  content: "\e632";
32
+}
33
+

+ 5
- 0
public/index.html 파일 보기

@@ -4,11 +4,16 @@
4 4
     <meta charset="utf-8">
5 5
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
6 6
     <meta name="viewport" content="width=device-width,initial-scale=1.0">
7
+    
7 8
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
8 9
     <link rel="stylesheet" type="text/css"media="screen and (max-device-width: 400px)"href="tinyScreen.css" />
9 10
     <script src="./static/js/jquery.min.js"></script>
11
+    <!-- <script src="./until/jquery-1.8.3.min.js"></script> -->
10 12
     <script src="./bootstrap/js/bootstrap.min.js"></script>
13
+    <script src="./swiper/dist/js/swiper.min.js"></script>
11 14
     <link rel="stylesheet" href="./bootstrap/css/bootstrap.min.css">
15
+    <link rel="stylesheet" href="./swiper/dist/css/swiper.min.css">
16
+    <link rel="stylesheet" href="./iconfont.css">
12 17
     <title>foyo</title>
13 18
   </head>
14 19
   <body>

+ 618
- 0
public/swiper/dist/css/swiper.css 파일 보기

@@ -0,0 +1,618 @@
1
+/**
2
+ * Swiper 4.5.0
3
+ * Most modern mobile touch slider and framework with hardware accelerated transitions
4
+ * http://www.idangero.us/swiper/
5
+ *
6
+ * Copyright 2014-2019 Vladimir Kharlampidi
7
+ *
8
+ * Released under the MIT License
9
+ *
10
+ * Released on: February 22, 2019
11
+ */
12
+.swiper-container {
13
+  margin: 0 auto;
14
+  position: relative;
15
+  overflow: hidden;
16
+  list-style: none;
17
+  padding: 0;
18
+  /* Fix of Webkit flickering */
19
+  z-index: 1;
20
+}
21
+.swiper-container-no-flexbox .swiper-slide {
22
+  float: left;
23
+}
24
+.swiper-container-vertical > .swiper-wrapper {
25
+  -webkit-box-orient: vertical;
26
+  -webkit-box-direction: normal;
27
+  -webkit-flex-direction: column;
28
+  -ms-flex-direction: column;
29
+  flex-direction: column;
30
+}
31
+.swiper-wrapper {
32
+  position: relative;
33
+  width: 100%;
34
+  height: 100%;
35
+  z-index: 1;
36
+  display: -webkit-box;
37
+  display: -webkit-flex;
38
+  display: -ms-flexbox;
39
+  display: flex;
40
+  -webkit-transition-property: -webkit-transform;
41
+  transition-property: -webkit-transform;
42
+  -o-transition-property: transform;
43
+  transition-property: transform;
44
+  transition-property: transform, -webkit-transform;
45
+  -webkit-box-sizing: content-box;
46
+  box-sizing: content-box;
47
+}
48
+.swiper-container-android .swiper-slide,
49
+.swiper-wrapper {
50
+  -webkit-transform: translate3d(0px, 0, 0);
51
+  transform: translate3d(0px, 0, 0);
52
+}
53
+.swiper-container-multirow > .swiper-wrapper {
54
+  -webkit-flex-wrap: wrap;
55
+  -ms-flex-wrap: wrap;
56
+  flex-wrap: wrap;
57
+}
58
+.swiper-container-free-mode > .swiper-wrapper {
59
+  -webkit-transition-timing-function: ease-out;
60
+  -o-transition-timing-function: ease-out;
61
+  transition-timing-function: ease-out;
62
+  margin: 0 auto;
63
+}
64
+.swiper-slide {
65
+  -webkit-flex-shrink: 0;
66
+  -ms-flex-negative: 0;
67
+  flex-shrink: 0;
68
+  width: 100%;
69
+  height: 100%;
70
+  position: relative;
71
+  -webkit-transition-property: -webkit-transform;
72
+  transition-property: -webkit-transform;
73
+  -o-transition-property: transform;
74
+  transition-property: transform;
75
+  transition-property: transform, -webkit-transform;
76
+}
77
+.swiper-slide-invisible-blank {
78
+  visibility: hidden;
79
+}
80
+/* Auto Height */
81
+.swiper-container-autoheight,
82
+.swiper-container-autoheight .swiper-slide {
83
+  height: auto;
84
+}
85
+.swiper-container-autoheight .swiper-wrapper {
86
+  -webkit-box-align: start;
87
+  -webkit-align-items: flex-start;
88
+  -ms-flex-align: start;
89
+  align-items: flex-start;
90
+  -webkit-transition-property: height, -webkit-transform;
91
+  transition-property: height, -webkit-transform;
92
+  -o-transition-property: transform, height;
93
+  transition-property: transform, height;
94
+  transition-property: transform, height, -webkit-transform;
95
+}
96
+/* 3D Effects */
97
+.swiper-container-3d {
98
+  -webkit-perspective: 1200px;
99
+  perspective: 1200px;
100
+}
101
+.swiper-container-3d .swiper-wrapper,
102
+.swiper-container-3d .swiper-slide,
103
+.swiper-container-3d .swiper-slide-shadow-left,
104
+.swiper-container-3d .swiper-slide-shadow-right,
105
+.swiper-container-3d .swiper-slide-shadow-top,
106
+.swiper-container-3d .swiper-slide-shadow-bottom,
107
+.swiper-container-3d .swiper-cube-shadow {
108
+  -webkit-transform-style: preserve-3d;
109
+  transform-style: preserve-3d;
110
+}
111
+.swiper-container-3d .swiper-slide-shadow-left,
112
+.swiper-container-3d .swiper-slide-shadow-right,
113
+.swiper-container-3d .swiper-slide-shadow-top,
114
+.swiper-container-3d .swiper-slide-shadow-bottom {
115
+  position: absolute;
116
+  left: 0;
117
+  top: 0;
118
+  width: 100%;
119
+  height: 100%;
120
+  pointer-events: none;
121
+  z-index: 10;
122
+}
123
+.swiper-container-3d .swiper-slide-shadow-left {
124
+  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
125
+  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
126
+  background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
127
+  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
128
+}
129
+.swiper-container-3d .swiper-slide-shadow-right {
130
+  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
131
+  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
132
+  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
133
+  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
134
+}
135
+.swiper-container-3d .swiper-slide-shadow-top {
136
+  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
137
+  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
138
+  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
139
+  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
140
+}
141
+.swiper-container-3d .swiper-slide-shadow-bottom {
142
+  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
143
+  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
144
+  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
145
+  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
146
+}
147
+/* IE10 Windows Phone 8 Fixes */
148
+.swiper-container-wp8-horizontal,
149
+.swiper-container-wp8-horizontal > .swiper-wrapper {
150
+  -ms-touch-action: pan-y;
151
+  touch-action: pan-y;
152
+}
153
+.swiper-container-wp8-vertical,
154
+.swiper-container-wp8-vertical > .swiper-wrapper {
155
+  -ms-touch-action: pan-x;
156
+  touch-action: pan-x;
157
+}
158
+.swiper-button-prev,
159
+.swiper-button-next {
160
+  position: absolute;
161
+  top: 50%;
162
+  width: 27px;
163
+  height: 44px;
164
+  margin-top: -22px;
165
+  z-index: 10;
166
+  cursor: pointer;
167
+  background-size: 27px 44px;
168
+  background-position: center;
169
+  background-repeat: no-repeat;
170
+}
171
+.swiper-button-prev.swiper-button-disabled,
172
+.swiper-button-next.swiper-button-disabled {
173
+  opacity: 0.35;
174
+  cursor: auto;
175
+  pointer-events: none;
176
+}
177
+.swiper-button-prev,
178
+.swiper-container-rtl .swiper-button-next {
179
+  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
180
+  left: 10px;
181
+  right: auto;
182
+}
183
+.swiper-button-next,
184
+.swiper-container-rtl .swiper-button-prev {
185
+  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
186
+  right: 10px;
187
+  left: auto;
188
+}
189
+.swiper-button-prev.swiper-button-white,
190
+.swiper-container-rtl .swiper-button-next.swiper-button-white {
191
+  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
192
+}
193
+.swiper-button-next.swiper-button-white,
194
+.swiper-container-rtl .swiper-button-prev.swiper-button-white {
195
+  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
196
+}
197
+.swiper-button-prev.swiper-button-black,
198
+.swiper-container-rtl .swiper-button-next.swiper-button-black {
199
+  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
200
+}
201
+.swiper-button-next.swiper-button-black,
202
+.swiper-container-rtl .swiper-button-prev.swiper-button-black {
203
+  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
204
+}
205
+.swiper-button-lock {
206
+  display: none;
207
+}
208
+.swiper-pagination {
209
+  position: absolute;
210
+  text-align: center;
211
+  -webkit-transition: 300ms opacity;
212
+  -o-transition: 300ms opacity;
213
+  transition: 300ms opacity;
214
+  -webkit-transform: translate3d(0, 0, 0);
215
+  transform: translate3d(0, 0, 0);
216
+  z-index: 10;
217
+}
218
+.swiper-pagination.swiper-pagination-hidden {
219
+  opacity: 0;
220
+}
221
+/* Common Styles */
222
+.swiper-pagination-fraction,
223
+.swiper-pagination-custom,
224
+.swiper-container-horizontal > .swiper-pagination-bullets {
225
+  bottom: 10px;
226
+  left: 0;
227
+  width: 100%;
228
+}
229
+/* Bullets */
230
+.swiper-pagination-bullets-dynamic {
231
+  overflow: hidden;
232
+  font-size: 0;
233
+}
234
+.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
235
+  -webkit-transform: scale(0.33);
236
+  -ms-transform: scale(0.33);
237
+  transform: scale(0.33);
238
+  position: relative;
239
+}
240
+.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
241
+  -webkit-transform: scale(1);
242
+  -ms-transform: scale(1);
243
+  transform: scale(1);
244
+}
245
+.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
246
+  -webkit-transform: scale(1);
247
+  -ms-transform: scale(1);
248
+  transform: scale(1);
249
+}
250
+.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
251
+  -webkit-transform: scale(0.66);
252
+  -ms-transform: scale(0.66);
253
+  transform: scale(0.66);
254
+}
255
+.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
256
+  -webkit-transform: scale(0.33);
257
+  -ms-transform: scale(0.33);
258
+  transform: scale(0.33);
259
+}
260
+.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
261
+  -webkit-transform: scale(0.66);
262
+  -ms-transform: scale(0.66);
263
+  transform: scale(0.66);
264
+}
265
+.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
266
+  -webkit-transform: scale(0.33);
267
+  -ms-transform: scale(0.33);
268
+  transform: scale(0.33);
269
+}
270
+.swiper-pagination-bullet {
271
+  width: 8px;
272
+  height: 8px;
273
+  display: inline-block;
274
+  border-radius: 100%;
275
+  background: #000;
276
+  opacity: 0.2;
277
+}
278
+button.swiper-pagination-bullet {
279
+  border: none;
280
+  margin: 0;
281
+  padding: 0;
282
+  -webkit-box-shadow: none;
283
+  box-shadow: none;
284
+  -webkit-appearance: none;
285
+  -moz-appearance: none;
286
+  appearance: none;
287
+}
288
+.swiper-pagination-clickable .swiper-pagination-bullet {
289
+  cursor: pointer;
290
+}
291
+.swiper-pagination-bullet-active {
292
+  opacity: 1;
293
+  background: #007aff;
294
+}
295
+.swiper-container-vertical > .swiper-pagination-bullets {
296
+  right: 10px;
297
+  top: 50%;
298
+  -webkit-transform: translate3d(0px, -50%, 0);
299
+  transform: translate3d(0px, -50%, 0);
300
+}
301
+.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
302
+  margin: 6px 0;
303
+  display: block;
304
+}
305
+.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
306
+  top: 50%;
307
+  -webkit-transform: translateY(-50%);
308
+  -ms-transform: translateY(-50%);
309
+  transform: translateY(-50%);
310
+  width: 8px;
311
+}
312
+.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
313
+  display: inline-block;
314
+  -webkit-transition: 200ms top, 200ms -webkit-transform;
315
+  transition: 200ms top, 200ms -webkit-transform;
316
+  -o-transition: 200ms transform, 200ms top;
317
+  transition: 200ms transform, 200ms top;
318
+  transition: 200ms transform, 200ms top, 200ms -webkit-transform;
319
+}
320
+.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
321
+  margin: 0 4px;
322
+}
323
+.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
324
+  left: 50%;
325
+  -webkit-transform: translateX(-50%);
326
+  -ms-transform: translateX(-50%);
327
+  transform: translateX(-50%);
328
+  white-space: nowrap;
329
+}
330
+.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
331
+  -webkit-transition: 200ms left, 200ms -webkit-transform;
332
+  transition: 200ms left, 200ms -webkit-transform;
333
+  -o-transition: 200ms transform, 200ms left;
334
+  transition: 200ms transform, 200ms left;
335
+  transition: 200ms transform, 200ms left, 200ms -webkit-transform;
336
+}
337
+.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
338
+  -webkit-transition: 200ms right, 200ms -webkit-transform;
339
+  transition: 200ms right, 200ms -webkit-transform;
340
+  -o-transition: 200ms transform, 200ms right;
341
+  transition: 200ms transform, 200ms right;
342
+  transition: 200ms transform, 200ms right, 200ms -webkit-transform;
343
+}
344
+/* Progress */
345
+.swiper-pagination-progressbar {
346
+  background: rgba(0, 0, 0, 0.25);
347
+  position: absolute;
348
+}
349
+.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
350
+  background: #007aff;
351
+  position: absolute;
352
+  left: 0;
353
+  top: 0;
354
+  width: 100%;
355
+  height: 100%;
356
+  -webkit-transform: scale(0);
357
+  -ms-transform: scale(0);
358
+  transform: scale(0);
359
+  -webkit-transform-origin: left top;
360
+  -ms-transform-origin: left top;
361
+  transform-origin: left top;
362
+}
363
+.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
364
+  -webkit-transform-origin: right top;
365
+  -ms-transform-origin: right top;
366
+  transform-origin: right top;
367
+}
368
+.swiper-container-horizontal > .swiper-pagination-progressbar,
369
+.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
370
+  width: 100%;
371
+  height: 4px;
372
+  left: 0;
373
+  top: 0;
374
+}
375
+.swiper-container-vertical > .swiper-pagination-progressbar,
376
+.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
377
+  width: 4px;
378
+  height: 100%;
379
+  left: 0;
380
+  top: 0;
381
+}
382
+.swiper-pagination-white .swiper-pagination-bullet-active {
383
+  background: #ffffff;
384
+}
385
+.swiper-pagination-progressbar.swiper-pagination-white {
386
+  background: rgba(255, 255, 255, 0.25);
387
+}
388
+.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
389
+  background: #ffffff;
390
+}
391
+.swiper-pagination-black .swiper-pagination-bullet-active {
392
+  background: #000000;
393
+}
394
+.swiper-pagination-progressbar.swiper-pagination-black {
395
+  background: rgba(0, 0, 0, 0.25);
396
+}
397
+.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
398
+  background: #000000;
399
+}
400
+.swiper-pagination-lock {
401
+  display: none;
402
+}
403
+/* Scrollbar */
404
+.swiper-scrollbar {
405
+  border-radius: 10px;
406
+  position: relative;
407
+  -ms-touch-action: none;
408
+  background: rgba(0, 0, 0, 0.1);
409
+}
410
+.swiper-container-horizontal > .swiper-scrollbar {
411
+  position: absolute;
412
+  left: 1%;
413
+  bottom: 3px;
414
+  z-index: 50;
415
+  height: 5px;
416
+  width: 98%;
417
+}
418
+.swiper-container-vertical > .swiper-scrollbar {
419
+  position: absolute;
420
+  right: 3px;
421
+  top: 1%;
422
+  z-index: 50;
423
+  width: 5px;
424
+  height: 98%;
425
+}
426
+.swiper-scrollbar-drag {
427
+  height: 100%;
428
+  width: 100%;
429
+  position: relative;
430
+  background: rgba(0, 0, 0, 0.5);
431
+  border-radius: 10px;
432
+  left: 0;
433
+  top: 0;
434
+}
435
+.swiper-scrollbar-cursor-drag {
436
+  cursor: move;
437
+}
438
+.swiper-scrollbar-lock {
439
+  display: none;
440
+}
441
+.swiper-zoom-container {
442
+  width: 100%;
443
+  height: 100%;
444
+  display: -webkit-box;
445
+  display: -webkit-flex;
446
+  display: -ms-flexbox;
447
+  display: flex;
448
+  -webkit-box-pack: center;
449
+  -webkit-justify-content: center;
450
+  -ms-flex-pack: center;
451
+  justify-content: center;
452
+  -webkit-box-align: center;
453
+  -webkit-align-items: center;
454
+  -ms-flex-align: center;
455
+  align-items: center;
456
+  text-align: center;
457
+}
458
+.swiper-zoom-container > img,
459
+.swiper-zoom-container > svg,
460
+.swiper-zoom-container > canvas {
461
+  max-width: 100%;
462
+  max-height: 100%;
463
+  -o-object-fit: contain;
464
+  object-fit: contain;
465
+}
466
+.swiper-slide-zoomed {
467
+  cursor: move;
468
+}
469
+/* Preloader */
470
+.swiper-lazy-preloader {
471
+  width: 42px;
472
+  height: 42px;
473
+  position: absolute;
474
+  left: 50%;
475
+  top: 50%;
476
+  margin-left: -21px;
477
+  margin-top: -21px;
478
+  z-index: 10;
479
+  -webkit-transform-origin: 50%;
480
+  -ms-transform-origin: 50%;
481
+  transform-origin: 50%;
482
+  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
483
+  animation: swiper-preloader-spin 1s steps(12, end) infinite;
484
+}
485
+.swiper-lazy-preloader:after {
486
+  display: block;
487
+  content: '';
488
+  width: 100%;
489
+  height: 100%;
490
+  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
491
+  background-position: 50%;
492
+  background-size: 100%;
493
+  background-repeat: no-repeat;
494
+}
495
+.swiper-lazy-preloader-white:after {
496
+  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
497
+}
498
+@-webkit-keyframes swiper-preloader-spin {
499
+  100% {
500
+    -webkit-transform: rotate(360deg);
501
+    transform: rotate(360deg);
502
+  }
503
+}
504
+@keyframes swiper-preloader-spin {
505
+  100% {
506
+    -webkit-transform: rotate(360deg);
507
+    transform: rotate(360deg);
508
+  }
509
+}
510
+/* a11y */
511
+.swiper-container .swiper-notification {
512
+  position: absolute;
513
+  left: 0;
514
+  top: 0;
515
+  pointer-events: none;
516
+  opacity: 0;
517
+  z-index: -1000;
518
+}
519
+.swiper-container-fade.swiper-container-free-mode .swiper-slide {
520
+  -webkit-transition-timing-function: ease-out;
521
+  -o-transition-timing-function: ease-out;
522
+  transition-timing-function: ease-out;
523
+}
524
+.swiper-container-fade .swiper-slide {
525
+  pointer-events: none;
526
+  -webkit-transition-property: opacity;
527
+  -o-transition-property: opacity;
528
+  transition-property: opacity;
529
+}
530
+.swiper-container-fade .swiper-slide .swiper-slide {
531
+  pointer-events: none;
532
+}
533
+.swiper-container-fade .swiper-slide-active,
534
+.swiper-container-fade .swiper-slide-active .swiper-slide-active {
535
+  pointer-events: auto;
536
+}
537
+.swiper-container-cube {
538
+  overflow: visible;
539
+}
540
+.swiper-container-cube .swiper-slide {
541
+  pointer-events: none;
542
+  -webkit-backface-visibility: hidden;
543
+  backface-visibility: hidden;
544
+  z-index: 1;
545
+  visibility: hidden;
546
+  -webkit-transform-origin: 0 0;
547
+  -ms-transform-origin: 0 0;
548
+  transform-origin: 0 0;
549
+  width: 100%;
550
+  height: 100%;
551
+}
552
+.swiper-container-cube .swiper-slide .swiper-slide {
553
+  pointer-events: none;
554
+}
555
+.swiper-container-cube.swiper-container-rtl .swiper-slide {
556
+  -webkit-transform-origin: 100% 0;
557
+  -ms-transform-origin: 100% 0;
558
+  transform-origin: 100% 0;
559
+}
560
+.swiper-container-cube .swiper-slide-active,
561
+.swiper-container-cube .swiper-slide-active .swiper-slide-active {
562
+  pointer-events: auto;
563
+}
564
+.swiper-container-cube .swiper-slide-active,
565
+.swiper-container-cube .swiper-slide-next,
566
+.swiper-container-cube .swiper-slide-prev,
567
+.swiper-container-cube .swiper-slide-next + .swiper-slide {
568
+  pointer-events: auto;
569
+  visibility: visible;
570
+}
571
+.swiper-container-cube .swiper-slide-shadow-top,
572
+.swiper-container-cube .swiper-slide-shadow-bottom,
573
+.swiper-container-cube .swiper-slide-shadow-left,
574
+.swiper-container-cube .swiper-slide-shadow-right {
575
+  z-index: 0;
576
+  -webkit-backface-visibility: hidden;
577
+  backface-visibility: hidden;
578
+}
579
+.swiper-container-cube .swiper-cube-shadow {
580
+  position: absolute;
581
+  left: 0;
582
+  bottom: 0px;
583
+  width: 100%;
584
+  height: 100%;
585
+  background: #000;
586
+  opacity: 0.6;
587
+  -webkit-filter: blur(50px);
588
+  filter: blur(50px);
589
+  z-index: 0;
590
+}
591
+.swiper-container-flip {
592
+  overflow: visible;
593
+}
594
+.swiper-container-flip .swiper-slide {
595
+  pointer-events: none;
596
+  -webkit-backface-visibility: hidden;
597
+  backface-visibility: hidden;
598
+  z-index: 1;
599
+}
600
+.swiper-container-flip .swiper-slide .swiper-slide {
601
+  pointer-events: none;
602
+}
603
+.swiper-container-flip .swiper-slide-active,
604
+.swiper-container-flip .swiper-slide-active .swiper-slide-active {
605
+  pointer-events: auto;
606
+}
607
+.swiper-container-flip .swiper-slide-shadow-top,
608
+.swiper-container-flip .swiper-slide-shadow-bottom,
609
+.swiper-container-flip .swiper-slide-shadow-left,
610
+.swiper-container-flip .swiper-slide-shadow-right {
611
+  z-index: 0;
612
+  -webkit-backface-visibility: hidden;
613
+  backface-visibility: hidden;
614
+}
615
+.swiper-container-coverflow .swiper-wrapper {
616
+  /* Windows 8 IE 10 fix */
617
+  -ms-perspective: 1200px;
618
+}

+ 12
- 0
public/swiper/dist/css/swiper.min.css
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 7151
- 0
public/swiper/dist/js/swiper.esm.bundle.js
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 7133
- 0
public/swiper/dist/js/swiper.esm.js
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 8124
- 0
public/swiper/dist/js/swiper.js
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 13
- 0
public/swiper/dist/js/swiper.min.js
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 1
- 0
public/swiper/dist/js/swiper.min.js.map
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 2
- 0
public/until/jquery-1.8.3.min.js
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 185
- 44
src/App.vue 파일 보기

@@ -1,38 +1,39 @@
1 1
 <template>
2 2
   <div id="app">
3 3
     <div>
4
-      <nav class="navbar navbar-default navbar-fixed-top">
5
-        <div class="container-fluid">
6
-         
4
+      <nav class="navbar navbar-default navbar-fixed-top" :class="{ 'scroll': scrolled }">
5
+        <div class="container-fluid con">
7 6
           <!-- Brand and toggle get grouped for better mobile display -->
8 7
           <div class="navbar-header">
9 8
             <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
10
-              <span class="sr-only">Toggle navigation</span>
11
-              <span class="icon-bar"></span>
12
-              <span class="icon-bar"></span>
13
-              <span class="icon-bar"></span>
9
+              <span class="iconfont icon-caidan"></span>
14 10
             </button>
15
-            <p class="navbar-text" style="color:red">
16
-              FOYO
17
-              <a style="color:black">福予传媒</a>
18
-            </p>
11
+            <a class="navbar-brand" href="#">
12
+              <!-- <img alt="Brand" src="./assets/logo1.png" /> -->
13
+              <div alt="Brand" class="logo"></div>
14
+            </a>
19 15
           </div>
20 16
 
21 17
           <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
22 18
             <ul class="nav navbar-nav navbar-right">
23
-              <li>
19
+              <!-- <router-link to="/">首页</router-link> 
20
+                        <router-link to="/case" class="a"  style="color:#000000;">案例</router-link>
21
+                        <router-link to="/dynamic" class="a" style="color:#000000;">动态</router-link>
22
+                        <router-link to="/about" class="a" style="color:#000000;">关于</router-link>
23
+              <router-link to="/contact" class="a" style="color:#000000;">联系</router-link>-->
24
+              <li class="a">
24 25
                 <a href="/">首页</a>
25 26
               </li>
26
-              <li>
27
+              <li class="a">
27 28
                 <a href="/case">案例</a>
28 29
               </li>
29
-              <li>
30
+              <li class="a">
30 31
                 <a href="/dynamic">动态</a>
31 32
               </li>
32
-              <li>
33
+              <li class="a">
33 34
                 <a href="/about">关于</a>
34 35
               </li>
35
-              <li>
36
+              <li class="a">
36 37
                 <a href="/contact">联系</a>
37 38
               </li>
38 39
             </ul>
@@ -61,26 +62,89 @@
61 62
            
62 63
                         </div>glyphicon glyphicon-menu-up
63 64
     <router-view/>-->
64
-    <div>
65
-      <a class="btn btn-default" href="#" role="button" style="position:fixed;right:0;bottom:80px">
66
-        <span class="glyphicon glyphicon-menu-up"></span>
67
-      </a>
68
-      <a class="btn btn-default" href="#" role="button" style="position:fixed;right:0;bottom:50px">
69
-        <span class="glyphicon glyphicon-menu-up"></span>
70
-      </a>
65
+
66
+    <div class="coll">
67
+      <div>
68
+        <div class="btn btn-default" href="#" role="button" v-if="!current1" @mouseenter="enter1()" @mouseleave="leave1()" style="position:fixed;right:0;bottom:306px;margin:0;padding:0;z-index: 3;">
69
+          <img src="./assets/image/联系我们.jpg" alt style="position:fixed;right:0;bottom:306px;margin:0;padding:0;z-index: 3;" />
70
+        </div>
71
+        <el-button class="btn btn-default" @click="open" v-if="current1" @mouseenter.stop="enter1()" style="position:fixed;right:0;bottom:306px;margin:0;padding:0;z-index: 4;">
72
+          <img src="./assets/image/联系我们触发.png" @mouseleave="leave1()" alt style="position:fixed;right:0;bottom:306px;margin:0;padding:0;z-index: 4;" />
73
+        </el-button>
74
+      </div>
75
+    </div>
76
+    <div class="coll">
77
+      <div>
78
+        <a href="#" role="button" @mouseenter="enter2()" @mouseleave="leave2()" style="position:fixed;right:0;bottom:250px;margin:0;padding:0;z-index: 3;">
79
+          <img src="./assets/image/返回顶层.jpg" style="position:fixed;right:0;bottom:250px;margin:0;padding:0;z-index: 3;" />
80
+        </a>
81
+      </div>
82
+      <div>
83
+        <a class="back-top" href="#" role="button" v-if="current2" @mouseenter.stop="enter2()" @mouseleave="leave2()" style="position:fixed;right:0;bottom:250px;margin:0;padding:0;z-index: 4;">
84
+          <img src="./assets/image/返回顶层触发.jpg" style="position:fixed;right:0;bottom:250px;margin:0;padding:0;z-index: 4;" />
85
+        </a>
86
+      </div>
71 87
     </div>
72 88
 
73 89
     <div class="page-footer" style="background-color:#1b1b1b">
74
-      
75
-      <div style="color:rgb(255,255,255)">© 2019 All rights reserved.</div>
90
+      <p class="footer-p" style="color:rgb(255,255,255)">© 2019 All rights reserved.</p>
76 91
     </div>
77 92
   </div>
78 93
 </template>
79 94
 
80 95
 
81 96
 <script>
97
+import ClickContact from "@/components/ClickContact.vue";
82 98
 
83 99
 export default {
100
+  data () {
101
+    return {
102
+      scrolled: false,
103
+      current1: false,
104
+      current2: false,
105
+    }
106
+  },
107
+  components: {
108
+    ClickContact,
109
+  },
110
+  methods: {
111
+    enter1 () {
112
+
113
+      this.current1 = true;
114
+      this.current2 = false;
115
+    },
116
+    leave1 () {
117
+
118
+      this.current1 = false;
119
+    },
120
+
121
+    enter2 () {
122
+      this.current2 = true;
123
+      this.current1 = false;
124
+    },
125
+    leave2 () {
126
+
127
+      this.current2 = false;
128
+    },
129
+
130
+    open () {
131
+      this.$alert('', {
132
+        dangerouslyUseHTMLString: true
133
+      });
134
+    }
135
+
136
+  },
137
+  created () {
138
+  },
139
+  mounted () {
140
+    window.addEventListener('scroll', () => {
141
+      this.scrolled = (document.documentElement.scrollTop || document.body.scrollTop) > 200
142
+    })
143
+
144
+
145
+  }
146
+
147
+
84 148
 
85 149
 }
86 150
 </script>
@@ -89,30 +153,42 @@ export default {
89 153
 
90 154
 <style>
91 155
 #app {
92
-  font-family: "Avenir", Helvetica, Arial, sans-serif;
156
+  font-family: Microsoft YaHei;
93 157
   -webkit-font-smoothing: antialiased;
94 158
   -moz-osx-font-smoothing: grayscale;
95 159
   text-align: center;
160
+  background-color: fafafa;
96 161
   color: #2c3e50;
97 162
   margin-top: px;
98 163
   width: auto;
99 164
   margin: 0;
100 165
 }
101
-.container-fluid{
102
-  padding-left: 10%;
103
-  padding-right: 10%;
104
-  
105
-}
106
-.navbar {
107
-  /* padding-left: 10%;
108
-  padding-right: 10%; */
109
-  height: 116px;
166
+
167
+.coll {
168
+  display: none;
110 169
 }
111
-.navbar-text{
112
-  display: flex;
113
- align-items:center;
114
-  
170
+
171
+@media (min-width: 992px) {
172
+  .coll {
173
+    display: block;
174
+  }
175
+  .con {
176
+    padding-left: 10%;
177
+    padding-right: 10%;
178
+  }
179
+  /* .a:hover{
180
+ text-decoration:underline !important;
181
+ border: #000;
182
+} */
183
+  .page-footer {
184
+    margin-top: 94px;
185
+  }
186
+  .footer-p {
187
+    padding: 54px auto !important;
188
+    margin: 0;
189
+  }
115 190
 }
191
+
116 192
 /* #nav{
117 193
 
118 194
   display: flex;
@@ -124,13 +200,78 @@ export default {
124 200
   border: none;去边框
125 201
 } */
126 202
 
127
-.main {
128
-  padding-top: 100px;
203
+/* padding-right: 50px;
129 204
 }
130
-#abc {
131
-  padding-right: 50px;
205
+ */
206
+.main {
207
+  padding-bottom: 9.4rem;
132 208
 }
209
+</style>
210
+
211
+
212
+<style lang="less" scoped>
213
+@media (min-width: 992px) {
214
+  .navbar {
215
+    padding: 30px 0;
216
+    z-index: 50;
217
+    height: 116px;
218
+  }
219
+
220
+  .navbar {
221
+    padding: 30px 0;
222
+    // background-color: transparent;
223
+    border: none;
224
+
225
+    margin: 0;
226
+
227
+    .navbar-brand {
228
+      padding: 0;
229
+
230
+      img {
231
+        height: 100%;
232
+      }
233
+    }
234
+
235
+    .nav {
236
+      font-size: 2.6rem;
237
+      li {
238
+        margin-left: 40px;
239
+        a {
240
+          color: #000;
241
+
242
+          &:hover {
243
+            border-bottom: 3px solid #000;
244
+          }
245
+        }
246
+      }
247
+    }
248
+
249
+    .logo {
250
+      width: 300px;
251
+      height: 60px;
252
+      background: url("./assets/logo1.png");
253
+    }
254
+
255
+    // &.scroll {
256
+    //   transition: all 0.5s;
257
+    //   background: #fff;
258
+
259
+    //   .nav {
260
+    //     li {
261
+    //       a {
262
+    //         color: #000;
263
+
264
+    //         &:hover {
265
+    //           border-bottom: 3px solid #000;
266
+    //         }
267
+    //       }
268
+    //     }
269
+    //   }
133 270
 
134
-.navbar-nav {
271
+    //   .logo {
272
+    //     background: url("./assets/logo1.png");
273
+    //   }
274
+    // }
275
+  }
135 276
 }
136 277
 </style>

BIN
src/assets/1.jpg 파일 보기


BIN
src/assets/image/about/FOYO.jpg 파일 보기


BIN
src/assets/image/about/FOYO形象图.jpg 파일 보기


src/assets/image/about/首屏banner.jpg → src/assets/image/about/aboutbanner.jpg 파일 보기


BIN
src/assets/image/case/case1.jpg 파일 보기


BIN
src/assets/image/case/case2.jpg 파일 보기


BIN
src/assets/image/case/case3.jpg 파일 보기


BIN
src/assets/image/case/case4.jpg 파일 보기


BIN
src/assets/image/case/case5.jpg 파일 보기


BIN
src/assets/image/case/case6.jpg 파일 보기


BIN
src/assets/image/case/case7.jpg 파일 보기


BIN
src/assets/image/case/case8.jpg 파일 보기


BIN
src/assets/image/case/logo.png 파일 보기


BIN
src/assets/image/case/首屏banner.jpg 파일 보기


BIN
src/assets/image/case2/客户logo.jpg 파일 보기


BIN
src/assets/image/case2/微信icon.png 파일 보기


BIN
src/assets/image/case2/微博icon.png 파일 보기


BIN
src/assets/image/case2/赞.png 파일 보기


BIN
src/assets/image/case2/赞触发.png 파일 보기


BIN
src/assets/image/case2/首屏banner.jpg 파일 보기


src/assets/image/contact/QQ二维码.jpg → src/assets/image/contact/QQ.jpg 파일 보기


src/assets/image/contact/首屏banner.png → src/assets/image/contact/contactbanner.png 파일 보기


BIN
src/assets/image/contact/photo.jpg 파일 보기


src/assets/image/contact/微信二维码.jpg → src/assets/image/contact/weixin.jpg 파일 보기


BIN
src/assets/image/home/logo.png 파일 보기


BIN
src/assets/image/mobile/侧菜单logo.png 파일 보기


BIN
src/assets/image/mobile/分割线.png 파일 보기


BIN
src/assets/image/mobile/热线.jpg 파일 보기


BIN
src/assets/image/mobile/菜单按钮_click.png 파일 보기


BIN
src/assets/image/mobile/菜单按钮_normal.png 파일 보기


BIN
src/assets/image/mobile/顶栏logo.png 파일 보기


src/assets/image/home/联系我们.jpg → src/assets/image/联系我们.jpg 파일 보기


src/assets/image/home/联系我们触发.jpg → src/assets/image/联系我们触发.jpg 파일 보기


BIN
src/assets/image/联系我们触发.png 파일 보기


src/assets/image/home/返回顶层.jpg → src/assets/image/返回顶层.jpg 파일 보기


src/assets/image/home/返回顶层触发.jpg → src/assets/image/返回顶层触发.jpg 파일 보기


BIN
src/assets/logo.png 파일 보기


BIN
src/assets/logo1.png 파일 보기


BIN
src/assets/qq.png 파일 보기


+ 159
- 0
src/components/Business.vue 파일 보기

@@ -0,0 +1,159 @@
1
+<template>
2
+  <div class="business">
3
+    <div class="swiper-container" id="swiper2">
4
+      <div class="swiper-wrapper">
5
+
6
+
7
+
8
+        <div class="swiper-slide swiper-no-swiping sw" v-for="(item,index) in service" :key="index">
9
+          <div>
10
+            <img :src="item.serviceImageUrl"  />
11
+            <div>
12
+              <h4>{{item.labelName}}</h4>
13
+              <p class="text-left">
14
+                
15
+              </p>
16
+            </div>
17
+          </div>
18
+        </div>
19
+      
20
+    
21
+
22
+     
23
+      </div>
24
+      <div class="swiper-button-prev"></div>
25
+      <div class="swiper-button-next"></div>
26
+    </div>
27
+    <!-- <div class="contanier st">
28
+      <div class="col-xs-6 col-md-3">
29
+        <img src="../assets/image/home/service_brand.jpg" width="100%" height="100%" alt="..." />
30
+        <div>
31
+          <h4>品牌服务</h4>
32
+          <p class="text-left">
33
+            品牌咨询
34
+            <br />品牌策划
35
+            <br />CIS/VIS
36
+            <br />logo设计
37
+            <br />
38
+          </p>
39
+        </div>
40
+      </div>
41
+
42
+      <div class="col-xs-6 col-md-3">
43
+        <img src="../assets/image/home/service_plan.jpg" width="100%" height="100%" alt="..." />
44
+        <div class="caption">
45
+          <h4>营销与策划</h4>
46
+          <p class="text-left">
47
+            营销创意
48
+            <br />广告创意
49
+            <br />活动策划与执行
50
+          </p>
51
+        </div>
52
+      </div>
53
+      <div class="col-xs-6 col-md-3">
54
+        <img src="../assets/image/home/service_design.jpg" width="100%" height="100%" alt="..." />
55
+        <div class="caption">
56
+          <h4>创意设计</h4>
57
+          <p class="text-left">
58
+            平面设计
59
+            <br />平面设计
60
+            <small>(海报/展架/画册/包装...)</small>
61
+            <br />数字媒体
62
+            <small>(H5/短视频/小程序...)</small>
63
+            <br />动画制作
64
+            <br />视觉设计
65
+            <small>(app/网站)</small>
66
+            <br />空间设计
67
+            <small>(美陈/展厅/店面/导视)</small>
68
+            <br />视频包装
69
+          </p>
70
+        </div>
71
+      </div>
72
+      <div class="col-xs-6 col-md-3">
73
+        <img src="../assets/image/home/service_make.jpg" width="100%" height="100%" alt="..." />
74
+        <div class="caption">
75
+          <h4>制作与传播</h4>
76
+          <p class="text-left">
77
+            物料制作
78
+            <br />传统媒介
79
+            <br />网络制作
80
+          </p>
81
+        </div>
82
+      </div>
83
+    </div> -->
84
+  </div>
85
+</template>
86
+
87
+<script>
88
+// @ is an alias to /src
89
+//  import Swiper from "swiper";
90
+// import Swiper from "swiper";
91
+import "swiper/dist/css/swiper.min.css";
92
+import request from '../../utils/request'
93
+import apis from '../config/api';
94
+
95
+export default {
96
+  name: "business",
97
+  data () {
98
+    return {
99
+      show: true,
100
+      service:[]
101
+    };
102
+  },
103
+  components: {},
104
+
105
+  mounted () {
106
+    new Swiper("#swiper2", {
107
+      // loop: true,
108
+      slidesPerView: 4,
109
+      spaceBetween: 60,
110
+      // slidesOffsetBefore: 100,
111
+      // slidesOffsetAfter: 100,
112
+      navigation: {
113
+        nextEl: ".swiper-button-next",
114
+        prevEl: ".swiper-button-prev"
115
+      }
116
+    });
117
+  },
118
+  created () {
119
+
120
+   
121
+   
122
+    
123
+//http://localhost:8080/pc/service/list
124
+    request({
125
+      ...apis.service.list,
126
+      
127
+      
128
+    }).then(con => {
129
+      console.log(con,"124")
130
+       this.service = con;
131
+      window.console.log(this.service, "543");
132
+    })
133
+
134
+   
135
+  }
136
+
137
+  
138
+
139
+ 
140
+};
141
+</script>
142
+
143
+<!-- Add "scoped" attribute to limit CSS to this component only -->
144
+<style scoped>
145
+.st {
146
+  padding-left: 10%;
147
+  padding-right: 10%;
148
+  margin: 0;
149
+}
150
+
151
+h4 {
152
+  font-size: 24px;
153
+  padding: 10px;
154
+  background-color: red;
155
+  color: #fff;
156
+  margin: 0;
157
+  height: 43px;
158
+}
159
+</style>

+ 137
- 0
src/components/ClickContact.vue 파일 보기

@@ -0,0 +1,137 @@
1
+<template>
2
+  <div class="clickcontact">
3
+    <div class="contact-1">
4
+      <div class="contact-main">
5
+        <h1 style="margin-bottom:70px">联系我们</h1>
6
+
7
+        <div class="row">
8
+          <div class="col-md-6 col-xs-6 st1" style="border-right: 1px solid #aaa;">
9
+            <img class="img1" src="../assets/image/contact/weixin.jpg" />
10
+            <div>
11
+              <h2>微信咨询</h2>
12
+            </div>
13
+          </div>
14
+
15
+          <div class="col-md-6 col-xs-6 st2">
16
+            <img class="img1" src="../assets/image/contact/QQ.jpg" />
17
+            <div>
18
+              <h2>QQ咨询</h2>
19
+            </div>
20
+          </div>
21
+        </div>
22
+
23
+        <div>
24
+          <a href="tel:13585167730">
25
+            <img src="../assets/image/contact/photo.jpg" alt style="padding-top:100px;width:100%" />
26
+          </a>
27
+        </div>
28
+      </div>
29
+    </div>
30
+  </div>
31
+</template>
32
+
33
+
34
+<style scoped>
35
+/* .contact-box {
36
+  width: 80%;
37
+  margin: 0 auto - 120px;
38
+  
39
+  .contact-main {
40
+    width: 704px;
41
+    text-align: center;
42
+  }
43
+
44
+  .col-xs-6 {
45
+    &:last-child {
46
+      float: right;
47
+    }
48
+
49
+    & + .col-xs-6 {
50
+      
51
+    }
52
+  }
53
+
54
+} */
55
+@media (max-width: 992px) {
56
+  .st1 {
57
+  }
58
+}
59
+
60
+@media (min-width: 992px) {
61
+  .contact-1 {
62
+    width: 80%;
63
+    padding: 50px;
64
+    margin-top: -120px;
65
+
66
+    background-color: #fff;
67
+    display: inline-block;
68
+    border-radius: 0;
69
+    border: 1px solid #dcdcdc;
70
+  }
71
+
72
+  .contact-1 .contact-main {
73
+    width: 707px;
74
+    margin: 0 auto;
75
+    padding-top: 20px;
76
+  }
77
+  .st1 {
78
+    padding-right: 120px;
79
+  }
80
+  .st2 {
81
+    padding-left: 120px;
82
+  }
83
+
84
+  .contact-2 {
85
+    padding: 98px 98px 27px 98px;
86
+  }
87
+}
88
+h2 {
89
+  margin-bottom: -22px;
90
+}
91
+
92
+/* .contact {
93
+    padding-top: 116px;
94
+  }
95
+
96
+
97
+  .contact-1 {
98
+    width: 80%;
99
+    padding: 50px;
100
+    margin-top: -120px;
101
+
102
+    background-color: #fff;
103
+    display: inline-block;
104
+    border-radius: 0;
105
+    border: 1px solid #dcdcdc;
106
+  }
107
+  .contact-2 {
108
+    padding: 98px 98px 27px 98px;
109
+ 
110
+  }
111
+  .st {
112
+    padding: 0 100px;
113
+  }
114
+  
115
+  
116
+  .img1{
117
+    width: 100%;
118
+
119
+  }
120
+
121
+  
122
+
123
+  .contact-1 > div {
124
+    width: 704px;
125
+    margin: 0 auto;
126
+  }
127
+
128
+
129
+  @media (max-width: 768px) {
130
+    
131
+  .contact-1 > div {
132
+    width: 222px;
133
+    margin: 0 auto;
134
+  }
135
+    
136
+  } */
137
+</style>

+ 0
- 34
src/components/HelloWorld.vue 파일 보기

@@ -1,34 +0,0 @@
1
-<template>
2
-  <div class="hello">
3
-    <div>
4
-      123
5
-    </div>
6
-  </div>
7
-</template>
8
-
9
-<script>
10
-export default {
11
-  name: 'HelloWorld',
12
-  props: {
13
-    msg: String
14
-  }
15
-}
16
-</script>
17
-
18
-<!-- Add "scoped" attribute to limit CSS to this component only -->
19
-<style scoped>
20
-h3 {
21
-  margin: 40px 0 0;
22
-}
23
-ul {
24
-  list-style-type: none;
25
-  padding: 0;
26
-}
27
-li {
28
-  display: inline-block;
29
-  margin: 0 10px;
30
-}
31
-a {
32
-  color: #42b983;
33
-}
34
-</style>

+ 94
- 0
src/components/Wheelplanting.vue 파일 보기

@@ -0,0 +1,94 @@
1
+<template>
2
+  <div class="wheelplanting">
3
+    <div class="swiper-container con-swiper">
4
+      <div class="swiper-wrapper">
5
+        <!-- <div class="col-md-2 col-xs-2" v-for="(item,index) in blogs" :key="index+'img'">
6
+            <img  :src="item.logoImg" alt class="ph-logo" />
7
+        </div>-->
8
+        <!-- <div v-for="item in blogs" :key="item">
9
+          <div class="swiper-slide">
10
+            <img :src="item.imageUrl" width="100%" height="" alt />
11
+          </div>
12
+        </div>-->
13
+        <div class="swiper-slide" v-for="(url,index) in blogs" :key="index+'url'">
14
+          <img :src="url.imageUrl" width="100%" height="100%" />
15
+        </div>
16
+        <!-- <div class="swiper-slide">
17
+          <img src="http://jingcheng-h5temp.oss-cn-shanghai.aliyuncs.com/1566890344965.png?Expires=1568717732&OSSAccessKeyId=LTAIkc75dpkJw8Lb" width="100%" height="100%" />
18
+        </div>
19
+        <div class="swiper-slide">
20
+          <img src="http://jingcheng-h5temp.oss-cn-shanghai.aliyuncs.com/1566890344965.png?Expires=1568717732&OSSAccessKeyId=LTAIkc75dpkJw8Lb" width="100%" height="100%" />
21
+        </div>-->
22
+      </div>
23
+      <div class="swiper-pagination"></div>
24
+    </div>
25
+  </div>
26
+</template>
27
+
28
+<script>
29
+import Swiper from "swiper";
30
+import "swiper/dist/css/swiper.min.css";
31
+import request from '../../utils/request';
32
+import apis from '../config/api';
33
+
34
+export default {
35
+  name: "wheelplanting",
36
+  data () {
37
+    return {
38
+      data: '',
39
+      blogs: {},
40
+    };
41
+  },
42
+  components: {},
43
+
44
+  mounted () {
45
+
46
+
47
+    new Swiper(".swiper-container", {
48
+      loop: true,
49
+      autoplay: true,
50
+      direction: "vertical",
51
+      observer: true,
52
+      observeSlideChildren: true,
53
+
54
+      pagination: {
55
+        el: ".swiper-pagination",
56
+        hideOnClick: true
57
+      }
58
+    });
59
+
60
+
61
+
62
+
63
+
64
+  },
65
+  created () {
66
+    // axios.get('http://localhost:8080/pc/carousel/list')
67
+    request({
68
+      ...apis.carousel.list,
69
+    }).then(data => {
70
+
71
+      this.blogs = data;
72
+    })
73
+
74
+
75
+
76
+  }
77
+};
78
+</script>
79
+
80
+<style scoped>
81
+@media (min-width: 992px) {
82
+  .wheelplanting .con-swiper {
83
+    width: 100%;
84
+    height: 100vh;
85
+  }
86
+}
87
+@media (max-width: 992px){
88
+  
89
+  .wheelplanting .con-swiper {
90
+    width: 100%;
91
+   height: 300px;
92
+  }
93
+}
94
+</style>

+ 106
- 0
src/components/mobnav.vue 파일 보기

@@ -0,0 +1,106 @@
1
+<template>
2
+  <div class="mobnav">
3
+    <div class="row">
4
+      <div>
5
+        <button type="button" class="btn-link" style="color:black;font-size: 24px;padding: 25px">全部案例</button>
6
+        <button  v-for="cas in casetype" :key="cas" type="button" class="btn-link" style="color:black;font-size: 24px;padding: 25px">{{cas.typeName}}</button>
7
+      </div>
8
+    </div>
9
+  </div>
10
+</template>
11
+
12
+<script>
13
+export default {
14
+   data () {
15
+    return {
16
+      cover: {},
17
+      casetype: [],
18
+      caselist: [],
19
+      num: 1,
20
+
21
+      allLoaded: false,//数据全部加载
22
+    }
23
+  },
24
+  components: {
25
+
26
+  },
27
+
28
+  created () {
29
+    // window.console.log(this.cover, "543");
30
+    // 封面
31
+    request({
32
+      ...apis.case.cover,
33
+
34
+    }).then(data => {
35
+      this.cover = data[0];
36
+    })
37
+
38
+
39
+    // axios.get('http://localhost:8080/pc/case/cover')
40
+
41
+    // 分类
42
+    // axios.get('http://localhost:8080/pc/caseType/list')
43
+    request({
44
+      ...apis.caseType.list,
45
+    })
46
+      .then(res => {
47
+
48
+        this.casetype = res.records;
49
+
50
+      })
51
+    // 内容http://localhost:8080/pc/case/{case}/list
52
+    request({
53
+      ...apis.case.list,
54
+      urlData: { type: 'case' },
55
+      params: { pageNum: this.num, pageSize: 8 }
56
+    }).then(con => {
57
+      // console.log(con,"124")
58
+      this.caselist = con.records;
59
+      // window.console.log(this.caselist, "543");
60
+    }).catch()
61
+
62
+
63
+  },
64
+
65
+  computed: {
66
+
67
+  },
68
+
69
+  methods: {
70
+    add (a) {
71
+     
72
+      console.log(this.num, "124")
73
+      request({
74
+        ...apis.case.list,
75
+        urlData: { type: 'case' },
76
+        params: { pageNum: a, pageSize: 8 }
77
+      }).then(con => {
78
+        console.log(con, "124")
79
+        this.caselist = this.caselist.concat(con.records);
80
+        if(con.total%8) this.allLoaded=true;
81
+      
82
+        // this.caselist = con.records;
83
+
84
+      })
85
+    },
86
+
87
+    classification (Type) {
88
+       request({
89
+        ...apis.case.list,
90
+        urlData: { type: 'case' },
91
+        params: { pageNum: a, pageSize: 8  }
92
+      }).then(con => {
93
+        console.log(con, "124")
94
+        this.caselist = this.caselist.concat(con.records);
95
+        
96
+      
97
+        // this.caselist = con.records;
98
+
99
+      })
100
+    }
101
+  }
102
+
103
+
104
+}
105
+
106
+</script>

+ 45
- 0
src/config/api.js 파일 보기

@@ -0,0 +1,45 @@
1
+const commPrefix = '/pc'
2
+
3
+const apis = {
4
+  carousel:{
5
+    list:{
6
+      url:`${commPrefix}/carousel/list`
7
+    }
8
+  },
9
+  case: {
10
+    cover: {
11
+      url: `${commPrefix}/case/cover`,
12
+      method: 'get',
13
+    },
14
+
15
+
16
+    list: {
17
+      url: `${commPrefix}/case/:type/list`,
18
+      method: 'get',
19
+    },
20
+  },
21
+  caseType: {
22
+    list: {
23
+      url: `${commPrefix}/caseType/list`,
24
+      method: 'get',
25
+    },
26
+
27
+  },
28
+  partner:{
29
+    list:{
30
+      url: `${commPrefix}/partner/list`,
31
+      method: 'get',
32
+    },
33
+  },
34
+  service:{
35
+    list:{
36
+      url:`${commPrefix}/service/list`,
37
+    }
38
+  }
39
+
40
+
41
+
42
+ 
43
+}
44
+
45
+export default apis

+ 8
- 0
src/main.js 파일 보기

@@ -4,7 +4,14 @@ import App from './App.vue'
4 4
 import router from './router'
5 5
 import store from './store'
6 6
 import 'element-ui/lib/theme-chalk/index.css'
7
+import axios from "axios"
8
+import VueAxios from 'vue-axios'
9
+// import VueResource from 'vue-resource'
7 10
 
11
+Vue.use(VueAxios, axios);
12
+// Vue.use(VueResource)
13
+
14
+Vue.prototype.$axios = axios;
8 15
 Vue.config.productionTip = false
9 16
 
10 17
 Vue.use(ElementUI)
@@ -12,5 +19,6 @@ Vue.use(ElementUI)
12 19
 new Vue({
13 20
   router,
14 21
   store,
22
+  
15 23
   render: h => h(App)
16 24
 }).$mount('#app')

+ 33
- 1
src/router.js 파일 보기

@@ -45,7 +45,39 @@ export default new Router({
45 45
       // which is lazy-loaded when the route is visited.
46 46
       component: () => import(/* webpackChunkName: "Contact" */ './views/Contact.vue')
47 47
     },
48
-  
48
+    {
49
+      path: '/details',
50
+      name: 'details',
51
+      // route level code-splitting
52
+      // this generates a separate chunk (about.[hash].js) for this route
53
+      // which is lazy-loaded when the route is visited.
54
+      component: () => import(/* webpackChunkName: "Details" */ './views/Details.vue')
55
+    },
56
+    {
57
+      path: '/business',
58
+      name: 'business',
59
+      // route level code-splitting
60
+      // this generates a separate chunk (about.[hash].js) for this route
61
+      // which is lazy-loaded when the route is visited.
62
+      component: () => import(/* webpackChunkName: "Business" */ './components/Business.vue')
63
+    },
64
+    {
65
+      path: '/wheelplanting',
66
+      name: 'wheelplanting',
67
+      // route level code-splitting
68
+      // this generates a separate chunk (about.[hash].js) for this route
69
+      // which is lazy-loaded when the route is visited.
70
+      component: () => import(/* webpackChunkName: "Wheelplanting" */ './components/Wheelplanting.vue')
71
+    },
72
+    {
73
+      path: '/mobnav',
74
+      name: 'mobnav',
75
+      // route level code-splitting
76
+      // this generates a separate chunk (about.[hash].js) for this route
77
+      // which is lazy-loaded when the route is visited.
78
+      component: () => import(/* webpackChunkName: "mobnav" */ './components/mobnav.vue')
79
+    },
49 80
     
81
+    // // 
50 82
   ]
51 83
 })

+ 0
- 6
src/utils/comptype.js 파일 보기

@@ -1,6 +0,0 @@
1
-export const CTYP_GROUP = 'G-';
2
-export const CTYP_SINGLE_LINE = 'single-line';
3
-export const CTYP_MULTI_LINE = 'multi-line';
4
-export const CTYP_IMAGE = 'image';
5
-export const CTYP_MAP = 'map';
6
-export const CTYP_CONTACT_FORM = `${CTYP_GROUP}contact_form`;

+ 0
- 6
src/utils/httpcode.js 파일 보기

@@ -1,6 +0,0 @@
1
-export default {
2
-  HTTP_OK: 200,
3
-  HTTP_MULTIPLECHOICES: 300,
4
-  HTTP_BADREQUEST: 400,
5
-  HTTP_UNAUTHORIZED: 401
6
-}

+ 0
- 61
src/utils/request.js 파일 보기

@@ -1,61 +0,0 @@
1
-import axios from 'axios'
2
-
3
-// 远程请求, 返回 promise
4
-// 参数 api 与 axios 基本一致
5
-// 增加了一个 urlData 字段, 用来设置 url path 变量值
6
-function request(params = {}) {
7
-  const { urlData, data: rawData, url: rawURL, headers = {}, ...config } = params;
8
-  const url = replaceApiParams(rawURL, urlData)
9
-  // const data = (rawData instanceof FormData) ? rawData : JSON.stringify(rawData)
10
-  const token = localStorage.getItem('x-token') || ''
11
-  const contenType = (rawData instanceof FormData) ? 'multipart/form-data' : 'application/json'
12
-  
13
-  return new Promise((resolve, reject) => {
14
-    axios({
15
-      ...config,
16
-      url,
17
-      data: rawData,
18
-      headers: {
19
-        'Content-Type': contenType,
20
-        ...headers,
21
-        'Authorization': `Bearer ${token}`,
22
-      }
23
-    }).then(({ data: res }) => {
24
-
25
-      // 服务端返回包含 code, message, data 字段
26
-      const { code, data } = res
27
-
28
-      // 业务处理正确则返回 1000
29
-      if (code === 1000) {
30
-        resolve(data)
31
-      } else {
32
-        reject(res)
33
-      }
34
-
35
-    }).catch((error) => {
36
-      // 异常情况
37
-      if (error.response) {
38
-        reject({ message: error.response.statusText })
39
-      } else {
40
-        reject({ message: error.message })
41
-      }
42
-    })
43
-  })
44
-}
45
-
46
-function replaceApiParams (url, params) {
47
-  if (typeof params !== 'object') return url
48
-
49
-  return url.split('/').map((it) => {
50
-    if (it.indexOf(':') === 0) {
51
-      const theKey = it.substr(1)
52
-      return Object.prototype.hasOwnProperty.call(params, theKey)
53
-        ? params[theKey]
54
-        : it
55
-    }
56
-
57
-    return it
58
-  }).join('/')
59
-}
60
-
61
-export default request

+ 0
- 17
src/utils/uploadImage.js 파일 보기

@@ -1,17 +0,0 @@
1
-import request from './request';
2
-import apis from '../config/api';
3
-
4
-export default (file) => {
5
-  return new Promise((resolve, reject) => {
6
-    const fm = new FormData()
7
-    fm.append('file', file)
8
-    request({
9
-      ...apis.file.upload,
10
-      data: fm,
11
-    }).then((data) => {
12
-      resolve(data)
13
-    }).catch((err) => {
14
-      reject(err.message || err)
15
-    })
16
-  })
17
-}

+ 196
- 138
src/views/About.vue 파일 보기

@@ -1,177 +1,235 @@
1 1
 <template>
2 2
   <div class="about">
3 3
     <div class>
4
-      <img src="../assets/image/about/首屏banner.jpg" width="100%" height="500px" />
4
+      <img src="../assets/image/about/aboutbanner.jpg" width="100%" />
5 5
     </div>
6 6
 
7
-    <div class="st">
8
-      <div class="abc">
9
-        <p>
10
-          南京福予文化传媒有限公司成立于2018年6月,是一家崇尚服务与品质的广告创意公司,拥有多元化的团队体系及全案服务能
11
-          力。从品牌策略到营销策划、广告创意、设计成型、落地执行、一站式解决客户所需。
12
-        </p>
13
-        <img src="../assets/image/about/FOYO形象图.jpg" width="100%" height="100%" />
7
+    <div class="contanier st">
8
+      <div class="row">
9
+        <div class="col-md-12">
10
+          <div class="sssss">
11
+            <p class="text-left" >
12
+              南京福予文化传媒有限公司成立于2018年6月,是一家崇尚服务与品质的广告创意公司,拥有多元化的团队体系及全案服务能
13
+              力。从品牌策略到营销策划、广告创意、设计成型、落地执行、一站式解决客户所需。
14
+            </p>
15
+            <br />
16
+            <div class="col-md-12">
17
+            <div class="abc">
18
+              <img src="../assets/image/about/FOYO.jpg" style="width:100%" />
19
+            </div>
20
+          </div>
21
+          </div>
22
+        </div>
14 23
       </div>
15 24
 
16
-      <br />
17
-
18
-      <div class="abc">
19
-        <div class="row">
20
-          <div class="col-xs-6 col-md-3">
21
-            <a href="#" class="thumbnail">
22
-              <img src="../assets/image/about/Advantage1.png" alt="..." />
23
-              <div class="caption">
24
-                <h4>多元化服务</h4>
25
-                <p>
26
-                  团队能力多元化
27
-                  <br />服务体系立体化
28
-                  <br />我们懂得多,
29
-                  <br />您就更省心!
30
-                </p>
31
-              </div>
32
-            </a>
25
+      <div class="row about-1">
26
+        <div class="col-xs-6 col-md-3">
27
+          <img src="../assets/image/about/Advantage1.png" class="about-1-img" alt="..." />
28
+          <div class="caption">
29
+            <h2>多元化服务</h2>
30
+            <p class="p1">
31
+              团队能力多元化
32
+              <br />服务体系立体化
33
+              <br />我们懂得多,
34
+              <br />您就更省心!
35
+            </p>
33 36
           </div>
37
+        </div>
34 38
 
35
-          <div class="col-xs-6 col-md-3">
36
-            <a href="#" class="thumbnail">
37
-              <img src="../assets/image/about/Advantage2.png" alt="..." />
38
-              <div class="caption">
39
-                <h4>注重创意</h4>
40
-                <p>
41
-                  不流于形式,
42
-                  <br />至始至终将服务放于首位!
43
-                  <br />用更好的创意,
44
-                  <br />助力客户创造品牌价值!
45
-                  <br />
46
-                </p>
47
-              </div>
48
-            </a>
39
+        <div class="col-xs-6 col-md-3">
40
+          <img src="../assets/image/about/Advantage2.png" class="about-1-img" alt="..." />
41
+          <div class="caption">
42
+            <h2>注重创意</h2>
43
+            <p class="p1">
44
+              不流于形式,
45
+              <br />至始至终将服务放于首位!
46
+              <br />用更好的创意,
47
+              <br />助力客户创造品牌价值!
48
+              <br />
49
+            </p>
49 50
           </div>
51
+        </div>
50 52
 
51
-          <div class="col-xs-6 col-md-3">
52
-            <a href="#" class="thumbnail">
53
-              <img src="../assets/image/about/Advantage3.png" alt="..." />
54
-              <div class="caption">
55
-                <h4>不违初心的服务</h4>
56
-                <p>
57
-                  态度+热情+能力
58
-                  <br />=FOYO
59
-                  <br />用心,才能心动
60
-                  <br />合作有保障!
61
-                </p>
62
-              </div>
63
-            </a>
53
+        <div class="col-xs-6 col-md-3">
54
+          <img src="../assets/image/about/Advantage3.png" class="about-1-img" alt="..." />
55
+          <div class="caption">
56
+            <h2>不违初心的服务</h2>
57
+            <p class="p1">
58
+              态度+热情+能力
59
+              <br />=FOYO
60
+              <br />用心,才能心动
61
+              <br />合作有保障!
62
+            </p>
64 63
           </div>
64
+        </div>
65 65
 
66
-          <div class="col-xs-6 col-md-3">
67
-            <a href="#" class="thumbnail">
68
-              <img src="../assets/image/about/Advantage4.png" alt="..." />
69
-              <div class="caption">
70
-                <h4>更舒心的价格</h4>
71
-                <p>
72
-                  部分服务支持先出预案
73
-                  <br />满意再付定金。
74
-                  <br />承诺比市面上同档次广告公司
75
-                  <br />的服务价位低20%以上!
76
-                </p>
77
-              </div>
78
-            </a>
66
+        <div class="col-xs-6 col-md-3">
67
+          <img src="../assets/image/about/Advantage4.png" class="about-1-img" alt="..." />
68
+          <div class="caption">
69
+            <h2>更舒心的价格</h2>
70
+            <p class="p1">
71
+              部分服务支持先出预案
72
+              <br />满意再付定金。
73
+              <br />承诺比市面上同档次广告公司
74
+              的服务价位低20%以上!
75
+            </p>
79 76
           </div>
80 77
         </div>
81 78
       </div>
82 79
 
83
-      <div class="">
84
-        <h1>我们的团队</h1>
85
-        <br />
86
-        <br />
87
-        <br />
88
-        <div class="row">
89
-          <div class="col-xs-6 col-md-2">
90
-            <img src="../assets/image/about/Photo_sfg.jpg" alt="..." />
91
-          </div>
92
-          <div class="col-xs-6 col-md-4">
93
-            <div class="text-left">
94
-              <h2>孙福高</h2>
95
-              <p>创始人兼艺术总监</p>
96
-              <p>
97
-                10多年视觉设计经验;
98
-                <br />8余年项目管理经验;
99
-                <br />擅长将多种媒体技术与新兴技术结合;
100
-                <br />带队服务于丰盛集团、中国船舶重工集团、银城地产等上市公司及国企。
101
-              </p>
102
-            </div>
103
-          </div>
80
+      <div class="row">
81
+        <h1 style="padding-top: 32px; font-size: 4.8rem">我们的团队</h1>
82
+      </div>
104 83
 
105
-          <div class="col-xs-6 col-md-3">
106
-            <img src="../assets/image/about/Photo_ly.jpg" alt="..." />
107
-          </div>
108
-          <div class="col-xs-6 col-md-3">
109
-            <div class="text-left">
110
-              <h2>李阳</h2>
111
-              <p>创意总监兼合伙人</p>
112
-              <p>
113
-                职业广告人;
114
-                <br />丰富的产品推广及活动策划经验;
115
-                <br />江苏省省级政府项目主策划
116
-                <br />带领团队服务于华为,渣打(中国总部),德勤(中国)等重要项目。
117
-              </p>
118
-            </div>
84
+      <div class="row about-2">
85
+        <div class="col-xs-6 col-md-3">
86
+          <img src="../assets/image/about/Photo_sfg.jpg" class="about-ph1" alt="..." />
87
+        </div>
88
+        <div class="col-xs-6 col-md-3" style="padding: 0">
89
+          <div class="text-left">
90
+            <h1 style="margin-top: 0; font-size: 3.6rem">孙福高</h1>
91
+            <p style="font-size: 2.2rem;color: #595757;margin-bottom: 20px">创始人兼艺术总监</p>
92
+            <p style="font-size: 2.2rem">
93
+              10多年视觉设计经验;
94
+              <br />8余年项目管理经验;
95
+              <br />擅长将多种媒体技术与新兴技术结合;
96
+              <br />带队服务于丰盛集团、中国船舶重工集团、银城地产等上市公司及国企。
97
+            </p>
119 98
           </div>
120 99
         </div>
121 100
 
122
-        <div class="row">
123
-          <div class="col-xs-6 col-md-2 ph5">
124
-            <img src="../assets/image/about/Photo_1.jpg" alt="..." class="ph5" />
125
-          </div>
126
-          <div class="col-xs-6 col-md-2 ph5">
127
-            <img src="../assets/image/about/Photo_2.jpg" alt="..." class="ph5" />
128
-          </div>
129
-          <div class="col-xs-6 col-md-2 ph5">
130
-            <img src="../assets/image/about/Photo_3.jpg" alt="..." class="ph5" />
131
-          </div>
132
-          <div class="col-xs-6 col-md-2 ph5">
133
-            <img src="../assets/image/about/Photo_4.jpg" alt="..." class="ph5" />
134
-          </div>
135
-          <div class="col-xs-6 col-md-2 ph5">
136
-            <img src="../assets/image/about/Photo_5.jpg" alt="..." class="ph5" />
137
-          </div>
138
-          <div class="col-xs-6 col-md-2 ph5">
139
-            <img src="../assets/image/about/Photo_6.jpg" alt="..." class="ph5" />
101
+        <div class="col-xs-6 col-md-3">
102
+          <img src="../assets/image/about/Photo_ly.jpg" class="about-ph1" alt="..." />
103
+        </div>
104
+        <div class="col-xs-6 col-md-3" style="padding: 0">
105
+          <div class="text-left">
106
+            <h1 style="margin-top: 0; font-size: 3.6rem">李阳</h1>
107
+            <p style="font-size: 2.2rem;color: #595757;margin-bottom: 20px">创意总监兼合伙人</p>
108
+            <p style="font-size: 2.2rem">
109
+              职业广告人;
110
+              <br />丰富的产品推广及活动策划经验;
111
+              <br />江苏省省级政府项目主策划;
112
+              <br />带领团队服务于华为,渣打(中国总部),德勤(中国)等重要项目。
113
+            </p>
140 114
           </div>
141 115
         </div>
142 116
       </div>
117
+
118
+      <div class="row about-3">
119
+        <div class="col-xs-2 col-md-2">
120
+          <img src="../assets/image/about/Photo_1.jpg" alt="..." class="ph5" />
121
+        </div>
122
+        <div class="col-xs-2 col-md-2">
123
+          <img src="../assets/image/about/Photo_2.jpg" alt="..." class="ph5" />
124
+        </div>
125
+        <div class="col-xs-2 col-md-2">
126
+          <img src="../assets/image/about/Photo_3.jpg" alt="..." class="ph5" />
127
+        </div>
128
+        <div class="col-xs-2 col-md-2">
129
+          <img src="../assets/image/about/Photo_4.jpg" alt="..." class="ph5" />
130
+        </div>
131
+        <div class="col-xs-2 col-md-2">
132
+          <img src="../assets/image/about/Photo_5.jpg" alt="..." class="ph5" />
133
+        </div>
134
+        <div class="col-xs-2 col-md-2">
135
+          <img src="../assets/image/about/Photo_6.jpg" alt="..." class="ph5" />
136
+        </div>
137
+      </div>
143 138
     </div>
144
-    <br />
145
-    <br />
146 139
   </div>
147 140
 </template>
148 141
 
149 142
 
150 143
 
151 144
 <style scoped>
152
-.about{
153
-  
154
-}
155
-.abc {
156
-  padding-bottom: 50px;
157 145
 
158
-  border-bottom: 2px solid #e5e5e5;
146
+.sssss{
147
+  padding: 40px 20px;
159 148
 }
160
-.ph5 {
161
-  padding: 0px;
162
-  border-radius: 0;
163
-  border: none;
149
+
150
+.about-1-img {
151
+    width: 100%;
152
+    
153
+  }
154
+
155
+/* 小屏幕(平板,大于等于 768px) */
156
+@media (min-width: 768px) {
164 157
 }
165
-.st {
166
-  width: 80%;
167
-  padding: 97px 20px 63px 20px;
168
-  margin-top: -120px;
158
+
159
+/* 中等屏幕(桌面显示器,大于等于 992px) */
160
+@media (min-width: 992px) {
161
+  .st {
162
+    width: 80%;
163
+    padding: 97px 20px 63px 20px;
164
+    margin-top: -120px;
165
+
166
+    background-color: #fff;
167
+    border: 2px solid #dcdcdc;
168
+    display: inline-block;
169
+    border-radius: 0; /*去圆角 */
170
+  }
171
+  .about {
172
+    padding-top: 116px;
173
+  }
174
+  p{
175
+    font-size: 2.4rem;
176
+  }
177
+  .st div div .sssss{
178
+    padding: 0 79px;
179
+  }
180
+
181
+  h2{
182
+    padding-bottom: 30px;
183
+  }
184
+  .about-1-img {
185
+    width: 175px;
186
+    height: 175px;
187
+  }
188
+  .about-ph1 {
189
+    padding: 0 40px 0 40px;
190
+  }
191
+  
192
+
193
+  .abc {
194
+    border-bottom: 2px solid #e5e5e5;
195
+  }
196
+  .about-1 {
197
+    margin: 0 79px;
198
+    padding: 78px 0 84px 0;
199
+    border-bottom: 2px solid #e5e5e5;
200
+  }
201
+  .about-2 {
202
+    padding-top: 123px;
203
+  }
169 204
   
170
-  background-color: #fff;
171
-  border: 2px solid #dcdcdc;
172
-  display: inline-block;
173
-  border-radius: 0; /*去圆角 */
205
+  .ph5 {
206
+    width: 100%;
207
+    padding: 0px;
208
+    
209
+  }
174 210
 }
175 211
 
212
+/* 大屏幕(大桌面显示器,大于等于 1200px) */
213
+@media (min-width: 1200px) {
214
+}
215
+
216
+
217
+</style>
218
+
219
+<style lang="less" scoped>
220
+ .about-3{
221
+   margin: 0;
222
+    padding-top: 100px;
223
+    padding-left: 40px;
224
+    padding-right: 40px;
225
+    div{
226
+      margin: 0;
227
+      padding: 0;
228
+      img{
229
+        width: 100%;
230
+      }
231
+    }
232
+ }
233
+
176 234
 
177 235
 </style>

+ 211
- 49
src/views/Case.vue 파일 보기

@@ -1,88 +1,250 @@
1 1
 <template>
2 2
   <div class="case">
3
-    <div class="head">
4
-      <img src="../assets/1.jpg" width="100%" height="300px" />
3
+    <div>
4
+      <img :src="cover.coverImg" width="100%" />
5
+      <!-- width="100%" height="300"> -->
5 6
     </div>
6 7
 
7
-    <div>
8
-      <div class="st">
9
-        <h2>1234</h2>
10
-        <a>客户:</a>
11
-        <a>wad</a>
12
-        <a>所属行业:</a>
13
-        <a></a>
14
-        <div class="border-top">
15
-          <img src="../assets/1.jpg" width="100%" height="100%" />
16
-        </div>
8
+    <div class="border-bottom">
9
+      <div id="bs-example-navbar-collapse-2">
10
+        <button type="button" class="btn-link" style="color:black;font-size: 24px;padding: 25px">全部案例</button>
11
+        <button v-for="cas in casetype" :key="cas" @click="classification(cas.typeName)" type="button" class="btn-link" style="color:black;font-size: 24px;padding: 25px">{{cas.typeName}}</button>
17 12
       </div>
13
+    </div>
18 14
 
19
-      <div>
20
-        <ul>
21
-          <button type="button" class="btn btn-default">上个案例</button>
22
-          <button type="button" class="btn btn-default">返回</button>
23
-          <button type="button" class="btn btn-default">下个案例</button>
24
-        </ul>
15
+    <div class="row mobtype">
16
+      <div class="col-xs-6">
17
+        <div><p style="line-height:40px">选择想看的案例类型:</p></div>
18
+      </div>
19
+      <div class="col-xs-6">
20
+        <el-button class="btn-link" @click="drawer = true" type="button" style="margin-left: 16px;">全部案例</el-button>
25 21
       </div>
26 22
     </div>
23
+    <el-drawer :visible.sync="drawer" :direction="direction" :before-close="handleClose" :show-close="true" size="80%">
24
+      <div>
25
+        <el-row>
26
+          <el-col :span="24" :offset="6">
27
+            <button type="button" class="btn-link" style="color:black;font-size: 24px;">全部案例</button>
28
+          </el-col>
29
+          <el-col :span="24" :offset="6" v-for="cas in casetype" :key="cas" @click="classification(cas.typeName)">
30
+            <button type="button" class="btn-link" style="color:black;font-size: 24px">{{cas.typeName}}</button>
31
+          </el-col>
32
+          <el-col :span="24" :offset="6">
33
+            <button type="button" class="btn btn-default" @click="drawer = flase" style="color:black;font-size: 24px;position:fixed;bottom:100px;">返回</button>
34
+          </el-col>
35
+        </el-row>
36
+      </div>
37
+    </el-drawer>
27 38
 
28
-    <div class="center-block" style="width: 80%">
29
-      <br />
30
-      <br />
31
-      <h6>更多好案例</h6>
32
-      <br />
39
+    <div class="contanier center-block dyn-main">
33 40
       <div class="row">
34
-        <div v-for="item in 4" :key="item">
35
-          <div class="col-xs-3 col-md-3">
36
-            <a href="#" class="thumbnail">
37
-              <img src="../assets/1.jpg" width="100%" height="100%" />
38
-            </a>
41
+        <div v-for="(item,index) in caselist" :key="index">
42
+          <div class="col-md-6 col-xs-6 ph">
43
+            <div class="ph-houver">
44
+              <a href="/details" style="text-decoration:none;">
45
+                <div :style="{background: `url(${item.caseCoverImg})`}" class="case-ph"></div>
46
+                <div class="text-left">
47
+                  <h2>{{item.caseTitle}}</h2>
48
+                  <P>{{item.caseSummary}}</P>
49
+                </div>
50
+              </a>
51
+            </div>
39 52
           </div>
40 53
         </div>
41 54
       </div>
42 55
     </div>
56
+
57
+    <div>
58
+      <button type="button" v-show="!allLoaded" class="btn btn-default" @click="add(++num)">加载更多</button>
59
+    </div>
60
+
61
+    <div v-show="allLoaded">
62
+      <p>已经到底了~更多案例尽请期待~</p>
63
+    </div>
43 64
   </div>
44 65
 </template>
45 66
 
67
+
46 68
 <script>
69
+// @ is an alias to /src
47 70
 
71
+import request from '../../utils/request'
72
+import apis from '../config/api'
48 73
 
49 74
 export default {
75
+  name: 'case',
76
+  data () {
77
+    return {
78
+      cover: {},
79
+      casetype: [],
80
+      caselist: [],
81
+      num: 1,
82
+
83
+      allLoaded: false,//数据全部加载
84
+      drawer: false,
85
+      direction: 'rtl',
86
+    }
87
+  },
88
+  components: {
50 89
 
51
-}
52
-</script>
90
+  },
53 91
 
92
+  created () {
93
+    // window.console.log(this.cover, "543");
94
+    // 封面
95
+    request({
96
+      ...apis.case.cover,
54 97
 
55
-<script scoped>
56
-// @ is an alias to /src
98
+    }).then(data => {
99
+      this.cover = data[0];
100
+    })
57 101
 
58 102
 
59
-export default {
60
-  name: 'case',
61
-  components: {
103
+    // axios.get('http://localhost:8080/pc/case/cover')
104
+
105
+    // 分类
106
+    // axios.get('http://localhost:8080/pc/caseType/list')
107
+    request({
108
+      ...apis.caseType.list,
109
+    })
110
+      .then(res => {
111
+
112
+        this.casetype = res.records;
113
+
114
+      })
115
+    // 内容http://localhost:8080/pc/case/{case}/list
116
+    request({
117
+      ...apis.case.list,
118
+      urlData: { type: 'case' },
119
+      params: { pageNum: this.num, pageSize: 8 }
120
+    }).then(con => {
121
+      // console.log(con,"124")
122
+      this.caselist = con.records;
123
+      // window.console.log(this.caselist, "543");
124
+    }).catch()
125
+
126
+
127
+  },
128
+
129
+  computed: {
130
+
131
+  },
132
+
133
+  methods: {
134
+    add (a) {
135
+
136
+      console.log(this.num, "124")
137
+      request({
138
+        ...apis.case.list,
139
+        urlData: { type: 'case' },
140
+        params: { pageNum: a, pageSize: 8 }
141
+      }).then(con => {
142
+        console.log(con, "124")
143
+        this.caselist = this.caselist.concat(con.records);
144
+        if (con.total % 8) this.allLoaded = true;
145
+
146
+        // this.caselist = con.records;
147
+
148
+      })
149
+    },
150
+
151
+    classification (Type) {
152
+      request({
153
+        ...apis.case.list,
154
+        urlData: { type: 'case' },
155
+        params: { pageNum: a, pageSize: 8 }
156
+      }).then(con => {
157
+        console.log(con, "124")
158
+        this.caselist = this.caselist.concat(con.records);
159
+
160
+
161
+
162
+
163
+      })
164
+    },
165
+
62 166
 
63 167
   }
168
+
169
+
64 170
 }
65 171
 </script>
66 172
 
67
-<style>
173
+<style scoped>
68 174
 
69
-
70
-.head {
175
+.mobtype{
176
+  margin-top: 20px;
71 177
 }
72 178
 
73
-.st {
74
-  width: 80%;
75
-  padding: 97px ;
76
-  margin-top: -120px;
179
+.case {
180
+  margin-top: 116px;
181
+}
182
+.border-bottom {
183
+  display: none;
184
+}
77 185
 
78
-  background-color: #fff;
79
-  display: inline-block;
80
-  border-radius: 0;
81
-  border-right: none;
186
+.ph {
187
+  padding: 4%;
82 188
 }
83
-.border-top {
84
-  padding-top: 50px;
189
+.text-left {
190
+  color: #000;
191
+}
192
+.case-ph {
193
+    bottom: 0;
194
+    width: 100%;
195
+
196
+    height: 0;
197
+    padding-bottom: 65%;
198
+    background-size: 100% 100% !important;
199
+  }
200
+
201
+@media (min-width: 992px) {
202
+  .main {
203
+    display: -webkit-flex; /* Safari */
204
+    display: flex;
205
+    flex-direction: row;
206
+    flex-wrap: wrap;
207
+    /* flex-flow: <flex-direction> <flex-wrap>; */ /*简写*/
208
+    justify-content: center;
209
+  }
210
+  .case {
211
+    background-color: #fafafa;
212
+  }
85 213
 
86
-  border-top: 1px solid #aaa;
214
+  
215
+  .btn {
216
+    font-size: 24px;
217
+    margin-top: 88px;
218
+    padding: 12px 150px;
219
+    border-radius: 0px;
220
+    color: #000;
221
+    background-color: #fff;
222
+    border: 1px solid #aaaaaa;
223
+  }
224
+  .btn:hover {
225
+    color: #e03723;
226
+    border: 1px solid #e03723;
227
+  }
228
+  .ph {
229
+    padding: 12px 34px 0 34px;
230
+  }
231
+
232
+  .ph:hover .ph-houver {
233
+    transform: translate3d(0, -20px, 0);
234
+    /* margin-top: -20px; */
235
+    box-shadow: 0 20px 5px #888888;
236
+  }
237
+
238
+  .dyn-main {
239
+    padding-top: 55px;
240
+    width: 80%;
241
+  }
242
+
243
+  .border-bottom {
244
+    display: block;
245
+    font-size: 24px;
246
+    border-bottom: 1px solid #bfbfbf;
247
+    padding: 10px;
248
+  }
87 249
 }
88 250
 </style>

+ 122
- 35
src/views/Contact.vue 파일 보기

@@ -1,63 +1,150 @@
1 1
 <template>
2 2
   <div class="contact">
3 3
     <div class>
4
-      <img src="../assets/image/contact/首屏banner.png" style="height:500px" />
4
+      <img src="../assets/image/contact/contactbanner.png" style="width:100%" />
5 5
       <!-- width="100%" height="300"> -->
6 6
     </div>
7 7
 
8
-    <div class="panel panel-default center-block">
9
-      <div class="panel-body">
10
-        <h1>联系我们</h1>
11
-        <br />
12
-        <br />
8
+    <div class="contact-1">
9
+      <div class="contact-main">
10
+        <h1 style="margin-bottom:70px">联系我们</h1>
11
+
13 12
         <div class="row">
14
-          <div class="col-xs-6 col-md-6 st" style="border-right:1px solid #aaa;">
15
-            <img src="../assets/image/contact/微信二维码.jpg" />
13
+          <div class="col-md-6 col-xs-6 st1" style="border-right: 1px solid #aaa;">
14
+            <img class="img1" src="../assets/image/contact/weixin.jpg" />
16 15
             <div>
17
-              <h1>微信咨询</h1>
16
+              <h2>微信咨询</h2>
18 17
             </div>
19 18
           </div>
20 19
 
21
-          <div class="col-xs-6 col-md-6 st">
22
-            <img src="../assets/image/contact/QQ二维码.jpg" />
23
-            <h1>QQ咨询</h1>
20
+          <div class="col-md-6 col-xs-6 st2">
21
+            <img class="img1" src="../assets/image/contact/QQ.jpg" />
22
+            <div>
23
+              <h2>QQ咨询</h2>
24
+            </div>
24 25
           </div>
25 26
         </div>
27
+
26 28
         <div>
27
-          <p>
28
-            电话咨询:
29
-            <em>
30
-              <strong>135 8516 7730</strong>
31
-            </em>
32
-          </p>
33
-
34
-          <br />
35
-          <br />
36
-          <br />
37
-          <strong>南京福予文化传媒有限公司</strong>
38
-          <p>地址:南京市江宁区秣周东路12号悠谷三号楼(砂之船奥特莱斯旁)</p>
29
+  
30
+          <a href="tel:13585167730">
31
+            <img src="../assets/image/contact/photo.jpg" alt style="padding-top:100px;width:100%" />
32
+          </a>
39 33
         </div>
40 34
       </div>
35
+      <div class style=" ">
36
+        <p style="padding-top: 70px;font-size: 3.6rem">
37
+          <strong>南京福予文化传媒有限公司</strong>
38
+        </p>
39
+
40
+        <p style="font-size: 3rem;padding-top: 14px;">地址:南京市江宁区秣周东路12号悠谷三号楼(砂之船奥特莱斯旁)</p>
41
+      </div>
41 42
     </div>
42 43
   </div>
43 44
 </template>
44 45
 
46
+
45 47
 <style scoped>
46
-.panel {
48
+/* .contact-box {
47 49
   width: 80%;
50
+  margin: 0 auto - 120px;
51
+  
52
+  .contact-main {
53
+    width: 704px;
54
+    text-align: center;
55
+  }
48 56
 
49
-  border-radius: 0;
50
-  margin-top: -100px;
51
-  background-color: #fff;
52
-  display: inline-block;
53
-}
57
+  .col-xs-6 {
58
+    &:last-child {
59
+      float: right;
60
+    }
61
+
62
+    & + .col-xs-6 {
63
+      
64
+    }
65
+  }
54 66
 
55
-.st {
56
-  padding: 50px;
67
+} */
68
+@media (max-width: 992px) {
69
+  .st1 {
70
+  }
57 71
 }
58 72
 
59
-img {
60
-  width: 100%;
61
-  height: 100%;
73
+@media (min-width: 992px) {
74
+  .contact-1 {
75
+    width: 80%;
76
+    padding: 50px;
77
+    margin-top: -120px;
78
+
79
+    background-color: #fff;
80
+    display: inline-block;
81
+    border-radius: 0;
82
+    border: 1px solid #dcdcdc;
83
+  }
84
+
85
+  .contact-1 .contact-main {
86
+    width: 707px;
87
+    margin: 0 auto;
88
+    padding-top: 20px;
89
+  }
90
+  .st1 {
91
+    padding-right: 120px;
92
+  }
93
+  .st2 {
94
+    padding-left: 120px;
95
+  }
96
+
97
+  .contact-2 {
98
+    padding: 98px 98px 27px 98px;
99
+  }
100
+}
101
+h2 {
102
+  margin-bottom: -22px;
62 103
 }
104
+
105
+.contact {
106
+    padding-top: 116px;
107
+  }
108
+
109
+
110
+ /*  .contact-1 {
111
+    width: 80%;
112
+    padding: 50px;
113
+    margin-top: -120px;
114
+
115
+    background-color: #fff;
116
+    display: inline-block;
117
+    border-radius: 0;
118
+    border: 1px solid #dcdcdc;
119
+  }
120
+  .contact-2 {
121
+    padding: 98px 98px 27px 98px;
122
+ 
123
+  }
124
+  .st {
125
+    padding: 0 100px;
126
+  }
127
+  
128
+  
129
+  .img1{
130
+    width: 100%;
131
+
132
+  }
133
+
134
+  
135
+
136
+  .contact-1 > div {
137
+    width: 704px;
138
+    margin: 0 auto;
139
+  }
140
+
141
+
142
+  @media (max-width: 768px) {
143
+    
144
+  .contact-1 > div {
145
+    width: 222px;
146
+    margin: 0 auto;
147
+  }
148
+    
149
+  } */
63 150
 </style>

+ 141
- 0
src/views/Details.vue 파일 보기

@@ -0,0 +1,141 @@
1
+<template>
2
+  <div class="details">
3
+    <div class="head">
4
+      <img src="../assets/image/case/首屏banner.jpg" width="100%" height="100%" />
5
+    </div>
6
+
7
+    <div>
8
+      <div class="contanier st">
9
+        <div class="row">
10
+          <h1 style="font-size: 4.8em">1234</h1>
11
+        </div>
12
+        <div class="row">
13
+          <!-- <a style="font-size: 4.8em">客户:</a>
14
+        <img src="../assets/image/case2/客户logo.jpg" alt="">
15
+        <a>所属行业:</a>
16
+          <a>智能家居</a>-->
17
+          <p style="font-size: 24px; color: #3e3a39">
18
+            客户:
19
+            <img src="../assets/image/case2/客户logo.jpg" alt /> &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 所属行业: 智能家居
20
+          </p>
21
+        </div>
22
+        <div class="row">
23
+          <div class="border-top"><img src="" width="100%" height= /></div>
24
+        </div>
25
+        <div class="row">
26
+          <div class="col-xs-6 col-md-6">
27
+            <div class="pull-left">
28
+              <a class="btn-default" href="#" role="button">
29
+                <img src="../assets/image/case2/赞.png" alt />
30
+              </a>赞 | 234
31
+            </div>
32
+          </div>
33
+          <div class="col-xs-6 col-md-6">
34
+            <div class="pull-right">
35
+              分享:
36
+              <a class="btn-default" href="#" role="button">
37
+                <img src="../assets/image/case2/微信icon.png" alt />
38
+              </a>
39
+              <a class="btn-default" href="#" role="button">
40
+                <img src="../assets/image/case2/微博icon.png" alt />
41
+              </a>
42
+            </div>
43
+          </div>
44
+        </div>
45
+      </div>
46
+
47
+      <div class="contanier center-block" style="width: 80%;border-bottom: 1px solid #aaa;">
48
+        <div class="row case-2">
49
+          <div class="col-xs-4 col-md-4 case-3">
50
+            <button type="button" class="btn-link pull-left case-3 button-hover" style="font-size: 24px;color:black;border:none;">上一个案例</button>
51
+          </div>
52
+          <div class="col-xs-4 col-md-4 case-3">
53
+            <button type="button" class="btn btn-default button-hover">返回</button>
54
+          </div>
55
+          <div class="col-xs-4 col-md-4 case-3">
56
+            <button type="button" class="btn-link pull-right case-3 button-hover" style="font-size: 24px;color:black;border:none;">下一个案例</button>
57
+          </div>
58
+        </div>
59
+      </div>
60
+    </div>
61
+
62
+    <div class="center-block" style="width: 80%">
63
+      <div class="row">
64
+        <h2 style="margin-top:64px;margin-bottom:30px">更多好案例</h2>
65
+      </div>
66
+      <div class="row">
67
+        <div v-for="item in 4" :key="item">
68
+          <div class="col-xs-6 col-md-3" style="padding:0">
69
+            <a href="#" class="st4">
70
+              <img src="../assets/image/home/Case2.jpg" style="margin: 0;width: 100%;" />
71
+            </a>
72
+          </div>
73
+        </div>
74
+      </div>
75
+    </div>
76
+  </div>
77
+</template>
78
+
79
+<script>
80
+
81
+
82
+export default {
83
+
84
+}
85
+</script>
86
+
87
+
88
+<script scoped>
89
+// @ is an alias to /src
90
+
91
+
92
+export default {
93
+  name: 'details',
94
+  components: {
95
+
96
+  }
97
+}
98
+</script>
99
+
100
+<style scoped>
101
+@media (min-width: 992px) {
102
+  .case {
103
+    padding-top: 116px;
104
+  }
105
+
106
+  .st {
107
+    width: 80%;
108
+    padding: 50px;
109
+    margin-top: -120px;
110
+    background-color: #fff;
111
+    display: inline-block;
112
+    border-radius: 0;
113
+    border: 2px solid #bcbcbc;
114
+  }
115
+  .border-top {
116
+    padding-top: 50px;
117
+
118
+    border-top: 1px solid #aaa;
119
+  }
120
+
121
+  .case-2 {
122
+    margin: 70px 0;
123
+    padding: 0;
124
+  }
125
+  .case-3 {
126
+    margin: 0;
127
+    padding: 0;
128
+  }
129
+  .btn {
130
+    width: 195px;
131
+    height: 49px;
132
+    font-size: 24px;
133
+    background-color: #fff;
134
+    border: 1px solid #aaaaaa;
135
+  }
136
+  .button-hover:hover {
137
+    color: #e03723;
138
+    border: 1px solid #e03723;
139
+  }
140
+}
141
+</style>

+ 161
- 39
src/views/Dynamic.vue 파일 보기

@@ -1,32 +1,52 @@
1 1
 <template>
2 2
   <div class="dynamic">
3 3
     <div>
4
-      <img src="../assets/1.jpg" width="100%" height="500px" />
4
+      <img :src="cover.coverImg" width="100%" />
5 5
       <!-- width="100%" height="300"> -->
6 6
     </div>
7 7
 
8
-    <div>
9
-      <div class="border-bottom">
10
-        <ui v-for="item in 3" :key="item.id">
11
-          <button type="button" class="btn btn-link" style="color:black">全部动态</button>
12
-        </ui>
8
+    <div class="border-bottom">
9
+      <div>
10
+        <button type="button" class="btn-link" style="color:black;font-size: 24px;padding: 25px">全部案例</button>
11
+        <button v-for="cas in casetype" :key="cas" type="button" class="btn-link" style="color:black;font-size: 24px;padding: 25px">{{cas.typeName}}</button>
13 12
       </div>
13
+    </div>
14 14
 
15
-      <br />
16
-
17
-      <div v-for=" item in 8" :key="item.id">
18
-        <div class="col-xs-6 col-md-6 st">
19
-          <a href="#" class="thumbnail">
20
-            <img src="../assets/1.jpg" alt="..." width="100%" height="100%" />
21
-          </a>
15
+    <div>
16
+      <div class="row">
17
+        <div class="col-xs-6">
18
+          <div>选择想看的案例类型:</div>
19
+        </div>
20
+        <div class="col-xs-6">
21
+          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">全部案例</button>
22 22
         </div>
23 23
       </div>
24
-      <div>
25
-        <button type="button" class="btn btn-default">加载更多</button>
24
+    </div>
25
+
26
+    <div class="contanier center-block dyn-main">
27
+      <div class="row">
28
+        <div v-for="(item,index) in caselist" :key="index">
29
+          <div class="col-md-6 col-xs-6 ph">
30
+            <div class="ph-houver">
31
+              <a href="/details" style="text-decoration:none;">
32
+                <img :src="item.caseCoverImg" alt style="width:100%;" />
33
+                <div class="text-left">
34
+                  <h2>{{item.caseTitle}}</h2>
35
+                  <P>{{item.caseSummary}}</P>
36
+                </div>
37
+              </a>
38
+            </div>
39
+          </div>
40
+        </div>
26 41
       </div>
27
-      <br />
28
-      <br />
29
-      <br />
42
+    </div>
43
+
44
+    <div>
45
+      <button type="button" class="btn btn-default" @click="add">加载更多</button>
46
+    </div>
47
+
48
+    <div v-if="show">
49
+      <p>已经到底了~更多案例尽请期待~</p>
30 50
     </div>
31 51
   </div>
32 52
 </template>
@@ -35,39 +55,141 @@
35 55
 <script>
36 56
 // @ is an alias to /src
37 57
 
58
+import request from '../../utils/request'
59
+import apis from '../config/api'
38 60
 
39 61
 export default {
40
-  name: 'home',
62
+  name: 'dynamic',
63
+  data () {
64
+    return {
65
+      cover: {},
66
+      casetype: [],
67
+      caselist: [],
68
+      num: 1,
69
+      show: true,
70
+    }
71
+  },
41 72
   components: {
42 73
 
74
+  },
75
+
76
+  created () {
77
+    // window.console.log(this.cover, "543");
78
+    // 封面
79
+    request({
80
+      ...apis.case.cover,
81
+
82
+    }).then(data => {
83
+      this.cover = data[0];
84
+    })
85
+
86
+
87
+    // axios.get('http://localhost:8080/pc/case/cover')
88
+
89
+    // 分类
90
+    // axios.get('http://localhost:8080/pc/caseType/list')
91
+    request({
92
+      ...apis.caseType.list,
93
+    })
94
+      .then(res => {
95
+        
96
+        this.casetype = res.records;
97
+
98
+      })
99
+    // 内容http://localhost:8080/pc/case/{case}/list
100
+    request({
101
+      ...apis.case.list,
102
+      urlData: { type: 'case' },
103
+      params: { pageNum: 1, pageSize: 8 }
104
+    }).then(con => {
105
+      // console.log(con,"124")
106
+      this.caselist = con.records;
107
+      // window.console.log(this.caselist, "543");
108
+    }).catch()
109
+
110
+
111
+  },
112
+
113
+  computed: {
114
+
115
+  },
116
+
117
+  methods: {
118
+    add () {
119
+
120
+      // axios.get('http://localhost:8080/pc/case/case/list/?pageNum=2&pageSize=8')
121
+      //   .then(con => {
122
+      //     this.caselist = con.data.data.records;
123
+      //     window.console.log(this.caselist, "543");
124
+      //   })
125
+    }
43 126
   }
127
+
128
+
44 129
 }
45 130
 </script>
46 131
 
47 132
 <style scoped>
48
-.ph1 {
49
-  background-size: cover;
50
-  max-width: 100%;
51
-  height: 100%;
52
-}
53
-.ph {
54
-  font-weight: 900px;
55
-  height: 500;
56
-  margin: auto;
133
+.border-bottom {
134
+  display: none;
57 135
 }
58 136
 
59
-.main {
60
-  display: -webkit-flex; /* Safari */
61
-  display: flex;
62
-  flex-direction: row;
63
-  flex-wrap: wrap;
64
-  /* flex-flow: <flex-direction> <flex-wrap>; */ /*简写*/
65
-  justify-content: center;
137
+.ph {
138
+  padding: 4%;
66 139
 }
67
-.border-bottom {
68
-  border-bottom: 1px solid #aaa;
140
+.text-left {
141
+  color: #000;
69 142
 }
70
-.st {
71
-  padding: 50px;
143
+
144
+@media (min-width: 992px) {
145
+  .dynamic {
146
+    padding-top: 116px;
147
+  }
148
+  .main {
149
+    display: -webkit-flex; /* Safari */
150
+    display: flex;
151
+    flex-direction: row;
152
+    flex-wrap: wrap;
153
+    /* flex-flow: <flex-direction> <flex-wrap>; */ /*简写*/
154
+    justify-content: center;
155
+  }
156
+  .dynamic {
157
+    background-color: #fafafa;
158
+  }
159
+
160
+  .btn {
161
+    font-size: 24px;
162
+    margin-top: 88px;
163
+    padding: 12px 150px;
164
+    border-radius: 0px;
165
+    color: #000;
166
+    background-color: #fff;
167
+    border: 1px solid #aaaaaa;
168
+  }
169
+  .btn:hover {
170
+    color: #e03723;
171
+    border: 1px solid #e03723;
172
+  }
173
+  .ph {
174
+    padding: 12px 34px 0 34px;
175
+  }
176
+
177
+  .ph:hover .ph-houver {
178
+    transform: translate3d(0, -20px, 0);
179
+    /* margin-top: -20px; */
180
+    box-shadow: 0 20px 5px #888888;
181
+  }
182
+
183
+  .dyn-main {
184
+    padding-top: 55px;
185
+    width: 80%;
186
+  }
187
+
188
+  .border-bottom {
189
+    display: block;
190
+    font-size: 24px;
191
+    border-bottom: 1px solid #bfbfbf;
192
+    padding: 10px;
193
+  }
72 194
 }
73 195
 </style>

+ 484
- 180
src/views/Home.vue 파일 보기

@@ -1,27 +1,76 @@
1 1
 <template>
2 2
   <div class="home">
3
-    <div>
4
-      <img src="../assets/image/home/首屏banner.jpg" width="100%" height="800px" />
5
-    </div>
3
+    <nav class="navbar navbar-default navbar-fixed-top" :class="{ 'scroll': scrolled }">
4
+      <div class="container-fluid con">
5
+        <div class="navbar-header">
6
+          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
7
+            <span class="sr-only">Toggle navigation</span>
8
+            <span class="icon-bar"></span>
9
+            <span class="icon-bar"></span>
10
+            <span class="icon-bar"></span>
11
+          </button>
12
+          <a class="navbar-brand" href="#">
13
+            <div alt="Brand" class="logo"></div>
14
+          </a>
15
+        </div>
6 16
 
7
-    <div>
8
-      <br />
9
-      <br />
10
-      <div>
11
-        <h2>多元化服务 一站式解决客户需求</h2>
12
-        <p>
13
-          核心团队拥有八年以上营销策划及创业设计经验,团队能力多元化,服务体系立体化
14
-          我们懂得多,您就更省心
15
-        </p>
16
-        <div></div>
17
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
18
+          <ul class="nav navbar-nav navbar-right">
19
+            <li class="a">
20
+              <a href="/">首页</a>
21
+            </li>
22
+            <li class="a">
23
+              <a href="/case">案例</a>
24
+            </li>
25
+            <li class="a">
26
+              <a href="/dynamic">动态</a>
27
+            </li>
28
+            <li class="a">
29
+              <a href="/about">关于</a>
30
+            </li>
31
+            <li class="a">
32
+              <a href="/contact">联系</a>
33
+            </li>
34
+          </ul>
35
+        </div>
36
+      </div>
37
+    </nav>
38
+
39
+    <a href="#pos">
40
+      <div class="aarow_box animated aarowMove">
41
+        <div class="aarow"></div>
42
+      </div>
43
+    </a>
44
+
45
+    <div class="contanier next-page">
46
+      <div class="row">
47
+        <div class="col-md-12 home-wheel">
48
+          <Wheelplanting></Wheelplanting>
49
+        </div>
50
+      </div>
51
+      <div name="pos"></div>
52
+
53
+      <div class="row">
54
+        <div class="col-md-12" style="padding:0;width: 100%;">
55
+          <h2>多元化服务 一站式解决客户需求</h2>
56
+        </div>
57
+      </div>
58
+
59
+      <div class="row">
60
+        <div class="col-md-12" style="padding:0;width: 100%;">
61
+          <p>
62
+            核心团队拥有八年以上营销策划及创业设计经验,团队能力多元化,服务体系立体化。
63
+            <br />我们懂得多,您就更省心!
64
+          </p>
65
+        </div>
17 66
       </div>
18 67
 
19 68
       <div class="row st">
20
-        <div class="col-xs-6 col-md-3">
21
-          <img src="../assets/logo.png" alt="..." />
22
-          <div>
23
-            <h3>品牌服务</h3>
24
-            <p>
69
+        <div class="col-xs-6 col-md-3 sw">
70
+          <img src="../assets/image/home/service_brand.jpg" width="100%" height="100%" alt="..." />
71
+          <div class>
72
+            <h4>品牌服务</h4>
73
+            <p class="text-left business-text">
25 74
               品牌咨询
26 75
               <br />品牌策划
27 76
               <br />CIS/VIS
@@ -30,168 +79,350 @@
30 79
             </p>
31 80
           </div>
32 81
         </div>
33
-        <div class="col-xs-6 col-md-3">
34
-          <img src="../assets/logo.png" alt="..." />
35
-          <div class="caption">
36
-            <h3>111</h3>
37
-            <p>...</p>
82
+
83
+        <div class="col-xs-6 col-md-3 sw">
84
+          <img src="../assets/image/home/service_plan.jpg" width="100%" height="100%" alt="..." />
85
+          <div class>
86
+            <h4>营销与策划</h4>
87
+            <p class="text-left business-text">
88
+              营销创意
89
+              <br />广告创意
90
+              <br />活动策划与执行
91
+            </p>
38 92
           </div>
39 93
         </div>
40
-        <div class="col-xs-6 col-md-3">
41
-          <img src="../assets/logo.png" alt="..." />
42
-          <div class="caption">
43
-            <h3>111</h3>
44
-            <p>...</p>
94
+        <div class="col-xs-6 col-md-3 sw">
95
+          <img src="../assets/image/home/service_design.jpg" width="100%" height="100%" alt="..." />
96
+          <div class>
97
+            <h4>创意设计</h4>
98
+            <p class="text-left business-text">
99
+              平面设计
100
+              <br />平面设计
101
+              <small>(海报/展架/画册/包装...)</small>
102
+              <br />数字媒体
103
+              <small>(H5/短视频/小程序...)</small>
104
+              <br />动画制作
105
+              <br />视觉设计
106
+              <small>(app/网站)</small>
107
+              <br />空间设计
108
+              <small>(美陈/展厅/店面/导视)</small>
109
+              <br />视频包装
110
+            </p>
45 111
           </div>
46 112
         </div>
47
-        <div class="col-xs-6 col-md-3">
48
-          <img src="../assets/logo.png" alt="..." />
49
-          <div class="caption">
50
-            <h3>111</h3>
51
-            <p>...</p>
113
+        <div class="col-xs-6 col-md-3 sw">
114
+          <img src="../assets/image/home/service_make.jpg" width="100%" height="100%" alt="..." />
115
+          <div class>
116
+            <h4>制作与传播</h4>
117
+            <p class="text-left business-text">
118
+              物料制作
119
+              <br />传统媒介
120
+              <br />网络制作
121
+            </p>
52 122
           </div>
53 123
         </div>
54 124
       </div>
125
+    </div>
55 126
 
56
-      <br />
57
-      <br />
58
-
59
-      <div>
60
-        <div class="col-xs-6 col-md-3" style="padding:0">
61
-          <a href="#" class="thumbnail st4">
62
-            <img src="../assets/image/home/Case1.jpg" alt="..." width="25%" class="thumbnail st4" />
63
-          </a>
64
-        </div>
65
-
66
-        <div class="col-xs-6 col-md-3" style="padding:0">
67
-          <a href="#" class="thumbnail st4">
68
-            <img src="../assets/image/home/Case2.jpg" alt="..." width="25%" class="thumbnail st4" />
69
-          </a>
70
-        </div>
71
-
72
-        <div class="col-xs-6 col-md-3" style="padding:0">
73
-          <a href="#" class="thumbnail st4">
74
-            <img src="../assets/image/home/Case3.jpg" alt="..." width="25%" class="thumbnail st4" />
75
-          </a>
76
-        </div>
77
-
78
-        <div class="col-xs-6 col-md-3" style="padding:0">
79
-          <a href="#" class="thumbnail st4">
80
-            <img src="../assets/image/home/Case4.jpg" alt="..." width="25%" class="thumbnail st4" />
127
+    <div class="contanier home-case top-case">
128
+      <div class="row home-case" style="padding:0;width: 100%;">
129
+        <div class="col-xs-6 col-md-3 home-case" v-for="(item,index) in caselist" :key="index">
130
+          <a href="/details">
131
+            <div class="st4" :style="{background: `url(${item.caseCoverImg})`}">
132
+              <div class="casetitle">{{item.caseTitle}}</div>
133
+            </div>
81 134
           </a>
82 135
         </div>
136
+      </div>
137
+    </div>
83 138
 
84
-        <div class="col-xs-6 col-md-3" style="padding:0">
85
-          <a href="#" class="thumbnail st4">
86
-            <img src="../assets/image/home/Case5.jpg" alt="..." width="25%" class="thumbnail st4" />
87
-          </a>
88
-        </div>
139
+    <a class="btn btn-default btn-lg" href="/case" role="button">更多案例</a>
89 140
 
90
-        <div class="col-xs-6 col-md-3" style="padding:0">
91
-          <a href="#" class="thumbnail st4">
92
-            <img src="../assets/image/home/Case6.jpg" alt="..." width="25%" class="thumbnail st4" />
93
-          </a>
94
-        </div>
141
+    <div></div>
95 142
 
96
-        <div class="col-xs-6 col-md-3" style="padding:0">
97
-          <a href="#" class="thumbnail st4">
98
-            <img src="../assets/image/home/Case7.jpg" alt="..." width="25%" class="thumbnail st4" />
99
-          </a>
143
+    <div class="contanier">
144
+      <div class="row" style="padding:0;width: 100%;">
145
+        <div class="col-md-12" style="padding:0;width: 100%;">
146
+          <h1>以品质答谢信任</h1>
100 147
         </div>
101
-
102
-        <div class="col-xs-6 col-md-3" style="padding:0">
103
-          <a href="#" class="thumbnail st4">
104
-            <img src="../assets/image/home/Case8.jpg" alt="..." width="25%" class="thumbnail st4" />
105
-          </a>
148
+        <div class="col-md-12" style="padding:0;width: 100%;">
149
+          <p>
150
+            至始至终将服务放到首位!
151
+            <br class="br-logotop" />用更好的创意,助力客户创造品牌价值
152
+          </p>
106 153
         </div>
107 154
 
108
-        <a class="btn btn-default" href="/case" role="button">更多案例</a>
109
-      </div>
110
-      <div></div>
111
-
112
-      <div class="contanier">
113
-        <div class="row">
114
-          <div class="col-xs-12">
115
-            <h1>以品质答谢信任</h1>
116
-          </div>
117
-          <div class="col-xs-12">
118
-            <p>至始至终将服务放到首位!用更好的创意,助力客户创造品牌价值</p>
119
-          </div>
120
-          <div class="st">
121
-            <div v-for="item in 18" :key="item">
122
-              <div class="col-xs-3 col-md-2">
123
-                <img src="../assets/image/home/Customerlogo1.jpg" alt="..." class="ph-logo"/>
124
-              </div>
125
-            </div>
155
+        <div class="row st">
156
+          <!-- <div v></div> -->
157
+          <div class="col-md-2 col-xs-4" v-for="(item,index) in blogs" :key="index+'img'">
158
+            <!-- <img :src="item.logoImg" alt class="ph-logo" /> -->
159
+            <div class="ph-logo" :style="{background: `url(${item.logoImg})`}"></div>
126 160
           </div>
161
+        </div>
127 162
 
128
-          <div class="st">
129
-            <div class="row">
130
-              <div class="col-xs-6 col-md-6 home-news-hover home-news">
131
-                
132
-                <a href="#">
133
-                  <img src="../assets/image/home/News1.jpg" alt="..." width="100%"/>
134
-                  <div>
135
-                    <h3 class="text-left" style="background-color: black;">品牌服务</h3>
136
-                  </div>
137
-                </a>
138
-                
139
-              </div>
140
-
141
-              <div class="col-xs-6 col-md-6 home-news-hover home-news">
142
-                
143
-                <a href="#">
144
-                  <img src="../assets/image/home/News2.jpg" alt="..." width="100%"/>
145
-                  <div>
146
-                    <h3 class="text-left" style="background-color: black;">品牌服务</h3>
147
-                  </div>
148
-                </a>
149
-                
150
-              </div>
151
-
152
-              <div class="col-xs-6 col-md-6 home-news-hover home-news">
153
-                
154
-                <a href="#">
155
-                  <img src="../assets/image/home/News3.jpg" alt="..." width="100%"/>
156
-                  <div>
157
-                    <h3 class="text-left" style="background-color: black;">品牌服务</h3>
158
-                  </div>
159
-                </a>
160
-                
161
-              </div>
162
-
163
-              <div class="col-xs-6 col-md-6 home-news-hover home-news">
164
-                
165
-                <a href="#">
166
-                  <img src="../assets/image/home/News4.jpg" alt="..." width="100%"/>
167
-                  <div>
168
-                    <h3 class="text-left" style="background-color: black;">品牌服务</h3>
169
-                  </div>
170
-                </a>
171
-                
172
-              </div>
163
+        <div class="contanier st top-news">
164
+          <div class="row">
165
+            <div class="col-xs-6 col-md-6 home-news-hover home-news" v-for="(item,index) in dynamiclist" :key="index">
166
+              <a href="/details">
167
+                <div :style="{background: `url(${item.caseCoverImg})`}" class="home-dynamic"></div>
168
+                <h3 class="text-left" style>{{item.caseTitle}}</h3>
169
+              </a>
173 170
             </div>
171
+            <!-- item.caseCoverImg -->
174 172
           </div>
175 173
         </div>
176 174
       </div>
177
-      <a class="btn btn-default" href="/dynamic" role="button">更多动态</a>
178 175
     </div>
176
+    <a class="btn btn-default btn-lg" href="/dynamic" role="button">更多动态</a>
179 177
   </div>
180 178
 </template>
181 179
 
182 180
 <script>
183 181
 // @ is an alias to /src
182
+//  import Swiper from "swiper";
184 183
 
184
+// const times = x => '*'.repeat(x - 1).split('*')
185 185
 
186
+import Wheelplanting from "@/components/Wheelplanting.vue";
187
+// import Business from "@/components/Business.vue";
188
+
189
+import request from '../../utils/request'
190
+import apis from '../config/api';
186 191
 export default {
187
-  name: 'home',
192
+  name: "home",
193
+  data () {
194
+    return {
195
+      scrolled: false,
196
+      show: true,
197
+      data: '',
198
+      blogs: {},
199
+      phoneCols: 3,
200
+      deskCols: 6,
201
+      caselist: [],
202
+      dynamiclist: [],
203
+    };
204
+  },
205
+  computed: {
206
+    // rows () {
207
+    //   if (this.blogs && this.blogs.length) {
208
+    //     return times[Math.ceil(this.blogs.length / this.deskCols)]
209
+    //   } else {
210
+    //     return []
211
+    //   }
212
+    // }
213
+  },
188 214
   components: {
215
+    Wheelplanting,
216
+    // Business,
217
+  },
218
+  mounted () {
219
+    window.addEventListener('scroll', () => {
220
+      this.scrolled = (document.documentElement.scrollTop || document.body.scrollTop) > 300
221
+    })
222
+  },
223
+
224
+  created () {
225
+
226
+    //合作伙伴
227
+
189 228
 
229
+    // axios.get('http://localhost:8080/pc/partner/list/?pageNum=1&pageSize=18')
230
+    request({
231
+      ...apis.partner.list,
232
+      params: { pageNum: 1, pageSize: 18 }
233
+    })
234
+      .then(res => {
235
+
236
+        this.blogs = res.records;
237
+
238
+
239
+      })
240
+
241
+    // axios.get('http://localhost:8080/pc/case/case/list/?pageNum=1&pageSize=8')
242
+
243
+    request({
244
+      ...apis.case.list,
245
+      urlData: { type: 'case' },
246
+      params: { topping: 1 }
247
+    }).then(con => {
248
+      // console.log(con,"124")
249
+      this.caselist = con.records;
250
+      // window.console.log(this.caselist, "543");
251
+    })
252
+
253
+    request({
254
+      ...apis.case.list,
255
+      urlData: { type: 'movement' },
256
+      params: { pageNum: 1, pageSize: 4, topping: 1 }
257
+    }).then(con => {
258
+      console.log(con, "124")
259
+      this.dynamiclist = con.records;
260
+      window.console.log(this.dynamiclist, "543");
261
+    })
190 262
   }
191
-}
263
+};
192 264
 </script>
193 265
 
194 266
 <style scoped>
267
+.home {
268
+}
269
+@media (max-width: 992px) {
270
+  .business-text {
271
+    display: none;
272
+  }
273
+  h3 {
274
+    font-size: 2.4rem;
275
+    padding: 0px;
276
+    width: 100%;
277
+    height: 2.4rem;
278
+
279
+    background-color: black;
280
+    color: #fff;
281
+    margin: 0;
282
+  }
283
+  .st {
284
+    padding: 0 !important;
285
+  }
286
+  .sw {
287
+    padding: 2% !important;
288
+  }
289
+  .ph-logo {
290
+    width: 100%;
291
+    /* padding-bottom: 37px; */
292
+    /* height: 100%; */
293
+    height: 0;
294
+    padding-bottom: 45.8%;
295
+    background-size: 100% 100% !important;
296
+    margin: 3px auto;
297
+  }
298
+  .top-news {
299
+    margin-top: 30px;
300
+  }
301
+  .top-case {
302
+    margin-top: 40px;
303
+    padding: 0;
304
+
305
+    border: none;
306
+  }
307
+  .aarow_box {
308
+    display: none;
309
+  }
310
+  .aarow{
311
+    display: none;
312
+  }
313
+  .home-case {
314
+    padding: 0;
315
+    margin: 0;
316
+    border: none;
317
+  }
318
+
319
+  .home-wheel {
320
+    width: 100%;
321
+    height: 300px;
322
+    padding: 0;
323
+    z-index: 60;
324
+  }
325
+}
326
+@media (min-width: 992px) {
327
+  h3 {
328
+    font-size: 2.4rem;
329
+    padding: 30px;
330
+    height: 86px;
331
+
332
+    background-color: black;
333
+    color: #fff;
334
+    margin: 0;
335
+  }
336
+  .sw {
337
+    padding: 33px;
338
+  }
339
+
340
+  .st {
341
+    padding-left: 10%;
342
+    padding-right: 10%;
343
+    margin: 0;
344
+  }
345
+  .st .sw p {
346
+    font-size: 2.2rem;
347
+    padding-bottom: 0;
348
+  }
349
+  .ph-logo {
350
+    width: 100%;
351
+    /* padding-bottom: 37px; */
352
+    /* height: 100%; */
353
+    height: 0;
354
+    padding-bottom: 45.8%;
355
+    background-size: 100% 100% !important;
356
+    margin: 18px;
357
+  }
358
+  .home-case {
359
+    padding: 0;
360
+    margin: 0;
361
+    border: none;
362
+  }
363
+
364
+  .st4:hover .casetitle {
365
+    display: block;
366
+  }
367
+  .aarow_box {
368
+    width: 26px;
369
+    height: 26px;
370
+    margin: 0 auto;
371
+    position: absolute;
372
+    bottom: 90px;
373
+    left: 0;
374
+    right: 0;
375
+    display: block;
376
+    cursor: pointer;
377
+    z-index: 99;
378
+  }
379
+  .aarow {
380
+    width: 26px;
381
+    height: 26px;
382
+    border: 2px solid #fff;
383
+    border-left: none;
384
+    border-top: none;
385
+    transform: rotate(45deg);
386
+    -ms-transform: rotate(45deg);
387
+    -moz-transform: rotate(45deg);
388
+    -webkit-transform: rotate(45deg);
389
+    -o-transform: rotate(45deg);
390
+  }
391
+
392
+  .animated {
393
+    animation: animated 4s ease infinite;
394
+  }
395
+  @keyframes animated {
396
+    0%,
397
+    38%,
398
+    70%,
399
+    80%,
400
+    100% {
401
+      transform: translateY(0);
402
+    }
403
+    25% {
404
+      transform: translateY(20px);
405
+    }
406
+    50% {
407
+      transform: translateY(20px);
408
+    }
409
+  }
410
+}
411
+.row {
412
+  margin: 0;
413
+}
414
+
415
+.home-wheel {
416
+  width: 100%;
417
+
418
+  padding: 0;
419
+  z-index: 60;
420
+}
421
+/* .home-business {
422
+  widows: 1300px;
423
+  height: 600px;
424
+} */
425
+
195 426
 .main {
196 427
   display: -webkit-flex; /* Safari */
197 428
   display: flex;
@@ -201,65 +432,138 @@ export default {
201 432
   justify-content: center;
202 433
 }
203 434
 
204
-.btn{
205
-  width: 195px;
206
-  height: 49px;
435
+.btn {
436
+  font-size: 24px;
437
+  margin-top: 41px;
438
+  padding: 12px 50px;
439
+  border-radius: 0px;
440
+  color: #000;
207 441
   background-color: #fff;
208
-  border:1px solid #aaaaaa
442
+  border: 1px solid #aaaaaa;
209 443
 }
210
-.st {
211
-  padding-left: 10%;
212
-  padding-right: 10%;
444
+.btn:hover {
445
+  color: #e03723;
446
+  border: 1px solid #e03723;
213 447
 }
214
-h1{
448
+
449
+h1 {
215 450
   margin: 0;
216 451
   padding-top: 85px;
217 452
 }
218
-p{
219
-  padding-bottom: 65px;
220
-  padding-top: 28px;
453
+p {
454
+  padding: 28px 0 50px 0;
455
+  font-size: 2.4rem;
456
+  color: #595757;
221 457
 }
222 458
 
223
-h3 {
224
-  
225
-  height: 86px;
459
+h4 {
460
+  font-size: 2.4rem;
461
+  padding: 10px;
226 462
   background-color: red;
227 463
   color: #fff;
228 464
   margin: 0;
465
+  height: 43px;
229 466
 }
230 467
 .st4 {
231
-  border: 0px solid #fff;
232 468
   width: 100%;
233
-  height: 100%;
234
-  padding: 0;
469
+
470
+  padding-bottom: 100%;
471
+  background-size: 100% 100% !important;
472
+
235 473
   margin: 0;
236 474
 }
237
-.st4 :hover {
238
-  width: 100%;
239
-  height: 100%;
240
-  padding: 1px;
241
-  border: 1px solid #fff;
242
-}
243
-.btn {
244
-  margin: 50px;
245
-  border-radius: 0px;
246
-  color: #000;
475
+.casetitle {
476
+  display: none;
247 477
 }
248 478
 
249
-.ph-logo{
250
-  padding-bottom: 37px;
479
+.home-news {
480
+  padding: 0 6px;
481
+  margin-bottom: 12px;
251 482
 }
252 483
 
253
-img {
254
-  max-width: 100%;
255
-  max-height: 100%;
484
+.home-dynamic {
485
+  bottom: 0;
486
+  width: 100%;
487
+
488
+  height: 0;
489
+  padding-bottom: 48.5%;
490
+  background-size: 100% 100% !important;
256 491
 }
492
+</style>
257 493
 
258
-.home-news{
259
-  padding: 0 6px;
260
-  margin-bottom: 12px;
494
+
495
+<style lang="less" scoped>
496
+@media (max-width: 992px) {
497
+  .navbar {
498
+    display: none;
499
+  }
500
+
501
+  .st {
502
+    padding: 0 20px;
503
+
504
+    .sw {
505
+      padding: 20px;
506
+    }
507
+  }
261 508
 }
262
-.home-news-hover{   /* news动态 */
509
+@media (min-width: 992px) {
510
+  .br-logotop {
511
+    display: none;
512
+  }
513
+  .navbar {
514
+    z-index: 70;
515
+    padding: 30px 0;
516
+    background-color: transparent;
517
+    border: none;
518
+    margin: 0;
519
+    .navbar-brand {
520
+      padding: 0;
521
+
522
+      img {
523
+        height: 100%;
524
+      }
525
+    }
263 526
 
527
+    .nav {
528
+      font-size: 2.6rem;
529
+      li {
530
+        margin-left: 40px;
531
+        a {
532
+          color: #fff;
533
+
534
+          &:hover {
535
+            border-bottom: 3px solid #fff;
536
+          }
537
+        }
538
+      }
539
+    }
540
+
541
+    .logo {
542
+      width: 300px;
543
+      height: 60px;
544
+      background: url("../assets/logo.png");
545
+    }
546
+
547
+    &.scroll {
548
+      transition: all 0.5s;
549
+      background: #fff;
550
+
551
+      .nav {
552
+        li {
553
+          a {
554
+            color: #000;
555
+
556
+            &:hover {
557
+              border-bottom: 3px solid #000;
558
+            }
559
+          }
560
+        }
561
+      }
562
+
563
+      .logo {
564
+        background: url("../assets/logo1.png");
565
+      }
566
+    }
567
+  }
264 568
 }
265
-</style>
569
+</style>

+ 3
- 2
utils/request.js 파일 보기

@@ -25,8 +25,8 @@ function request(params = {}) {
25 25
       // 服务端返回包含 code, message, data 字段
26 26
       const { code, data } = res
27 27
 
28
-      // 业务处理正确则返回 1000
29
-      if (code === 1000) {
28
+      // 业务处理正确则返回 0
29
+      if (code - 0 === 0) {
30 30
         resolve(data)
31 31
       } else {
32 32
         reject(res)
@@ -43,6 +43,7 @@ function request(params = {}) {
43 43
   })
44 44
 }
45 45
 
46
+// /a/b/:id    {id:1}   ===> /a/b/1
46 47
 function replaceApiParams (url, params) {
47 48
   if (typeof params !== 'object') return url
48 49
 

+ 16
- 0
vue.config.js 파일 보기

@@ -0,0 +1,16 @@
1
+module.exports = {
2
+  devServer: {
3
+    proxy:  {
4
+      '/api': {
5
+        target: 'http://localhost:8080',
6
+        ws: true,
7
+        changeOrigin: true
8
+      },
9
+      '/pc': {
10
+        target: 'http://localhost:8080',
11
+        ws: true,
12
+        changeOrigin: true
13
+      }
14
+    }
15
+  }
16
+}