From ced3313bad76cf95d86dcf23f25ea3b143e09290 Mon Sep 17 00:00:00 2001
From: zrj <646384940@qq.com>
Date: Thu, 29 Aug 2024 20:46:42 +0800
Subject: [PATCH] Merge branch 'master' of http://139.196.74.78:10010/r/drone/drone-web-manage
---
src/permission.js | 15 +++++++
vite.config.mjs | 1
.gitignore | 1
src/store/modules/user.js | 1
src/main.js | 13 ++++++
yarn.lock | 17 +++++---
src/views/device/airport.vue | 33 +++++++++++-----
src/utils/validate.js | 13 ++++++
8 files changed, 76 insertions(+), 18 deletions(-)
diff --git a/.gitignore b/.gitignore
index 237c3fd..406effe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules
/dist
+/manage
/tests/e2e/videos/
/tests/e2e/screenshots/
diff --git a/src/main.js b/src/main.js
index 09c2e9f..1e6aa65 100644
--- a/src/main.js
+++ b/src/main.js
@@ -12,6 +12,9 @@
import '@smallwei/avue/lib/index.css';
import crudCommon from '@/mixins/crud.js';
import { getScreen } from './utils/util';
+import { getUrlParams } from './utils/validate'
+import { setToken, setRefreshToken } from './utils/auth';
+import { setStore } from './utils/store';
import './permission';
import error from './error';
import avueUeditor from 'avue-plugin-ueditor';
@@ -27,6 +30,16 @@
// 业务组件
import tenantPackage from './views/system/tenantpackage.vue';
+// 获取url中是否存在token
+const urlParams = getUrlParams(window.location.href)
+if (urlParams?.token) {
+ // 设置cookie和localStorage
+ setStore('saber-token', urlParams.token)
+ setToken(urlParams.token)
+ setRefreshToken(urlParams.token)
+}
+
+
window.$crudCommon = crudCommon;
window.axios = axios;
const app = createApp(App);
diff --git a/src/permission.js b/src/permission.js
index cabf2b8..3eaffcf 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -1,10 +1,22 @@
+/*
+ * @Author: GuLiMmo 2820890765@qq.com
+ * @Date: 2024-08-23 10:51:53
+ * @LastEditors: GuLiMmo 2820890765@qq.com
+ * @LastEditTime: 2024-08-29 14:10:56
+ * @FilePath: /drone-web-manage/src/permission.js
+ * @Description:
+ * Copyright (c) 2024 by GuLiMmo, All Rights Reserved.
+ */
import router from './router/';
import store from './store';
import { getToken } from '@/utils/auth';
+import { getUrlParams } from './utils/validate'
import NProgress from 'nprogress'; // progress bar
import 'nprogress/nprogress.css'; // progress bar style
NProgress.configure({ showSpinner: false });
const lockPage = '/lock'; //锁屏页
+const urlParams = getUrlParams(window.location.href)
+
router.beforeEach((to, from, next) => {
const meta = to.meta || {};
const isMenu = meta.menu === undefined ? to.query.menu : meta.menu;
@@ -17,7 +29,8 @@
//如果登录成功访问登录页跳转到主页
next({ path: '/' });
} else {
- if (store.getters.token.length === 0) {
+ const systemToken = store.getters.token || urlParams?.token
+ if (systemToken === 0) {
store.dispatch('FedLogOut').then(() => {
next({ path: '/login' });
});
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index 91a754a..2514f88 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -236,7 +236,6 @@
commit('CLEAR_LOCK');
removeToken();
removeRefreshToken();
- removeToken();
resolve();
})
.catch(error => {
diff --git a/src/utils/validate.js b/src/utils/validate.js
index c3834b2..ff19e76 100644
--- a/src/utils/validate.js
+++ b/src/utils/validate.js
@@ -272,3 +272,16 @@
}
return false;
}
+
+// 获取url中的参数
+export function getUrlParams(url) {
+ const urlObj = new URL(window.location.href);
+ const params = new URLSearchParams(urlObj.search);
+ const urlParams = {};
+ // 遍历每个参数
+ for (let [key, value] of params) {
+ // 将参数添加到对象中
+ urlParams[key] = value;
+ }
+ return urlParams;
+}
diff --git a/src/views/device/airport.vue b/src/views/device/airport.vue
index 4234c99..9d36f6e 100644
--- a/src/views/device/airport.vue
+++ b/src/views/device/airport.vue
@@ -59,19 +59,26 @@
v-if="row.firmware_status == 1"
style="display: flex; flex-direction: row; align-items: center"
>
- <div style="background-color: #f1f1f1; border-radius: 4px">无需升级</div>
+ <el-tag type="info">无需升级</el-tag>
+ <!-- <div style="background-color: #f1f1f1; border-radius: 4px">无需升级</div> -->
</div>
<div
v-if="row.firmware_status == 2"
style="display: flex; flex-direction: row; align-items: center"
>
- <div @click="updateFirmware(row)" class="firmware_status">升级固件</div>
+ <el-tag type="success" effect="dark" class="active-element" @click="updateFirmware(row)"
+ >升级固件</el-tag
+ >
+ <!-- <div @click="updateFirmware(row)" class="firmware_status">升级固件</div> -->
</div>
<div
v-if="row.firmware_status == 3"
style="display: flex; flex-direction: row; align-items: center"
>
- <div @click="updateFirmware(row)" class="firmware_status">一致性升级</div>
+ <el-tag type="success" effect="dark" class="active-element" @click="updateFirmware(row)"
+ >一致性升级</el-tag
+ >
+ <!-- <div @click="updateFirmware(row)" class="firmware_status">一致性升级</div> -->
</div>
<div
v-if="row.firmware_status == 4"
@@ -137,9 +144,7 @@
ota,
} from '@/api/device/device';
-import {
- getLazyTree
-} from '@/api/base/region';
+import { getLazyTree } from '@/api/base/region';
import { mapGetters } from 'vuex';
import FirmwareManage from './components/firmwareManage.vue';
@@ -327,12 +332,12 @@
prop: 'area_code',
type: 'cascader',
labelWidth: 130,
- hide:true,
+ hide: true,
props: {
label: 'title',
value: 'value',
},
- dataType:"string",
+ dataType: 'string',
rules: [
{
required: true,
@@ -358,7 +363,7 @@
list = res.data.data;
callback();
});
- } else if (level>0 && level<5 ) {
+ } else if (level > 0 && level < 5) {
getLazyTree(node.value).then(res => {
list = res.data.data;
callback();
@@ -718,7 +723,7 @@
};
</script>
-<style>
+<style lang="scss" scoped>
.firmware_status {
background-color: aqua;
border-radius: 4px;
@@ -727,4 +732,12 @@
cursor: pointer;
/* color: aqua; */
}
+
+.active-element {
+ cursor: pointer;
+ &:hover {
+ background-color: #409eff;
+ border-color: #409eff;
+ }
+}
</style>
diff --git a/vite.config.mjs b/vite.config.mjs
index 3077869..5675d2e 100644
--- a/vite.config.mjs
+++ b/vite.config.mjs
@@ -19,6 +19,7 @@
// 根据是否生产环境,动态设置压缩配置
const buildConfig = {
+ outDir: 'manage',
target: 'esnext',
minify: isProd ? 'terser' : 'esbuild', // 根据环境选择压缩工具
};
diff --git a/yarn.lock b/yarn.lock
index 25f328b..ff9bd9b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -37,10 +37,10 @@
resolved "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz"
integrity sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==
-"@esbuild/win32-x64@0.20.2":
+"@esbuild/darwin-arm64@0.20.2":
version "0.20.2"
- resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz"
- integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==
+ resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz"
+ integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==
"@floating-ui/core@^1.5.3":
version "1.5.3"
@@ -175,10 +175,10 @@
estree-walker "^2.0.2"
picomatch "^2.3.1"
-"@rollup/rollup-win32-x64-msvc@4.18.0":
+"@rollup/rollup-darwin-arm64@4.18.0":
version "4.18.0"
- resolved "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz"
- integrity sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==
+ resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz"
+ integrity sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==
"@saber/nf-design-base-elp@^1.2.0":
version "1.2.0"
@@ -853,6 +853,11 @@
jsonfile "^6.0.1"
universalify "^2.0.0"
+fsevents@~2.3.2, fsevents@~2.3.3:
+ version "2.3.3"
+ resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"
+ integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
+
glob-parent@^5.1.2, glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz"
--
Gitblit v1.9.3