From 24b46b1133aa099fd0c32497683f3d7f09348845 Mon Sep 17 00:00:00 2001 From: "meilin.huang" <954537473@qq.com> Date: Wed, 16 Aug 2023 17:37:33 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BB=A3=E7=A0=81=E5=B0=8F?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build_release.sh | 4 +- mayfly_go_web/package.json | 6 +-- mayfly_go_web/src/common/request.ts | 47 +++++++++++++------ .../src/components/enumtag/EnumTag.vue | 8 +++- .../src/components/pagetable/PageTable.vue | 10 +++- mayfly_go_web/src/router/index.ts | 2 +- .../views/ops/machine/cronjob/CronJobEdit.vue | 2 +- .../src/views/ops/redis/KeyValueString.vue | 2 +- .../views/system/resource/ResourceList.vue | 19 +++++--- 9 files changed, 69 insertions(+), 31 deletions(-) diff --git a/build_release.sh b/build_release.sh index b1e32b94..98b06d09 100755 --- a/build_release.sh +++ b/build_release.sh @@ -74,8 +74,8 @@ function build() { # fi if [ "${copyDocScript}" == "1" ] ; then - echo_green "拷贝脚本等资源文件[config.yml、mayfly-go.sql、readme.txt、startup.sh、shutdown.sh]" - cp ${server_folder}/config.yml ${toFolder} + echo_green "拷贝脚本等资源文件[config.yml.example、mayfly-go.sql、readme.txt、startup.sh、shutdown.sh]" + cp ${server_folder}/config.yml.example ${toFolder} cp ${server_folder}/mayfly-go.sql ${toFolder} cp ${server_folder}/readme.txt ${toFolder} cp ${server_folder}/startup.sh ${toFolder} diff --git a/mayfly_go_web/package.json b/mayfly_go_web/package.json index b9813f7a..e43dc860 100644 --- a/mayfly_go_web/package.json +++ b/mayfly_go_web/package.json @@ -12,14 +12,14 @@ "@element-plus/icons-vue": "^2.1.0", "asciinema-player": "^3.5.0", "axios": "^1.4.0", - "countup.js": "^2.0.7", + "countup.js": "^2.7.0", "cropperjs": "^1.5.11", "echarts": "^5.4.0", "element-plus": "^2.3.8", "jsencrypt": "^3.3.1", "lodash": "^4.17.21", "mitt": "^3.0.1", - "monaco-editor": "^0.40.0", + "monaco-editor": "^0.41.0", "monaco-sql-languages": "^0.11.0", "monaco-themes": "^0.4.4", "nprogress": "^0.2.0", @@ -50,7 +50,7 @@ "sass": "^1.62.0", "sass-loader": "^13.2.0", "typescript": "^5.0.2", - "vite": "^4.4.7", + "vite": "^4.4.9", "vue-eslint-parser": "^9.1.1" }, "browserslist": [ diff --git a/mayfly_go_web/src/common/request.ts b/mayfly_go_web/src/common/request.ts index b125fa88..ce540313 100755 --- a/mayfly_go_web/src/common/request.ts +++ b/mayfly_go_web/src/common/request.ts @@ -1,6 +1,5 @@ import router from '../router'; import Axios from 'axios'; -import { ResultEnum } from './enums'; import config from './config'; import { getSession } from './utils/storage'; import { templateResolve } from './utils/string'; @@ -21,6 +20,14 @@ export interface Result { data?: any; } +enum ResultEnum { + SUCCESS = 200, + ERROR = 400, + PARAM_ERROR = 405, + SERVER_ERROR = 500, + NO_PERMISSION = 501, +} + const baseUrl: string = config.baseApiUrl; const baseWsUrl: string = config.baseWsUrl; @@ -60,34 +67,46 @@ service.interceptors.response.use( (response) => { // 获取请求返回结果 const data: Result = response.data; + if (data.code === ResultEnum.SUCCESS) { + return data.data; + } // 如果提示没有权限,则移除token,使其重新登录 if (data.code === ResultEnum.NO_PERMISSION) { router.push({ path: '/401', }); } - if (data.code === ResultEnum.SUCCESS) { - return data.data; - } else { - return Promise.reject(data); - } + return Promise.reject(data); }, (e: any) => { + const rejectPromise = Promise.reject(e); + + const statusCode = e.response?.status; + if (statusCode == 500) { + notifyErrorMsg('服务器未知异常'); + return rejectPromise; + } + + if (statusCode == 404) { + notifyErrorMsg('请求接口未找到'); + return rejectPromise; + } + if (e.message) { // 对响应错误做点什么 if (e.message.indexOf('timeout') != -1) { - notifyErrorMsg('网络超时'); - } else if (e.message == 'Network Error') { + notifyErrorMsg('网络请求超时'); + return rejectPromise; + } + + if (e.message == 'Network Error') { notifyErrorMsg('网络连接错误'); - } else if (e.message.indexOf('404')) { - notifyErrorMsg('请求接口找不到'); - } else { - if (e.response.data) ElMessage.error(e.response.statusText); - else notifyErrorMsg('接口路径找不到'); + return rejectPromise; } } - return Promise.reject(e); + notifyErrorMsg('网络请求错误'); + return rejectPromise; } ); diff --git a/mayfly_go_web/src/components/enumtag/EnumTag.vue b/mayfly_go_web/src/components/enumtag/EnumTag.vue index 29990c67..1a581961 100644 --- a/mayfly_go_web/src/components/enumtag/EnumTag.vue +++ b/mayfly_go_web/src/components/enumtag/EnumTag.vue @@ -12,13 +12,15 @@ const props = defineProps({ required: true, }, value: { - type: Object, + type: [Object, String, Number], required: true, }, }); +const defaultType = 'primary'; + const state = reactive({ - type: 'primary', + type: defaultType, color: '', enumLabel: '', }); @@ -50,6 +52,8 @@ const convert = (value: any) => { if (enumValue.tag) { state.color = enumValue.tag.color; state.type = enumValue.tag.type; + } else { + state.type = defaultType; } }; diff --git a/mayfly_go_web/src/components/pagetable/PageTable.vue b/mayfly_go_web/src/components/pagetable/PageTable.vue index b84a2995..3332c449 100644 --- a/mayfly_go_web/src/components/pagetable/PageTable.vue +++ b/mayfly_go_web/src/components/pagetable/PageTable.vue @@ -314,8 +314,16 @@ onMounted(() => { } else { state.inputWidth = props.inputWidth; } + + window.addEventListener('resize', () => { + calcuTableHeight(); + }); }) +const calcuTableHeight = () => { + state.tableMaxHeight = window.innerHeight - 240 + 'px'; +} + const formatText = (data: any)=> { state.formatVal = ''; try { @@ -362,7 +370,7 @@ const reset = () => { for (let qi of props.query) { state.queryForm[qi.prop] = null; } - console.log(state.queryForm); + changePageNum(1); emit('update:queryForm', state.queryForm); execQuery(); diff --git a/mayfly_go_web/src/router/index.ts b/mayfly_go_web/src/router/index.ts index f5650805..40fe156a 100644 --- a/mayfly_go_web/src/router/index.ts +++ b/mayfly_go_web/src/router/index.ts @@ -18,7 +18,7 @@ import { useKeepALiveNames } from '@/store/keepAliveNames'; * @method import.meta.glob * @link 参考:https://cn.vitejs.dev/guide/features.html#json */ -const viewsModules: any = import.meta.glob('../views/**/*.{vue,tsx}'); +const viewsModules: any = import.meta.glob(['../views/**/*.{vue,tsx}', '!../views/layout/**/*.{vue,tsx}']); const dynamicViewsModules: Record = Object.assign({}, { ...viewsModules }); // 添加静态路由 diff --git a/mayfly_go_web/src/views/ops/machine/cronjob/CronJobEdit.vue b/mayfly_go_web/src/views/ops/machine/cronjob/CronJobEdit.vue index a67c0e37..c4bb8126 100644 --- a/mayfly_go_web/src/views/ops/machine/cronjob/CronJobEdit.vue +++ b/mayfly_go_web/src/views/ops/machine/cronjob/CronJobEdit.vue @@ -15,7 +15,7 @@ - + diff --git a/mayfly_go_web/src/views/ops/redis/KeyValueString.vue b/mayfly_go_web/src/views/ops/redis/KeyValueString.vue index 3f5d60b0..1be4d1f1 100644 --- a/mayfly_go_web/src/views/ops/redis/KeyValueString.vue +++ b/mayfly_go_web/src/views/ops/redis/KeyValueString.vue @@ -11,7 +11,7 @@