tremble 5 lat temu
rodzic
commit
1201a1f475
39 zmienionych plików z 471 dodań i 135 usunięć
  1. 1 1
      config/index.js
  2. 4 3
      src/App.vue
  3. 70 1
      src/assets/icon/demo_index.html
  4. 14 6
      src/assets/icon/iconfont.css
  5. BIN
      src/assets/icon/iconfont.eot
  6. 1 1
      src/assets/icon/iconfont.js
  7. 6 0
      src/assets/icon/iconfont.svg
  8. BIN
      src/assets/icon/iconfont.ttf
  9. BIN
      src/assets/icon/iconfont.woff
  10. BIN
      src/assets/icon/iconfont.woff2
  11. BIN
      src/assets/images/cover/万福卢公祠.jpg
  12. BIN
      src/assets/images/cover/东岸北溪庙.jpg
  13. BIN
      src/assets/images/cover/东岸大德里门楼.jpg
  14. BIN
      src/assets/images/cover/东岸景暘门.jpg
  15. BIN
      src/assets/images/cover/会同祠.jpg
  16. BIN
      src/assets/images/cover/会同缉庐.jpg
  17. BIN
      src/assets/images/cover/唐国安故居.jpg
  18. BIN
      src/assets/images/cover/唐家三庙.jpg
  19. BIN
      src/assets/images/cover/唐家湾中山公园凉亭.jpg
  20. BIN
      src/assets/images/cover/唐家湾中山公园晚翠亭.jpg
  21. BIN
      src/assets/images/cover/四尚卢公祠.jpg
  22. BIN
      src/assets/images/cover/那洲大碑沟桥.jpg
  23. BIN
      src/assets/images/cover/鸡山武侯庙.jpg
  24. 21 5
      src/components/Slide/index.vue
  25. 0 1
      src/components/Slider/index.vue
  26. 20 13
      src/components/ViewOperation/index.vue
  27. 5 0
      src/components/ViewOperation/style.css
  28. 203 59
      src/data.js
  29. 6 3
      src/main.js
  30. 56 20
      src/pages/external/index.vue
  31. 2 2
      src/pages/home/index.vue
  32. 35 6
      src/pages/imageQuery/index.vue
  33. 5 1
      src/pages/layout/aside/down.vue
  34. 6 2
      src/pages/layout/aside/index.vue
  35. 1 0
      src/pages/list/index.vue
  36. 4 2
      src/pages/list/style.css
  37. 0 1
      src/pages/map/index.vue
  38. 8 6
      src/pages/map/style.css
  39. 3 2
      src/router/index.js

+ 1 - 1
config/index.js

@@ -13,7 +13,7 @@ module.exports = {
     proxyTable: {},
 
     // Various Dev Server settings
-    host: '192.168.0.103', // can be overwritten by process.env.HOST
+    host: 'localhost', // can be overwritten by process.env.HOST
     port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
     autoOpenBrowser: false,
     errorOverlay: true,

+ 4 - 3
src/App.vue

@@ -24,7 +24,6 @@ export default {
   window.escape(url) + '&name=4dageshare', 'success_jsonp', function (err, data) {
         if (err) {
           console.err(err)
-          console.log('出错啦')
         } else {
           wx.config({
             debug: false, // 开启调试模式
@@ -55,7 +54,7 @@ export default {
         wx.ready(function () {
           var shareData = {
             title: '珠海国家高新区-不可移动文物一张图', //  标题
-            desc: '美好不应被损毁,我们保护它,也让您可以零距离欣赏', //  描述
+            desc: '掌间遍览115处文物', //  描述
             link: window.location.href, //  分享的URL,必须和当前打开的网页的URL是一样的
             imgUrl: 'http://4d-tjw.oss-cn-shenzhen.aliyuncs.com/images/share.jpg', //  缩略图地址
             success: function () {
@@ -74,7 +73,9 @@ export default {
     }
   },
   mounted () {
-    this.wxShare()
+    if (!this.$isLocal) {
+      this.wxShare()
+    }
   }
 }
 </script>

+ 70 - 1
src/assets/icon/demo_index.html

@@ -144,6 +144,24 @@
                 <div class="code-name">&amp;#xe62c;</div>
               </li>
           
+            <li class="dib">
+              <span class="icon iconfont">&#xe62d;</span>
+                <div class="name">缩略</div>
+                <div class="code-name">&amp;#xe62d;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe64f;</span>
+                <div class="name">最重要文物</div>
+                <div class="code-name">&amp;#xe64f;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe651;</span>
+                <div class="name">重要</div>
+                <div class="code-name">&amp;#xe651;</div>
+              </li>
+          
           </ul>
           <div class="article markdown">
           <h2 id="unicode-">Unicode 引用</h2>
@@ -365,6 +383,33 @@
             </div>
           </li>
           
+          <li class="dib">
+            <span class="icon iconfont icon-suolve"></span>
+            <div class="name">
+              缩略
+            </div>
+            <div class="code-name">.icon-suolve
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-zuizhongyao"></span>
+            <div class="name">
+              最重要文物
+            </div>
+            <div class="code-name">.icon-zuizhongyao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-zhongyao"></span>
+            <div class="name">
+              重要
+            </div>
+            <div class="code-name">.icon-zhongyao
+            </div>
+          </li>
+          
         </ul>
         <div class="article markdown">
         <h2 id="font-class-">font-class 引用</h2>
@@ -383,7 +428,7 @@
 <pre><code class="language-html">&lt;link rel="stylesheet" href="./iconfont.css"&gt;
 </code></pre>
         <h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
-<pre><code class="language-html">&lt;span class="iconfont icon--xxx"&gt;&lt;/span&gt;
+<pre><code class="language-html">&lt;span class="iconfont icon-xxx"&gt;&lt;/span&gt;
 </code></pre>
         <blockquote>
           <p>"
@@ -546,6 +591,30 @@
                 <div class="code-name">#icon-wancheng1</div>
             </li>
           
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-suolve"></use>
+                </svg>
+                <div class="name">缩略</div>
+                <div class="code-name">#icon-suolve</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-zuizhongyao"></use>
+                </svg>
+                <div class="name">最重要文物</div>
+                <div class="code-name">#icon-zuizhongyao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-zhongyao"></use>
+                </svg>
+                <div class="name">重要</div>
+                <div class="code-name">#icon-zhongyao</div>
+            </li>
+          
           </ul>
           <div class="article markdown">
           <h2 id="symbol-">Symbol 引用</h2>

Plik diff jest za duży
+ 14 - 6
src/assets/icon/iconfont.css


BIN
src/assets/icon/iconfont.eot


Plik diff jest za duży
+ 1 - 1
src/assets/icon/iconfont.js


Plik diff jest za duży
+ 6 - 0
src/assets/icon/iconfont.svg


BIN
src/assets/icon/iconfont.ttf


BIN
src/assets/icon/iconfont.woff


BIN
src/assets/icon/iconfont.woff2


BIN
src/assets/images/cover/万福卢公祠.jpg


BIN
src/assets/images/cover/东岸北溪庙.jpg


BIN
src/assets/images/cover/东岸大德里门楼.jpg


BIN
src/assets/images/cover/东岸景暘门.jpg


BIN
src/assets/images/cover/会同祠.jpg


BIN
src/assets/images/cover/会同缉庐.jpg


BIN
src/assets/images/cover/唐国安故居.jpg


BIN
src/assets/images/cover/唐家三庙.jpg


BIN
src/assets/images/cover/唐家湾中山公园凉亭.jpg


BIN
src/assets/images/cover/唐家湾中山公园晚翠亭.jpg


BIN
src/assets/images/cover/四尚卢公祠.jpg


BIN
src/assets/images/cover/那洲大碑沟桥.jpg


BIN
src/assets/images/cover/鸡山武侯庙.jpg


+ 21 - 5
src/components/Slide/index.vue

@@ -1,17 +1,18 @@
 <template>
-  <div>
-    <a class="ctrl up" @click.stop="up">
+  <div class="slide-con">
+    <a class="ctrl up" @click.stop="up" v-if="screens.length>1">
       <slot name="up" />
     </a>
-    <div class="slide-layout">
+    <div class="slide-layout" :style="{minHeight:!ismobile?'660px':'none'}">
       <div :style="layoutStyle" class="continure" :class="{'m-continure':ismobile}">
         <div v-for="(iscreen, index) in screens" :key="index" :style="itemStyle" class="item">
           <slot name="item" :data="iscreen" :index="index" />
         </div>
       </div>
       <slot name="foot" :data="screens" :index="index" />
+      <div class="sum-style"><span>{{index+1}} / {{screens.length}}</span></div>
     </div>
-    <a class="ctrl next" @click.stop="next">
+    <a class="ctrl next" @click.stop="next" v-if="screens.length>1">
       <slot name="next" />
     </a>
   </div>
@@ -72,6 +73,9 @@ export default {
 </script>
 
 <style scoped>
+.slide-con{
+  width: 100%;
+}
 .slide-layout {
   width: 100%;
   max-width: 980px;
@@ -79,6 +83,16 @@ export default {
   position: relative;
   margin: 0 auto;
 }
+.sum-style{
+  text-align: center;
+  position: absolute;
+  bottom: 3.5vh;
+  width: 100%;
+}
+
+.sum-style span{
+  color: #fff;
+}
 
 .item {
   height: 100%;
@@ -94,7 +108,8 @@ export default {
   background-color: #fa3800;
   padding: 12px 15px;
   cursor: pointer;
-  transform: translateY(-50%)
+  transform: translateY(-50%);
+  border-radius: 4px;
 }
 
 .up {
@@ -110,6 +125,7 @@ export default {
   transition: transform .5s ease;
   display: flex;
   align-items: center;
+  position: relative;
 }
 
 .m-continure{

+ 0 - 1
src/components/Slider/index.vue

@@ -133,7 +133,6 @@ export default {
           // }
           // location.href = '/car/' + min + '_' + max + '-0.0_0.0-0-0-0-0-0-0-0-0/';
         })
-        console.log(this.year)
         $('#price-range').data('slider').setRange({
           leftValue: this.year,
           rightValue: this.year

+ 20 - 13
src/components/ViewOperation/index.vue

@@ -6,12 +6,8 @@
     @keydown.prevent.109="narrow"
     ref="layout"
   >
-    <div class="ctrl">
-      <!-- <i class="el-icon-plus" @click="enlarge"></i>
-      <i class="el-icon-minus" @click="narrow"></i> -->
-    </div>
     <div class="content" :style="contentStyle">
-      <slot />
+      <slot :style="{transform:`scale(${this.tscale})`}" />
     </div>
   </div>
 </template>
@@ -20,6 +16,8 @@
 const MAXSCALE = 2
 const MINSCALE = 0.5
 
+const wh = {width: window.innerWidth, height: window.innerHeight}
+
 function getType (data) {
   let string = Object.prototype.toString.call(data)
   return string.substring(8, string.length - 1)
@@ -52,7 +50,8 @@ export default {
       translate: {
         x: this.x,
         y: this.y
-      }
+      },
+      wh
     }
   },
   computed: {
@@ -65,11 +64,15 @@ export default {
       return {width, height}
     },
     contentStyle () {
-      let val = `translateX(${this.translate.x}px)
-        translateY(${this.translate.y}px)
-        scale(${this.tscale})`
-
+      let val = `translateX(calc(-50% + ${this.translate.x}px))
+        translateY(calc(-50% + ${this.translate.y}px))`
       return {transform: val}
+    },
+    wLimit () {
+      return (1080 - wh.width) / 2
+    },
+    hLimit () {
+      return wh.height / 2 - 60
     }
   },
   methods: {
@@ -95,14 +98,18 @@ export default {
           moveX = ev.touches[0].clientX
           moveY = ev.touches[0].clientY
         }
-        this.translate.x = x + moveX - startX
-        this.translate.y = y + moveY - startY
+
+        // if (Math.abs(this.translate.y) >= 368) {
+        //   return
+        // }
+        // this.translate.x = x + moveX - startX
+        this.translate.x = Math.min(Math.max((x + moveX - startX), -this.wLimit), this.wLimit)
+        this.translate.y = Math.min(Math.max((y + moveY - startY), -this.hLimit), this.hLimit)
         ev.preventDefault()
         ev.stopPropagation()
       }
 
       let upHandle = ev => {
-        console.log('-0-')
         document.removeEventListener('touchmove', moveHandle, { passive: false })
         document.removeEventListener('touchend', upHandle)
         document.removeEventListener('mousemove', moveHandle, { passive: false })

+ 5 - 0
src/components/ViewOperation/style.css

@@ -32,7 +32,12 @@
   perspective: 600px;
   will-change: transform;
   position: absolute;
+  top: 50%;
+  left: 50%;
   min-width: 100%;
   min-height: 100%;
+  width: 1080px;
+  height: 200vh;
   /* transition: transform .3s linear; */
+  background: url(http://4d-tjw.oss-cn-shenzhen.aliyuncs.com/images/bg.jpg) center center rgb(255, 255, 255);
 }

Plik diff jest za duży
+ 203 - 59
src/data.js


+ 6 - 3
src/main.js

@@ -2,19 +2,22 @@
 // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
 import 'babel-polyfill'
 import Vue from 'vue'
-import App from './App'
-import router from './router'
 import axios from 'axios'
 import '@/assets/icon/iconfont.css'
 
 // axios.defaults.baseURL = 'http://192.168.0.249:8080/'
 // axios.defaults.baseURL = '/'
 const isLocal = process.env.NODE_ENV === 'development' ? false : ~(process.env.ISLOCAL.indexOf('local'))
+Vue.prototype.$isLocal = isLocal
+
+const router = require('./router').default
+const App = require('./App').default
 
 Vue.config.productionTip = false
 Vue.prototype.$http = axios
 Vue.prototype.$bus = new Vue()
-Vue.prototype.$isLocal = isLocal
+
+// import router from './router'
 
 /* eslint-disable no-new */
 new Vue({

+ 56 - 20
src/pages/external/index.vue

@@ -2,17 +2,17 @@
   <div class="iframe-layout"  :class="{mobile: ismobile}">
     <div v-if="ismobile" class="top-layer">
       <a @click="clickHandle" class="rad"><i class="iconfont icon-left"></i>返回</a>
-      <a @click="exitHandle" class="xiangce" v-if="key" :class="{active: big}">大场景</a>
-      <a @click="xiangceHandle" class="xiangce" v-if="key&&imgs.length>0" :class="{active: !big}">相册</a>
+      <a @click="exitHandle" class="xiangce" v-if="key" :class="{active: big}">{{isHangpai?'航拍':'大场景'}}</a>
+      <a @click="xiangceHandle" class="xiangce" v-if="key&&imgs" :class="{active: !big}">相册</a>
     </div>
     <template v-else>
       <a @click="clickHandle" class="rad"><i class="iconfont icon-left"></i>返回</a>
       <!-- <a @click="xiangceHandle" class="xiangce" v-if="key">相册</a> -->
         <select @change="changeHandle" class="ncxihiasj" v-model="asdasd" v-if="key">
-          <option value="big">大场景</option>
-          <option v-if="imgs.length>0" value="xiangce">相册</option>
+          <option value="big">{{isHangpai?'航拍':'大场景'}}</option>
+          <option v-if="imgs" value="xiangce">相册</option>
         </select>
-        <div class="r-aside" :class="{'show':show}" @click.stop>
+        <div v-if="introduce" class="r-aside" :class="{'show':show}" @click.stop>
           <div class="image-title">{{name}}</div>
           <div class="image-detail">
             <p v-for="(item,i) in introduce" :key="i">{{item}}</p>
@@ -28,13 +28,13 @@
 
       <div class="asjdfioasfhuioasfh" v-else>
         <div class="image-layout">
-          <Slide :screens="screens" :current="0">
+          <Slide :screens="screensa" :current="0">
             <i class="iconfont icon-left" slot="up"></i>
-            <div slot="item" slot-scope="{data}" class="image-item" :style="{background:`url(${data}) no-repeat center center`,backgroundSize:'contain'}"  @click.stop></div>
+            <div slot="item" slot-scope="{data}" class="image-item" :style="{background:`url(${data.img}) no-repeat center center`,backgroundSize:`${data.size}`}"  @click.stop></div>
             <!-- <img slot="item" slot-scope="{data}" :src="data" class="image-item"> -->
             <i class="iconfont icon-right" slot="next"></i>
           </Slide>
-          <div class="image-introduce">
+          <div class="image-introduce" v-if="introduce">
             <div class="intro-title">{{name}}</div>
             <div class="intro-detail">
               <p v-for="(item,i) in introduce" :key="i">{{item}}</p>
@@ -51,6 +51,7 @@
 </template>
 
 <script>
+import Vue from 'vue'
 import data from '@/data.js'
 import imageQuery from '@/pages/imageQuery'
 import browser from '@/util/browser'
@@ -71,25 +72,58 @@ export default {
       big: true,
       show: false,
       ismobile: browser.mobile,
-      screens: null
+      screens: null,
+      screensa: []
     }
   },
   computed: {
     url () {
       return this.$route.params.url
     },
+    isHangpai () {
+      let id = this.key
+      let isTrue = id && data.data[id].showType.find((item) => {
+        return item === 'leixing_hangpai'
+      })
+      return isTrue
+    },
     imgs () {
-      let id = Object.keys(data.data).find(key => this.$route.params.id === key)
-
-      return data.data[id].data || []
+      let id = this.key
+      return id ? data.data[id].data : null
     },
     name () {
-      let id = Object.keys(data.data).find(key => this.$route.params.id === key)
-      return data.data[id].name || ''
+      let id = this.key
+      return id ? data.data[id].name : null
     },
     introduce () {
-      let id = Object.keys(data.data).find(key => this.$route.params.id === key)
-      return data.data[id].introduce || []
+      let id = this.key
+      return id ? data.data[id].introduce : null
+    }
+  },
+  watch: {
+    screens () {
+      let arr = this.screens && this.screens.map((info, i) => {
+        let item = {}
+        var img = new Image()
+        var handle = () => {
+          if (img.width > img.height) {
+            item.size = '100% auto'
+          } else {
+            item.size = 'auto 100%'
+          }
+          this.screensa && Vue.set(this.screensa, i, item)
+        }
+        item.img = info
+        img.src = info
+
+        if (img.complete) {
+          handle()
+        } else {
+          img.onload = handle
+        }
+        return item
+      })
+      this.screensa = arr
     }
   },
   methods: {
@@ -184,7 +218,7 @@ export default {
 
 .asjdfioasfhuioasfh {
   height: 100%;
-  background-color: #000;
+  background-color: rgba(0, 0, 0, 0.8)
 }
 
 .iframe-layout a i {
@@ -273,7 +307,7 @@ export default {
   padding-left: 20px;
   padding-right: 20px;
   position: absolute;
-  top: 50%;
+  top: calc(50% + 15px);
   left: 50%;
   transform: translateY(-50%) translateX(-50%);
 }
@@ -344,17 +378,18 @@ export default {
   color:#fff;
   padding:20px 10px;
   line-height:1.5;
-
 }
 .image-introduce .intro-title{
   font-size:18px;
   font-weight:bold;
   margin-bottom:20px;
+  text-align: center;
 }
 .image-introduce .intro-detail{
-  height: 150px;
+  height: 32vh;
   overflow-y: auto;
   overflow-x: hidden;
+  -webkit-overflow-scrolling: touch;
 }
 .image-introduce .intro-detail p{
   text-indent:32px;
@@ -363,4 +398,5 @@ export default {
 .asjdfioasfhuioasfh >>> .ctrl{
   top:25%;
 }
+
 </style>

+ 2 - 2
src/pages/home/index.vue

@@ -1,8 +1,8 @@
 <template>
   <div class="layout" :class="{wide: isWide}" @touchmove.prevent>
     <div>
-      <ViewOperation height="100%" v-if="!isWide" :scale="0.7">
-        <div class="address">
+      <ViewOperation height="100%" v-if="!isWide" >
+        <div class="address" style="transform:translateX(-50%) translateY(-50%) scale(0.7)">
           <!-- <img src="@/assets/images/address.png" alt=""> -->
           <maps />
           <!-- <img :src="item.img" v-for="item in maps" :key="item.cls" class="map-item" :class="'map-' + item.cls"> -->

+ 35 - 6
src/pages/imageQuery/index.vue

@@ -1,11 +1,11 @@
 <template>
-  <div class="image-dialog" :class="{'i-show':isShow}" v-if="screensa" @click="exitHandle">
+  <div class="image-dialog" :class="{'i-show':isShow}" v-if="screensa" @click="exitHandle" @touchmove.prevent>
     <!-- <a @click="exitHandle"><i class="iconfont icon-left"></i>返回</a> -->
     <div class="image-layout" :class="{'m-image-layout':ismobile}">
       <Slide :screens="screensa" :current="0">
         <i class="iconfont icon-left" slot="up"></i>
-        <div v-if="ismobile" slot="item" slot-scope="{data}" class="image-item" :style="{background:`url(${data}) no-repeat center center`,backgroundSize:'contain'}"  @click.stop></div>
-        <img v-else slot="item" slot-scope="{data}" :src="data" class="image-item"  @click.stop>
+        <div v-if="ismobile" slot="item" slot-scope="{data}" class="image-item" :style="{background:`url(${data.img}) no-repeat center center`,backgroundSize:`${data.size}`}"  @click.stop></div>
+        <img v-else slot="item" slot-scope="{data}" :src="data.img" class="image-item"  @click.stop>
         <i class="iconfont icon-right" slot="next"></i>
       </Slide>
       <div class="image-introduce" v-if="ismobile">
@@ -31,6 +31,7 @@
 </template>
 
 <script>
+import Vue from 'vue'
 import Slide from '@/components/Slide'
 import browser from '@/util/browser'
 
@@ -47,10 +48,32 @@ export default {
     isShow () {
       return !this.show && !this.ismobile
     }
+
   },
   watch: {
     screens () {
-      this.screensa = this.screens
+      let arr = this.screens && this.screens.map((info, i) => {
+        let item = {}
+        var img = new Image()
+        var handle = () => {
+          if (img.width > img.height) {
+            item.size = '100% auto'
+          } else {
+            item.size = 'auto 100%'
+          }
+          this.screensa && Vue.set(this.screensa, i, item)
+        }
+        item.img = info
+        img.src = info
+
+        if (img.complete) {
+          handle()
+        } else {
+          img.onload = handle
+        }
+        return item
+      })
+      this.screensa = arr
     }
   },
   methods: {
@@ -58,6 +81,9 @@ export default {
       this.screensa = null
       this.$emit('exitHandle')
     }
+  },
+  mounted () {
+
   }
 }
 </script>
@@ -98,7 +124,7 @@ export default {
   padding-left: 20px;
   padding-right: 20px;
   position: absolute;
-  top: 50%;
+  top: calc(50%);
   left: 50%;
   transform: translateY(-50%) translateX(-50%);
 }
@@ -168,12 +194,15 @@ export default {
   font-size:18px;
   font-weight:bold;
   margin-bottom:20px;
+  text-align: center;
 }
 .image-introduce .intro-detail{
-  height: 150px;
+  height: 32vh;
   overflow-y: auto;
   overflow-x: hidden;
+  -webkit-overflow-scrolling: touch;
 }
+
 .image-introduce .intro-detail p{
   text-indent:32px;
 }

+ 5 - 1
src/pages/layout/aside/down.vue

@@ -11,13 +11,15 @@
     </h3>
     <ul v-show="showContent && children.length > 0">
       <li v-for="(item, key) in children" :key="key" @click.stop="clickHandle(item)" :class="{active: item.name === active}">
-        <p>• {{item.name}} <i class="iconfont icon-wancheng1" v-if="item.link || item.data"></i> </p>
+        <p>• {{item.name}} <i :class="['iconfont',`icon-${item.level}`]" v-if="item.link || item.data"></i> </p>
       </li>
     </ul>
   </div>
 </template>
 
 <script>
+import browser from '@/util/browser'
+
 export default {
   props: ['setting', 'keyword', 'show', 'aaaactive'],
   data () {
@@ -26,12 +28,14 @@ export default {
       showAll: false,
       title: this.setting.title,
       showContent: false,
+      ismobile: browser.mobile,
       active: null,
       isReq: false
     }
   },
   methods: {
     clickHandle (item) {
+      this.ismobile && this.$bus.$emit('showaside', false)
       this.$emit('checkItem', item)
     },
     parentClickHandle () {

+ 6 - 2
src/pages/layout/aside/index.vue

@@ -11,7 +11,7 @@
     </div>
 
     <div class="right-layout" :class="{show: show, mobile: ismobile}">
-      <div class="info" @touchmove.prevent @click="$router.push({name: 'home'})">
+      <div class="info" @touchmove.prevent @click="mainHandle">
         <i class="iconfont icon-guojiagaoxinqu"></i>
         <h1>珠海国家高新区</h1>
         <p>不可移动文物一张图</p>
@@ -80,6 +80,10 @@ export default {
     }
   },
   methods: {
+    mainHandle () {
+      this.$router.push({name: 'home'})
+      this.ismobile && this.$bus.$emit('showaside', false)
+    },
     handleChange (type) {
       let route = this.$route
       if (route.name === 'map' || route.name === 'info') {
@@ -95,7 +99,7 @@ export default {
     },
     checkHandle (type, item) {
       let route = this.$route
-      if (route.name === 'map' || route.name === 'info' || route.name === 'home') {
+      if ((route.name === 'map' || route.name === 'info' || route.name === 'home') && !this.$isLocal) {
         this.$router.push({name: 'info',
           params: {
             title: type.title,

+ 1 - 0
src/pages/list/index.vue

@@ -13,6 +13,7 @@
         <div
             @click="tapMap()"
             class="list-icon"
+            v-if="!isLocal"
           >
           <i class="iconfont icon-tuceng"></i>地图
         </div>

+ 4 - 2
src/pages/list/style.css

@@ -114,7 +114,7 @@
 .list-con .card .card-img{
   position: relative;
   font-size: 0;
-  max-height: 240px;
+  max-height: 11vw;
   overflow: hidden;
 }
 .list-con .card .card-img .card-mask{
@@ -184,7 +184,8 @@
   display: inline-block;
   color: #f13800;
   border: 1px solid #ff9d7f;
-  padding: 2px 5px;
+  padding: 2px 4px;
+  border-radius: 3px;
   margin-right: 10px;
   font-size: 12px;
 }
@@ -215,6 +216,7 @@
   left: 50px;
   white-space: nowrap;
   overflow-x: scroll;
+  overflow-y: hidden;
 }
 .mobile-types .li-ul li,.mobile-area .li-ul li{
   padding: 5px 10px;

+ 0 - 1
src/pages/map/index.vue

@@ -136,7 +136,6 @@ export default {
           })
         }
       } else {
-        console.log('???')
         $maker.classList.add('maker-info-mobile')
         $maker.innerHTML = `
           <div>

+ 8 - 6
src/pages/map/style.css

@@ -309,19 +309,21 @@
   background-color: #fff;
   padding: 20px 15px 0;
   position: relative;
+  box-shadow: 2px 0px 6px rgba(0,0,0,0.1);
 }
 
 .focus-info > h3 {
   font-size: 18px;
   color: #2b2521;
-  margin-bottom: 20px;
+  margin-bottom: 12px;
 }
 
 .tags {
   color: #fa3800;
   display: inline-block;
-  border: 1px solid #fa3800;
-  padding: 2px;
+  border: 1px solid #ff9d7f;
+  padding: 2px 4px;
+  border-radius: 3px;
   margin-right: 4px;
   font-size: 12px;
 }
@@ -329,7 +331,7 @@
 .focus-info > p {
   font-size: 12px;
   color: #2b2521;
-  padding: 16px 0;
+  padding: 10px 0 16px 0;
   border-bottom: 1px solid #eac1a3
 }
 
@@ -350,12 +352,12 @@
   flex-direction: column;
   text-align: center;
   text-decoration: none;
-  box-shadow: 0 0 18px rgba(250, 56, 0, 0.3)
+  box-shadow: 0 0 12px rgba(250, 56, 0, 0.3)
 }
 
 .focus-info > a.nolink {
   background-color: #b2b2b2;
-  box-shadow: 0 0 18px rgba(144, 144, 144, 0.3)
+  box-shadow: 0 0 12px rgba(144, 144, 144, 0.3)
 }
 
 .types {

+ 3 - 2
src/router/index.js

@@ -8,9 +8,10 @@ import Search from '@/pages/search'
 import External from '@/pages/External'
 
 Vue.use(Router)
-
+let vue = new Vue()
+let isLocal = vue.$isLocal
 // let isLocal = process.env.isLocal
-let isLocal = Vue.$isLocal
+// let isLocal = Vue.$isLocal
 
 let routes = [
   {