shaogen1995 3 лет назад
Родитель
Сommit
4b5751afbf
55 измененных файлов с 12167 добавлено и 0 удалено
  1. 23 0
      .gitignore
  2. 19 0
      sxz_cj/README.md
  3. 5 0
      sxz_cj/babel.config.js
  4. 1 0
      sxz_cj/dist/css/app.f13332ea.css
  5. BIN
      sxz_cj/dist/img/0.5eab1e35.jpg
  6. BIN
      sxz_cj/dist/img/0.b9623fb1.jpg
  7. BIN
      sxz_cj/dist/img/0.bf381ba8.jpg
  8. BIN
      sxz_cj/dist/img/0.c3bb0fe8.jpg
  9. BIN
      sxz_cj/dist/img/1.1a6d84a6.jpg
  10. BIN
      sxz_cj/dist/img/1.4b1bd52f.jpg
  11. BIN
      sxz_cj/dist/img/1.752c32a9.jpg
  12. BIN
      sxz_cj/dist/img/1.a75827e5.jpg
  13. BIN
      sxz_cj/dist/img/2.09d2b056.jpg
  14. BIN
      sxz_cj/dist/img/2.aa18dc88.jpg
  15. BIN
      sxz_cj/dist/img/2.d676fd0f.jpg
  16. BIN
      sxz_cj/dist/img/2.de2b5a87.jpg
  17. BIN
      sxz_cj/dist/img/3.45bd187c.jpg
  18. BIN
      sxz_cj/dist/img/3.6ae74821.jpg
  19. BIN
      sxz_cj/dist/img/3.95627659.jpg
  20. BIN
      sxz_cj/dist/img/3.f2ebe5e0.jpg
  21. 1 0
      sxz_cj/dist/img/down.2fb4a8de.svg
  22. 1 0
      sxz_cj/dist/img/up.d0f84b38.svg
  23. 1 0
      sxz_cj/dist/index.html
  24. 2 0
      sxz_cj/dist/js/app.32d65b8c.js
  25. 1 0
      sxz_cj/dist/js/app.32d65b8c.js.map
  26. 285 0
      sxz_cj/dist/js/chunk-vendors.8d587acd.js
  27. 1 0
      sxz_cj/dist/js/chunk-vendors.8d587acd.js.map
  28. 11409 0
      sxz_cj/package-lock.json
  29. 26 0
      sxz_cj/package.json
  30. 17 0
      sxz_cj/public/index.html
  31. 20 0
      sxz_cj/src/App.vue
  32. 222 0
      sxz_cj/src/Home.vue
  33. 80 0
      sxz_cj/src/assets/base.css
  34. 1 0
      sxz_cj/src/assets/font/close.svg
  35. 1 0
      sxz_cj/src/assets/font/down.svg
  36. 1 0
      sxz_cj/src/assets/font/up.svg
  37. BIN
      sxz_cj/src/assets/info/four/0.jpg
  38. BIN
      sxz_cj/src/assets/info/four/1.jpg
  39. BIN
      sxz_cj/src/assets/info/four/2.jpg
  40. BIN
      sxz_cj/src/assets/info/four/3.jpg
  41. BIN
      sxz_cj/src/assets/info/one/0.jpg
  42. BIN
      sxz_cj/src/assets/info/one/1.jpg
  43. BIN
      sxz_cj/src/assets/info/one/2.jpg
  44. BIN
      sxz_cj/src/assets/info/one/3.jpg
  45. BIN
      sxz_cj/src/assets/info/three/0.jpg
  46. BIN
      sxz_cj/src/assets/info/three/1.jpg
  47. BIN
      sxz_cj/src/assets/info/three/2.jpg
  48. BIN
      sxz_cj/src/assets/info/three/3.jpg
  49. BIN
      sxz_cj/src/assets/info/tow/0.jpg
  50. BIN
      sxz_cj/src/assets/info/tow/1.jpg
  51. BIN
      sxz_cj/src/assets/info/tow/2.jpg
  52. BIN
      sxz_cj/src/assets/info/tow/3.jpg
  53. 39 0
      sxz_cj/src/data.js
  54. 8 0
      sxz_cj/src/main.js
  55. 3 0
      sxz_cj/vue.config.js

+ 23 - 0
.gitignore

@@ -0,0 +1,23 @@
+.DS_Store
+node_modules
+/dist
+
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?

+ 19 - 0
sxz_cj/README.md

@@ -0,0 +1,19 @@
+# sxz_cj
+
+## Project setup
+```
+npm install
+```
+
+### Compiles and hot-reloads for development
+```
+npm run serve
+```
+
+### Compiles and minifies for production
+```
+npm run build
+```
+
+### Customize configuration
+See [Configuration Reference](https://cli.vuejs.org/config/).

+ 5 - 0
sxz_cj/babel.config.js

@@ -0,0 +1,5 @@
+module.exports = {
+  presets: [
+    '@vue/cli-plugin-babel/preset'
+  ]
+}

Разница между файлами не показана из-за своего большого размера
+ 1 - 0
sxz_cj/dist/css/app.f13332ea.css


BIN
sxz_cj/dist/img/0.5eab1e35.jpg


BIN
sxz_cj/dist/img/0.b9623fb1.jpg


BIN
sxz_cj/dist/img/0.bf381ba8.jpg


BIN
sxz_cj/dist/img/0.c3bb0fe8.jpg


BIN
sxz_cj/dist/img/1.1a6d84a6.jpg


BIN
sxz_cj/dist/img/1.4b1bd52f.jpg


BIN
sxz_cj/dist/img/1.752c32a9.jpg


BIN
sxz_cj/dist/img/1.a75827e5.jpg


BIN
sxz_cj/dist/img/2.09d2b056.jpg


BIN
sxz_cj/dist/img/2.aa18dc88.jpg


BIN
sxz_cj/dist/img/2.d676fd0f.jpg


BIN
sxz_cj/dist/img/2.de2b5a87.jpg


BIN
sxz_cj/dist/img/3.45bd187c.jpg


BIN
sxz_cj/dist/img/3.6ae74821.jpg


BIN
sxz_cj/dist/img/3.95627659.jpg


BIN
sxz_cj/dist/img/3.f2ebe5e0.jpg


+ 1 - 0
sxz_cj/dist/img/down.2fb4a8de.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#333333" d="M65.582671 288.791335l446.417329 446.41733 446.417329-446.41733z" /></svg>

+ 1 - 0
sxz_cj/dist/img/up.d0f84b38.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#333333" d="M65.582671 735.208665l446.417329-446.41733 446.417329 446.41733z" /></svg>

Разница между файлами не показана из-за своего большого размера
+ 1 - 0
sxz_cj/dist/index.html


Разница между файлами не показана из-за своего большого размера
+ 2 - 0
sxz_cj/dist/js/app.32d65b8c.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
sxz_cj/dist/js/app.32d65b8c.js.map


Разница между файлами не показана из-за своего большого размера
+ 285 - 0
sxz_cj/dist/js/chunk-vendors.8d587acd.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
sxz_cj/dist/js/chunk-vendors.8d587acd.js.map


Разница между файлами не показана из-за своего большого размера
+ 11409 - 0
sxz_cj/package-lock.json


+ 26 - 0
sxz_cj/package.json

@@ -0,0 +1,26 @@
+{
+  "name": "sxz_cj",
+  "version": "0.1.0",
+  "private": true,
+  "scripts": {
+    "serve": "vue-cli-service serve",
+    "build": "vue-cli-service build"
+  },
+  "dependencies": {
+    "core-js": "^3.6.5",
+    "moment": "^2.29.1",
+    "vue": "^2.6.11"
+  },
+  "devDependencies": {
+    "@vue/cli-plugin-babel": "~4.5.0",
+    "@vue/cli-service": "~4.5.0",
+    "less": "^3.0.4",
+    "less-loader": "^5.0.0",
+    "vue-template-compiler": "^2.6.11"
+  },
+  "browserslist": [
+    "> 1%",
+    "last 2 versions",
+    "not dead"
+  ]
+}

+ 17 - 0
sxz_cj/public/index.html

@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html lang="">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width,initial-scale=1.0">
+    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+    <title><%= htmlWebpackPlugin.options.title %></title>
+  </head>
+  <body>
+    <noscript>
+      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
+    </noscript>
+    <div id="app"></div>
+    <!-- built files will be auto injected -->
+  </body>
+</html>

+ 20 - 0
sxz_cj/src/App.vue

@@ -0,0 +1,20 @@
+<template>
+  <div id="app">
+    <Home />
+  </div>
+</template>
+
+<script>
+
+import Home from './Home.vue'
+export default {
+  name: 'App',
+  components: {
+    Home
+  }
+}
+</script>
+
+<style lang="less">
+
+</style>

+ 222 - 0
sxz_cj/src/Home.vue

@@ -0,0 +1,222 @@
+<!--  -->
+<template>
+  <div class="home">
+    <div class="conten">
+      <!-- 顶部 -->
+      <div class="top">
+        <h3>场景详情</h3>
+        <!-- <img class="close" src="./assets/font/close.svg" alt="" /> -->
+      </div>
+      <!-- 内容 -->
+      <div class="main" v-if="imgBigSrc">
+        <!-- 左边大图 -->
+        <div class="main_left">
+          <img :src="require('@/assets/info/' + baseSrc + imgBigSrc)" alt="" />
+        </div>
+        <!-- 右边导览 -->
+        <div class="main_right">
+          <div class="arrow" @click="changeInd(-1)">
+            <img src="./assets/font/up.svg" alt="" />
+          </div>
+          <ul class="sm_img">
+            <li
+              v-for="(item, index) in data.imgNum"
+              :key="item.name"
+              @click="imgInd = index"
+            >
+              <img
+                :class="{ active: index === imgInd }"
+                :src="require('@/assets/info/' + baseSrc + item.name)"
+                alt=""
+              />
+            </li>
+          </ul>
+          <div class="arrow" @click="changeInd(1)">
+            <img src="./assets/font/down.svg" alt="" />
+          </div>
+        </div>
+      </div>
+      <!-- 底部 -->
+      <div class="floor">
+        <div class="floor_title">
+          <h3>{{ data.title }}</h3>
+          <span>{{ time }}</span>
+        </div>
+        <div class="floor_tag">
+          <div v-for="(item, index) in data.tag" :key="index">{{ item }}</div>
+        </div>
+        <p>{{ data.txt }}</p>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import moment from "moment";
+import { infoData } from "./data.js";
+export default {
+  components: {},
+  data() {
+    return {
+      baseSrc: "",
+      data: [],
+      imgInd: 0,
+      imgBigSrc: "",
+      time: "",
+      timeId: null,
+    };
+  },
+  watch: {
+    imgInd(val) {
+      // 改变大图地址
+      this.imgBigSrc = this.data.imgNum[val].name;
+      // 改变滚动位置为居中
+      let dom = document.querySelector(".sm_img");
+      dom.scrollTo({ top: 135 * (val - 1), behavior: "smooth" });
+    },
+  },
+  computed: {},
+  methods: {
+    //点击上下箭头
+    changeInd(val) {
+      let temp = this.imgInd + val;
+      if (temp < 0) temp = this.data.imgNum.length - 1;
+      if (temp > this.data.imgNum.length - 1) temp = 0;
+      this.imgInd = temp;
+    },
+    // 获取例子栏参数方法
+    GetQueryString(name) {
+      let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
+      let r = window.location.search.substr(1).match(reg);
+      if (r != null) return unescape(r[2]);
+      return "one";
+    },
+  },
+  //生命周期 - 创建完成(可以访问当前this实例)
+  created() {
+    // 获取地址栏参数
+    let temp = this.GetQueryString("m");
+    this.baseSrc = temp + "/";
+    this.data = infoData[temp];
+    this.imgBigSrc = this.data.imgNum[0].name;
+    //  获取当前时间
+    this.time = moment(new Date()).format("YYYY-MM-DD HH:mm");
+    // 实时更新时间
+    this.timeId = setInterval(() => {
+      this.time = moment(new Date()).format("YYYY-MM-DD HH:mm");
+    }, 30000);
+  },
+  //生命周期 - 挂载完成(可以访问DOM元素)
+  mounted() {},
+  beforeCreate() {}, //生命周期 - 创建之前
+  beforeMount() {}, //生命周期 - 挂载之前
+  beforeUpdate() {}, //生命周期 - 更新之前
+  updated() {}, //生命周期 - 更新之后
+  beforeDestroy() {}, //生命周期 - 销毁之前
+  destroyed() {
+    clearInterval(this.timeId);
+  }, //生命周期 - 销毁完成
+  activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
+};
+</script>
+<style lang='less' scoped>
+.home {
+  .conten {
+    margin: 0 auto;
+    background-color: #ffffff;
+    height: 750px;
+    padding: 30px;
+    padding-top: 0;
+    color: #323233;
+    width: 1150px;
+    border-radius: 5px;
+    .top {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      height: 70px;
+      .close {
+        cursor: pointer;
+        width: 20px;
+        height: 20px;
+      }
+    }
+    .main {
+      height: 500px;
+      display: flex;
+      justify-content: space-between;
+      .main_left {
+        width: 900px;
+        height: 100%;
+        & > img {
+          width: 100%;
+          height: 100%;
+        }
+      }
+      .main_right {
+        width: 210px;
+        height: 100%;
+        .arrow {
+          cursor: pointer;
+          height: 40px;
+          border-radius: 5px;
+          background-color: #f5f7fa;
+          display: flex;
+          justify-content: center;
+          align-items: center;
+          & > img {
+            width: 16px;
+            height: 16px;
+          }
+        }
+        .sm_img {
+          overflow-y: auto;
+          margin: 18px 0;
+          height: 386px;
+          & > li {
+            cursor: pointer;
+            height: 115px;
+            margin-bottom: 20px;
+            &:last-child {
+              margin-bottom: 0;
+            }
+            & > img {
+              display: block;
+              margin: 0 auto;
+              width: 206px;
+              height: 115px;
+            }
+            .active {
+              border: 2px solid #15bec8;
+            }
+          }
+        }
+      }
+    }
+    .floor {
+      padding: 0 5px 0px 0;
+      height: 178px;
+      overflow-y: auto;
+      margin-top: 20px;
+      .floor_title {
+        display: flex;
+        justify-content: space-between;
+      }
+      .floor_tag {
+        margin: 16px 0 26px;
+        display: flex;
+        & > div {
+          color: #666666;
+          border-radius: 3px;
+          background-color: #ebedf0;
+          height: 24px;
+          line-height: 24px;
+          margin-right: 12px;
+          padding: 0 5px;
+          font-size: 14px;
+        }
+      }
+    }
+  }
+}
+</style>

+ 80 - 0
sxz_cj/src/assets/base.css

@@ -0,0 +1,80 @@
+a,
+p,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+body,
+span,
+label,
+div {
+  padding: 0;
+  margin: 0;
+  font-family: "微软雅黑";
+}
+div {
+  font-family: "微软雅黑";
+}
+ul {
+  list-style: none;
+  padding: 0;
+  margin: 0;
+}
+a {
+  text-decoration: none !important;
+}
+.clear {
+  clear: both;
+}
+html,
+body,
+form {
+  overflow-y: auto;
+  height: 100%;
+}
+/* 滚动条样式 */
+.floor::-webkit-scrollbar {
+  /*滚动条整体样式*/
+  width : 2px;  /*高宽分别对应横竖滚动条的尺寸*/
+  height: 1px;
+  }
+  .floor::-webkit-scrollbar-thumb {
+  /*滚动条里面小方块*/
+  border-radius: 10px;
+  box-shadow   : inset 0 0 5px rgba(0, 0, 0, 0.2);
+  background   : #535353;
+  }
+  .floor::-webkit-scrollbar-track {
+  /*滚动条里面轨道*/
+  box-shadow   : inset 0 0 5px rgba(0, 0, 0, 0.2);
+  border-radius: 10px;
+  background   : #ededed;
+  }
+
+
+.sm_img::-webkit-scrollbar {
+  width: 0px;
+  height: 4px;
+}
+.sm_img::-webkit-scrollbar-track {
+  -webkit-box-shadow: inset 0 0 6px rgba(255, 255, 255, 0.9);
+  border-radius: 10px;
+}
+.sm_img::-webkit-scrollbar-thumb {
+  border-radius: 5px;
+  background: rgba(66, 66, 66, 1);
+  -webkit-box-shadow: inset 0 0 6px rgba(227, 227, 227, 87.5);
+}
+.sm_img::-webkit-scrollbar-thumb:window-inactive {
+  background: rgba(227, 227, 227, 0.5);
+}
+
+
+img{
+  object-fit: cover;
+}
+/* body{
+  background-color: #ccc;
+} */

Разница между файлами не показана из-за своего большого размера
+ 1 - 0
sxz_cj/src/assets/font/close.svg


+ 1 - 0
sxz_cj/src/assets/font/down.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#333333" d="M65.582671 288.791335l446.417329 446.41733 446.417329-446.41733z" /></svg>

+ 1 - 0
sxz_cj/src/assets/font/up.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#333333" d="M65.582671 735.208665l446.417329-446.41733 446.417329 446.41733z" /></svg>

BIN
sxz_cj/src/assets/info/four/0.jpg


BIN
sxz_cj/src/assets/info/four/1.jpg


BIN
sxz_cj/src/assets/info/four/2.jpg


BIN
sxz_cj/src/assets/info/four/3.jpg


BIN
sxz_cj/src/assets/info/one/0.jpg


BIN
sxz_cj/src/assets/info/one/1.jpg


BIN
sxz_cj/src/assets/info/one/2.jpg


BIN
sxz_cj/src/assets/info/one/3.jpg


BIN
sxz_cj/src/assets/info/three/0.jpg


BIN
sxz_cj/src/assets/info/three/1.jpg


BIN
sxz_cj/src/assets/info/three/2.jpg


BIN
sxz_cj/src/assets/info/three/3.jpg


BIN
sxz_cj/src/assets/info/tow/0.jpg


BIN
sxz_cj/src/assets/info/tow/1.jpg


BIN
sxz_cj/src/assets/info/tow/2.jpg


BIN
sxz_cj/src/assets/info/tow/3.jpg


+ 39 - 0
sxz_cj/src/data.js

@@ -0,0 +1,39 @@
+
+export const infoData = {
+  one: 
+    {
+      imgNum: [
+        { name: '0.jpg' }, { name: '1.jpg' }, { name: '2.jpg' }, { name: '3.jpg' }
+      ],
+       title: '太空舱(飞船进轨道后航天员工作生活场所)', 
+      tag: ['轨道舱', '太空舱', '生活场所', '科学试验'],
+      txt: '轨道舱,也称太空舱,轨道舱是飞船进入轨道后航天员工作、生活的场所;舱内储备有食物、饮水和大小便收集器等生活装置外,还有空间应用和科学试验用的仪器设备。'
+    },
+  tow: 
+    {
+      imgNum: [
+        { name: '0.jpg' }, { name: '1.jpg' }, { name: '2.jpg' }, { name: '3.jpg' },
+      ],
+       title: '埃及沙漠神庙建筑', 
+      tag: ['埃及', '沙漠', '神庙', '宗教建筑'],
+      txt: '最美的神庙景观,那当然就是伫立在沙漠中的这些了,让我们来到埃及吧。古埃及宗教建筑,公元前16世纪--前11世纪埃及新王国时期的主要建筑形式。多以石块砌筑,分带有柱廊的内院、大柱厅和神堂。大门前有方尖碑或法老雕像,正面墙上刻有着色浅浮雕。'
+    },
+  three: 
+    {
+      imgNum: [
+        { name: '0.jpg' }, { name: '1.jpg' }, { name: '2.jpg' }, { name: '3.jpg' },
+      ],
+       title: '龙门石窟(世界文化遗产、国家AAAAA级旅游景区)', 
+      tag: ['龙门石窟', '中国化', '皇家石窟'],
+      txt: '龙门石窟造像多为皇家贵族所建,是世界上绝无仅有的皇家石窟。龙门石窟使石窟艺术呈现出了中国化的趋势,是中国石窟艺术的“里程碑”。 又经历天竺、新罗、吐火罗、康国等国家营造,发现有欧洲纹样、古希腊石柱等,堪称全世界国际化水平最高的石窟。'
+    },
+  four: 
+    {
+      imgNum: [
+        { name: '0.jpg' }, { name: '1.jpg' }, { name: '2.jpg' }, { name: '3.jpg' },
+      ],
+       title: '赛博朋克', 
+      tag: ['反乌托邦', '街道', '霓虹灯'],
+      txt: '拥有五花八门的视觉冲击效果,比如街头的霓虹灯、街排标志性广告以及高楼建筑等,通常搭配色彩是以黑、紫、绿、蓝、红为主。“待人如待鼠,所有对鼠的措施都可以同等地施加给人。闭上眼拒绝思考并不能使这个惨不忍睹的画面消失。这就是赛博朋克。”'
+    },
+}

+ 8 - 0
sxz_cj/src/main.js

@@ -0,0 +1,8 @@
+import Vue from 'vue'
+import App from './App.vue'
+import './assets/base.css'
+Vue.config.productionTip = false
+
+new Vue({
+  render: h => h(App),
+}).$mount('#app')

+ 3 - 0
sxz_cj/vue.config.js

@@ -0,0 +1,3 @@
+module.exports = {
+  publicPath: './'
+}