From 34b929d352514573297bb9a6d4e2fa726744aa47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: 2024年8月26日 17:56:35 +0800 Subject: [PATCH 01/13] =?UTF-8?q?add=20=E5=A2=9E=E5=8A=A0=20=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E7=A7=9F=E6=88=B7=E5=AD=97=E5=85=B8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/system/tenant/index.ts | 8 ++++++++ src/views/system/dict/index.vue | 13 +++++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/api/system/tenant/index.ts b/src/api/system/tenant/index.ts index 4380dbe1..7b7b93f0 100644 --- a/src/api/system/tenant/index.ts +++ b/src/api/system/tenant/index.ts @@ -91,3 +91,11 @@ export function syncTenantPackage(tenantId: string | number, packageId: string | params: data }); } + +// 同步租户字典 +export function syncTenantDict() { + return request({ + url: '/system/tenant/syncTenantDict', + method: 'get', + }); +} diff --git a/src/views/system/dict/index.vue b/src/views/system/dict/index.vue index d44a04af..4ad70d09 100644 --- a/src/views/system/dict/index.vue +++ b/src/views/system/dict/index.vue @@ -49,6 +49,9 @@ 刷新缓存 + + 同步租户字典 + @@ -109,11 +112,15 @@ setup name="Dict" lang="ts"> import useDictStore from '@/store/modules/dict'; +import useUserStore from "@/store/modules/user"; import { listType, getType, delType, addType, updateType, refreshCache } from '@/api/system/dict/type'; import { DictTypeForm, DictTypeQuery, DictTypeVO } from '@/api/system/dict/type/types'; +import { syncTenantDict } from "@/api/system/tenant"; const { proxy } = getCurrentInstance() as ComponentInternalInstance; +const userStore = useUserStore(); +const userId = ref(userStore.userId); const typeList = ref([]); const loading = ref(true); const showSearch = ref(true); @@ -239,6 +246,12 @@ const handleRefreshCache = async () => { proxy?.$modal.msgSuccess('刷新成功'); useDictStore().cleanDict(); }; +/**同步租户字典*/ +const handleSyncTenantDict = async () => { + await proxy?.$modal.confirm('确认要同步所有租户字典吗?'); + let res = await syncTenantDict(); + proxy?.$modal.msgSuccess(res.msg); +}; onMounted(() => { getList(); -- Gitee From e1860a30fc27d95637220a87f3befd4aae19e7ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: 2024年8月26日 12:29:29 +0000 Subject: [PATCH 02/13] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E7=A7=9F?= =?UTF-8?q?=E6=88=B7=E5=A5=97=E9=A4=90=E5=AF=BC=E5=87=BA=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E7=BC=96=E5=86=99=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 疯狂的狮子Li <15040126243@163.com> --- src/views/system/tenantPackage/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/system/tenantPackage/index.vue b/src/views/system/tenantPackage/index.vue index 30c94557..05a0b414 100644 --- a/src/views/system/tenantPackage/index.vue +++ b/src/views/system/tenantPackage/index.vue @@ -321,7 +321,7 @@ const handleDelete = async (row?: TenantPkgVO) => { /** 导出按钮操作 */ const handleExport = () => { proxy?.download( - 'system/package/export', + 'system/tenant/package/export', { ...queryParams.value }, -- Gitee From 9f13c29cd7c196203f25e2681a8fe2e4b912a76b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Wed, 4 Sep 2024 16:16:35 +0800 Subject: [PATCH 03/13] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=94=9F=E6=88=90=E8=8F=9C=E5=8D=95id=E5=8C=B9?= =?UTF-8?q?=E9=85=8D=E5=86=99=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/tool/gen/genInfoForm.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/src/views/tool/gen/genInfoForm.vue b/src/views/tool/gen/genInfoForm.vue index 0ee9f1df..05b728b8 100644 --- a/src/views/tool/gen/genInfoForm.vue +++ b/src/views/tool/gen/genInfoForm.vue @@ -274,7 +274,6 @@ const setSubTableColumns = (value: string) => { /** 查询菜单下拉树结构 */ const getMenuTreeselect = async () => { const res = await listMenu(); - res.data.forEach((m) => (m.menuId = m.menuId.toString())); const data = proxy?.handleTree(res.data, 'menuId'); if (data) { -- Gitee From 25848ea99e788b568be5f115a8abf27149d5a6e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Fri, 6 Sep 2024 17:58:28 +0800 Subject: [PATCH 04/13] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E9=87=8D?= =?UTF-8?q?=E6=96=B0=E7=99=BB=E5=BD=95=E6=97=A0=E6=B3=95=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E5=88=B0=E8=BF=87=E6=9C=9F=E5=89=8D=E9=A1=B5=E9=9D=A2=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/request.ts | 10 ++++++++-- src/views/login.vue | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/utils/request.ts b/src/utils/request.ts index f2a69f0f..f8f1f53d 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -10,6 +10,7 @@ import FileSaver from 'file-saver'; import { getLanguage } from '@/lang'; import { encryptBase64, encryptWithAes, generateAesKey, decryptWithAes, decryptBase64 } from '@/utils/crypto'; import { encrypt, decrypt } from '@/utils/jsencrypt'; +import router from "@/router"; const encryptHeader = 'encrypt-key'; let downloadLoadingInstance: LoadingInstance; @@ -134,8 +135,13 @@ service.interceptors.response.use( }).then(() => { isRelogin.show = false; useUserStore().logout().then(() => { - location.href = import.meta.env.VITE_APP_CONTEXT_PATH + 'index'; - }); + router.replace({ + path: '/login', + query: { + redirect: encodeURIComponent(router.currentRoute.value.fullPath || '/') + } + }) + }); }).catch(() => { isRelogin.show = false; }); diff --git a/src/views/login.vue b/src/views/login.vue index ca2903f0..36e3dec6 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -97,7 +97,7 @@ const tenantEnabled = ref(true); // 注册开关 const register = ref(false); -const redirect = ref(undefined); +const redirect = ref(''); const loginRef = ref(); // 租户列表 const tenantList = ref([]); @@ -105,7 +105,7 @@ const tenantList = ref([]); watch( () => router.currentRoute.value, (newRoute: any) => { - redirect.value = newRoute.query && newRoute.query.redirect; + redirect.value = newRoute.query && decodeURIComponent(newRoute.query.redirect); }, { immediate: true } ); -- Gitee From 483af137419fdbccc7a74a74c082e7972886a8b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Fri, 6 Sep 2024 18:06:16 +0800 Subject: [PATCH 05/13] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E9=87=8D?= =?UTF-8?q?=E6=96=B0=E7=99=BB=E5=BD=95=E6=97=A0=E6=B3=95=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E5=88=B0=E8=BF=87=E6=9C=9F=E5=89=8D=E9=A1=B5=E9=9D=A2=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/login.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/login.vue b/src/views/login.vue index 36e3dec6..db1fca61 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -97,7 +97,7 @@ const tenantEnabled = ref(true); // 注册开关 const register = ref(false); -const redirect = ref(''); +const redirect = ref('/'); const loginRef = ref(); // 租户列表 const tenantList = ref([]); -- Gitee From 9726df3966d67dd02b3bc6c5d50f1230c21a6e74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: 2024年9月18日 09:42:24 +0800 Subject: [PATCH 06/13] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=97=A5=E5=BF=97excel=E5=AF=BC=E5=87=BA=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/monitor/logininfor/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/monitor/logininfor/index.vue b/src/views/monitor/logininfor/index.vue index 03d0d8f5..4cc890df 100644 --- a/src/views/monitor/logininfor/index.vue +++ b/src/views/monitor/logininfor/index.vue @@ -198,7 +198,7 @@ const handleExport = () => { { ...queryParams.value }, - `config_${new Date().getTime()}.xlsx` + `logininfor_${new Date().getTime()}.xlsx` ); }; -- Gitee From 364dfb969de09b97c4629e1c46b9ed9c2352da1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Mon, 7 Oct 2024 10:45:25 +0800 Subject: [PATCH 07/13] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layout/index.vue | 2 +- src/utils/sse.ts | 10 +++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/layout/index.vue b/src/layout/index.vue index 0919aad7..ce47a302 100644 --- a/src/layout/index.vue +++ b/src/layout/index.vue @@ -73,7 +73,7 @@ onMounted(() => { }); onMounted(() => { - initSSE(import.meta.env.VITE_APP_BASE_API + '/resource/sse') + initSSE(import.meta.env.VITE_APP_BASE_API + '/resource/sse'); }); const handleClickOutside = () => { diff --git a/src/utils/sse.ts b/src/utils/sse.ts index a08f282a..0f74d0e5 100644 --- a/src/utils/sse.ts +++ b/src/utils/sse.ts @@ -2,8 +2,6 @@ import { getToken } from '@/utils/auth'; import { ElNotification } from 'element-plus'; import useNoticeStore from '@/store/modules/notice'; -let message = ''; - // 初始化 export const initSSE = (url: any) => { url = url + '?Authorization=Bearer ' + getToken() + '&clientid=' + import.meta.env.VITE_APP_CLIENT_ID @@ -15,13 +13,13 @@ export const initSSE = (url: any) => { retries: 10, delay: 3000, onFailed() { - console.log('Failed to connect after 10 retries') - }, + console.log('Failed to connect after 10 retries'); + } } }); watch(error, () => { - console.log('SSE connection error:', error.value) + console.log('SSE connection error:', error.value); error.value = null; }); @@ -41,5 +39,3 @@ export const initSSE = (url: any) => { data.value = null; }); }; - - -- Gitee From 4918552492723d00a846ce2d552cf8888c5a5f32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: 2024年10月12日 10:58:23 +0800 Subject: [PATCH 08/13] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E8=AF=B7?= =?UTF-8?q?=E5=81=87=E6=97=A5=E6=9C=9F=E9=80=89=E6=8B=A9=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E4=B8=8D=E5=AF=B9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/workflow/leave/leaveEdit.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/views/workflow/leave/leaveEdit.vue b/src/views/workflow/leave/leaveEdit.vue index a4ed9469..dd0ce7c5 100644 --- a/src/views/workflow/leave/leaveEdit.vue +++ b/src/views/workflow/leave/leaveEdit.vue @@ -23,10 +23,12 @@ -- Gitee From 1644070e97af5df11a9cc655a93f4e3e778ae879 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A5=BF=E7=93=9Ci?= <5785714@qq.com> Date: 2024年10月14日 20:33:16 +0800 Subject: [PATCH 09/13] =?UTF-8?q?add=20SSE=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 1 + .env.production | 1 + src/utils/sse.ts | 4 ++++ 3 files changed, 6 insertions(+) diff --git a/.env.development b/.env.development index 05d67782..e94d5fa5 100644 --- a/.env.development +++ b/.env.development @@ -30,3 +30,4 @@ VITE_APP_CLIENT_ID = 'e5cd7e4891bf95d1d19206ce24a7b32e' # websocket 开关 默认使用sse推送 VITE_APP_WEBSOCKET = false +VITE_APP_SSE = true diff --git a/.env.production b/.env.production index c6b1f853..0b487f67 100644 --- a/.env.production +++ b/.env.production @@ -33,3 +33,4 @@ VITE_APP_CLIENT_ID = 'e5cd7e4891bf95d1d19206ce24a7b32e' # websocket 开关 默认使用sse推送 VITE_APP_WEBSOCKET = false +VITE_APP_SSE = true diff --git a/src/utils/sse.ts b/src/utils/sse.ts index 0f74d0e5..9174f0d5 100644 --- a/src/utils/sse.ts +++ b/src/utils/sse.ts @@ -4,6 +4,10 @@ import useNoticeStore from '@/store/modules/notice'; // 初始化 export const initSSE = (url: any) => { + if (import.meta.env.VITE_APP_SSE === 'false') { + return; + } + url = url + '?Authorization=Bearer ' + getToken() + '&clientid=' + import.meta.env.VITE_APP_CLIENT_ID const { data, -- Gitee From f0895e941958ec32181af266cdb13440849ddb45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A5=BF=E7=93=9Ci?= <5785714@qq.com> Date: 2024年10月14日 20:50:20 +0800 Subject: [PATCH 10/13] =?UTF-8?q?add=20=E5=A2=9E=E5=8A=A0=E6=B3=A8?= =?UTF-8?q?=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 ++ .env.production | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.env.development b/.env.development index e94d5fa5..14e13358 100644 --- a/.env.development +++ b/.env.development @@ -30,4 +30,6 @@ VITE_APP_CLIENT_ID = 'e5cd7e4891bf95d1d19206ce24a7b32e' # websocket 开关 默认使用sse推送 VITE_APP_WEBSOCKET = false + +# sse 开关 VITE_APP_SSE = true diff --git a/.env.production b/.env.production index 0b487f67..1109bc61 100644 --- a/.env.production +++ b/.env.production @@ -33,4 +33,6 @@ VITE_APP_CLIENT_ID = 'e5cd7e4891bf95d1d19206ce24a7b32e' # websocket 开关 默认使用sse推送 VITE_APP_WEBSOCKET = false + +# sse 开关 VITE_APP_SSE = true -- Gitee From a62a3de23c6b331e957a7d1f19b372c389caf141 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: 2024年10月15日 13:49:32 +0800 Subject: [PATCH 11/13] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20pr!150=20sse?= =?UTF-8?q?=E5=BC=80=E5=85=B3=E7=BC=BA=E5=B0=91=E5=8F=98=E9=87=8F=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/types/env.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/types/env.d.ts b/src/types/env.d.ts index 777c8584..1fb9f62e 100644 --- a/src/types/env.d.ts +++ b/src/types/env.d.ts @@ -19,6 +19,7 @@ interface ImportMetaEnv { VITE_APP_RSA_PRIVATE_KEY: string; VITE_APP_CLIENT_ID: string; VITE_APP_WEBSOCKET: string; + VITE_APP_SSE: string; } interface ImportMeta { readonly env: ImportMetaEnv; -- Gitee From 6f4891d677aa15e85263a5d274d436b2add51beb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: 2024年10月17日 18:15:18 +0800 Subject: [PATCH 12/13] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E6=8F=90=E4=BA=A4=E7=94=A8=E6=88=B7id=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E5=AD=97=E7=AC=A6=E4=B8=B2=E6=8F=90=E4=BA=A4=E9=81=BF?= =?UTF-8?q?=E5=85=8D=E9=9B=AA=E8=8A=B1id=E5=A4=B1=E7=9C=9F=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/workflow/leave/leaveEdit.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/workflow/leave/leaveEdit.vue b/src/views/workflow/leave/leaveEdit.vue index dd0ce7c5..55556fde 100644 --- a/src/views/workflow/leave/leaveEdit.vue +++ b/src/views/workflow/leave/leaveEdit.vue @@ -192,8 +192,8 @@ const handleStartWorkFlow = async (data: LeaveVO) => { taskVariables.value = { entity: data, leaveDays: data.leaveDays, - userList: [1, 3], - userList2: [1, 3] + userList: ["1", "3"], + userList2: ["1", "3"] }; submitFormData.value.variables = taskVariables.value; const resp = await startWorkFlow(submitFormData.value); -- Gitee From 28a81f2e44c66003d1ac57387b0ee6074baf93af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: 2024年10月25日 11:04:05 +0800 Subject: [PATCH 13/13] =?UTF-8?q?=F0=9F=8E=80=E5=8F=91=E5=B8=83=20vue=20?= =?UTF-8?q?=E7=89=88=E6=9C=AC=205.2.3=20=E4=B8=8E=20cloud=20=E7=89=88?= =?UTF-8?q?=E6=9C=AC=202.2.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/views/index.vue | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 48b15717..e67d60f2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ruoyi-vue-plus", - "version": "5.2.2", + "version": "5.2.3", "description": "RuoYi-Vue-Plus多租户管理系统", "author": "LionLi", "license": "MIT", diff --git a/src/views/index.vue b/src/views/index.vue index 7bd19e42..b67eb076 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -33,7 +33,7 @@ * 部署方式 Docker 容器编排 一键部署业务集群
* 国际化 SpringMessage Spring标准国际化方案

-

当前版本: v5.2.2

+

当前版本: v5.2.3

¥免费开源

@@ -77,7 +77,7 @@ * 分布式监控 Prometheus、Grafana 全方位性能监控
* 其余与 Vue 版本一致

-

当前版本: v2.2.1

+

当前版本: v2.2.2

¥免费开源

-- Gitee

AltStyle によって変換されたページ (->オリジナル) /