Browse Source

弹窗效果只针对首页做调整,对GIF图作更换

wangcz 8 years ago
parent
commit
2cda7eeb1e
4 changed files with 59 additions and 56 deletions
  1. 6 55
      layouts/main.vue
  2. 53 1
      pages/index.vue
  3. BIN
      static/images/christmas/festival1.gif
  4. BIN
      static/images/christmas/festival2.gif

+ 6 - 55
layouts/main.vue

@@ -2,7 +2,6 @@
   <div id="main">
     <header-view v-if="!isInFrame"></header-view>
     <main-header></main-header>
-    <christmas v-if="isOpen" @listenopen="listenOpen" :hasNewYear="hasNewYear"></christmas>
     <main-nav></main-nav>
     <nuxt/>
     <footer-view></footer-view>
@@ -10,24 +9,22 @@
   </div>
 </template>
 <script>
-  import { Header, Footer, RightBar, Christmas } from '~components/default'
+  import { Header, Footer, RightBar } from '~components/default'
   import { MainHeader, MainNav } from '~components/main'
   export default {
     name: 'main',
     components: {
       HeaderView: Header,
       FooterView: Footer,
-      Christmas,
       RightBar,
       MainHeader,
       MainNav
     },
-    data () {
-      return {
-        isOpen: false,
-        hasNewYear: false
-      }
-    },
+//    data () {
+//      return {
+//        isInFrame: false
+//      }
+//    },
     head () {
       return {
         title: this.title,
@@ -37,53 +34,7 @@
         ]
       }
     },
-    mounted () {
-      let user = this.user.logged
-      let count = 1
-      let self = this
-      const nowDate = new Date()
-      const activeStartDate = new Date('2017/12/20 00:00:00')
-      const activeEndDate = new Date('2018/1/2 00:00:00')
-      const EndDate = new Date('2017/12/26 00:00:00')
-      if (nowDate > EndDate) {
-        this.hasNewYear = true
-      } else {
-        this.hasNewYear = false
-      }
-      if (nowDate > activeStartDate && nowDate < activeEndDate) {
-        const endTime = window.localStorage.getItem('endTime')
-        if (endTime) {
-          if (!user) {
-            setInterval(function () {
-              count++
-              if (count >= 30) {
-                count = 1
-                self.isOpen = true
-              }
-            }, 1000)
-          } else if (nowDate.getTime() - endTime >= 1000 * 60) {
-            this.isOpen = true
-            window.localStorage.setItem('endTime', nowDate.getTime())
-          } else {
-            this.isOpen = false
-          }
-        } else {
-          this.isOpen = true
-          window.localStorage.setItem('endTime', nowDate.getTime())
-        }
-      } else {
-        this.isOpen = false
-      }
-    },
-    methods: {
-      listenOpen () {
-        this.isOpen = false
-      }
-    },
     computed: {
-      user () {
-        return this.$store.state.option.user
-      },
       isInFrame () {
         let cookies = this.$store.state.option.cookies
         let cookieArr = cookies.split(';')

+ 53 - 1
pages/index.vue

@@ -1,5 +1,6 @@
 <template>
   <div class="index">
+    <christmas v-if="isOpen" @listenopen="listenOpen" :hasNewYear="hasNewYear"></christmas>
     <carousel>
       <kind-category @loadchild="loadProductKinds"></kind-category>
     </carousel>
@@ -11,10 +12,17 @@
 </template>
 <script>
   import { KindCategory, Carousel, Advert, FloorList, Partner, News } from '~components/home'
+  import { Christmas } from '~components/default'
 
   export default {
     name: 'index',
     layout: 'main',
+    data () {
+      return {
+        isOpen: false,
+        hasNewYear: false
+      }
+    },
     fetch ({ store }) {
       return Promise.all([
         store.dispatch('loadFloors'),
@@ -29,9 +37,53 @@
       Advert,
       FloorList,
       Partner,
-      News
+      News,
+      Christmas
+    },
+    mounted () {
+      let user = this.user.logged
+      let count = 1
+      let self = this
+      const nowDate = new Date()
+      const activeStartDate = new Date('2017/12/20 00:00:00')
+      const activeEndDate = new Date('2018/1/2 00:00:00')
+      const EndDate = new Date('2017/12/26 00:00:00')
+      this.hasNewYear = nowDate > EndDate
+      if (nowDate > activeStartDate && nowDate < activeEndDate) {
+        const endTime = window.localStorage.getItem('endTime')
+        if (!user) {
+          setInterval(function () {
+            count++
+            if (count >= 30) {
+              count = 1
+              self.isOpen = true
+            }
+          }, 1000)
+        }
+        if (endTime) {
+          if (nowDate.getTime() - endTime >= 1000 * 60) {
+            this.isOpen = true
+            window.localStorage.setItem('endTime', nowDate.getTime())
+          } else {
+            this.isOpen = false
+          }
+        } else {
+          this.isOpen = true
+          window.localStorage.setItem('endTime', nowDate.getTime())
+        }
+      } else {
+        this.isOpen = false
+      }
+    },
+    computed: {
+      user () {
+        return this.$store.state.option.user
+      }
     },
     methods: {
+      listenOpen () {
+        this.isOpen = false
+      },
       loadProductKinds (id) {
         this.$store.dispatch('loadAllProductKinds', {id})
       }

BIN
static/images/christmas/festival1.gif


BIN
static/images/christmas/festival2.gif