diff --git a/src/libs/util.js b/src/libs/util.js
index 6ee741ea..36ba8247 100644
--- a/src/libs/util.js
+++ b/src/libs/util.js
@@ -3,6 +3,7 @@ import Cookies from 'js-cookie'
import axios from 'axios'
import semver from 'semver'
import dayjs from 'dayjs'
+import UaParser from 'ua-parser-js'
// 获取项目信息
import packJson from '../../package.json'
@@ -10,7 +11,7 @@ import packJson from '../../package.json'
let util = {}
/**
- * @description 得到现在的用户
+ * @description 得到现在的用户 uuid
*/
util.uuid = function () {
return Cookies.get('uuid')
@@ -20,10 +21,39 @@ util.uuid = function () {
* @description 更新标题
* @param {string} title 标题
*/
-util.title = function title (titleText) {
+util.title = function (titleText) {
window.document.title = `${process.env.VUE_APP_TITLE}${titleText ? ` | ${titleText}` : ''}`
}
+/**
+ * @description [ 私有 ] 获取所有的 UA 信息
+ */
+function getUa () {
+ return new UaParser().getResult()
+}
+
+/**
+ * @description 返回当前设备是否是手机
+ */
+util.isMobile = function (ua) {
+ return (ua || getUa()).device.type === 'mobile'
+}
+
+/**
+ * @description 获取并存储用户 UA 同时对危险环境做检查
+ * @param {object} vm vue
+ */
+util.uaGet = function (vm) {
+ // 获取 UA
+ const ua = getUa()
+ // 存储
+ vm.$store.commit('d2adminUaSet', ua)
+ // 判断
+ if (util.isMobile(ua)) {
+ vm.$router.replace({ name: 'is-mobile' })
+ }
+}
+
/**
* @description 判断是否在其内
* @param {*} ele element
diff --git a/src/main.js b/src/main.js
index 3447482e..68201125 100644
--- a/src/main.js
+++ b/src/main.js
@@ -51,6 +51,11 @@ new Vue({
this.$store.commit('d2adminMenusHeaderSet', menusHeader)
},
mounted () {
+ // D2Admin 开发环境检查更新
+ util.checkUpdate(this)
+ // 获取并记录用户 UA 同时对危险环境做出判断
+ util.uaGet(this)
+ // 展示系统信息
util.showInfo()
// DB -> store 加载用户名
this.$store.commit('d2adminUsernameLoad')
@@ -58,8 +63,6 @@ new Vue({
this.$store.commit('d2adminThemeLoad')
// DB -> store 数据库加载上次退出时的多页列表
this.$store.commit('d2adminPageOpenedListLoad')
- // D2Admin 开发环境检查更新
- util.checkUpdate(this)
// 初始化全屏监听
this.fullscreenListenerInit()
},
diff --git a/src/pages/dashboard/index.js b/src/pages/dashboard/index.js
index c8a254df..ddb7de83 100644
--- a/src/pages/dashboard/index.js
+++ b/src/pages/dashboard/index.js
@@ -1,3 +1,3 @@
-import page from './dashboard'
+import page from './page'
export default page
diff --git a/src/pages/dashboard/dashboard.vue b/src/pages/dashboard/page.vue
similarity index 100%
rename from src/pages/dashboard/dashboard.vue
rename to src/pages/dashboard/page.vue
diff --git a/src/pages/error-page-404/index.js b/src/pages/error-page-404/index.js
index 1d0ae533..ddb7de83 100644
--- a/src/pages/error-page-404/index.js
+++ b/src/pages/error-page-404/index.js
@@ -1,3 +1,3 @@
-import page from './error-page-404'
+import page from './page'
export default page
diff --git a/src/pages/error-page-404/error-page-404.vue b/src/pages/error-page-404/page.vue
similarity index 100%
rename from src/pages/error-page-404/error-page-404.vue
rename to src/pages/error-page-404/page.vue
diff --git a/src/pages/error-page-is-mobile/index.js b/src/pages/error-page-is-mobile/index.js
new file mode 100644
index 00000000..ddb7de83
--- /dev/null
+++ b/src/pages/error-page-is-mobile/index.js
@@ -0,0 +1,3 @@
+import page from './page'
+
+export default page
diff --git a/src/pages/error-page-is-mobile/page.vue b/src/pages/error-page-is-mobile/page.vue
new file mode 100644
index 00000000..be1b921b
--- /dev/null
+++ b/src/pages/error-page-is-mobile/page.vue
@@ -0,0 +1,28 @@
+
+
+

+
系统暂未对移动设备提供支持
+
请使用PC访问
+
+
+
+
diff --git a/src/router/index.js b/src/router/index.js
index 39cf7d8b..13d4a128 100755
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -16,6 +16,11 @@ let router = new VueRouter({ routes })
* 权限验证
*/
router.beforeEach((to, from, next) => {
+ // 禁止手机访问
+ if (to.name !== 'is-mobile' && util.isMobile()) {
+ next({ name: 'is-mobile' })
+ return
+ }
// 验证当前路由所有的匹配中是否需要有登陆验证的
if (to.matched.some(r => r.meta.requiresAuth)) {
// 这里暂时将cookie里是否存有token作为验证是否登陆的条件
diff --git a/src/router/routes.js.REMOVED.git-id b/src/router/routes.js.REMOVED.git-id
index f415a66f..ce1d1d83 100644
--- a/src/router/routes.js.REMOVED.git-id
+++ b/src/router/routes.js.REMOVED.git-id
@@ -1 +1 @@
-b48413cb8c217f7ecaf10be1313caa442cffe91b
\ No newline at end of file
+51bf6b20922ac42bc614d4dafc3928f2f9017796
\ No newline at end of file
diff --git a/src/store/modules/d2admin.js.REMOVED.git-id b/src/store/modules/d2admin.js.REMOVED.git-id
index a3b4efc7..63e5b434 100644
--- a/src/store/modules/d2admin.js.REMOVED.git-id
+++ b/src/store/modules/d2admin.js.REMOVED.git-id
@@ -1 +1 @@
-303f0d76d55f00375ac5d17efcd00212c3bc2619
\ No newline at end of file
+2831ac4870bc4916671225959f7721a1eeb52ebd
\ No newline at end of file