diff --git a/continew-admin-system/src/main/java/top/charles7c/cnadmin/auth/model/vo/OnlineUserVO.java b/continew-admin-system/src/main/java/top/charles7c/cnadmin/auth/model/vo/OnlineUserVO.java index c3132933..0dd92a4d 100644 --- a/continew-admin-system/src/main/java/top/charles7c/cnadmin/auth/model/vo/OnlineUserVO.java +++ b/continew-admin-system/src/main/java/top/charles7c/cnadmin/auth/model/vo/OnlineUserVO.java @@ -35,6 +35,12 @@ public class OnlineUserVO implements Serializable { private static final long serialVersionUID = 1L; + /** + * ID + */ + @Schema(description = "ID") + private Long id; + /** * 令牌 */ diff --git a/continew-admin-system/src/main/java/top/charles7c/cnadmin/auth/service/impl/OnlineUserServiceImpl.java b/continew-admin-system/src/main/java/top/charles7c/cnadmin/auth/service/impl/OnlineUserServiceImpl.java index 3dd83a02..81fb068a 100644 --- a/continew-admin-system/src/main/java/top/charles7c/cnadmin/auth/service/impl/OnlineUserServiceImpl.java +++ b/continew-admin-system/src/main/java/top/charles7c/cnadmin/auth/service/impl/OnlineUserServiceImpl.java @@ -54,7 +54,9 @@ public class OnlineUserServiceImpl implements OnlineUserService { public PageDataVO page(OnlineUserQuery query, PageQuery pageQuery) { List loginUserList = this.list(query); List list = BeanUtil.copyToList(loginUserList, OnlineUserVO.class); - return PageDataVO.build(pageQuery.getPage(), pageQuery.getSize(), list); + PageDataVO pageDataVO = PageDataVO.build(pageQuery.getPage(), pageQuery.getSize(), list); + pageDataVO.getList().forEach(u -> u.setNickname(LoginHelper.getNickname(u.getId()))); + return pageDataVO; } @Override diff --git a/continew-admin-ui/src/hooks/permission.ts b/continew-admin-ui/src/hooks/permission.ts index f5b3ba86..58b58df7 100644 --- a/continew-admin-ui/src/hooks/permission.ts +++ b/continew-admin-ui/src/hooks/permission.ts @@ -9,9 +9,15 @@ export default function usePermission() { !route.meta?.requiresAuth || !route.meta?.roles || route.meta?.roles?.includes('*') || - route.meta?.roles?.includes(loginStore.roles[0]) + this.includeRole(route.meta?.roles, loginStore.roles) ); }, + includeRole(arr1: Array, arr2: Array) { + const temp = arr1.filter((item) => { + return arr2.includes(item); + }); + return !!temp.length; + }, findFirstPermissionRoute(_routers: any, role = 'admin') { const cloneRouters = [..._routers]; while (cloneRouters.length) {