zhuliu 9 月之前
父節點
當前提交
4e38b9f01a

二進制
src/assets/media/yanshi.mp4


File diff suppressed because it is too large
+ 3 - 0
src/assets/svg/403.vue


+ 44 - 22
src/router/index.js

@@ -6,6 +6,8 @@ import Cookies from 'js-cookie'
 import NProgress from 'nprogress' // Progress 进度条
 import 'nprogress/nprogress.css'// Progress 进度条样式
 
+import permissions from '@/utils/permissions'
+
 import {stringifyQuery,parseQuery} from '@/utils/query'
 
 Vue.use(VueRouter)
@@ -97,8 +99,7 @@ export const defaultBackStageManageRouterItem = [
         path: 'tenant',
         name: 'Administrator_tenant',
         component: () => import('@/views/backStageManage/organization/tenant/index.vue'),
-        meta: {title: '企业管理',icon: '企业'},
-        sign:'administrator/tenant'
+        meta: {title: '企业管理',icon: '企业',sign:'administrator/tenant'},
       },
       {
         path: 'editTenant',
@@ -111,15 +112,13 @@ export const defaultBackStageManageRouterItem = [
         path: 'personnel',
         name: 'Administrator_personnel',
         component: () => import('@/views/backStageManage/organization/personnel/index.vue'),
-        meta: {title: '人员清单',icon: '人员'},
-         sign:'administrator/personnel'
+        meta: {title: '人员清单',icon: '人员',sign:'administrator/personnel'},
       },
       {
         path: 'department',
         name: 'Administrator_department',
         component: () => import('@/views/backStageManage/organization/department/index.vue'),
-        meta: {title: '部门管理',icon: '部门'},
-        sign:'administrator/department'
+        meta: {title: '部门管理',icon: '部门',sign:'administrator/department'},
       },
       {
         path: 'addDepartment',
@@ -139,8 +138,8 @@ export const defaultBackStageManageRouterItem = [
         path: 'position',
         name: 'Administrator_position',
         component: () => import('@/views/backStageManage/organization/position/index.vue'),
-        meta: {title: '职位管理',icon: '职位'},
-        sign:'administrator/position'
+        meta: {title: '职位管理',icon: '职位',sign:'administrator/position'},
+        
       },
       {
         path: 'addPosition',
@@ -183,8 +182,8 @@ export const defaultBackStageManageRouterItem = [
         path: 'vision',
         name: 'Administrator_vision',
         component: () => import('@/views/backStageManage/application/vision/index.vue'),
-        meta: { title: '应用版本管理', icon: '版本' },
-        sign:'administrator/vision'
+        meta: { title: '应用版本管理', icon: '版本' ,sign:'administrator/vision'},
+        
       },
       {
         path: 'addVersion',
@@ -211,8 +210,8 @@ export const defaultBackStageManageRouterItem = [
         path: 'vipType',
         name: 'Administrator_vipType',
         component: () => import('@/views/backStageManage/application/vipType/index.vue'),
-        meta: {title: '应用会员类型', icon: '会员类型'},
-        sign:'administrator/vipType'
+        meta: {title: '应用会员类型', icon: '会员类型',sign:'administrator/vipType'},
+        
       },
       {
         path: 'addVipType',
@@ -248,8 +247,8 @@ export const defaultBackStageManageRouterItem = [
         path: 'paymentCode',
         name: 'Administrator_paymentCode',
         component: () => import('@/views/backStageManage/paymentCode/paymentCode/index.vue'),
-        meta: {title: '付费码管理', icon: '付费'},
-        sign:'administrator/paymentCode'
+        meta: {title: '付费码管理', icon: '付费',sign:'administrator/paymentCode'},
+        
       },
       {
         path: 'addPaymentCode',
@@ -285,8 +284,8 @@ export const defaultBackStageManageRouterItem = [
         path: 'examine',
         name: 'Administrator_examine',
         component: () => import('@/views/backStageManage/examine/examine/index.vue'),
-        meta: {title: '审核任务', icon: '审核'},
-        sign:'administrator/examine'
+        meta: {title: '审核任务', icon: '审核',sign:'administrator/examine'},
+        
       },
     ]
   },
@@ -323,6 +322,23 @@ export const backStageManage = [
         },
         component: () => import('@/views/backStageManage/login/component/register.vue'),
       },
+      {
+        path: '/administrator',
+        component: administrator_layout,
+        redirect: '/administrator/403',
+        meta: { title: '错误访问' },
+        children: [
+          {
+            path: '403',
+            name:'Administrator_403',
+            meta: {
+              title: '无权限',
+            },
+            hidden:true,
+            component: () => import('@/views/errorPage/403.vue'),
+          },
+        ],
+      },
       ...backStageManageRouterItem
     ]
   }
@@ -360,7 +376,7 @@ router.beforeEach((to, from, next) => {
         next({ name: 'Administrator_login' })
         break;
       default:
-        if(Store.getters.permission === null && from.path == '/administrator/login'){
+        if(Store.getters.permission === null){
           Store.dispatch('getPersonPermission').then(response=>{
             var permission = response.data
             // if(permission.length>0){}
@@ -370,10 +386,15 @@ router.beforeEach((to, from, next) => {
                 next({ ...to, replace: true })
               })
           }).catch(error=>{
+            
             next()
           })
         }else{
-          next()
+          if(to.meta.sign && !permissions.FunPermissions(to.meta.sign)){
+            next({ name: 'Administrator_403' })
+          }else{
+             next()
+          }
         }
         break;
 
@@ -381,6 +402,7 @@ router.beforeEach((to, from, next) => {
   }
 })
 
+
 function setRoutePermission(data){
   return new Promise((resolve, reject)=>{
     if(Store.getters.userinfo?.roleType == 1){
@@ -391,8 +413,8 @@ function setRoutePermission(data){
     var addRouters = []
     for(var i = 0;i<defaultBackStageManageRouterItem.length;i++){
       var item = defaultBackStageManageRouterItem[i]
-      if(item.sign){
-        var index = data.indexOf(item.sign)
+      if(item.meta.sign){
+        var index = data.indexOf(item.meta.sign)
         if(index == -1){
           continue;
         }
@@ -400,7 +422,7 @@ function setRoutePermission(data){
       var childrenRouter = []
       if(item.children && item.children.length){
         childrenRouter = item.children.filter(child=>{
-          return !child.sign || data.indexOf(child.sign) != -1
+          return !child.meta.sign || data.indexOf(child.meta.sign) != -1
         })
       }
       item.children = childrenRouter
@@ -414,7 +436,7 @@ function setRoutePermission(data){
           item.children = []
         }
       }
-      if(item.sign || item.children.length>0){
+      if(item.meta.sign || item.children.length>0){
         addRouters.push(item)
       }
     }

+ 2 - 6
src/views/backStageManage/layout/Layout.vue

@@ -57,12 +57,8 @@ export default {
         return
       }
       this.$s.setStr('showMessage',true)
-      setTimeout(()=>{
-        this.expirationNotice()
-      },2000)
-      setTimeout(()=>{
-        this.taskReminder()
-      },4000)
+      this.expirationNotice()
+      this.taskReminder()
       
     },
     //到期通知

+ 30 - 0
src/views/errorPage/403.vue

@@ -0,0 +1,30 @@
+<template>
+  <div class="height_100">
+    <ErrorPageLayout>
+        <page403/>
+    </ErrorPageLayout>
+  </div>
+</template>
+
+<script>
+import ErrorPageLayout from './components/ErrorPageLayout.vue'
+import page403 from '@/assets/svg/403.vue'
+export default {
+  components: {
+    ErrorPageLayout,
+    page403
+  },
+  props: {},
+  data() {
+    return {
+    };
+  },
+  watch: {},
+  computed: {},
+  created() {},
+  mounted() {},
+  methods: {},
+};
+</script>
+<style lang="scss" scoped>
+</style>

+ 88 - 0
src/views/errorPage/components/ErrorPageLayout.vue

@@ -0,0 +1,88 @@
+<template>
+    <div class="error-page">
+      <div style="display:flex;align-items:center;">
+        <div class="error-page-svg">
+        <slot />
+      </div>
+      <div>
+        <div class="ZH">抱歉,您没有访问权限!</div>
+        <div class="EN">
+          <div>
+            <span style="font-size:28px">W</span>
+            <span>e are </span>
+            <span style="font-size:34px">sorry,</span>
+          </div>
+          <div>
+              you have no access permission!
+          </div>
+        </div>
+        <div class="foot">
+          5秒后将自动跳到首页......
+        </div>
+      </div>
+      </div>
+      
+        <el-button type="primary" @click="to">返回上一页</el-button>
+    </div>
+</template>
+<script>
+export default {
+  data() {
+    return {
+      timer:null,
+    }
+  },
+  mounted() {
+    var that = this
+    this.timer = setTimeout(()=>{
+      that.to()
+    },5000)
+  },
+  methods: {
+    to(){
+      var history = this.$store.state.history.history
+      if(history && history.length){
+        this.$router.go(-1)
+      }else{
+        this.$router.push(
+          {
+            path:'/administrator/home'
+          }
+        )
+      }
+      
+      clearTimeout(this.timer)
+    }
+  },
+  beforeDestroy() {
+    clearTimeout(this.timer)
+  },
+}
+</script>
+  
+<style lang="scss" scoped>
+.error-page {
+    height: 100%;
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    align-items: center;
+    &-svg {
+      width: 400px;
+      margin-bottom: 50px;
+    }
+  }
+  .ZH{
+    font-size: 34px;
+  }
+  .EN{
+    font-family: 'Courier New', Courier, monospace;
+    font-size: 22px;
+    font-weight: 600;
+    color: rgb(255,71,95);
+  }
+  .foot{
+    margin: 20px 0;
+  }
+  </style>
+  

+ 2 - 1
src/views/home/components/videoDemo/videoDemo.vue

@@ -19,7 +19,8 @@ export default {
   props: {},
   data() {
     return {
-        videoSrc: require('@/assets/media/yanshi.mp4'),
+        // videoSrc: require('@/assets/media/yanshi.mp4'),
+        videoSrc: '',
         isPlay:false,
     };
   },