From ffd0af47ee31a9592cfab56a907e9841a9113c52 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 20 七月 2023 10:37:17 +0800 Subject: [PATCH] 代码提交,前端代码打包 --- Source/UBCS-WEB/dist/src/page/index/index.vue | 154 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 154 insertions(+), 0 deletions(-) diff --git a/Source/UBCS-WEB/dist/src/page/index/index.vue b/Source/UBCS-WEB/dist/src/page/index/index.vue new file mode 100644 index 0000000..f802b58 --- /dev/null +++ b/Source/UBCS-WEB/dist/src/page/index/index.vue @@ -0,0 +1,154 @@ +<template> + <div class="avue-contail" :class="{'avue--collapse':isCollapse}"> + <div class="avue-header"> + <!-- 椤堕儴瀵艰埅鏍� --> + <top ref="top"/> + </div> + <div class="avue-layout"> + <div class="avue-left"> + <!-- 宸︿晶瀵艰埅鏍� --> + <sidebar v-loading="loading"/> + </div> + <div class="avue-main"> + <!-- 椤堕儴鏍囩鍗� --> + <tags/> + <transition name="fade-scale"> + <search class="avue-view" v-show="isSearch"></search> + </transition> + <!-- 涓讳綋瑙嗗浘灞� --> + <div style="height:100%;overflow-y:auto;overflow-x:hidden;" id="avue-view" v-show="!isSearch"> + <keep-alive> + <router-view class="avue-view" v-if="$route.meta.keepAlive"/> + </keep-alive> + <router-view class="avue-view" v-if="!$route.meta.keepAlive"/> + </div> + </div> + </div> + <div class="avue-shade" @click="showCollapse"></div> + </div> +</template> + +<script> + import {mapGetters} from "vuex"; + import tags from "./tags"; + import search from "./search"; + import top from "./top/"; + import sidebar from "./sidebar/"; + import admin from "@/util/admin"; + import {validatenull} from "@/util/validate"; + import {calcDate} from "@/util/date.js"; + import {getStore} from "@/util/store.js"; + + export default { + components: { + top, + tags, + search, + sidebar + }, + name: "index", + provide() { + return { + index: this + }; + }, + data() { + return { + //鎼滅储鎺у埗 + isSearch: false, + //鍒锋柊token閿� + refreshLock: false, + //鍒锋柊token鐨勬椂闂� + refreshTime: "", + loading:true + }; + }, + + created() { + //瀹炴椂妫�娴嬪埛鏂皌oken + this.refreshToken(); + + }, + mounted() { + this.init(); + // 宸︿晶鑿滃崟鍔犺浇 + setTimeout(()=>{ + this.loading=false + },600) + }, + computed: mapGetters(["isMenu", "isLock", "isCollapse", "website", "menu"]), + props: [], + methods: { + showCollapse() { + this.$store.commit("SET_COLLAPSE"); + }, + // 鍒濆鍖� + init() { + this.$store.commit("SET_SCREEN", admin.getScreen()); + window.onresize = () => { + setTimeout(() => { + this.$store.commit("SET_SCREEN", admin.getScreen()); + }, 0); + + }; + this.$store.dispatch("FlowRoutes").then(() => { + }); + }, + //鎵撳紑鑿滃崟 + openMenu(item = {}) { + this.$store.dispatch("GetMenu", item.id).then(data => { + if (data.length !== 0) { + this.$router.$avueRouter.formatRoutes(data, true); + } + //褰撶偣鍑婚《閮ㄨ彍鍗曞悗榛樿鎵撳紑绗竴涓彍鍗� + /*if (!this.validatenull(item)) { + let itemActive = {}, + childItemActive = 0; + if (item.path) { + itemActive = item; + } else { + if (this.menu[childItemActive].length === 0) { + itemActive = this.menu[childItemActive]; + } else { + itemActive = this.menu[childItemActive].children[childItemActive]; + } + } + this.$store.commit('SET_MENU_ID', item); + this.$router.push({ + path: this.$router.$avueRouter.getPath({ + name: (itemActive.label || itemActive.name), + src: itemActive.path + }, itemActive.meta) + }); + }*/ + + }); + }, + // 瀹氭椂妫�娴媡oken + refreshToken() { + this.refreshTime = setInterval(() => { + const token = getStore({ + name: "token", + debug: true + }) || {}; + const date = calcDate(token.datetime, new Date().getTime()); + if (validatenull(date)) return; + if (date.seconds >= this.website.tokenTime && !this.refreshLock) { + this.refreshLock = true; + this.$store + .dispatch("refreshToken") + .then(() => { + this.refreshLock = false; + }) + .catch(() => { + this.refreshLock = false; + }); + } + }, 10000); + } + } + }; +</script> +<style lang="scss"> + +</style> -- Gitblit v1.9.3