From a1e0dac85c8bbfa5d7812ca239131fd4ec674b0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=B7=B3?= Date: Sat, 20 May 2023 17:20:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=AE=8C=E5=96=84=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E5=8F=8B=E5=A5=BD=E6=8F=90=E7=A4=BA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 + .../Rbac/Job/SystemDataJob.cs | 2 +- .../Rbac/DataSeeds/MenuDataSeed.cs | 2 +- Yi.Furion.Net6/Yi.Furion.Web.Core/Startup.cs | 2 +- Yi.RuoYi.Vue3/src/utils/request.js | 170 +++++++----------- Yi.RuoYi.Vue3/src/views/login.vue | 2 +- 6 files changed, 67 insertions(+), 114 deletions(-) diff --git a/README.md b/README.md index 692adef3..2477939c 100644 --- a/README.md +++ b/README.md @@ -183,6 +183,9 @@ RABC权限管理系统(正在更新) - 用户在线 - 操作日志 - 登录日志 +- 定时任务 +- 缓存列表 +- 服务监控 - 等等 **演示截图:** diff --git a/Yi.Furion.Net6/Yi.Furion.Application/Rbac/Job/SystemDataJob.cs b/Yi.Furion.Net6/Yi.Furion.Application/Rbac/Job/SystemDataJob.cs index cdea9c8e..b28739ce 100644 --- a/Yi.Furion.Net6/Yi.Furion.Application/Rbac/Job/SystemDataJob.cs +++ b/Yi.Furion.Net6/Yi.Furion.Application/Rbac/Job/SystemDataJob.cs @@ -37,7 +37,7 @@ namespace Yi.Furion.Application.Rbac.Job _db.DbMaintenance.TruncateTable(); _db.DbMaintenance.TruncateTable(); await _dataSeedExecuteHandler.Invoker(); - _logger.LogWarning("数据已经重置还原"); + _logger.LogWarning("------->数据已经重置还原<-------"); } } } diff --git a/Yi.Furion.Net6/Yi.Furion.Core/Rbac/DataSeeds/MenuDataSeed.cs b/Yi.Furion.Net6/Yi.Furion.Core/Rbac/DataSeeds/MenuDataSeed.cs index f33769ac..d07c6b31 100644 --- a/Yi.Furion.Net6/Yi.Furion.Core/Rbac/DataSeeds/MenuDataSeed.cs +++ b/Yi.Furion.Net6/Yi.Furion.Core/Rbac/DataSeeds/MenuDataSeed.cs @@ -123,7 +123,7 @@ namespace Yi.Furion.Core.Rbac.DataSeeds IsLink = false, IsCache = true, Component = "monitor/job/index", - MenuIcon = "server", + MenuIcon = "job", OrderNum = 97, ParentId = monitoring.Id, IsDeleted = false diff --git a/Yi.Furion.Net6/Yi.Furion.Web.Core/Startup.cs b/Yi.Furion.Net6/Yi.Furion.Web.Core/Startup.cs index 23d0731b..310be1d7 100644 --- a/Yi.Furion.Net6/Yi.Furion.Web.Core/Startup.cs +++ b/Yi.Furion.Net6/Yi.Furion.Web.Core/Startup.cs @@ -36,7 +36,7 @@ public class Startup : AppStartup services.AddSchedule(options => { // 注册作业,并配置作业触发器 - options.AddJob(Triggers.Period(10000)); // 表示每秒执行 + options.AddJob(Triggers.Period(10000)); options.AddJob(Triggers.Cron("0 0 0,12 ? * ?",CronStringFormat.WithSeconds)); // 表示每天凌晨与12点 }); services.AddFileLogging("application-{0:yyyy}-{0:MM}-{0:dd}.log", options => diff --git a/Yi.RuoYi.Vue3/src/utils/request.js b/Yi.RuoYi.Vue3/src/utils/request.js index 05ac9f14..00ca4a6a 100644 --- a/Yi.RuoYi.Vue3/src/utils/request.js +++ b/Yi.RuoYi.Vue3/src/utils/request.js @@ -1,5 +1,5 @@ import axios from 'axios' -import { ElNotification , ElMessageBox, ElMessage, ElLoading } from 'element-plus' +import { ElNotification, ElMessageBox, ElMessage, ElLoading } from 'element-plus' import { getToken } from '@/utils/auth' import errorCode from '@/utils/errorCode' import { tansParams, blobValidate } from '@/utils/ruoyi' @@ -20,7 +20,7 @@ const service = axios.create({ baseURL: import.meta.env.VITE_APP_BASE_API, // 超时 timeout: 10000, - transformResponse: [ data => { + transformResponse: [data => { const json = JsonBig({ storeAsString: true }) @@ -76,120 +76,26 @@ service.interceptors.request.use(config => { return config }, error => { - Promise.reject(error) + Promise.reject(error) }) // 响应拦截器 service.interceptors.response.use(res => { - - //业务错误 - if(res.data.statusCode==403) - { - ElMessage({ - message: res.data.errors, - type: 'error' - }) - } - - // 未设置状态码则默认成功状态 - const code = res.status || 200; - - // 获取错误信息 - const msg = errorCode[code] || res.data.message || errorCode['default'] - - // 二进制数据则直接返回 - if(res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer'){ - return res - } - if (code === 401) { - - if (!isRelogin.show) { - - isRelogin.show = true; - ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { - confirmButtonText: '重新登录', - cancelButtonText: '取消', - type: 'warning' - } - ).then(() => { - isRelogin.show = false; - useUserStore().logOut().then(() => { - location.href = '/index'; - }) - }).catch(() => { - isRelogin.show = false; - }); - } - - return Promise.reject('无效的会话,或者会话已过期,请重新登录。') - } - else if (code === 500) { - - ElMessage({ - message: msg, - type: 'error' - }) - return Promise.reject(new Error(msg)) - } else if (code !== 200) { - ElNotification.error({ - title: msg - }) - return Promise.reject('error') - } else { - - return Promise.resolve(res.data) - } - - }, - error=>{ - const response=error.response; - const code=response.status - const msg=response.data.message - if(code==403) - { - ElMessage({ - message: msg, - type: 'error' - }) - } - else if (code === 401) { - - if (!isRelogin.show) { - - isRelogin.show = true; - ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { - confirmButtonText: '重新登录', - cancelButtonText: '取消', - type: 'warning' - } - ).then(() => { - isRelogin.show = false; - useUserStore().logOut().then(() => { - location.href = '/index'; - }) - }).catch(() => { - isRelogin.show = false; - }); + // 二进制数据则直接返回 + if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') { + return res } + const code = res.data.statusCode || 200; + // 获取错误信息 + const msg = res.data.errors; - return Promise.reject('无效的会话,或者会话已过期,请重新登录。') - } - else if (code === 500) { - - ElMessage({ - message: msg, - type: 'error' - }) - return Promise.reject(new Error(msg)) - } else if (code !== 200) { - ElNotification.error({ - title: msg - }) - return Promise.reject('error') - } else { - - return Promise.resolve(res) - } + handler(code, msg); + return Promise.resolve(res.data); +}, + error => { + const code = error.response.status; + const msg = error.response.data.message; + handler(code, msg); } ) @@ -219,4 +125,48 @@ export function download(url, params, filename) { }) } +const handler = (code, msg) => { + switch (code) { + //服务器异常 + case 500: + ElMessage({ + message: msg, + type: 'error' + }); + break; + //业务异常 + case 403: + ElNotification.error({ + title: msg + }) + break; + + //未授权 + case 401: + ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { + confirmButtonText: '重新登录', + cancelButtonText: '取消', + type: 'warning' + }) + .then(() => { + isRelogin.show = false; + useUserStore().logOut().then(() => { + location.href = '/index'; + }) + }).catch(() => { + isRelogin.show = false; + }); + break; + case 404: + ElMessage({ + message: "404未找到资源", + type: 'error' + }); + break; + //正常 + case 200: + break; + } +} + export default service diff --git a/Yi.RuoYi.Vue3/src/views/login.vue b/Yi.RuoYi.Vue3/src/views/login.vue index f327e1ba..f1d9a225 100644 --- a/Yi.RuoYi.Vue3/src/views/login.vue +++ b/Yi.RuoYi.Vue3/src/views/login.vue @@ -59,7 +59,7 @@