| .gitignore | ●●●●● patch | view | raw | blame | history | |
| src/main.js | ●●●●● patch | view | raw | blame | history | |
| src/permission.js | ●●●●● patch | view | raw | blame | history | |
| src/store/modules/user.js | ●●●●● patch | view | raw | blame | history | |
| src/utils/validate.js | ●●●●● patch | view | raw | blame | history | |
| src/views/device/airport.vue | ●●●●● patch | view | raw | blame | history | |
| vite.config.mjs | ●●●●● patch | view | raw | blame | history | |
| yarn.lock | ●●●●● patch | view | raw | blame | history |
.gitignore
@@ -1,6 +1,7 @@ .DS_Store node_modules /dist /manage /tests/e2e/videos/ /tests/e2e/screenshots/ 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); 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' }); }); src/store/modules/user.js
@@ -236,7 +236,6 @@ commit('CLEAR_LOCK'); removeToken(); removeRefreshToken(); removeToken(); resolve(); }) .catch(error => { 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; } 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> vite.config.mjs
@@ -19,6 +19,7 @@ // 根据是否生产环境,动态设置压缩配置 const buildConfig = { outDir: 'manage', target: 'esnext', minify: isProd ? 'terser' : 'esbuild', // 根据环境选择压缩工具 }; 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"