diff --git a/README.md b/README.md index 90b924a..eb1186e 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@
- + - - + + diff --git a/package.json b/package.json index 7d4e17d..224f255 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "js-base64": "^2.5.1", "js-cookie": "^2.2.0", "mockjs": "^1.0.1-beta3", + "node-gyp": "^5.0.6", "nprogress": "^0.2.0", "script-loader": "^0.7.2", "vue": "^2.5.16", @@ -31,7 +32,7 @@ "@vue/cli-plugin-eslint": "^3.1.5", "@vue/cli-service": "^3.1.4", "chai": "^4.1.2", - "node-sass": "^4.9.0", + "node-sass": "^4.12.0", "sass-loader": "^7.0.1", "vue-template-compiler": "^2.5.17", "webpack-bundle-analyzer": "^3.0.3" diff --git a/src/App.vue b/src/App.vue index 16798cb..a63cbf0 100644 --- a/src/App.vue +++ b/src/App.vue @@ -12,30 +12,6 @@ export default { }, watch: {}, created() { - this.$notify.success({ - title: "授权信息", - dangerouslyUseHTMLString: true, - message: - '
欢迎使用Saber!
' + - '该系统可用BladeX增强开发,
' + - '若要商用强烈推荐高度定制的商业化框架,具体授权信息请访问如下地址。️
' + - '' + - 'BladeX 授权地址:点击授权
' + - 'AvueX 授权地址:点击授权
', - duration: 20000, - type: "success" - }); - setTimeout(()=>{ - this.$notify.success({ - title: "开发手册", - dangerouslyUseHTMLString: true, - message: - '后端开发手册:点击查看
'+ - '前端开发手册:点击查看
', - duration: 20000, - type: "success" - }); - },500); }, methods: {}, computed: {} diff --git a/src/permission.js b/src/permission.js index 3993c17..7ed04c7 100644 --- a/src/permission.js +++ b/src/permission.js @@ -4,78 +4,84 @@ */ import router from './router/router' import store from './store' -import { validatenull } from '@/util/validate' -import { getToken } from '@/util/auth' +import {validatenull} from '@/util/validate' +import {getToken} from '@/util/auth' import NProgress from 'nprogress' // progress bar import 'nprogress/nprogress.css' // progress bar style -NProgress.configure({ showSpinner: false }); +NProgress.configure({showSpinner: false}); const lockPage = store.getters.website.lockPage; //锁屏页 router.beforeEach((to, from, next) => { - //缓冲设置 - if (to.meta.keepAlive === true && store.state.tags.tagList.some(ele => { - return ele.value === to.fullPath; - })) { - to.meta.$keepAlive = true; + if (to.matched.length === 0 && to.fullPath.indexOf("?sec") === -1) { + next(to.path + "?sec"); + window.location.reload(); + } else { + next(); + } + //缓冲设置 + if (to.meta.keepAlive === true && store.state.tags.tagList.some(ele => { + return ele.value === to.fullPath; + })) { + to.meta.$keepAlive = true; + } else { + NProgress.start() + if (to.meta.keepAlive === true && validatenull(to.meta.$keepAlive)) { + to.meta.$keepAlive = true; } else { - NProgress.start() - if (to.meta.keepAlive === true && validatenull(to.meta.$keepAlive)) { - to.meta.$keepAlive = true; - } else { - to.meta.$keepAlive = false; - } + to.meta.$keepAlive = false; } - const meta = to.meta || {}; - if (getToken()) { - if (store.getters.isLock && to.path != lockPage) { //如果系统激活锁屏,全部跳转到锁屏页 - next({ path: lockPage }) - } else if (to.path === '/login') { //如果登录成功访问登录页跳转到主页 - next({ path: '/' }) - } else { - //如果用户信息为空则获取用户信息,获取用户信息失败,跳转到登录页 - if (store.getters.token.length === 0) { - store.dispatch('FedLogOut').then(() => { - next({ path: '/login' }) - }) - } else { - const value = to.query.src || to.fullPath; - const label = to.query.name || to.name; - const meta = to.meta || router.$avueRouter.meta || {}; - const i18n = to.query.i18n; - if (meta.isTab !== false && !validatenull(value) && !validatenull(label)) { - store.commit('ADD_TAG', { - label: label, - value: value, - params: to.params, - query: to.query, - meta: (() => { - if (!i18n) { - return meta - } - return { - i18n: i18n - } - })(), - group: router.$avueRouter.group || [] - }); - } - next() - } - } + } + const meta = to.meta || {}; + if (getToken()) { + if (store.getters.isLock && to.path !== lockPage) { //如果系统激活锁屏,全部跳转到锁屏页 + next({path: lockPage}) + } else if (to.path === '/login') { //如果登录成功访问登录页跳转到主页 + next({path: '/'}) } else { - //判断是否需要认证,没有登录访问去登录页 - if (meta.isAuth === false) { - next() - } else { - next('/login') + //如果用户信息为空则获取用户信息,获取用户信息失败,跳转到登录页 + if (store.getters.token.length === 0) { + store.dispatch('FedLogOut').then(() => { + next({path: '/login'}) + }) + } else { + const value = to.query.src || to.fullPath; + const label = to.query.name || to.name; + const meta = to.meta || router.$avueRouter.meta || {}; + const i18n = to.query.i18n; + if (meta.isTab !== false && !validatenull(value) && !validatenull(label)) { + store.commit('ADD_TAG', { + label: label, + value: value, + params: to.params, + query: to.query, + meta: (() => { + if (!i18n) { + return meta + } + return { + i18n: i18n + } + })(), + group: router.$avueRouter.group || [] + }); } + next() + } } + } else { + //判断是否需要认证,没有登录访问去登录页 + if (meta.isAuth === false) { + next() + } else { + next('/login') + } + } }) router.afterEach(() => { - NProgress.done(); - let title = store.getters.tag.label; - let i18n = store.getters.tag.meta.i18n; - title = router.$avueRouter.generateTitle(title, i18n) - //根据当前的标签也获取label的值动态设置浏览器标题 - router.$avueRouter.setTitle(title); + NProgress.done(); + let title = store.getters.tag.label; + let i18n = store.getters.tag.meta.i18n; + title = router.$avueRouter.generateTitle(title, i18n) + //根据当前的标签也获取label的值动态设置浏览器标题 + router.$avueRouter.setTitle(title); }); diff --git a/src/styles/element-ui.scss b/src/styles/element-ui.scss index c7e52e2..71f33c5 100644 --- a/src/styles/element-ui.scss +++ b/src/styles/element-ui.scss @@ -60,3 +60,12 @@ .el-dropdown-menu__item--divided:before, .el-menu, .el-menu--horizontal>.el-menu-item:not(.is-disabled):focus, .el-menu--horizontal>.el-menu-item:not(.is-disabled):hover, .el-menu--horizontal>.el-submenu .el-submenu__title:hover{ background-color: transparent !important; } + +.el-card__header { + padding: 6px 18px !important; +} + +.el-card__body { + padding: 16px !important; +} + diff --git a/src/views/wel.vue b/src/views/wel.vue index 70e0545..9d19af7 100644 --- a/src/views/wel.vue +++ b/src/views/wel.vue @@ -1,193 +1,255 @@ -