From e7931380311ae5e4b41df8dc39b827ea29f09158 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=AF=E7=A1=85=E6=AD=A5=EF=BC=8C=E8=87=B3=E5=8D=83?= =?UTF-8?q?=E9=87=8C?= <1553592282@qq.com> Date: Thu, 17 Feb 2022 17:16:11 +0800 Subject: [PATCH 01/38] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E8=B6=85=E6=97=B6=E5=88=B7=E6=96=B0=E9=A1=B5=E9=9D=A2=E8=B7=B3?= =?UTF-8?q?=E8=BD=AC=E7=99=BB=E5=BD=95=E9=A1=B5=E9=9D=A2=E8=BF=98=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E9=87=8D=E6=96=B0=E7=99=BB=E5=BD=95=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-ui/src/permission.js | 109 +++++++++++++++++----------------- ruoyi-ui/src/utils/request.js | 15 ++--- 2 files changed, 62 insertions(+), 62 deletions(-) diff --git a/ruoyi-ui/src/permission.js b/ruoyi-ui/src/permission.js index bde529365..6bb0a1f83 100644 --- a/ruoyi-ui/src/permission.js +++ b/ruoyi-ui/src/permission.js @@ -1,53 +1,56 @@ -import router from './router' -import store from './store' -import { Message } from 'element-ui' -import NProgress from 'nprogress' -import 'nprogress/nprogress.css' -import { getToken } from '@/utils/auth' - -NProgress.configure({ showSpinner: false }) - -const whiteList = ['/login', '/auth-redirect', '/bind', '/register'] - -router.beforeEach((to, from, next) => { - NProgress.start() - if (getToken()) { - to.meta.title && store.dispatch('settings/setTitle', to.meta.title) - /* has token*/ - if (to.path === '/login') { - next({ path: '/' }) - NProgress.done() - } else { - if (store.getters.roles.length === 0) { - // 判断当前用户是否已拉取完user_info信息 - store.dispatch('GetInfo').then(() => { - store.dispatch('GenerateRoutes').then(accessRoutes => { - // 根据roles权限生成可访问的路由表 - router.addRoutes(accessRoutes) // 动态添加可访问路由表 - next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 - }) - }).catch(err => { - store.dispatch('LogOut').then(() => { - Message.error(err) - next({ path: '/' }) - }) - }) - } else { - next() - } - } - } else { - // 没有token - if (whiteList.indexOf(to.path) !== -1) { - // 在免登录白名单,直接进入 - next() - } else { - next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页 - NProgress.done() - } - } -}) - -router.afterEach(() => { - NProgress.done() -}) +import router from './router' +import store from './store' +import { Message } from 'element-ui' +import NProgress from 'nprogress' +import 'nprogress/nprogress.css' +import { getToken } from '@/utils/auth' +import { isRelogin } from '@/utils/request' + +NProgress.configure({ showSpinner: false }) + +const whiteList = ['/login', '/auth-redirect', '/bind', '/register'] + +router.beforeEach((to, from, next) => { + NProgress.start() + if (getToken()) { + to.meta.title && store.dispatch('settings/setTitle', to.meta.title) + /* has token*/ + if (to.path === '/login') { + next({ path: '/' }) + NProgress.done() + } else { + if (store.getters.roles.length === 0) { + isRelogin.show = true + // 判断当前用户是否已拉取完user_info信息 + store.dispatch('GetInfo').then(() => { + isRelogin.show = false + store.dispatch('GenerateRoutes').then(accessRoutes => { + // 根据roles权限生成可访问的路由表 + router.addRoutes(accessRoutes) // 动态添加可访问路由表 + next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 + }) + }).catch(err => { + store.dispatch('LogOut').then(() => { + Message.error(err) + next({ path: '/' }) + }) + }) + } else { + next() + } + } + } else { + // 没有token + if (whiteList.indexOf(to.path) !== -1) { + // 在免登录白名单,直接进入 + next() + } else { + next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页 + NProgress.done() + } + } +}) + +router.afterEach(() => { + NProgress.done() +}) diff --git a/ruoyi-ui/src/utils/request.js b/ruoyi-ui/src/utils/request.js index 107a28d67..e69205bc7 100644 --- a/ruoyi-ui/src/utils/request.js +++ b/ruoyi-ui/src/utils/request.js @@ -9,7 +9,7 @@ import { saveAs } from 'file-saver' let downloadLoadingInstance; // 是否显示重新登录 -let isReloginShow; +export let isRelogin = { show: false }; axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' // 创建axios实例 @@ -76,23 +76,20 @@ service.interceptors.response.use(res => { return res.data } if (code === 401) { - if (!isReloginShow) { - isReloginShow = true; + if (!isRelogin.show) { + isRelogin.show = true; MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' } ).then(() => { - isReloginShow = false; + isRelogin.show = false; store.dispatch('LogOut').then(() => { - // 如果是登录页面不需要重新加载 - if (window.location.hash.indexOf("#/login") != 0) { - location.href = '/index'; - } + location.href = '/index'; }) }).catch(() => { - isReloginShow = false; + isRelogin.show = false; }); } return Promise.reject('无效的会话,或者会话已过期,请重新登录。') From bb793d71e7bb47e8a036dba4d07b132cecc24c81 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, 18 Feb 2022 14:05:32 +0800 Subject: [PATCH 02/38] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20minio=20?= =?UTF-8?q?=E9=80=82=E9=85=8D=20https=20=E5=AF=BC=E8=87=B4=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/oss/service/impl/MinioOssStrategy.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioOssStrategy.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioOssStrategy.java index eb2e77042..93f88fb3a 100644 --- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioOssStrategy.java +++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioOssStrategy.java @@ -9,6 +9,8 @@ import com.ruoyi.oss.exception.OssException; import com.ruoyi.oss.properties.OssProperties; import com.ruoyi.oss.service.abstractd.AbstractOssStrategy; import io.minio.*; +import io.minio.http.HttpUtils; +import okhttp3.HttpUrl; import org.springframework.http.MediaType; import org.springframework.stereotype.Component; @@ -29,10 +31,15 @@ public class MinioOssStrategy extends AbstractOssStrategy { public void init(OssProperties ossProperties) { super.init(ossProperties); try { - minioClient = MinioClient.builder() - .endpoint(properties.getEndpoint(), 443, OssConstant.IS_HTTPS.equals(ossProperties.getIsHttps())) - .credentials(properties.getAccessKey(), properties.getSecretKey()) - .build(); + MinioClient.Builder builder = MinioClient.builder(); + if (OssConstant.IS_HTTPS.equals(ossProperties.getIsHttps())) { + HttpUrl url = HttpUtils.getBaseUrl(properties.getEndpoint()) + .newBuilder().scheme("https").build(); + builder.endpoint(url); + } else { + builder.endpoint(properties.getEndpoint()); + } + minioClient = builder.credentials(properties.getAccessKey(), properties.getSecretKey()).build(); createBucket(); } catch (Exception e) { throw new OssException("Minio存储配置错误! 请检查系统配置:[" + e.getMessage() + "]"); From 3446b38cbbe59150942f5b83740a1c71a1798b4a Mon Sep 17 00:00:00 2001 From: hewenqiang <1527468660@qq.com> Date: Fri, 18 Feb 2022 16:18:38 +0800 Subject: [PATCH 03/38] =?UTF-8?q?update=20=E4=BF=AE=E6=AD=A3=20StringUtils?= =?UTF-8?q?.format()=20=E6=B3=A8=E9=87=8A=E9=94=99=E8=AF=AF=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/main/java/com/ruoyi/common/utils/StringUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java index 77a484ec8..7181a454a 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java @@ -86,7 +86,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils { * 如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可
* 例:
* 通常使用:format("this is {} for {}", "a", "b") -> this is a for b
- * 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a
+ * 转义{}: format("this is \\{} for {}", "a", "b") -> this is {} for a
* 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b
* * @param template 文本模板,被替换的部分用 {} 表示 From 30e90619f50f5051a41287c329100461523a7cee 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, 18 Feb 2022 13:39:02 +0000 Subject: [PATCH 04/38] =?UTF-8?q?update=20=E6=9B=B4=E6=96=B0=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E5=95=86=E5=AE=B6=E4=BA=8C=E7=BB=B4=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 353e087fc..7256e8685 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,7 @@ ## 捐献作者 作者为兼职做开源,平时还需要工作,如果帮到了您可以请作者吃个盒饭 - + ## 业务功能 From 2917d335bc3fd1f6dfb57cbad6d73ba48bc5f9d7 Mon Sep 17 00:00:00 2001 From: konbai <1527468660@qq.com> Date: Sat, 19 Feb 2022 15:13:32 +0800 Subject: [PATCH 05/38] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E4=B8=BA=E7=AE=A1=E7=90=86=E5=91=98=E7=9A=84=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/web/controller/system/SysUserController.java | 5 +++-- .../main/java/com/ruoyi/common/constant/UserConstants.java | 6 ++++++ .../java/com/ruoyi/common/core/domain/entity/SysRole.java | 7 ++----- .../java/com/ruoyi/common/core/domain/entity/SysUser.java | 7 ++----- .../src/main/java/com/ruoyi/common/helper/LoginHelper.java | 6 +++--- .../ruoyi/framework/handler/PlusDataPermissionHandler.java | 2 +- .../com/ruoyi/system/service/impl/SysDeptServiceImpl.java | 2 +- .../com/ruoyi/system/service/impl/SysMenuServiceImpl.java | 3 +-- .../com/ruoyi/system/service/impl/SysRoleServiceImpl.java | 3 +-- .../com/ruoyi/system/service/impl/SysUserServiceImpl.java | 2 +- 10 files changed, 21 insertions(+), 22 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index 0c2e9e022..07553d7aa 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -16,6 +16,7 @@ import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.excel.ExcelResult; +import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.domain.vo.SysUserExportVo; @@ -109,7 +110,7 @@ public class SysUserController extends BaseController { userService.checkUserDataScope(userId); Map ajax = new HashMap<>(); List roles = roleService.selectRoleAll(); - ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); + ajax.put("roles", LoginHelper.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); ajax.put("posts", postService.selectPostAll()); if (ObjectUtil.isNotNull(userId)) { SysUser sysUser = userService.selectUserById(userId); @@ -213,7 +214,7 @@ public class SysUserController extends BaseController { List roles = roleService.selectRolesByUserId(userId); Map ajax = new HashMap<>(); ajax.put("user", user); - ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); + ajax.put("roles", LoginHelper.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); return R.ok(ajax); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java index eebbb4b46..406d14413 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java @@ -109,4 +109,10 @@ public interface UserConstants { */ int PASSWORD_MIN_LENGTH = 5; int PASSWORD_MAX_LENGTH = 20; + + /** + * 管理员ID + */ + Long ADMIN_ID = 1L; + } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java index aeffc409d..662989efe 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.annotation.ExcelDictFormat; +import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.convert.ExcelDictConvert; import com.ruoyi.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModelProperty; @@ -132,11 +133,7 @@ public class SysRole extends BaseEntity { @ApiModelProperty(value = "是否管理员") public boolean isAdmin() { - return isAdmin(this.roleId); - } - - public static boolean isAdmin(Long roleId) { - return roleId != null && 1L == roleId; + return UserConstants.ADMIN_ID.equals(this.roleId); } } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java index b6f5d17c1..6885e95cf 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import com.ruoyi.common.annotation.Sensitive; +import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.enums.SensitiveStrategy; import com.ruoyi.common.xss.Xss; @@ -185,11 +186,7 @@ public class SysUser extends BaseEntity { @ApiModelProperty(value = "是否管理员") public boolean isAdmin() { - return isAdmin(this.userId); - } - - public static boolean isAdmin(Long userId) { - return userId != null && 1L == userId; + return UserConstants.ADMIN_ID.equals(this.userId); } } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/helper/LoginHelper.java b/ruoyi-common/src/main/java/com/ruoyi/common/helper/LoginHelper.java index a15220859..daa20d848 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/helper/LoginHelper.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/helper/LoginHelper.java @@ -2,6 +2,7 @@ package com.ruoyi.common.helper; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.util.ObjectUtil; +import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.enums.DeviceType; import com.ruoyi.common.enums.UserType; @@ -125,12 +126,11 @@ public class LoginHelper { * @return 结果 */ public static boolean isAdmin(Long userId) { - return userId != null && 1L == userId; + return UserConstants.ADMIN_ID.equals(userId); } public static boolean isAdmin() { - Long userId = getUserId(); - return userId != null && 1L == userId; + return isAdmin(getUserId()); } } diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/PlusDataPermissionHandler.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/PlusDataPermissionHandler.java index f2a60a415..7ecc12a3f 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/PlusDataPermissionHandler.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/PlusDataPermissionHandler.java @@ -79,7 +79,7 @@ public class PlusDataPermissionHandler { DataPermissionHelper.setVariable("user", currentUser); } // 如果是超级管理员,则不过滤数据 - if (ObjectUtil.isNull(currentUser) || LoginHelper.isAdmin(currentUser.getUserId())) { + if (LoginHelper.isAdmin()) { return where; } String dataFilterSql = buildDataFilter(dataColumns, isSelect); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java index 621dc078d..5cd3fe0e6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java @@ -152,7 +152,7 @@ public class SysDeptServiceImpl implements ISysDeptService { */ @Override public void checkDeptDataScope(Long deptId) { - if (!SysUser.isAdmin(LoginHelper.getUserId())) { + if (!LoginHelper.isAdmin()) { SysDept dept = new SysDept(); dept.setDeptId(deptId); List depts = SpringUtils.getAopProxy(this).selectDeptList(dept); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java index 0029ecd36..e9c28e1ca 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java @@ -8,7 +8,6 @@ import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.entity.SysMenu; import com.ruoyi.common.core.domain.entity.SysRole; -import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.TreeBuildUtils; @@ -58,7 +57,7 @@ public class SysMenuServiceImpl implements ISysMenuService { public List selectMenuList(SysMenu menu, Long userId) { List menuList = null; // 管理员显示所有菜单信息 - if (SysUser.isAdmin(userId)) { + if (LoginHelper.isAdmin(userId)) { menuList = baseMapper.selectList(new LambdaQueryWrapper() .like(StringUtils.isNotBlank(menu.getMenuName()), SysMenu::getMenuName, menu.getMenuName()) .eq(StringUtils.isNotBlank(menu.getVisible()), SysMenu::getVisible, menu.getVisible()) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java index 271dc9754..81334892f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.entity.SysRole; -import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.helper.LoginHelper; @@ -181,7 +180,7 @@ public class SysRoleServiceImpl implements ISysRoleService { */ @Override public void checkRoleDataScope(Long roleId) { - if (!SysUser.isAdmin(LoginHelper.getUserId())) { + if (!LoginHelper.isAdmin()) { SysRole role = new SysRole(); role.setRoleId(roleId); List roles = SpringUtils.getAopProxy(this).selectRoleList(role); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 00e999138..c3ff6f409 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -206,7 +206,7 @@ public class SysUserServiceImpl implements ISysUserService { */ @Override public void checkUserDataScope(Long userId) { - if (!SysUser.isAdmin(LoginHelper.getUserId())) { + if (!LoginHelper.isAdmin()) { SysUser user = new SysUser(); user.setUserId(userId); List users = SpringUtils.getAopProxy(this).selectUserList(user); From edce19e406dee954e2f35fe828c30851f4cbd30d 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, 18 Feb 2022 16:20:58 +0000 Subject: [PATCH 06/38] =?UTF-8?q?update=20=E6=9B=B4=E6=96=B0=20=E5=A4=9A?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=A4=9A=E8=AE=BE=E5=A4=87=E7=9A=84=E6=B3=A8?= =?UTF-8?q?=E9=87=8A=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/common/helper/LoginHelper.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/helper/LoginHelper.java b/ruoyi-common/src/main/java/com/ruoyi/common/helper/LoginHelper.java index daa20d848..7875c5630 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/helper/LoginHelper.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/helper/LoginHelper.java @@ -13,7 +13,13 @@ import lombok.NoArgsConstructor; /** * 登录鉴权助手 - * 为适配多端登录而封装 + * + * user_type 为 用户类型 同一个用户表 可以有多种用户类型 例如 pc,app + * deivce 为 设备类型 同一个用户类型 可以有 多种设备类型 例如 web,ios + * 可以组成 用户类型与设备类型多对多的 权限灵活控制 + * + * 多用户体系 针对 多种用户类型 但权限控制不一致 + * 可以组成 多用户类型表与多设备类型 分别控制权限 * * @author Lion Li */ @@ -27,7 +33,6 @@ public class LoginHelper { /** * 登录系统 - * 针对两套用户体系 * * @param loginUser 登录用户信息 */ @@ -39,7 +44,7 @@ public class LoginHelper { /** * 登录系统 基于 设备类型 - * 针对一套用户体系 + * 针对相同用户体系不同设备 * * @param loginUser 登录用户信息 */ From f05aa674abefe4e93fcd7b1b1a3e99f7af95579c Mon Sep 17 00:00:00 2001 From: RuoYi Date: Sun, 20 Feb 2022 16:04:25 +0800 Subject: [PATCH 07/38] =?UTF-8?q?=E5=8D=87=E7=BA=A7oshi=E5=88=B0=E6=9C=80?= =?UTF-8?q?=E6=96=B0=E7=89=88=E6=9C=AC6.1.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b4d6fe419..1b838b02c 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ 2.2.0 1.4.0 1.2.79 - 5.8.6 + 6.1.2 5.10.0 2.11.0 1.4 From 3bb9b03add7a0b88a61b9692048ec1671d389c8c Mon Sep 17 00:00:00 2001 From: RuoYi Date: Sun, 20 Feb 2022 16:04:40 +0800 Subject: [PATCH 08/38] =?UTF-8?q?=E5=8D=87=E7=BA=A7spring-boot-mybatis?= =?UTF-8?q?=E5=88=B0=E6=9C=80=E6=96=B0=E7=89=882.2.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1b838b02c..844d78377 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ 1.21 3.0.0 2.3.2 - 2.2.0 + 2.2.2 1.4.0 1.2.79 6.1.2 From 986b48cf36fac1ea013c8243edef759bc0ab3777 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Sun, 20 Feb 2022 16:05:04 +0800 Subject: [PATCH 09/38] =?UTF-8?q?=E5=8D=87=E7=BA=A7pagehelper=E5=88=B0?= =?UTF-8?q?=E6=9C=80=E6=96=B0=E7=89=881.4.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 844d78377..ddc287527 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ 3.0.0 2.3.2 2.2.2 - 1.4.0 + 1.4.1 1.2.79 6.1.2 5.10.0 From 54c6c4e547252cb14c3b0fe1a08758e42fd97691 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Sun, 20 Feb 2022 16:06:33 +0800 Subject: [PATCH 10/38] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=9B=91=E6=8E=A7?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=BF=90=E8=A1=8C=E5=8F=82=E6=95=B0=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/framework/web/domain/server/Jvm.java | 8 ++++++++ ruoyi-ui/src/views/monitor/server/index.vue | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Jvm.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Jvm.java index f29d2cbe6..604ca020a 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Jvm.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Jvm.java @@ -119,4 +119,12 @@ public class Jvm { return DateUtils.getDatePoor(DateUtils.getNowDate(), DateUtils.getServerStartDate()); } + + /** + * 运行参数 + */ + public String getInputArgs() + { + return ManagementFactory.getRuntimeMXBean().getInputArguments().toString(); + } } diff --git a/ruoyi-ui/src/views/monitor/server/index.vue b/ruoyi-ui/src/views/monitor/server/index.vue index 3eaaea0e1..9522b8d21 100644 --- a/ruoyi-ui/src/views/monitor/server/index.vue +++ b/ruoyi-ui/src/views/monitor/server/index.vue @@ -128,6 +128,10 @@
项目路径
{{ server.sys.userDir }}
+ +
运行参数
+
{{ server.jvm.inputArgs }}
+ From 64b183da3689c33b78773f6b93cc0438d2b7aaae 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, 21 Feb 2022 10:40:28 +0800 Subject: [PATCH 11/38] =?UTF-8?q?update=20=E5=A2=9E=E5=8A=A0=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=99=BB=E5=87=BA=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/web/controller/system/SysLoginController.java | 1 + .../main/java/com/ruoyi/system/service/SysLoginService.java | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java index 3a033e517..fad8b5bf3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java @@ -65,6 +65,7 @@ public class SysLoginController { public R logout() { try { StpUtil.logout(); + loginService.logout(LoginHelper.getUsername()); } catch (NotLoginException e) { } return R.ok("退出成功"); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java index 522e32b74..9938e2edf 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java @@ -97,6 +97,10 @@ public class SysLoginService { return StpUtil.getTokenValue(); } + public void logout(String loginName) { + asyncService.recordLogininfor(loginName, Constants.LOGOUT, MessageUtils.message("user.logout.success"), ServletUtils.getRequest()); + } + /** * 校验验证码 * From 075f7fc19e80cab53dc5bfe7f03c9d6765da64a2 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, 21 Feb 2022 10:53:59 +0800 Subject: [PATCH 12/38] =?UTF-8?q?update=20=E5=A2=9E=E5=8A=A0=20=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E6=B3=A8=E5=86=8C=20=E7=94=A8=E6=88=B7=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E9=BB=98=E8=AE=A4=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-ui/src/views/register.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ruoyi-ui/src/views/register.vue b/ruoyi-ui/src/views/register.vue index c9f1efbb2..9320b8071 100644 --- a/ruoyi-ui/src/views/register.vue +++ b/ruoyi-ui/src/views/register.vue @@ -86,7 +86,8 @@ export default { password: "", confirmPassword: "", code: "", - uuid: "" + uuid: "", + user_type: "sys_user" }, registerRules: { username: [ From aa9ed2e863ebd1b3a25f5f15b9a5cb78369aae22 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Mon, 21 Feb 2022 15:21:16 +0800 Subject: [PATCH 13/38] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E8=AF=B7=E6=B1=82=E4=B8=A4=E6=AC=A1=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-ui/src/components/Pagination/index.vue | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/ruoyi-ui/src/components/Pagination/index.vue b/ruoyi-ui/src/components/Pagination/index.vue index 4d862116b..1617af004 100644 --- a/ruoyi-ui/src/components/Pagination/index.vue +++ b/ruoyi-ui/src/components/Pagination/index.vue @@ -1,7 +1,6 @@