From a65bd96b5beaa4e24605df53e2d7845c3f3852bd Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期一, 10 二月 2025 10:08:32 +0800
Subject: [PATCH] #
---
rsf-admin/src/layout/TenantTip.jsx | 28 ++++++++++++++
rsf-admin/src/config/authProvider.js | 5 +-
rsf-admin/src/themes/rcsTheme.js | 13 ++++++
rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java | 4 +
rsf-server/src/main/java/com/vincent/rsf/server/system/controller/result/LoginResult.java | 2 +
rsf-admin/src/themes/themes.jsx | 10 ++--
rsf-server/src/main/java/com/vincent/rsf/server/common/config/ConfigProperties.java | 5 ++
rsf-server/src/main/resources/application.yml | 3 +
rsf-admin/src/layout/AppBarToolbar.jsx | 3 +
rsf-admin/src/page/settings/index.jsx | 11 +++++
rsf-server/src/main/resources/application-dev.yml | 2
11 files changed, 74 insertions(+), 12 deletions(-)
diff --git a/rsf-admin/src/config/authProvider.js b/rsf-admin/src/config/authProvider.js
index 1c440e7..38cf41d 100644
--- a/rsf-admin/src/config/authProvider.js
+++ b/rsf-admin/src/config/authProvider.js
@@ -7,7 +7,7 @@
const AuthProvider = {
// login
login: async ({ username, password, tenantId }) => {
- const { accessToken, user } = await login({
+ const { accessToken, user, tenant } = await login({
username: username,
password: password,
tenantId: tenantId,
@@ -18,7 +18,8 @@
avatar: avatar,
fullName: user.nickname,
id: user.id,
- username: user.username
+ username: user.username,
+ tenant: tenant,
}
setToken(accessToken);
localStorage.setItem("user", JSON.stringify(userToPersist));
diff --git a/rsf-admin/src/layout/AppBarToolbar.jsx b/rsf-admin/src/layout/AppBarToolbar.jsx
index ea23bef..45cf9db 100644
--- a/rsf-admin/src/layout/AppBarToolbar.jsx
+++ b/rsf-admin/src/layout/AppBarToolbar.jsx
@@ -1,11 +1,12 @@
import { LoadingIndicator, LocalesMenuButton } from 'react-admin';
-
import { ThemeSwapper } from '../themes/ThemeSwapper';
+import { TenantTip } from './TenantTip';
export const AppBarToolbar = () => (
<>
<LocalesMenuButton />
<ThemeSwapper />
<LoadingIndicator />
+ <TenantTip />
</>
);
diff --git a/rsf-admin/src/layout/TenantTip.jsx b/rsf-admin/src/layout/TenantTip.jsx
new file mode 100644
index 0000000..e9feb6b
--- /dev/null
+++ b/rsf-admin/src/layout/TenantTip.jsx
@@ -0,0 +1,28 @@
+import React, { useState, useRef, useEffect, useMemo } from "react";
+import { useGetIdentity } from 'react-admin';
+import { Stack, Grid, Box, Typography, Chip, useTheme } from '@mui/material';
+import GroupIcon from '@mui/icons-material/Group';
+
+export const TenantTip = (props) => {
+ const { identity, isLoading, error } = useGetIdentity();
+
+ return (
+ <>
+ <Box sx={{
+ mr: 1,
+ ml: 2,
+ }}>
+ <Chip
+ icon={<GroupIcon />}
+ label={identity?.tenant ?? 'Unknown'}
+ variant="outlined"
+ sx={{
+ borderRadius: '10px',
+ cursor: 'pointer',
+ paddingLeft: "0.3rem",
+ }}
+ />
+ </Box>
+ </>
+ )
+}
\ No newline at end of file
diff --git a/rsf-admin/src/page/settings/index.jsx b/rsf-admin/src/page/settings/index.jsx
index bb4a869..ff3f665 100644
--- a/rsf-admin/src/page/settings/index.jsx
+++ b/rsf-admin/src/page/settings/index.jsx
@@ -55,8 +55,17 @@
onChange={(event, newValue) => {
setValue(newValue);
}}
- indicatorColor="secondary"
+ indicatorColor="primary"
textColor="inherit"
+ TabIndicatorProps={{
+ style: {
+ left: 0,
+ right: 'auto',
+ width: '5px',
+ borderRadius: '2px',
+ opacity: .8,
+ }
+ }}
sx={{
borderRight: 1,
borderColor: 'divider',
diff --git a/rsf-admin/src/themes/rcsTheme.js b/rsf-admin/src/themes/rcsTheme.js
index 41fe76f..e5e24d8 100644
--- a/rsf-admin/src/themes/rcsTheme.js
+++ b/rsf-admin/src/themes/rcsTheme.js
@@ -101,6 +101,19 @@
elevation: 1,
},
},
+ MuiChip: {
+ styleOverrides: {
+ outlined: {
+ '.MuiAppBar-root &': {
+ color: '#ffffff',
+ borderColor: '#ffffff',
+ '& .MuiChip-icon': {
+ color: '#ffffff',
+ },
+ },
+ },
+ },
+ },
// MuiLinearProgress: {
// styleOverrides: {
// colorPrimary: {
diff --git a/rsf-admin/src/themes/themes.jsx b/rsf-admin/src/themes/themes.jsx
index 0cbd2c9..6442335 100644
--- a/rsf-admin/src/themes/themes.jsx
+++ b/rsf-admin/src/themes/themes.jsx
@@ -15,11 +15,11 @@
import { rcsLightTheme, rcsDarkTheme } from './rcsTheme';
export const themes = [
- { name: 'rcs', light: rcsLightTheme, dark: rcsDarkTheme },
+ { name: 'default', light: rcsLightTheme, dark: rcsDarkTheme },
{ name: 'soft', light: softLightTheme, dark: softDarkTheme },
- { name: 'default', light: defaultLightTheme, dark: defaultDarkTheme },
+ // { name: 'default', light: defaultLightTheme, dark: defaultDarkTheme },
{ name: 'nano', light: nanoLightTheme, dark: nanoDarkTheme },
- { name: 'radiant', light: radiantLightTheme, dark: radiantDarkTheme },
- { name: 'house', light: houseLightTheme, dark: houseDarkTheme },
- { name: 'chiptune', light: chiptuneTheme },
+ // { name: 'radiant', light: radiantLightTheme, dark: radiantDarkTheme },
+ // { name: 'house', light: houseLightTheme, dark: houseDarkTheme },
+ // { name: 'chiptune', light: chiptuneTheme },
];
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/config/ConfigProperties.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/config/ConfigProperties.java
index 8709c73..4a636f4 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/config/ConfigProperties.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/config/ConfigProperties.java
@@ -30,4 +30,9 @@
*/
private String tokenKey;
+ /**
+ * 瓒呯骇绠$悊鍛�
+ */
+ private String superUsername;
+
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java
index 7639897..47c1739 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java
@@ -12,6 +12,7 @@
import com.vincent.rsf.server.system.controller.result.LoginResult;
import com.vincent.rsf.server.system.controller.result.MenuVo;
import com.vincent.rsf.server.system.entity.Menu;
+import com.vincent.rsf.server.system.entity.Tenant;
import com.vincent.rsf.server.system.entity.User;
import com.vincent.rsf.server.system.entity.UserLogin;
import com.vincent.rsf.server.system.service.*;
@@ -66,7 +67,8 @@
String accessToken = JwtUtil.buildToken(new JwtSubject(username, user.getTenantId()),
configProperties.getTokenExpireTime(), configProperties.getTokenKey());
userLoginService.saveAsync(user.getId(), accessToken, UserLogin.TYPE_LOGIN, tenantId, null, request);
- return R.ok("Login Success").add(new LoginResult(accessToken, user));
+ Tenant tenant = tenantService.getById(user.getTenantId());
+ return R.ok("Login Success").add(new LoginResult(accessToken, user, tenant.getName()));
}
@GetMapping("/tenant/list")
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/result/LoginResult.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/result/LoginResult.java
index b0618aa..767f2e6 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/result/LoginResult.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/result/LoginResult.java
@@ -21,4 +21,6 @@
private User user;
+ private String tenant;
+
}
diff --git a/rsf-server/src/main/resources/application-dev.yml b/rsf-server/src/main/resources/application-dev.yml
index 87745e5..890851d 100644
--- a/rsf-server/src/main/resources/application-dev.yml
+++ b/rsf-server/src/main/resources/application-dev.yml
@@ -51,4 +51,4 @@
max: 30
min: 10
timeout: 5000
- index: 11
+ index: 11
\ No newline at end of file
diff --git a/rsf-server/src/main/resources/application.yml b/rsf-server/src/main/resources/application.yml
index 3166709..6156a60 100644
--- a/rsf-server/src/main/resources/application.yml
+++ b/rsf-server/src/main/resources/application.yml
@@ -28,4 +28,5 @@
path: logs/@pom.artifactId@
config:
- token-key: KUHSMcYQ4lePt3r6bckz0P13cBJyoonYqInThvQlUnbsFCIcCcZZAbWZ6UNFztYNYPhGdy6eyb8WdIz8FU2Cz396TyTJk3NI2rtXMHBOehRb4WWJ4MdYVVg2oWPyqRQ2
\ No newline at end of file
+ token-key: KUHSMcYQ4lePt3r6bckz0P13cBJyoonYqInThvQlUnbsFCIcCcZZAbWZ6UNFztYNYPhGdy6eyb8WdIz8FU2Cz396TyTJk3NI2rtXMHBOehRb4WWJ4MdYVVg2oWPyqRQ2
+ super-username: root
\ No newline at end of file
--
Gitblit v1.9.1