shaogen1995 3 лет назад
Сommit
3bc72daf60
100 измененных файлов с 78976 добавлено и 0 удалено
  1. 3 0
      .browserslistrc
  2. 2 0
      .env
  3. 22 0
      .eslintrc.js
  4. 22 0
      .gitignore
  5. 24 0
      README.md
  6. 5 0
      babel.config.js
  7. 25918 0
      package-lock.json
  8. 38 0
      package.json
  9. 55 0
      public/4dage/Model.html
  10. 301 0
      public/4dage/css/index.css
  11. 156 0
      public/4dage/css/main.css
  12. 59 0
      public/4dage/css/reset.css
  13. 272 0
      public/4dage/css/wx.css
  14. 45 0
      public/4dage/index.html
  15. 1 0
      public/4dage/js/4dage.js
  16. 30 0
      public/4dage/js/browser.min.js
  17. 152 0
      public/4dage/js/data.js
  18. 18 0
      public/4dage/js/info.js
  19. 4 0
      public/4dage/js/jquery.js
  20. 0 0
      public/4dage/js/model.js
  21. 26 0
      public/4dage/js/ui.js
  22. 131 0
      public/4dage/js/weixin.js
  23. BIN
      public/favicon.ico
  24. 16 0
      public/index.html
  25. 19 0
      public/scene.html
  26. BIN
      public/static/css/font/FZ_GBK.ttf
  27. BIN
      public/static/css/font/fontawesome-webfont.eot
  28. 655 0
      public/static/css/font/fontawesome-webfont.svg
  29. BIN
      public/static/css/font/fontawesome-webfont.ttf
  30. BIN
      public/static/css/font/fontawesome-webfont.woff
  31. BIN
      public/static/css/font/fontawesome-webfont.woff2
  32. BIN
      public/static/css/font/mp-font.ttf
  33. BIN
      public/static/css/font/open-sans-light/OpenSansLight.woff2
  34. BIN
      public/static/css/font/open-sans-semibold/OpenSansSemibold.woff2
  35. BIN
      public/static/css/font/open-sans/OpenSansRegular.woff2
  36. 7054 0
      public/static/css/main.css
  37. 4 0
      public/static/css/oldVer/font-awesome.min.css
  38. 483 0
      public/static/css/oldVer/main.css.bak
  39. 222 0
      public/static/css/oldVer/main0.css
  40. 339 0
      public/static/css/oldVer/main0.css.bak
  41. 770 0
      public/static/css/oldVer/video-js.css
  42. BIN
      public/static/fonts/2B71A2_0_0.woff
  43. BIN
      public/static/fonts/FZ_GBK.ttf
  44. BIN
      public/static/fonts/SourceHanSansCN.ttf
  45. BIN
      public/static/fonts/SourceHanSansCN.woff
  46. BIN
      public/static/fonts/SourceHanSansCN.woff2
  47. BIN
      public/static/fonts/mp-font.eot
  48. 41 0
      public/static/fonts/mp-font.svg
  49. BIN
      public/static/fonts/mp-font.ttf
  50. BIN
      public/static/fonts/open-sans-light/OpenSansLight.eot
  51. 21034 0
      public/static/fonts/open-sans-light/OpenSansLight.svg
  52. BIN
      public/static/fonts/open-sans-light/OpenSansLight.ttf
  53. BIN
      public/static/fonts/open-sans-light/OpenSansLight.woff
  54. BIN
      public/static/fonts/open-sans-light/OpenSansLight.woff2
  55. BIN
      public/static/fonts/open-sans-semibold/OpenSansSemibold.eot
  56. 21055 0
      public/static/fonts/open-sans-semibold/OpenSansSemibold.svg
  57. BIN
      public/static/fonts/open-sans-semibold/OpenSansSemibold.ttf
  58. BIN
      public/static/fonts/open-sans-semibold/OpenSansSemibold.woff
  59. BIN
      public/static/fonts/open-sans-semibold/OpenSansSemibold.woff2
  60. BIN
      public/static/fonts/open-sans/OpenSansLight.woff2
  61. BIN
      public/static/fonts/open-sans/OpenSansRegular.woff2
  62. BIN
      public/static/fonts/proxima-nova/2B71A2_0_0.woff
  63. BIN
      public/static/fonts/proxima-nova/2B71A2_1_0.woff
  64. BIN
      public/static/images/4dage-logo.png
  65. BIN
      public/static/images/4dagePoint.png
  66. BIN
      public/static/images/4dagePoint2.png
  67. BIN
      public/static/images/End.png
  68. BIN
      public/static/images/Nav_Help_Arrow_keys.png
  69. BIN
      public/static/images/Nav_Help_Close.png
  70. BIN
      public/static/images/Nav_Help_Highlights.png
  71. BIN
      public/static/images/Nav_Help_Icon.png
  72. BIN
      public/static/images/New.png
  73. BIN
      public/static/images/Notes.png
  74. BIN
      public/static/images/Notes_hover.png
  75. BIN
      public/static/images/Personal_Pic.png
  76. BIN
      public/static/images/Start.png
  77. BIN
      public/static/images/VR.png
  78. BIN
      public/static/images/Volume btn_off.png
  79. BIN
      public/static/images/Volume btn_on.png
  80. BIN
      public/static/images/auto-suspend.png
  81. BIN
      public/static/images/auto.png
  82. BIN
      public/static/images/circle_active.png
  83. BIN
      public/static/images/circle_activeF.png
  84. BIN
      public/static/images/circle_normal.png
  85. BIN
      public/static/images/circle_wait.png
  86. BIN
      public/static/images/close1.png
  87. BIN
      public/static/images/coordinate.png
  88. BIN
      public/static/images/coordinate2.png
  89. BIN
      public/static/images/coordinateClose.png
  90. BIN
      public/static/images/crosshair.cur
  91. BIN
      public/static/images/cursor.png
  92. BIN
      public/static/images/delete.png
  93. BIN
      public/static/images/division.png
  94. BIN
      public/static/images/dollhouse.png
  95. BIN
      public/static/images/edit/VR.png
  96. BIN
      public/static/images/edit/autoTour.png
  97. BIN
      public/static/images/edit/hotStyle_1.png
  98. BIN
      public/static/images/edit/hotStyle_2.png
  99. BIN
      public/static/images/edit/hotpoint.png
  100. 0 0
      public/static/images/edit/information.png

+ 3 - 0
.browserslistrc

@@ -0,0 +1,3 @@
+> 1%
+last 2 versions
+not dead

+ 2 - 0
.env

@@ -0,0 +1,2 @@
+VUE_APP_STATIC_DIR=static
+VUE_APP_PROXY_URL=''

+ 22 - 0
.eslintrc.js

@@ -0,0 +1,22 @@
+module.exports = {
+  root: true,
+  env: {
+    node: true
+  },
+  'extends': [
+    'plugin:vue/essential',
+    'eslint:recommended'
+  ],
+  parserOptions: {
+    parser: 'babel-eslint'
+  },
+  rules: {
+    'no-console': process.env.NODE_ENV === 'production' ? 'off' : 'off',
+    'no-debugger': process.env.NODE_ENV === 'production' ? 'off' : 'off',
+    'no-undef': 'off',
+    'vue/no-unused-vars': 'off',
+    'vue/require-v-for-key': 'off',
+    'no-unused-vars': 'off',
+    'vue/no-unused-components': 'off'
+  }
+}

+ 22 - 0
.gitignore

@@ -0,0 +1,22 @@
+.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?

+ 24 - 0
README.md

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

+ 5 - 0
babel.config.js

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

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


+ 38 - 0
package.json

@@ -0,0 +1,38 @@
+{
+  "name": "web",
+  "version": "0.1.0",
+  "private": true,
+  "scripts": {
+    "serve": "vue-cli-service serve",
+    "build": "vue-cli-service build",
+    "lint": "vue-cli-service lint"
+  },
+  "dependencies": {
+    "axios": "^0.19.2",
+    "core-js": "^3.6.5",
+    "element-ui": "^2.15.8",
+    "js-base64": "^3.6.1",
+    "moment": "^2.29.1",
+    "swiper": "^5.3.8",
+    "v-viewer": "^1.6.4",
+    "vue": "^2.6.11",
+    "vue-awesome-swiper": "^4.1.1",
+    "vue-chat-scroll": "^1.4.0",
+    "vue-lazyload": "^1.3.3",
+    "vue-router": "^3.2.0",
+    "vuex": "^3.5.1",
+    "wangeditor": "^4.7.15"
+  },
+  "devDependencies": {
+    "@vue/cli-plugin-babel": "~4.4.0",
+    "@vue/cli-plugin-eslint": "~4.4.0",
+    "@vue/cli-plugin-router": "~4.4.0",
+    "@vue/cli-service": "~4.4.0",
+    "babel-eslint": "^10.1.0",
+    "eslint": "^6.7.2",
+    "eslint-plugin-vue": "^6.2.2",
+    "less": "^3.0.4",
+    "less-loader": "^5.0.0",
+    "vue-template-compiler": "^2.6.11"
+  }
+}

+ 55 - 0
public/4dage/Model.html

@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="viewport"
+    content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
+<link rel="icon" type="image/png" sizes="32x32" href="images/favicon.png" class="keep">
+<link rel="stylesheet" href="css/index.css">
+<script src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
+<html>
+
+<head>
+    <title>文物展示</title>
+    <script src="js/4dage.js"></script>
+    <style>
+        html {
+            overflow: hidden;
+        }
+    </style>
+</head>
+
+<body>
+    <div id="ui">
+    </div>
+    <script src="js/jquery.js"></script>
+    <script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
+
+    <script type="text/javascript" src="js/info.js"></script>
+    <script type="text/javascript" src="js/model.js"></script>
+    <script type="text/javascript" src="js/weixin.js"></script>
+    <script>
+         var number = getQueryVariable("m");
+       fdage.embed('http://192.168.0.135:8003'+number, { width: 800, height: 600, autoStart: true, fullFrame: true, pagePreset: false });
+
+        var number = getQueryVariable("m");
+        let pageNum = number.split("_")[1];
+
+        let iconLeft = document.querySelector('#iconLeft');
+        let iconRight = document.querySelector('#iconRight');
+        let iframe = document.querySelector('iframe');
+        let iconHome = document.querySelector('#iconHome');
+        let iconInfo = document.querySelector('#iconInfo');
+        var URL=window.location.href;
+        var n = -1;//当前位置
+        let list = ['yp01','yp02','yp03','yp04','yp05','yp06','yp07','yp08','yp09','yp09_1','yp10','yp11','yp12','yp13','yp14','yp15','yp16','yp17','yp18','yp19','yp20'];
+        list.forEach(function(val,index) {
+            if(val==number){
+                n= index;
+            }
+        })
+        function goToUrl(n) {
+            window.location.href = URL.replace(number,list[n]);
+        }
+    </script>
+</body>
+
+</html>

+ 301 - 0
public/4dage/css/index.css

@@ -0,0 +1,301 @@
+html, body {
+    width: 100%;
+    height: 100%;
+    font-family: PingFangSC-Regular, sans-serif;
+}
+
+html, body, h1, h2, h3, h4, h5, h6, div, dl, dt, dd, ul, ol, li, p, blockquote, pre, hr, figure, table, caption, th, td, form, fieldset, legend, input, button, textarea, menu {
+    margin: 0;
+    padding: 0;
+}
+
+/* ::-webkit-scrollbar {
+    display: none;
+} */
+
+iframe {
+    width: 100%;
+    height: 100%;
+}
+
+#ui {
+    position: absolute;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    flex-direction: column;
+    width: 100%;
+    height: 100%;
+    /* color: #494949; */
+    letter-spacing: 3px;
+}
+
+#logoText {
+    z-index: 1;
+    position: absolute;
+    bottom: 20px;
+    font-size: 18px;
+    font-weight: 100;
+    letter-spacing: 4px;
+}
+
+.switch-btn-Wrap {
+    z-index: 1;
+    position: absolute;
+    top: 20px;
+    right: 20px;
+}
+
+.switch-btn-Wrap img {
+    width: 75px;
+    ;
+}
+
+#objName {
+    z-index: 1;
+    position: absolute;
+    top: 20px;
+    left: 32px;
+    font-size: 22px;
+    font-weight: 100;
+    letter-spacing: 4px;
+    color: #ffffff;
+}
+
+#iconWrap {
+    position: absolute;
+    bottom: 30px;
+    width: 200px;
+    display: flex;
+    justify-content: center;
+    z-index: 1;
+}
+
+.mar-right {
+    margin-right: 120px;
+}
+
+#iconLeft {
+    cursor: not-allowed;
+}
+
+#iconRight {
+    cursor: pointer;
+}
+
+#introductionWrap{
+    position: absolute;
+    z-index: 1;
+    display: flex;
+    flex-direction: column;
+    left: 20px;
+    text-align: left;
+    top: 20px;
+    font-size: 16px;
+    color: #ffffff;
+    font-weight: 100;
+    line-height: 30px;
+    letter-spacing: 2px;
+    width: 500px;
+    display:none;
+}
+#companyText{
+    position: absolute;
+    z-index: 1;
+    font-size: 16px;
+    color:rgb(153, 153, 153);
+    font-weight: 100;
+    left: 50%;
+    transform: translateX(-50%);
+    bottom: 20px;
+    letter-spacing: 1px;
+    text-shadow:rgb(51, 51, 51) 0px 1px 1px;
+}
+.bg-audio {
+    display:block;
+    position:absolute;
+    bottom:30px;
+    right:10px;
+    width:30px;
+    height:30px;
+    background:url(../images/bgmusic-play-icon.png)center/100% no-repeat;
+    z-index:99;
+}
+.iconHome{
+    top:30px;
+}
+.iconMenu {
+    position:absolute;
+    z-index:2;
+    right:52px;
+    display:flex;
+    align-items: center;
+    flex-direction: column;
+    text-align: center;
+}
+.iconInfo {
+    top:150px;
+}
+.iconMenu span {
+    color:#fff;
+}
+#time, #size, #content,#excavated_time{
+    margin-top: 8px;
+}
+#content p {
+    text-indent:2em;
+}
+@media screen and (max-width: 600px) {
+     #introductionWrap {
+        width:70%;
+        height:60%;
+        overflow-y:scroll;
+        position:absolute;
+        margin:0 auto;
+        top:10%;
+        font-size:14px;
+        line-height: 20px;
+        display:none;
+    }
+    #time, #size, #content,#excavated_time {
+        margin-top:4px;
+    }
+    #content {
+       
+    }
+    #name {
+        font-weight:bold;
+    }
+    #iconAction {
+        position:absolute;
+        z-index:99;
+    }
+    .iconMenu {
+        width:60px;
+        right:10px;
+    }
+    .iconMenu img {
+        width:50%;
+    }
+    .iconHome {
+
+    }
+    .iconInfo {
+        top:90px;
+    }
+    .iconMenu span {
+        font-size:10px;
+    }
+    #iconWrap {
+        width:50%;
+        z-index:2;
+
+    }
+    #iconLeft,#iconRight {
+        width:30px;
+        height:30px;
+    }
+    #companyText{
+        font-size:13px;
+    }
+}
+@media only screen and (max-height:480px) {
+    .center img, .center-first img {
+        width: 52vw;
+        max-width: 250px;
+        max-height: 110px;
+    }
+    .center:nth-child(8) img {
+        width: 30vw;
+        max-width: 153px;
+        max-height: 127px;
+    }
+    .center:nth-child(17) img {
+        width: 30vw;
+        max-width: 165px;
+        max-height: 176px;
+    }
+   
+}
+.animated {
+    -webkit-animation-duration:1s;
+    animation-duration:1s;
+    -webkit-animation-fill-mode:both;
+    animation-fill-mode:both
+}
+@-webkit-keyframes fadeInRight {
+    0% {
+        opacity:0;
+        -webkit-transform:translate3d(100%, 0, 0);
+        transform:translate3d(100%, 0, 0)
+    }
+    to {
+        opacity:1;
+        -webkit-transform:translateZ(0);
+        transform:translateZ(0)
+    }
+}
+@keyframes fadeInRight {
+    0% {
+        opacity:0;
+        -webkit-transform:translate3d(100%, 0, 0);
+        transform:translate3d(100%, 0, 0)
+    }
+    to {
+        opacity:1;
+        -webkit-transform:translateZ(0);
+        transform:translateZ(0)
+    }
+}
+.fadeInRight {
+    -webkit-animation-name:fadeInRight;
+    animation-name:fadeInRight
+}
+
+@-webkit-keyframes fadeOutRight {
+    0% {
+        opacity:1
+    }
+    to {
+        opacity:0;
+        -webkit-transform:translate3d(100%, 0, 0);
+        transform:translate3d(100%, 0, 0)
+    }
+}
+@keyframes fadeOutRight {
+    0% {
+        opacity:1
+    }
+    to {
+        opacity:0;
+        -webkit-transform:translate3d(100%, 0, 0);
+        transform:translate3d(100%, 0, 0)
+    }
+}
+.fadeOutRight {
+    -webkit-animation-name:fadeOutRight;
+    animation-name:fadeOutRight
+}
+
+@-webkit-keyframes fadeOut {
+    0% {
+        opacity:1
+    }
+    to {
+        opacity:0
+    }
+}
+@keyframes fadeOut {
+    0% {
+        opacity:1
+    }
+    to {
+        opacity:0
+    }
+}
+.fadeOut {
+    -webkit-animation-name:fadeOut;
+    animation-name:fadeOut;
+    -webkit-animation-duration:2s;
+    animation-duration: 2s;
+}

+ 156 - 0
public/4dage/css/main.css

@@ -0,0 +1,156 @@
+body {
+    background: #dddada;
+    font-family: '微软雅黑';
+}
+
+.containers {
+    width: 1080px;
+    /* overflow: hidden; */
+    min-height: 80vh;
+    margin: 0 auto;
+}
+
+.con-title {
+    font-size: 24px;
+    background: #f9fafc;
+    text-align: center;
+    font-weight: bold;
+    padding-top: 40px;
+}
+
+.con {
+    /* width: 100%; */
+    height: auto;
+    overflow: hidden;
+    background: #f9fafc;
+    margin: 0 auto 0;
+    display: flex;
+    flex-wrap: wrap;
+    padding: 20px 2%;
+    justify-content: center;
+}
+
+.con li {
+    text-align: center;
+    width: 30%;
+    display: inline-block;
+    margin: 25px 10px;
+}
+
+.case {
+    padding: 10px;
+    background: #fff;
+    border-radius: 10px;
+    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4);
+    transition: all 0.3s;
+}
+
+.case:hover {
+    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.6);
+    transform: translateY(-15px);
+}
+
+.case .card-img {
+    width: 100%;
+    height: 180px;
+    background-repeat: no-repeat;
+    background-size: cover;
+    background-position: top center;
+}
+
+.con li p {
+    margin-top: 10px;
+    font-size: 18px;
+    font-weight: 100;
+}
+
+.link-a {
+    width: 100%;
+    height: 100%;
+    display: inline-block;
+}
+
+#introductionWrap{
+    position: absolute;
+    z-index: 1;
+    display: flex;
+    flex-direction: column;
+    right: 20px;
+    text-align: right;
+    top: 20px;
+    font-size: 18px;
+    color: #ffffff;
+    font-weight: 100;
+    line-height: 30px;
+    letter-spacing: 2px;
+}
+#companyText{
+    position: absolute;
+    z-index: 1;
+    font-size: 16px;
+    color:rgb(153, 153, 153);
+    font-weight: 100;
+    left: 50%;
+    transform: translateX(-50%);
+    bottom: 20px;
+    letter-spacing: 1px;
+    text-shadow:rgb(51, 51, 51) 0px 1px 1px;
+}
+@media screen and (max-width: 600px) {
+    .containers {
+        width: 100%;
+    }
+    .con {
+        padding: 0;
+    }
+    .case .card-img {
+        background-size: auto 100%;
+        height: 90px;
+    }
+    .con li {
+        width: 44%;
+    }
+    #introductionWrap{
+        position: absolute;
+        z-index: 1;
+        display: flex;
+        flex-direction: column;
+        right: 10px;
+        text-align: right;
+        top: 16px;
+        font-size: 16px;
+        color: #ffffff;
+        font-weight: 100;
+        line-height: 28px;
+        letter-spacing: 1px;
+    }
+    /* .con li p {
+        font-size: 16px;
+    } */
+}
+
+.hide{
+    display: none;
+}
+
+#companyText{
+    position: absolute;
+    z-index: 1;
+    font-size: 16px;
+    font-weight: 100;
+    left: 50%;
+    transform: translateX(-50%);
+    bottom: 20px;
+    letter-spacing: 1px;
+}
+
+
+@media screen and (max-width: 320px) {
+    .con li {
+        width: 43%;
+    }
+    .con li p {
+        font-size: 16px;
+        font-weight: 100;
+    }
+}

+ 59 - 0
public/4dage/css/reset.css

@@ -0,0 +1,59 @@
+/* http://meyerweb.com/eric/tools/css/reset/ 
+   v2.0 | 20110126
+   License: none (public domain)
+*/
+
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+b, u, i, center,
+dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td,
+article, aside, canvas, details, embed, 
+figure, figcaption, footer, header, hgroup, 
+menu, nav, output, ruby, section, summary,
+time, mark, audio, video {
+	margin: 0;
+	padding: 0;
+	border: 0;
+	font-size: 100%;
+	font: inherit;
+	vertical-align: baseline;
+}
+/* HTML5 display-role reset for older browsers */
+article, aside, details, figcaption, figure, 
+footer, header, hgroup, menu, nav, section, main {
+	display: block;
+}
+a{
+  text-decoration: none;
+  color: #000;
+}
+body {
+	line-height: 1;
+}
+ol, ul {
+	list-style: none;
+}
+blockquote, q {
+	quotes: none;
+}
+blockquote:before, blockquote:after,
+q:before, q:after {
+	content: '';
+	content: none;
+}
+table {
+	border-collapse: collapse;
+	border-spacing: 0;
+}
+button{outline:none;}
+input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{
+        -webkit-appearance:textfield;
+}
+input[type="number"]{
+        -moz-appearance:textfield;
+}

+ 272 - 0
public/4dage/css/wx.css

@@ -0,0 +1,272 @@
+html, body {
+    width: 100%;
+    height: 100%;
+    font-family: PingFangSC-Regular, sans-serif;
+}
+* {
+    margin:0;
+    padding:0;
+    list-style-type:none;
+    box-sizing:border-box
+}
+html, body, h1, h2, h3, h4, h5, h6, div, dl, dt, dd, ul, ol, li, p, blockquote, pre, hr, figure, table, caption, th, td, form, fieldset, legend, input, button, textarea, menu {
+    margin: 0;
+    padding: 0;
+}
+img {
+    max-width:100%;
+}
+/* ::-webkit-scrollbar {
+    display: none;
+} */
+.flexs {
+    display:flex;
+    justify-content: space-between;
+    align-items:center;
+}
+.flex {
+    display:flex;
+    justify-content: center;
+    align-items:center;
+}
+iframe {
+    width: 100%;
+    height: 100%;
+}
+#ui {
+    position: absolute;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    flex-direction: column;
+    width: 100%;
+    height: 100%;
+    /* color: #494949; */
+    letter-spacing: 3px;
+}
+.antique-name {
+    font-size:20px;
+    text-align:center;
+    color:#fff;
+    width:70%;
+    margin:21vw auto 0;
+}
+.comment_wrapper {
+    position:relative;
+    z-index:9999;
+    width:83vw;
+    margin:0 auto;
+    display:none;
+}
+.introductionWrap {
+    width:100%;
+    background:#1d1d1d;
+    height:28vw;   
+    font-size:12px;
+    color:#ffffffba;
+    padding:4vw;
+
+}
+.introductionWrap .introduction {
+    overflow:scroll;
+    height: 100%;
+}
+.bg-audio {
+    display:block;
+    position:absolute;
+    z-index:2;
+    top:8.5vw;
+    right:7.4vw;
+    width:7.4vw;
+    height:7.4vw;
+    background:url(../images/bgmusic_icon_play.png)center/100% no-repeat;
+}
+.iconAction {
+    position:relative;
+    width:100%;
+
+    
+}
+.iconAction ul {
+    position: relative;
+    z-index: 999;
+    width:100%;
+    padding:0 17.6vw 9vw;
+;
+}
+.iconAction ul li {
+    width:12vw;
+    text-align:center;
+    cursor:pointer;
+}
+.iconAction ul li i{
+    display:block;
+    width:9vw;
+    height:9vw;
+    width:12vw;
+    margin:0 auto;
+}
+/* .iconAction ul li i.explain_icon{
+    background:url(../images/explain_icon.png)center/100% no-repeat;
+}
+.iconAction ul li i.explain_icon2{
+    background:url(../images/explain_icon2.png)center/100% no-repeat;
+} */
+#explain.active p{
+    color:#9a2e2c;
+}
+#explain .explain_icon {
+    background:url(../images/explain_icon.png)center/100% no-repeat;
+}
+#explain.active .explain_icon {
+    background:url(../images/explain_icon2.png)center/100% no-repeat;
+}
+.iconAction ul li i.comment_icon{
+    background:url(../images/comment_icon.png)center/100% no-repeat;
+}
+#favorite .favorite_icon {
+    background:url(../images/favorite_icon1.png)center/100% no-repeat;
+}
+#favorite.active p {
+    color:#9a2e2c;
+}
+#favorite.active .favorite_icon {
+    background:url(../images/favorite_icon2.png)center/100% no-repeat;
+    
+}
+/* .iconAction ul li i.favorite_icon1{
+    background:url(../images/favorite_icon1.png)center/100% no-repeat;
+}
+.iconAction ul li i.favorite_icon2{
+    background:url(../images/favorite_icon2.png)center/100% no-repeat;
+} */
+.iconAction ul li p {
+    font-size:16px;
+    color:#fff;
+}
+.info_voice {
+    margin:0 auto;
+    text-align:center;    
+}
+.audio_controls .icon_play {
+    display:inline-block;
+    width:3.4vw;
+    margin-right:5px;
+}
+.audio_controls .progress {
+    position:relative;
+    display:inline-block;
+    width:60vw;
+    background:#fff;
+    height:2px;
+}
+.audio_controls .progress i {
+    position:absolute;
+    top:-3px;
+    left:0;
+    display:inline-block;
+    width:8px;
+    height:8px;
+    background:#fff;
+    border-radius:4px;
+    -webkit-border-radius:4px;
+}
+.audio_controls .audio_time {
+    font-size:10px;
+    color:#fff;
+    margin-left:5px;
+}
+/* audio::-webkit-media-controls-panel {
+    background:rgba(255,255,255,1);
+}
+audio::-webkit-media-controls-mute-button {}
+audio::-webkit-media-controls-play-button {}
+audio::-webkit-media-controls-timeline-container {
+    background:none;
+}
+audio::-webkit-media-controls-current-time-display {}
+audio::-webkit-media-controls-time-remaining-display {}
+audio::-webkit-media-controls-timeline {}
+audio::-webkit-media-controls-volume-slider-container {
+    background:none;
+}
+audio::-webkit-media-controls-volume-slider {}
+audio::-webkit-media-controls-seek-back-button {}
+audio::-webkit-media-controls-seek-forward-button {}
+audio::-webkit-media-controls-fullscreen-button {}
+audio::-webkit-media-controls-rewind-button {}
+audio::-webkit-media-controls-return-to-realtime-button {}
+audio::-webkit-media-controls-toggle-closed-captions-button {} */
+.animated {
+    -webkit-animation-duration:1s;
+    animation-duration:1s;
+    -webkit-animation-fill-mode:both;
+    animation-fill-mode:both
+}
+@-webkit-keyframes fadeInBottom {
+    0% {
+        opacity:0;
+        -webkit-transform:translate3d(0, 100%, 0);
+        transform:translate3d(0, 100%, 0)
+    }
+    to {
+        opacity:1;
+        -webkit-transform:translateZ(0);
+        transform:translateZ(0)
+    }
+}
+@keyframes fadeInBottom {
+    0% {
+        opacity:0;
+        -webkit-transform:translate3d(0, 100%, 0);
+        transform:translate3d(0, 100%, 0)
+    }
+    to {
+        opacity:1;
+        -webkit-transform:translateZ(0);
+        transform:translateZ(0)
+    }
+}
+.fadeInBottom {
+    -webkit-animation-name:fadeInBottom;
+    animation-name:fadeInBottom
+}
+
+@-webkit-keyframes fadeOutBottom {
+    0% {
+        opacity:1
+    }
+    to {
+        opacity:0;
+        -webkit-transform:translate3d(0, 100%, 0);
+        transform:translate3d(0, 100%, 0)
+    }
+}
+@keyframes fadeOutBottom {
+    0% {
+        opacity:1
+    }
+    to {
+        opacity:0;
+        -webkit-transform:translate3d(0, 100%, 0);
+        transform:translate3d(0, 100%, 0)
+    }
+}
+.fadeOutBottom {
+    -webkit-animation-name:fadeOutBottom;
+    animation-name:fadeOutBottom
+}
+
+.musicRotate {
+    -webkit-animation: musicRotate 5s linear infinite;
+    animation: musicRotate 5s linear infinite;
+} 
+@keyframes musicRotate {
+    from {
+        transform: rotate(0deg);
+      }
+      to {
+        transform: rotate(360deg);
+        transition: all 5s;
+      }
+}

+ 45 - 0
public/4dage/index.html

@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <link rel=icon type=image/png sizes=32x32 href='./images/favicon.png' class=keep>
+    <link rel="stylesheet" href="./css/reset.css">
+    <link rel="stylesheet" href="./css/main.css">
+    <title>文物展示</title>
+</head>
+
+<body>
+    <div class="containers">
+        <p class="con-title">文物展示</p>
+        <ul class="con">
+            <!-- <li>
+                <div class="case">
+                    <a class="link-a" href="Model.html?m=YL01&v=1">
+                        <div class="card-img" style="background-image: url(images/YL01.jpg)">
+                        </div>
+                    </a>
+                </div>
+                <p>鸡娄鼓</p>
+            </li> -->
+        </ul>
+    </div>
+    <script>
+        let yp_num = ['nCR01','nCR02','nCR03','nCR04','nCR05']
+        // let notIn = [82,85,87,88,96,107,111,112,113,114,115,117,118]
+        //     for (let i = 0; i < 126; i++) {
+        //         if (!notIn.includes(i+1)) {
+        //             yp_num.push('jgs'+String(i+1).padStart(2,'0'))
+        //         }
+        //     }
+    </script>
+    <script src="js/jquery.js"></script>
+    <script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
+    <script src="js/weixin.js"></script>
+    <script src="js/info.js"></script>
+    <script src="js/ui.js"></script>
+</body>
+
+</html>

Разница между файлами не показана из-за своего большого размера
+ 1 - 0
public/4dage/js/4dage.js


Разница между файлами не показана из-за своего большого размера
+ 30 - 0
public/4dage/js/browser.min.js


+ 152 - 0
public/4dage/js/data.js

@@ -0,0 +1,152 @@
+const objNames = {
+    'YL01': {
+        name: '鸡娄鼓',
+        content: '高:30厘米<br>宽:20厘米'
+    },
+    'YL02': {
+        name: '鞉牢鼓',
+        content: '高:60厘米<br>直径:20厘米'
+    },
+    'YL03': {
+        name: '毛员鼓',
+        content: '高:61厘米<br>直径:20厘米'
+    },
+    'YL04': {
+        name: '和鼓',
+        content: '高:50厘米<br>直径:30厘米'
+    },
+    'YL05': {
+        name: '答腊鼓',
+        content: '高:24厘米<br>直径:28厘米'
+    },
+    'YL06': {
+        name: '正鼓',
+        content: '高:71厘米<br>直径:30厘米'
+    },
+    'YL07': {
+        name: '齐鼓',
+        content: '高:71厘米<br>直径:30厘米'
+    },
+    'YL08': {
+        name: '羯鼓',
+        content: '高:50厘米<br>直径:38厘米'
+    },
+    'YL09': {
+        name: '拍板',
+        content: '高:37厘米<br>宽:6厘米'
+    },
+    'YL10': {
+        name: '钹',
+        content: '直径:30厘米'
+    },
+    'YL11': {
+        name: '篪',
+        content: '长65厘米'
+    },
+    'YL12': {
+        name: '筚篥',
+        content: '长35厘米'
+    },
+    'YL13': {
+        name: '短笛',
+        content: '长:48厘米<br>直径:2.8厘米'
+    },
+    'YL14': {
+        name: '长笛',
+        content: '长:65厘米<br>直径:2.8厘米'
+    },
+    'YL15': {
+        name: '尺八',
+        content: '长:70厘米<br>直径:2.8厘米'
+    },
+    'YL16': {
+        name: '箫',
+        content: '长:70厘米<br>直径:2.8厘米'
+    },
+    'YL17': {
+        name: '排箫',
+        content: '长:45厘米<br>宽:40厘米'
+    },
+    'YL18': {
+        name: '双翼排箫',
+        content: '长:55厘米<br>宽:55厘米'
+    },
+    'YL19': {
+        name: '笙',
+        content: '长:48.3厘米<br>直径:9.6厘米<br>宽:26厘米'
+    },
+    'YL20': {
+        name: '吹叶',
+        content: '正常一片树叶大小'
+    },
+    'YL21': {
+        name: '螺贝',
+        content: '长:27厘米<br>宽:15厘米'
+    },
+    'YL22': {
+        name: '箜篌',
+        content: '长:115厘米<br>宽:64厘米<br>高:11厘米'
+    },
+    'YL23': {
+        name: '阮',
+        content: '长:120厘米<br>宽:48厘米<br>高:18厘米'
+    },
+    'YL24': {
+        name: '五弦琵琶',
+        content: '长:113厘米<br>宽:30厘米<br>高:9厘米'
+    },
+    'YL25': {
+        name: '周后石像',
+    },
+    'YL26': {
+        name: '抬棺武士石像',
+    },
+    'YL27': {
+        name: '抬棺武士石像',
+    },
+    'YL28': {
+        name: '四弦琵琶',
+        content: '长:113厘米<br>宽:30厘米<br>高:9厘米'
+    },
+    'YL29': {
+        name: '筝',
+        content: '长:165厘米<br>宽:18厘米'
+    },
+    'YL30': {
+        name: '地宫薄形砖',
+    },
+    'YL31': {
+        name: '地宫方形砖',
+    },
+    'YL32': {
+        name: '地宫小方砖',
+    },
+    'YL33': {
+        name: '地宫楔形石',
+    },
+    'YL34': {
+        name: '地宫楔形砖',
+    },
+    'YL35': {
+        name: '唐邛窑绿釉省油灯',
+    },
+    'YL36': {
+        name: '“东川”铭文地宫方形砖',
+    },
+    'YL37': {
+        name: '“金水”铭文地宫方形砖',
+    },
+    'YL38': {
+        name: '王建石像',
+    },
+};
+
+(function () {
+    var m = getQueryVariable('m');
+    var objName = objNames[m]['name']? objNames[m]['name'] : '';
+    var content = objNames[m]['content'];
+    var objNameElem = document.querySelector('#name');
+    objNameElem.innerHTML = objName;
+    var contentElem = document.querySelector('#content');
+    content && (contentElem.innerHTML = content)
+})()

+ 18 - 0
public/4dage/js/info.js

@@ -0,0 +1,18 @@
+
+// const modelInfos = {
+// }
+
+// yp_num.forEach(item => {
+//   modelInfos[item] = {
+//     name: '',
+//     time: '',
+//     size: '',
+//     texture: '',
+//     level: '',
+//     num: '',
+//     keep: '',
+//     unit: '精品文物数字化保护',
+//     voice: '',
+//     content: []
+//   }
+// })

Разница между файлами не показана из-за своего большого размера
+ 4 - 0
public/4dage/js/jquery.js


+ 0 - 0
public/4dage/js/model.js


+ 26 - 0
public/4dage/js/ui.js

@@ -0,0 +1,26 @@
+(function () {
+    let fragment = document.createDocumentFragment();
+ 
+    for (let i=0;i<yp_num.length;i++) {
+        let li = document.createElement('li');
+            let divWrap = document.createElement('div');
+            let a = document.createElement('a');
+            let div = document.createElement('div');
+            let p = document.createElement("p");
+            divWrap.classList.add('case');
+            a.classList.add('link-a');
+            a.href = `Model.html?m=${yp_num[i]}&v=1`;
+            div.classList.add('card-img');
+            div.style = `background-image: url(images/${yp_num[i]}.jpg)`;
+            let key = yp_num[i];
+            p.innerHTML = modelInfos[key].name;
+            a.appendChild(div);           
+            divWrap.appendChild(a);
+            li.appendChild(divWrap);
+            li.appendChild(p);
+            fragment.appendChild(li);
+    }
+    let ul = document.querySelector('.con');
+    ul.appendChild(fragment);
+    
+})()

+ 131 - 0
public/4dage/js/weixin.js

@@ -0,0 +1,131 @@
+var lineLink = window.location.href;
+var desc = '点击进入:在线720°鉴赏精品文物';
+var projectName = 'DG';
+
+var getQueryVariable = function(variable){
+  var query = window.location.search.substring(1);
+  var vars = query.split("&");
+  for (var i=0;i<vars.length;i++) {
+          var pair = vars[i].split("=");
+          if(pair[0] == variable){return pair[1];}
+  }
+  return(false);
+};
+
+let param = getQueryVariable('m');
+// let desc = param?;
+
+function jssdk() {
+	 $.ajax({    
+		url:'http://www.4dage.com/wechat/jssdk/share/', 
+		type: "post",
+		data : {
+            'uri' : location.href.split('#')[0],
+            'name': '厦门四维时代微信公众号'
+		}, 
+		dataType:"jsonp",     
+		jsonpCallback:"success_jsonp",         
+		success:function(data,textStatus){
+			wx.config({
+				// debug : true,
+				appId : data.appId,
+				timestamp : data.timestamp,
+				nonceStr : data.nonceStr,
+				signature : data.signature,
+				jsApiList : [ 'checkJsApi', 'onMenuShareTimeline',
+						'onMenuShareAppMessage', 'onMenuShareQQ',
+						'onMenuShareWeibo', 'hideMenuItems',
+						'showMenuItems', 'hideAllNonBaseMenuItem',
+						'showAllNonBaseMenuItem', 'translateVoice',
+						'startRecord', 'stopRecord', 'onRecordEnd',
+						'playVoice', 'pauseVoice', 'stopVoice',
+						'uploadVoice', 'downloadVoice', 'chooseImage',
+						'previewImage', 'uploadImage', 'downloadImage',
+						'getNetworkType', 'openLocation', 'getLocation',
+						'hideOptionMenu', 'showOptionMenu', 'closeWindow',
+						'scanQRCode', 'chooseWXPay',
+						'openProductSpecificView', 'addCard', 'chooseCard',
+						'openCard' ]
+			});
+		},    
+		error:function(XMLHttpRequest,textStatus,errorThrown){    
+			console.log("jsonp.error:"+textStatus);    
+		}    
+	 }); 
+	
+	 var success_jsonp = function(json){
+		console.log(json);
+	 };
+}
+
+wx.ready(function(){ 
+	// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行〿
+	//对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中〿
+	//分享到朋友圈 
+	wx.onMenuShareTimeline({ 
+	title: document.querySelector("head title").innerHTML, // 分享标题 
+	link: lineLink, // 分享链接 
+	imgUrl: 'http://model3d.4dage.com/3D/2018/model/'+projectName+'/images/weixin/'+getQueryVariable("m")+'.jpg', // 分享图标 
+	desc: desc
+	}); 
+
+	//获取“分享给朋友”按钮点击状态及自定义分享内容接叿
+	wx.onMenuShareAppMessage({ 
+        title: '义乌博物馆', // 分享标题 
+        desc: param?modelData[param].CN_Name:'',  // 分享描述 
+        link: lineLink + '?t=' + new Date().getTime(), // 分享链接 
+        // imgUrl: 'http://model3d.4dage.com/3D/2018/model/'+projectName+'/images/weixin/'+getQueryVariable("m")+'.jpg', // 分享图标 
+        imgUrl: 'https://model3d.4dage.com/3D/2018/model/sh/images/bg.jpg', // 分享图标 
+        type: '', // 分享类型,music、video或link,不填默认为link 
+        dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空 
+        success: function () {
+        },
+	}); 
+});
+
+wx.onMenuShareWeibo({
+	title: document.querySelector("head title").innerHTML, // 分享标题
+	desc: desc, // 分享描述
+	link: lineLink, // 分享链接
+	imgUrl: 'http://model3d.4dage.com/3D/2018/model/'+projectName+'/images/weixin/'+getQueryVariable("m")+'.jpg', // 分享图标
+	success: function () { 
+	   // 用户确认分享后执行的回调函数
+	},
+	cancel: function () { 
+		// 用户取消分享后执行的回调函数
+	}
+});
+
+wx.onMenuShareQZone({
+	title: document.querySelector("head title").innerHTML, // 分享标题
+	desc: desc, // 分享描述
+	link: lineLink, // 分享链接
+	imgUrl: 'http://model3d.4dage.com/3D/2018/model/'+projectName+'/images/weixin/'+getQueryVariable("m")+'.jpg', // 分享图标
+	success: function () { 
+	   // 用户确认分享后执行的回调函数
+	},
+	cancel: function () { 
+		// 用户取消分享后执行的回调函数
+	}
+});
+
+wx.onMenuShareQQ({
+	title: document.querySelector("head title").innerHTML, // 分享标题
+	desc: desc, // 分享描述
+	link: lineLink, // 分享链接
+	imgUrl: 'http://model3d.4dage.com/3D/2018/model/'+projectName+'/images/weixin/'+getQueryVariable("m")+'.jpg', // 分享图标
+	success: function () { 
+	   // 用户确认分享后执行的回调函数
+	},
+	cancel: function () { 
+	   // 用户取消分享后执行的回调函数
+	}
+});
+
+wx.error(function(res){ 
+// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名〿
+
+});
+
+jssdk();
+

BIN
public/favicon.ico


+ 16 - 0
public/index.html

@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="renderer" content="webkit">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui">
+    <meta name="format-detection" content="telephone=no">
+    <link rel="icon" href="<%= BASE_URL %>favicon.png">
+    <title>北京武警执勤第七支队数字史馆</title>
+  </head>
+  <body>
+    <div id="app"></div>
+  </body>
+</html>

+ 19 - 0
public/scene.html

@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="renderer" content="webkit">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui">
+    <meta name="format-detection" content="telephone=no">
+  
+    <title>北京武警执勤第七支队数字史馆</title>
+  </head>
+  <body>
+    <script src="<%= VUE_APP_STATIC_DIR %>/lib/jquery-2.1.1.min.js"></script>
+    <script src="<%= VUE_APP_STATIC_DIR %>/lib/krpano/js/tour.js"></script>
+
+    <div id="app"></div>
+  </body>
+</html>

BIN
public/static/css/font/FZ_GBK.ttf


BIN
public/static/css/font/fontawesome-webfont.eot


Разница между файлами не показана из-за своего большого размера
+ 655 - 0
public/static/css/font/fontawesome-webfont.svg


BIN
public/static/css/font/fontawesome-webfont.ttf


BIN
public/static/css/font/fontawesome-webfont.woff


BIN
public/static/css/font/fontawesome-webfont.woff2


BIN
public/static/css/font/mp-font.ttf


BIN
public/static/css/font/open-sans-light/OpenSansLight.woff2


BIN
public/static/css/font/open-sans-semibold/OpenSansSemibold.woff2


BIN
public/static/css/font/open-sans/OpenSansRegular.woff2


Разница между файлами не показана из-за своего большого размера
+ 7054 - 0
public/static/css/main.css


Разница между файлами не показана из-за своего большого размера
+ 4 - 0
public/static/css/oldVer/font-awesome.min.css


Разница между файлами не показана из-за своего большого размера
+ 483 - 0
public/static/css/oldVer/main.css.bak


+ 222 - 0
public/static/css/oldVer/main0.css

@@ -0,0 +1,222 @@
+.sidecontent{position:fixed;left:-750px;width:auto;display:none;background:rgba(0,0,0,0.8);top:70px;height: 100%;color: rgba(255,255,255,1);}
+.sidecontent h1{font-size:14px;width:90%;margin:0px auto;text-align:center;height:50px;line-height:50px;position:relative;}
+.sidecontent h1 span{font-size:12px;font-weight:normal;position:absolute;right:-10px;cursor:pointer;border:#ebebeb solid 1px;width:40px;height:40px;line-height:40px;border-radius:20px;text-align:center;}
+#text
+{
+    float:left;
+	width:auto;
+	font-size:18px;
+	letter-spacing:2px;
+	margin:30px;
+	max-width:600px;
+	height:500px;
+	max-height:630px;
+	line-height:22px;
+	font-family:"宋体";
+}
+#sideimg{margin:5px 20px 30px 10px;float:left;}
+
+#gui-modes-map div img
+{
+	width:48px;
+	height:48px;
+}
+
+ 
+
+iframe{
+	border: none;
+}
+
+
+#popup {
+	z-index: 20;
+	text-align: center;
+	padding: 0;
+	position: relative;
+	width: 100%;
+	height: 100%;
+	/* margin: 80px auto; */
+	display: none;
+	z-index: 101;
+	background:  rgba(0,0,0,0.6);
+}
+.popup-content{
+	position: relative;
+	width: 100%;
+	height: 100%;
+	overflow-x: hidden;
+}
+#id1{ width: 100%; height: 100%;}
+#popup.wait{
+	opacity:0.1; 
+}
+#closepop {
+	background: url(../../images/close1.png) no-repeat;
+	width: 60px;
+	height: 60px;
+	cursor: pointer;
+	position: absolute;
+	right: 30px;
+	top: 30px;
+	text-indent: -999em;
+	background-size: 100% 100%;
+}
+.specialTitle{bottom:65%;
+    width: 100%;
+    padding: 0 25px;
+    display: block;
+    font-family: OpenSans,'Helvetica Neue',sans-serif;
+    text-align: center;
+    font-size: 40px;
+    font-weight: 100;
+    letter-spacing: .75px;
+    text-shadow: 0 0 10px rgba(15,16,17,1);
+    color: rgba(255,255,255,1);
+    margin: 0;
+    position: absolute;
+    hyphens: auto;
+    word-wrap: break-word;
+    line-height: 45px;}
+	.dropdown {position: relative;display: inline-block;float: right;height: 40px;line-height: 40px;right: 10px;}
+    .floor{ width: 100px;text-align: center;display: block;height: 30px;background: rgba(0,0,0,0.4);line-height: 30px;margin-top: 10px;cursor: pointer;}
+    .dropdown-content {display: none;position: absolute;background: rgba(0,0,0,0.6);min-width: 100px;box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);text-align:center;}
+    .dropdown:hover .dropdown-content {display: block;}
+    a{text-decoration:none;}
+	#YY,#SZZ{display:none;}
+ @media only screen and (max-width:487px){
+           .dropdown {height: 30px;line-height: 30px;right:5px;}
+           .floor {width: 80px;height: 20px;line-height: 20px;margin-top: 5px;}
+          .dropdown-content{min-width: 80px;}	
+           }
+@media screen and (max-width: 1600px) {
+ 
+	/*#popup {
+		width: 816px;
+		height: 510px;
+		margin: -255px auto auto -408px;
+	}*/
+	.specialTitle{
+	bottom:65%;
+    font-size: 34px;
+	}
+}
+
+@media screen and (max-width: 1400px) {
+ 
+	/*#popup {
+		width: 714px;
+		height: 446px;
+		margin: -223px auto auto -357px;
+	}*/
+	.specialTitle {
+    bottom: 65%;
+    font-size: 30px;
+    }
+}
+
+@media screen and (max-width: 1200px) {
+ 
+	#closepop{
+		width: 40px;
+		height: 40px;
+		top: 20px;
+		right: 20px;
+	}
+	.specialTitle {
+    bottom: 66%;
+    font-size: 26px;
+    }
+}
+ 
+@media screen and (max-width: 768px) {
+ 
+	.specialTitle {
+     bottom: 62%;
+     font-size: 26px;
+	 line-height:40px;
+    }
+	#special-gui-name{display:none;}
+}
+@media screen and  (max-width: 736px){
+
+	
+	#title-toggle{
+		padding-top: 18px;
+		height: 42px;
+	}
+
+
+	.pinTop{top:8px;}
+}
+@media screen and  (max-width:667px){
+	#closepop{
+		width: 36px;
+		height: 36px;
+		top: 0px;
+		right: 0px;
+	}
+
+	#title-toggle{
+		padding-top: 17px;
+		height: 40px;
+	}
+
+	#musicImg .fa-2x {
+        font-size: 1.5em;
+    }
+	.pinTop{top:8px;}
+
+}
+@media screen and  (max-width:568px){
+
+	
+	#title-toggle{
+		padding-top: 17px;
+		height: 38px;
+	}
+	
+	#musicImg .fa-2x {
+        font-size: 1.5em;
+    }
+	.pinTop{top:8px;}
+
+}
+@media screen and (max-width:414px) {
+
+	
+	#title-toggle{
+		padding-top: 17px;
+		height: 40px;
+	}
+	
+
+}
+@media screen and (max-width:375px) {
+
+	
+	#title-toggle{
+		padding-top: 17px;
+		height: 38px;
+	}
+
+	
+	.pinTop{top:5px;}	
+	
+}
+@media screen and (max-width:320px) {
+	/*#popup {
+		width: 200px;
+        height: 380px;
+        margin: -200px auto auto -100px;
+	}*/
+	
+	#title-toggle{
+		padding-top: 16px;
+		height: 36px;
+	}
+
+	
+	.pinTop{top:0px;}
+	
+}

+ 339 - 0
public/static/css/oldVer/main0.css.bak

@@ -0,0 +1,339 @@
+.sidecontent{position:fixed;left:-750px;width:auto;display:none;background:rgba(0,0,0,0.8);top:70px;height: 100%;color: rgba(255,255,255,1);}
+.sidecontent h1{font-size:14px;width:90%;margin:0px auto;text-align:center;height:50px;line-height:50px;position:relative;}
+.sidecontent h1 span{font-size:12px;font-weight:normal;position:absolute;right:-10px;cursor:pointer;border:#ebebeb solid 1px;width:40px;height:40px;line-height:40px;border-radius:20px;text-align:center;}
+#text
+{
+    float:left;
+	width:auto;
+	font-size:18px;
+	letter-spacing:2px;
+	margin:30px;
+	max-width:600px;
+	height:500px;
+	max-height:630px;
+	line-height:22px;
+	font-family:"宋体";
+}
+#sideimg{margin:5px 20px 30px 10px;float:left;}
+
+#gui-modes-map div img
+{
+	width:48px;
+	height:48px;
+}
+
+ 
+
+iframe{
+	border: none;
+}
+
+
+#popup {
+	z-index: 20;
+	text-align: center;
+	padding: 0;
+	position: absolute;
+	top: 50%;
+	left: 50%;
+	width: 960px;
+	height: 580px;
+	margin: -290px auto auto -480px;
+	display: none;
+	overflow-y: hidden;
+	transition: opacity 0.2s;
+	opacity: 1;
+}
+#popup.wait{
+	pointer-events:none;
+	opacity:0.1; 
+}
+#closepop {
+	background: url(../../images/close1.png) no-repeat;
+    width: 40px;
+    height: 40px;
+    cursor: pointer;
+    position: absolute;
+    right: 0px;
+    top: -3px;
+    text-indent: -999em;
+}
+.specialTitle{bottom:65%;
+    width: 100%;
+    padding: 0 25px;
+    display: block;
+    font-family: OpenSans,'Helvetica Neue',sans-serif;
+    text-align: center;
+    font-size: 40px;
+    font-weight: 100;
+    letter-spacing: .75px;
+    text-shadow: 0 0 10px rgba(15,16,17,1);
+    color: rgba(255,255,255,1);
+    margin: 0;
+    position: absolute;
+    hyphens: auto;
+    word-wrap: break-word;
+    line-height: 45px;}
+	.dropdown {position: relative;display: inline-block;float: right;height: 40px;line-height: 40px;right: 10px;}
+    .floor{ width: 100px;text-align: center;display: block;height: 30px;background: rgba(0,0,0,0.4);line-height: 30px;margin-top: 10px;cursor: pointer;}
+    .dropdown-content {display: none;position: absolute;background: rgba(0,0,0,0.6);min-width: 100px;box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);text-align:center;}
+    .dropdown:hover .dropdown-content {display: block;}
+    a{text-decoration:none;}
+	#YY,#SZZ{display:none;}
+ @media only screen and (max-width:487px){
+           .dropdown {height: 30px;line-height: 30px;right:5px;}
+           .floor {width: 80px;height: 20px;line-height: 20px;margin-top: 5px;}
+          .dropdown-content{min-width: 80px;}	
+           }
+@media screen and (max-width: 1600px) {
+ 
+	#popup {
+		width: 816px;
+		height: 510px;
+		margin: -255px auto auto -408px;
+	}
+	.specialTitle{
+	bottom:65%;
+    font-size: 34px;
+	}
+}
+
+@media screen and (max-width: 1400px) {
+ 
+	#popup {
+		width: 714px;
+		height: 446px;
+		margin: -223px auto auto -357px;
+	}
+	.specialTitle {
+    bottom: 65%;
+    font-size: 30px;
+    }
+}
+
+@media screen and (max-width: 1200px) {
+ 
+	#popup {
+		width: 700px;
+		height: 422px;
+		margin: -211px auto auto -350px;
+	}
+	.specialTitle {
+    bottom: 66%;
+    font-size: 26px;
+    }
+}
+
+/* @media screen and (max-width: 1024px) { */
+ 
+	/* #popup { */
+		/* width: 700px; */
+		/* height: 438px; */
+		/* margin: -219px auto auto -350px; */
+	/* } */
+/* } */
+@media screen and (max-width: 768px) {
+ 
+	#popup {
+		width:600px;
+		height:720px;
+		margin: -360px auto auto -300px;
+	}
+	.specialTitle {
+     bottom: 62%;
+     font-size: 26px;
+	 line-height:40px;
+    }
+	#special-gui-name{display:none;}
+}
+@media screen and (min-width:669px) and (max-width: 736px){
+	#popup {
+		width:500px;
+		height:260px;
+		margin: -130px auto auto -250px;
+	}
+	#closepop{
+		width: 32px;
+        height: 32px;
+		background-size: contain;
+		right: 0px;
+	}
+	#model-title{
+		height: 42px;
+	}
+	#title-toggle{
+		padding-top: 18px;
+		height: 42px;
+	}
+	.title-container{
+		padding: 16px 10px 6px;
+		height:42px;
+		width: 259px;
+	}
+	#gui-name{
+		font-size: 16px;
+		line-height:16px;
+	}
+	.pinTop{top:8px;}
+	#model-title {
+    width: 70%;
+}
+}
+@media screen and (min-width:569px) and (max-width:667px){
+	#popup {
+		width:420px;
+		height:230px;
+		margin: -115px auto auto -210px;
+	}
+	#closepop{
+		width: 30px;
+        height: 30px;
+		background-size: contain;
+		right: 0px;
+	}
+	#model-title{
+		height: 40px;
+	}
+	#title-toggle{
+		padding-top: 17px;
+		height: 40px;
+	}
+	.title-container{
+		padding: 16px 10px 6px;
+		height:40px;
+		width: 240px;
+	}
+	#gui-name{
+		font-size: 15px;
+		line-height:15px;
+	}
+	#musicImg .fa-2x {
+        font-size: 1.5em;
+    }
+	.pinTop{top:8px;}
+	#model-title {
+    width: 70%;
+}
+}
+@media screen and (min-width:447px) and (max-width:568px){
+	#popup {
+		width:340px;
+		height:170px;
+		margin: -85px auto auto -170px;
+	}
+	#closepop{
+		width: 30px;
+        height: 30px;
+		background-size: contain;
+		right: 0px;
+	}
+	#model-title{
+		height: 38px;
+	}
+	#title-toggle{
+		padding-top: 17px;
+		height: 38px;
+	}
+	.title-container{
+		padding: 16px 10px 6px;
+		height:38px;
+		width: 220px;
+	}
+	#gui-name{
+		font-size: 14px;
+		line-height:14px;
+	}
+	#musicImg .fa-2x {
+        font-size: 1.5em;
+    }
+	.pinTop{top:8px;}
+	#model-title {
+    width: 70%;
+}
+}
+@media screen and (max-width:414px) {
+	#popup {
+		width: 280px;
+        height: 520px;
+        margin: -260px auto auto -140px;
+	}
+	#closepop{
+		width: 30px;
+        height: 30px;
+		background-size: contain;
+		right: 0px;
+	}
+	#model-title{
+		height: 40px;
+	}
+	#title-toggle{
+		padding-top: 17px;
+		height: 40px;
+	}
+	.title-container{
+		padding: 16px 10px 6px;
+		height:40px;
+		width: 220px;
+	}
+	#gui-name{
+		font-size: 16px;
+		line-height:16px;
+	}
+	#model-title {
+    width: 70%;
+}
+}
+@media screen and (max-width:375px) {
+	#popup {
+		width: 252px;
+        height: 490px;
+        margin: -245px auto auto -126px;
+	}
+	#model-title{
+		height: 38px;
+	}
+	#title-toggle{
+		padding-top: 17px;
+		height: 38px;
+	}
+	.title-container{
+		padding: 16px 10px 6px;
+		height:38px;
+		width: 220px;
+	}
+	#gui-name{
+		font-size: 15px;
+		line-height:15px;
+	}
+	.pinTop{top:5px;}	
+	#model-title {
+    width: 70%;
+}
+}
+@media screen and (max-width:320px) {
+	#popup {
+		width: 200px;
+        height: 380px;
+        margin: -200px auto auto -100px;
+	}
+	#model-title{
+		height: 36px;
+	}
+	#title-toggle{
+		padding-top: 16px;
+		height: 36px;
+	}
+	.title-container{
+		padding: 16px 10px 6px;
+		height:36px;
+		width: 200px;
+	}
+	#gui-name{
+		font-size: 14px;
+		line-height:14px;
+	}
+	.pinTop{top:0px;}
+	#model-title {
+    width: 70%;
+}
+}

+ 770 - 0
public/static/css/oldVer/video-js.css

@@ -0,0 +1,770 @@
+/*!
+Video.js Default Styles (http://videojs.com)
+Version 4.5.1
+Create your own skin at http://designer.videojs.com
+*/
+/* SKIN
+================================================================================
+The main class name for all skin-specific styles. To make your own skin,
+replace all occurances of 'vjs-default-skin' with a new name. Then add your new
+skin name to your video tag instead of the default skin.
+e.g. <video class="video-js my-skin-name">
+*/
+.vjs-default-skin {
+  color: #cccccc;
+}
+/* Custom Icon Font
+--------------------------------------------------------------------------------
+The control icons are from a custom font. Each icon corresponds to a character
+(e.g. "\e001"). Font icons allow for easy scaling and coloring of icons.
+*/
+@font-face {
+  font-family: 'VideoJS';
+  src: url('font/vjs.eot');
+  src: url('font/vjs.eot?#iefix') format('embedded-opentype'), url('font/vjs.woff') format('woff'), url('font/vjs.ttf') format('truetype');
+  font-weight: normal;
+  font-style: normal;
+}
+/* Base UI Component Classes
+--------------------------------------------------------------------------------
+*/
+/* Slider - used for Volume bar and Seek bar */
+.vjs-default-skin .vjs-slider {
+  /* Replace browser focus hightlight with handle highlight */
+  outline: 0;
+  position: relative;
+  cursor: pointer;
+  padding: 0;
+  /* background-color-with-alpha */
+  background-color: #333333;
+  background-color: rgba(51, 51, 51, 0.9);
+}
+.vjs-default-skin .vjs-slider:focus {
+  /* box-shadow */
+  -webkit-box-shadow: 0 0 2em #ffffff;
+  -moz-box-shadow: 0 0 2em #ffffff;
+  box-shadow: 0 0 2em #ffffff;
+}
+.vjs-default-skin .vjs-slider-handle {
+  position: absolute;
+  /* Needed for IE6 */
+  left: 0;
+  top: 0;
+}
+.vjs-default-skin .vjs-slider-handle:before {
+  content: "\e009";
+  font-family: VideoJS;
+  font-size: 1em;
+  line-height: 1;
+  text-align: center;
+  text-shadow: 0em 0em 1em #fff;
+  position: absolute;
+  top: 0;
+  left: 0;
+  /* Rotate the square icon to make a diamond */
+  /* transform */
+  -webkit-transform: rotate(-45deg);
+  -moz-transform: rotate(-45deg);
+  -ms-transform: rotate(-45deg);
+  -o-transform: rotate(-45deg);
+  transform: rotate(-45deg);
+}
+/* Control Bar
+--------------------------------------------------------------------------------
+The default control bar that is a container for most of the controls.
+*/
+.vjs-default-skin .vjs-control-bar {
+  /* Start hidden */
+  display: none;
+  position: absolute;
+  /* Place control bar at the bottom of the player box/video.
+     If you want more margin below the control bar, add more height. */
+  bottom: 0;
+  /* Use left/right to stretch to 100% width of player div */
+  left: 0;
+  right: 0;
+  /* Height includes any margin you want above or below control items */
+  height: 3.0em;
+  /* background-color-with-alpha */
+  background-color: #07141e;
+  background-color: rgba(7, 20, 30, 0.7);
+}
+/* Show the control bar only once the video has started playing */
+.vjs-default-skin.vjs-has-started .vjs-control-bar {
+  display: block;
+  /* Visibility needed to make sure things hide in older browsers too. */
+
+  visibility: visible;
+  opacity: 1;
+  /* transition */
+  -webkit-transition: visibility 0.1s, opacity 0.1s;
+  -moz-transition: visibility 0.1s, opacity 0.1s;
+  -o-transition: visibility 0.1s, opacity 0.1s;
+  transition: visibility 0.1s, opacity 0.1s;
+}
+/* Hide the control bar when the video is playing and the user is inactive  */
+.vjs-default-skin.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
+  display: block;
+  visibility: hidden;
+  opacity: 0;
+  /* transition */
+  -webkit-transition: visibility 1s, opacity 1s;
+  -moz-transition: visibility 1s, opacity 1s;
+  -o-transition: visibility 1s, opacity 1s;
+  transition: visibility 1s, opacity 1s;
+}
+.vjs-default-skin.vjs-controls-disabled .vjs-control-bar {
+  display: none;
+}
+.vjs-default-skin.vjs-using-native-controls .vjs-control-bar {
+  display: none;
+}
+/* IE8 is flakey with fonts, and you have to change the actual content to force
+fonts to show/hide properly.
+  - "\9" IE8 hack didn't work for this
+  - Found in XP IE8 from http://modern.ie. Does not show up in "IE8 mode" in IE9
+*/
+@media \0screen {
+  .vjs-default-skin.vjs-user-inactive.vjs-playing .vjs-control-bar :before {
+    content: "";
+  }
+}
+/* General styles for individual controls. */
+.vjs-default-skin .vjs-control {
+  outline: none;
+  position: relative;
+  float: left;
+  text-align: center;
+  margin: 0;
+  padding: 0;
+  height: 3.0em;
+  width: 4em;
+}
+/* FontAwsome button icons */
+.vjs-default-skin .vjs-control:before {
+  font-family: VideoJS;
+  font-size: 1.5em;
+  line-height: 2;
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  text-align: center;
+  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
+}
+/* Replacement for focus outline */
+.vjs-default-skin .vjs-control:focus:before,
+.vjs-default-skin .vjs-control:hover:before {
+  text-shadow: 0em 0em 1em #ffffff;
+}
+.vjs-default-skin .vjs-control:focus {
+  /*  outline: 0; */
+  /* keyboard-only users cannot see the focus on several of the UI elements when
+  this is set to 0 */
+
+}
+/* Hide control text visually, but have it available for screenreaders */
+.vjs-default-skin .vjs-control-text {
+  /* hide-visually */
+  border: 0;
+  clip: rect(0 0 0 0);
+  height: 1px;
+  margin: -1px;
+  overflow: hidden;
+  padding: 0;
+  position: absolute;
+  width: 1px;
+}
+/* Play/Pause
+--------------------------------------------------------------------------------
+*/
+.vjs-default-skin .vjs-play-control {
+  width: 5em;
+  cursor: pointer;
+}
+.vjs-default-skin .vjs-play-control:before {
+  content: "\e001";
+}
+.vjs-default-skin.vjs-playing .vjs-play-control:before {
+  content: "\e002";
+}
+/* Volume/Mute
+-------------------------------------------------------------------------------- */
+.vjs-default-skin .vjs-mute-control,
+.vjs-default-skin .vjs-volume-menu-button {
+  cursor: pointer;
+  float: right;
+}
+.vjs-default-skin .vjs-mute-control:before,
+.vjs-default-skin .vjs-volume-menu-button:before {
+  content: "\e006";
+}
+.vjs-default-skin .vjs-mute-control.vjs-vol-0:before,
+.vjs-default-skin .vjs-volume-menu-button.vjs-vol-0:before {
+  content: "\e003";
+}
+.vjs-default-skin .vjs-mute-control.vjs-vol-1:before,
+.vjs-default-skin .vjs-volume-menu-button.vjs-vol-1:before {
+  content: "\e004";
+}
+.vjs-default-skin .vjs-mute-control.vjs-vol-2:before,
+.vjs-default-skin .vjs-volume-menu-button.vjs-vol-2:before {
+  content: "\e005";
+}
+.vjs-default-skin .vjs-volume-control {
+  width: 5em;
+  float: right;
+}
+.vjs-default-skin .vjs-volume-bar {
+  width: 5em;
+  height: 0.6em;
+  margin: 1.1em auto 0;
+}
+.vjs-default-skin .vjs-volume-menu-button .vjs-menu-content {
+  height: 2.9em;
+}
+.vjs-default-skin .vjs-volume-level {
+  position: absolute;
+  top: 0;
+  left: 0;
+  height: 0.5em;
+  background: #66a8cc url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAP0lEQVQIHWWMAQoAIAgDR/QJ/Ub//04+w7ZICBwcOg5FZi5iBB82AGzixEglJrd4TVK5XUJpskSTEvpdFzX9AB2pGziSQcvAAAAAAElFTkSuQmCC) -50% 0 repeat;
+}
+.vjs-default-skin .vjs-volume-bar .vjs-volume-handle {
+  width: 0.5em;
+  height: 0.5em;
+}
+.vjs-default-skin .vjs-volume-handle:before {
+  font-size: 0.9em;
+  top: -0.2em;
+  left: -0.2em;
+  width: 1em;
+  height: 1em;
+}
+.vjs-default-skin .vjs-volume-menu-button .vjs-menu .vjs-menu-content {
+  width: 6em;
+  left: -4em;
+}
+/* Progress
+--------------------------------------------------------------------------------
+*/
+.vjs-default-skin .vjs-progress-control {
+  position: absolute;
+  left: 0;
+  right: 0;
+  width: auto;
+  font-size: 0.3em;
+  height: 1em;
+  /* Set above the rest of the controls. */
+  top: -1em;
+  /* Shrink the bar slower than it grows. */
+  /* transition */
+  -webkit-transition: all 0.4s;
+  -moz-transition: all 0.4s;
+  -o-transition: all 0.4s;
+  transition: all 0.4s;
+}
+/* On hover, make the progress bar grow to something that's more clickable.
+    This simply changes the overall font for the progress bar, and this
+    updates both the em-based widths and heights, as wells as the icon font */
+.vjs-default-skin:hover .vjs-progress-control {
+  font-size: .9em;
+  /* Even though we're not changing the top/height, we need to include them in
+      the transition so they're handled correctly. */
+
+  /* transition */
+  -webkit-transition: all 0.2s;
+  -moz-transition: all 0.2s;
+  -o-transition: all 0.2s;
+  transition: all 0.2s;
+}
+/* Box containing play and load progresses. Also acts as seek scrubber. */
+.vjs-default-skin .vjs-progress-holder {
+  height: 100%;
+}
+/* Progress Bars */
+.vjs-default-skin .vjs-progress-holder .vjs-play-progress,
+.vjs-default-skin .vjs-progress-holder .vjs-load-progress {
+  position: absolute;
+  display: block;
+  height: 100%;
+  margin: 0;
+  padding: 0;
+  /* Needed for IE6 */
+  left: 0;
+  top: 0;
+}
+.vjs-default-skin .vjs-play-progress {
+  /*
+    Using a data URI to create the white diagonal lines with a transparent
+      background. Surprisingly works in IE8.
+      Created using http://www.patternify.com
+    Changing the first color value will change the bar color.
+    Also using a paralax effect to make the lines move backwards.
+      The -50% left position makes that happen.
+  */
+
+  background: #66a8cc url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAP0lEQVQIHWWMAQoAIAgDR/QJ/Ub//04+w7ZICBwcOg5FZi5iBB82AGzixEglJrd4TVK5XUJpskSTEvpdFzX9AB2pGziSQcvAAAAAAElFTkSuQmCC) -50% 0 repeat;
+}
+.vjs-default-skin .vjs-load-progress {
+  background: #646464 /* IE8- Fallback */;
+  background: rgba(255, 255, 255, 0.4);
+}
+.vjs-default-skin .vjs-seek-handle {
+  width: 1.5em;
+  height: 100%;
+}
+.vjs-default-skin .vjs-seek-handle:before {
+  padding-top: 0.1em /* Minor adjustment */;
+}
+/* Time Display
+--------------------------------------------------------------------------------
+*/
+.vjs-default-skin .vjs-time-controls {
+  font-size: 1em;
+  /* Align vertically by making the line height the same as the control bar */
+  line-height: 3em;
+}
+.vjs-default-skin .vjs-current-time {
+  float: left;
+}
+.vjs-default-skin .vjs-duration {
+  float: left;
+}
+/* Remaining time is in the HTML, but not included in default design */
+.vjs-default-skin .vjs-remaining-time {
+  display: none;
+  float: left;
+}
+.vjs-time-divider {
+  float: left;
+  line-height: 3em;
+}
+/* Fullscreen
+--------------------------------------------------------------------------------
+*/
+.vjs-default-skin .vjs-fullscreen-control {
+  width: 3.8em;
+  cursor: pointer;
+  float: right;
+}
+.vjs-default-skin .vjs-fullscreen-control:before {
+  content: "\e000";
+}
+/* Switch to the exit icon when the player is in fullscreen */
+.vjs-default-skin.vjs-fullscreen .vjs-fullscreen-control:before {
+  content: "\e00b";
+}
+/* Big Play Button (play button at start)
+--------------------------------------------------------------------------------
+Positioning of the play button in the center or other corners can be done more
+easily in the skin designer. http://designer.videojs.com/
+*/
+.vjs-default-skin .vjs-big-play-button {
+  left: 0.5em;
+  top: 0.5em;
+  font-size: 3em;
+  display: block;
+  z-index: 2;
+  position: absolute;
+  width: 4em;
+  height: 2.6em;
+  text-align: center;
+  vertical-align: middle;
+  cursor: pointer;
+  opacity: 1;
+  /* Need a slightly gray bg so it can be seen on black backgrounds */
+  /* background-color-with-alpha */
+  background-color: #07141e;
+  background-color: rgba(7, 20, 30, 0.7);
+  border: 0.1em solid #3b4249;
+  /* border-radius */
+  -webkit-border-radius: 0.8em;
+  -moz-border-radius: 0.8em;
+  border-radius: 0.8em;
+  /* box-shadow */
+  -webkit-box-shadow: 0px 0px 1em rgba(255, 255, 255, 0.25);
+  -moz-box-shadow: 0px 0px 1em rgba(255, 255, 255, 0.25);
+  box-shadow: 0px 0px 1em rgba(255, 255, 255, 0.25);
+  /* transition */
+  -webkit-transition: all 0.4s;
+  -moz-transition: all 0.4s;
+  -o-transition: all 0.4s;
+  transition: all 0.4s;
+}
+/* Optionally center */
+.vjs-default-skin.vjs-big-play-centered .vjs-big-play-button {
+  /* Center it horizontally */
+  left: 50%;
+  margin-left: -2.1em;
+  /* Center it vertically */
+  top: 50%;
+  margin-top: -1.4000000000000001em;
+}
+/* Hide if controls are disabled */
+.vjs-default-skin.vjs-controls-disabled .vjs-big-play-button {
+  display: none;
+}
+/* Hide when video starts playing */
+.vjs-default-skin.vjs-has-started .vjs-big-play-button {
+  display: none;
+}
+/* Hide on mobile devices. Remove when we stop using native controls
+    by default on mobile  */
+.vjs-default-skin.vjs-using-native-controls .vjs-big-play-button {
+  display: none;
+}
+.vjs-default-skin:hover .vjs-big-play-button,
+.vjs-default-skin .vjs-big-play-button:focus {
+  outline: 0;
+  border-color: #fff;
+  /* IE8 needs a non-glow hover state */
+  background-color: #505050;
+  background-color: rgba(50, 50, 50, 0.75);
+  /* box-shadow */
+  -webkit-box-shadow: 0 0 3em #ffffff;
+  -moz-box-shadow: 0 0 3em #ffffff;
+  box-shadow: 0 0 3em #ffffff;
+  /* transition */
+  -webkit-transition: all 0s;
+  -moz-transition: all 0s;
+  -o-transition: all 0s;
+  transition: all 0s;
+}
+.vjs-default-skin .vjs-big-play-button:before {
+  content: "\e001";
+  font-family: VideoJS;
+  /* In order to center the play icon vertically we need to set the line height
+     to the same as the button height */
+
+  line-height: 2.6em;
+  text-shadow: 0.05em 0.05em 0.1em #000;
+  text-align: center /* Needed for IE8 */;
+  position: absolute;
+  left: 0;
+  width: 100%;
+  height: 100%;
+}
+/* Loading Spinner
+--------------------------------------------------------------------------------
+*/
+.vjs-loading-spinner {
+  display: none;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  font-size: 4em;
+  line-height: 1;
+  width: 1em;
+  height: 1em;
+  margin-left: -0.5em;
+  margin-top: -0.5em;
+  opacity: 0.75;
+  /* animation */
+  -webkit-animation: spin 1.5s infinite linear;
+  -moz-animation: spin 1.5s infinite linear;
+  -o-animation: spin 1.5s infinite linear;
+  animation: spin 1.5s infinite linear;
+}
+.vjs-default-skin .vjs-loading-spinner:before {
+  content: "\e01e";
+  font-family: VideoJS;
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 1em;
+  height: 1em;
+  text-align: center;
+  text-shadow: 0em 0em 0.1em #000;
+}
+@-moz-keyframes spin {
+  0% {
+    -moz-transform: rotate(0deg);
+  }
+  100% {
+    -moz-transform: rotate(359deg);
+  }
+}
+@-webkit-keyframes spin {
+  0% {
+    -webkit-transform: rotate(0deg);
+  }
+  100% {
+    -webkit-transform: rotate(359deg);
+  }
+}
+@-o-keyframes spin {
+  0% {
+    -o-transform: rotate(0deg);
+  }
+  100% {
+    -o-transform: rotate(359deg);
+  }
+}
+@keyframes spin {
+  0% {
+    transform: rotate(0deg);
+  }
+  100% {
+    transform: rotate(359deg);
+  }
+}
+/* Menu Buttons (Captions/Subtitles/etc.)
+--------------------------------------------------------------------------------
+*/
+.vjs-default-skin .vjs-menu-button {
+  float: right;
+  cursor: pointer;
+}
+.vjs-default-skin .vjs-menu {
+  display: none;
+  position: absolute;
+  bottom: 0;
+  left: 0em;
+  /* (Width of vjs-menu - width of button) / 2 */
+
+  width: 0em;
+  height: 0em;
+  margin-bottom: 3em;
+  border-left: 2em solid transparent;
+  border-right: 2em solid transparent;
+  border-top: 1.55em solid #000000;
+  /* Same width top as ul bottom */
+
+  border-top-color: rgba(7, 40, 50, 0.5);
+  /* Same as ul background */
+
+}
+/* Button Pop-up Menu */
+.vjs-default-skin .vjs-menu-button .vjs-menu .vjs-menu-content {
+  display: block;
+  padding: 0;
+  margin: 0;
+  position: absolute;
+  width: 10em;
+  bottom: 1.5em;
+  /* Same bottom as vjs-menu border-top */
+
+  max-height: 15em;
+  overflow: auto;
+  left: -5em;
+  /* Width of menu - width of button / 2 */
+
+  /* background-color-with-alpha */
+  background-color: #07141e;
+  background-color: rgba(7, 20, 30, 0.7);
+  /* box-shadow */
+  -webkit-box-shadow: -0.2em -0.2em 0.3em rgba(255, 255, 255, 0.2);
+  -moz-box-shadow: -0.2em -0.2em 0.3em rgba(255, 255, 255, 0.2);
+  box-shadow: -0.2em -0.2em 0.3em rgba(255, 255, 255, 0.2);
+}
+.vjs-default-skin .vjs-menu-button:hover .vjs-menu {
+  display: block;
+}
+.vjs-default-skin .vjs-menu-button ul li {
+  list-style: none;
+  margin: 0;
+  padding: 0.3em 0 0.3em 0;
+  line-height: 1.4em;
+  font-size: 1.2em;
+  text-align: center;
+  text-transform: lowercase;
+}
+.vjs-default-skin .vjs-menu-button ul li.vjs-selected {
+  background-color: #000;
+}
+.vjs-default-skin .vjs-menu-button ul li:focus,
+.vjs-default-skin .vjs-menu-button ul li:hover,
+.vjs-default-skin .vjs-menu-button ul li.vjs-selected:focus,
+.vjs-default-skin .vjs-menu-button ul li.vjs-selected:hover {
+  outline: 0;
+  color: #111;
+  /* background-color-with-alpha */
+  background-color: #ffffff;
+  background-color: rgba(255, 255, 255, 0.75);
+  /* box-shadow */
+  -webkit-box-shadow: 0 0 1em #ffffff;
+  -moz-box-shadow: 0 0 1em #ffffff;
+  box-shadow: 0 0 1em #ffffff;
+}
+.vjs-default-skin .vjs-menu-button ul li.vjs-menu-title {
+  text-align: center;
+  text-transform: uppercase;
+  font-size: 1em;
+  line-height: 2em;
+  padding: 0;
+  margin: 0 0 0.3em 0;
+  font-weight: bold;
+  cursor: default;
+}
+/* Subtitles Button */
+.vjs-default-skin .vjs-subtitles-button:before {
+  content: "\e00c";
+}
+/* Captions Button */
+.vjs-default-skin .vjs-captions-button:before {
+  content: "\e008";
+}
+/* Replacement for focus outline */
+.vjs-default-skin .vjs-captions-button:focus .vjs-control-content:before,
+.vjs-default-skin .vjs-captions-button:hover .vjs-control-content:before {
+  /* box-shadow */
+  -webkit-box-shadow: 0 0 1em #ffffff;
+  -moz-box-shadow: 0 0 1em #ffffff;
+  box-shadow: 0 0 1em #ffffff;
+}
+/*
+REQUIRED STYLES (be careful overriding)
+================================================================================
+When loading the player, the video tag is replaced with a DIV,
+that will hold the video tag or object tag for other playback methods.
+The div contains the video playback element (Flash or HTML5) and controls,
+and sets the width and height of the video.
+
+** If you want to add some kind of border/padding (e.g. a frame), or special
+positioning, use another containing element. Otherwise you risk messing up
+control positioning and full window mode. **
+*/
+.video-js {
+  background-color: #000;
+  position: relative;
+  padding: 0;
+  /* Start with 10px for base font size so other dimensions can be em based and
+     easily calculable. */
+
+  font-size: 10px;
+  /* Allow poster to be vertially aligned. */
+
+  vertical-align: middle;
+  /*  display: table-cell; */
+  /*This works in Safari but not Firefox.*/
+
+  /* Provide some basic defaults for fonts */
+
+  font-weight: normal;
+  font-style: normal;
+  /* Avoiding helvetica: issue #376 */
+
+  font-family: Arial, sans-serif;
+  /* Turn off user selection (text highlighting) by default.
+     The majority of player components will not be text blocks.
+     Text areas will need to turn user selection back on. */
+
+  /* user-select */
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+/* Playback technology elements expand to the width/height of the containing div
+    <video> or <object> */
+.video-js .vjs-tech {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+}
+/* Fix for Firefox 9 fullscreen (only if it is enabled). Not needed when
+   checking fullScreenEnabled. */
+.video-js:-moz-full-screen {
+  position: absolute;
+}
+/* Fullscreen Styles */
+body.vjs-full-window {
+  padding: 0;
+  margin: 0;
+  height: 100%;
+  /* Fix for IE6 full-window. http://www.cssplay.co.uk/layouts/fixed.html */
+  overflow-y: auto;
+}
+.video-js.vjs-fullscreen {
+  position: fixed;
+  overflow: hidden;
+  z-index: 1000;
+  left: 0;
+  top: 0;
+  bottom: 0;
+  right: 0;
+  width: 100% !important;
+  height: 100% !important;
+  /* IE6 full-window (underscore hack) */
+  _position: absolute;
+}
+.video-js:-webkit-full-screen {
+  width: 100% !important;
+  height: 100% !important;
+}
+.video-js.vjs-fullscreen.vjs-user-inactive {
+  cursor: none;
+}
+/* Poster Styles */
+.vjs-poster {
+  background-repeat: no-repeat;
+  background-position: 50% 50%;
+  background-size: contain;
+  cursor: pointer;
+  height: 100%;
+  margin: 0;
+  padding: 0;
+  position: relative;
+  width: 100%;
+}
+.vjs-poster img {
+  display: block;
+  margin: 0 auto;
+  max-height: 100%;
+  padding: 0;
+  width: 100%;
+}
+/* Hide the poster when native controls are used otherwise it covers them */
+.video-js.vjs-using-native-controls .vjs-poster {
+  display: none;
+}
+/* Text Track Styles */
+/* Overall track holder for both captions and subtitles */
+.video-js .vjs-text-track-display {
+  text-align: center;
+  position: absolute;
+  bottom: 4em;
+  /* Leave padding on left and right */
+  left: 1em;
+  right: 1em;
+}
+/* Move captions down when controls aren't being shown */
+.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display {
+  bottom: 1em;
+}
+/* Individual tracks */
+.video-js .vjs-text-track {
+  display: none;
+  font-size: 1.4em;
+  text-align: center;
+  margin-bottom: 0.1em;
+  /* Transparent black background, or fallback to all black (oldIE) */
+  /* background-color-with-alpha */
+  background-color: #000000;
+  background-color: rgba(0, 0, 0, 0.5);
+}
+.video-js .vjs-subtitles {
+  color: #ffffff /* Subtitles are white */;
+}
+.video-js .vjs-captions {
+  color: #ffcc66 /* Captions are yellow */;
+}
+.vjs-tt-cue {
+  display: block;
+}
+/* Hide disabled or unsupported controls */
+.vjs-default-skin .vjs-hidden {
+  display: none;
+}
+.vjs-lock-showing {
+  display: block !important;
+  opacity: 1;
+  visibility: visible;
+}
+/* -----------------------------------------------------------------------------
+The original source of this file lives at
+https://github.com/videojs/video.js/blob/master/src/css/video-js.less */

BIN
public/static/fonts/2B71A2_0_0.woff


BIN
public/static/fonts/FZ_GBK.ttf


BIN
public/static/fonts/SourceHanSansCN.ttf


BIN
public/static/fonts/SourceHanSansCN.woff


BIN
public/static/fonts/SourceHanSansCN.woff2


BIN
public/static/fonts/mp-font.eot


Разница между файлами не показана из-за своего большого размера
+ 41 - 0
public/static/fonts/mp-font.svg


BIN
public/static/fonts/mp-font.ttf


BIN
public/static/fonts/open-sans-light/OpenSansLight.eot


Разница между файлами не показана из-за своего большого размера
+ 21034 - 0
public/static/fonts/open-sans-light/OpenSansLight.svg


BIN
public/static/fonts/open-sans-light/OpenSansLight.ttf


BIN
public/static/fonts/open-sans-light/OpenSansLight.woff


BIN
public/static/fonts/open-sans-light/OpenSansLight.woff2


BIN
public/static/fonts/open-sans-semibold/OpenSansSemibold.eot


Разница между файлами не показана из-за своего большого размера
+ 21055 - 0
public/static/fonts/open-sans-semibold/OpenSansSemibold.svg


BIN
public/static/fonts/open-sans-semibold/OpenSansSemibold.ttf


BIN
public/static/fonts/open-sans-semibold/OpenSansSemibold.woff


BIN
public/static/fonts/open-sans-semibold/OpenSansSemibold.woff2


BIN
public/static/fonts/open-sans/OpenSansLight.woff2


BIN
public/static/fonts/open-sans/OpenSansRegular.woff2


BIN
public/static/fonts/proxima-nova/2B71A2_0_0.woff


BIN
public/static/fonts/proxima-nova/2B71A2_1_0.woff


BIN
public/static/images/4dage-logo.png


BIN
public/static/images/4dagePoint.png


BIN
public/static/images/4dagePoint2.png


BIN
public/static/images/End.png


BIN
public/static/images/Nav_Help_Arrow_keys.png


BIN
public/static/images/Nav_Help_Close.png


BIN
public/static/images/Nav_Help_Highlights.png


BIN
public/static/images/Nav_Help_Icon.png


BIN
public/static/images/New.png


BIN
public/static/images/Notes.png


BIN
public/static/images/Notes_hover.png


BIN
public/static/images/Personal_Pic.png


BIN
public/static/images/Start.png


BIN
public/static/images/VR.png


BIN
public/static/images/Volume btn_off.png


BIN
public/static/images/Volume btn_on.png


BIN
public/static/images/auto-suspend.png


BIN
public/static/images/auto.png


BIN
public/static/images/circle_active.png


BIN
public/static/images/circle_activeF.png


BIN
public/static/images/circle_normal.png


BIN
public/static/images/circle_wait.png


BIN
public/static/images/close1.png


BIN
public/static/images/coordinate.png


BIN
public/static/images/coordinate2.png


BIN
public/static/images/coordinateClose.png


BIN
public/static/images/crosshair.cur


BIN
public/static/images/cursor.png


BIN
public/static/images/delete.png


BIN
public/static/images/division.png


BIN
public/static/images/dollhouse.png


BIN
public/static/images/edit/VR.png


BIN
public/static/images/edit/autoTour.png


BIN
public/static/images/edit/hotStyle_1.png


BIN
public/static/images/edit/hotStyle_2.png


BIN
public/static/images/edit/hotpoint.png


+ 0 - 0
public/static/images/edit/information.png


Некоторые файлы не были показаны из-за большого количества измененных файлов