Parcourir la source

视频、404页面

jinxyang il y a 5 ans
Parent
commit
9bd0707efb
6 fichiers modifiés avec 64 ajouts et 5 suppressions
  1. BIN
      src/assets/images/default.png
  2. 46 0
      src/components/404.vue
  3. 2 2
      src/components/Buy.vue
  4. 2 2
      src/plugins/request.js
  5. 8 0
      src/router.js
  6. 6 1
      src/store.js

BIN
src/assets/images/default.png


+ 46 - 0
src/components/404.vue

@@ -0,0 +1,46 @@
+<template>
+  <div class="default">
+    <div class="image" />
+    <p class="text">该批次信息不存在</p>
+    <div
+      class="common__button common__button--large"
+      @click="$listeners.open('https://m.chxq100.com/')">
+      去商城转转<span>&gt;&gt;</span>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+
+}
+</script>
+
+<style lang="scss" scoped>
+.default {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  height: 100vh;
+  padding-top: 2.3rem;
+}
+
+.image {
+  display: block;
+  width: 2.7rem;
+  height: 2.7rem;
+  background: url('~@/assets/images/default.png');
+  background-size: cover;
+}
+
+.text {
+  margin-top: .16rem;
+  color: #666;
+  font-size: .32rem;
+  line-height: .46rem;
+}
+
+.common__button {
+  margin-top: 1.5rem;
+}
+</style>

+ 2 - 2
src/components/Buy.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="buy">
     <CommonVideo
-      video="http://vod.uptoyo.com/sv/4f43fa8f-16ecc77e6a4/4f43fa8f-16ecc77e6a4.mp4"
+      video="http://vod.uptoyo.com/sv/227511d3-16ed8dcd3e3/227511d3-16ed8dcd3e3.mp4"
       :size="{ width: '100%', height: '3.6rem' }" />
     <div class="common__title common__title--6" />
     <div class="content">
@@ -16,7 +16,7 @@
     </div>
     <div
       class="common__button common__button--large"
-      @click="$listeners.open(`https://eosflare.io/tx/${trace.trans_id}`)">
+      @click="$listeners.open('https://m.chxq100.com/')">
       点击复购<span>&gt;&gt;</span>
     </div>
   </div>

+ 2 - 2
src/plugins/request.js

@@ -28,7 +28,7 @@ function install (v) {
       const { data } = response
       Toast.clear()
       if (data.code) {
-        Toast.fail(data.message)
+        // Toast.fail(data.message)
         return Promise.resolve({ code: data.code })
       }
       return { code: 0, data: data.data }
@@ -41,7 +41,7 @@ function install (v) {
         errorData.code = error.response.status
         errorData.message = error.response.data.message
       }
-      Toast.fail(errorData.message)
+      // Toast.fail(errorData.message)
       return Promise.resolve(errorData)
     },
   )

+ 8 - 0
src/router.js

@@ -2,6 +2,11 @@
 import store from './store'
 
 const routes = [
+  {
+    name: 404,
+    path: '/404',
+    component: () => import(/* webpackChunkName: '404' */ '@/components/404'),
+  },
   {
     name: 'home',
     path: '/:patchNum',
@@ -25,6 +30,9 @@ const router = new VueRouter({
 })
 
 router.beforeEach(async (to, from, next) => {
+  if (to.name === 404) {
+    return next()
+  }
   if (!store.state.trace.patch_num) {
     await store.dispatch('getTrace', to.params.patchNum)
   }

+ 6 - 1
src/store.js

@@ -1,4 +1,6 @@
 
+import router from './router'
+
 const store = {
   strict: process.env.NODE_ENV === 'dev',
   state: {
@@ -12,7 +14,10 @@ const store = {
   actions: {
     async getTrace ({ commit }, patchNum) {
       const { code, data } = await Vue.request.get(`/egg?patch_num=${patchNum}`)
-      if (code) return false
+      if (code) {
+        router.replace({ name: 404 })
+        return false
+      }
       commit('UPDATE_TRACE', data)
     },
   },