diff --git a/frontend/src/permission.js b/frontend/src/permission.js index e10d9f53e2..34b6ec4644 100644 --- a/frontend/src/permission.js +++ b/frontend/src/permission.js @@ -3,19 +3,34 @@ import store from './store' // import { Message } from 'element-ui' import NProgress from 'nprogress' // progress bar import 'nprogress/nprogress.css' // progress bar style -import { getToken } from '@/utils/auth' // get token from cookie +import { + getToken +} from '@/utils/auth' // get token from cookie import getPageTitle from '@/utils/get-page-title' -import { buildMenus } from '@/api/system/menu' -import { filterAsyncRouter } from '@/store/modules/permission' +import { + buildMenus +} from '@/api/system/menu' +import { + filterAsyncRouter +} from '@/store/modules/permission' +import { + isMobile +} from '@/utils/index' // import bus from './utils/bus' -NProgress.configure({ showSpinner: false }) // NProgress Configuration +NProgress.configure({ + showSpinner: false +}) // NProgress Configuration const whiteList = ['/login', '/401', '/404', '/delink', '/nolic'] // no redirect whitelist router.beforeEach(async(to, from, next) => { // start progress bar NProgress.start() + if (isMobile()) { + window.location.href = window.origin + '/app.html' + NProgress.done() + } // set page title document.title = getPageTitle(to.meta.title) @@ -25,7 +40,9 @@ router.beforeEach(async(to, from, next) => { if (hasToken) { if (to.path === '/login') { // if is logged in, redirect to the home page - next({ path: '/' }) + next({ + path: '/' + }) NProgress.done() } else { const hasGetUserInfo = store.getters.name @@ -77,11 +94,18 @@ export const loadMenus = (next, to) => { const datas = res.data const filterDatas = filterRouter(datas) const asyncRouter = filterAsyncRouter(filterDatas) - asyncRouter.push({ path: '*', redirect: '/404', hidden: true }) + asyncRouter.push({ + path: '*', + redirect: '/404', + hidden: true + }) store.dispatch('permission/GenerateRoutes', asyncRouter).then(() => { // 存储路由 router.addRoutes(asyncRouter) if (pathValid(to.path, asyncRouter)) { - next({ ...to, replace: true }) + next({ + ...to, + replace: true + }) } else { next('/') } diff --git a/frontend/src/utils/index.js b/frontend/src/utils/index.js index fc64745598..522d66097f 100644 --- a/frontend/src/utils/index.js +++ b/frontend/src/utils/index.js @@ -1,4 +1,3 @@ - import Cookies from 'js-cookie' export function timeSection(date, type) { if (!date) { @@ -98,7 +97,9 @@ export function parseTime(time, cFormat) { const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => { const value = formatObj[key] // Note: getDay() returns 0 on Sunday - if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value ] } + if (key === 'a') { + return ['日', '一', '二', '三', '四', '五', '六'][value] + } return value.toString().padStart(2, '0') }) return time_str @@ -115,19 +116,19 @@ export function hasClass(ele, cls) { } /** - * Add class to element - * @param {HTMLElement} elm - * @param {string} cls - */ + * Add class to element + * @param {HTMLElement} elm + * @param {string} cls + */ export function addClass(ele, cls) { if (!hasClass(ele, cls)) ele.className += ' ' + cls } /** - * Remove class from element - * @param {HTMLElement} elm - * @param {string} cls - */ + * Remove class from element + * @param {HTMLElement} elm + * @param {string} cls + */ export function removeClass(ele, cls) { if (hasClass(ele, cls)) { const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)') @@ -189,12 +190,12 @@ export function param2Obj(url) { } return JSON.parse( '{"' + - decodeURIComponent(search) - .replace(/"/g, '\\"') - .replace(/&/g, '","') - .replace(/=/g, '":"') - .replace(/\+/g, ' ') + - '"}' + decodeURIComponent(search) + .replace(/"/g, '\\"') + .replace(/&/g, '","') + .replace(/=/g, '":"') + .replace(/\+/g, ' ') + + '"}' ) } @@ -216,7 +217,9 @@ export function formatCondition(param) { if (!param) { return null } - const result = { conditions: [] } + const result = { + conditions: [] + } // eslint-disable-next-line no-unused-vars for (const [key, value] of Object.entries(param)) { result.conditions.push(value) @@ -273,13 +276,19 @@ export function getQueryVariable(variable) { if (!query) { query = Cookies.get(variable) } - if (query !== undefined){ + if (query !== undefined) { const vars = query.split('&') for (var i = 0; i < vars.length; i++) { const pair = vars[i].split('=') - if (pair[0] === variable) { return pair[1] } + if (pair[0] === variable) { + return pair[1] + } } } return (false) } +export function isMobile() { + const flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i) + return flag +}