From 468d4e74e24242b1a2ddb2815d26ee202926cebe Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期四, 06 二月 2025 16:55:04 +0800
Subject: [PATCH] #
---
rsf-admin/src/api/auth/index.js | 8 ++++
rsf-admin/src/config/authProvider.js | 2
rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/UserLoginServiceImpl.java | 2
rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java | 12 ++---
rsf-admin/src/page/login/index.jsx | 33 ++++++++++++++++
rsf-server/src/main/java/com/vincent/rsf/server/system/service/UserLoginService.java | 2
rsf-server/src/main/java/com/vincent/rsf/server/common/config/MybatisPlusConfig.java | 3 +
rsf-server/src/main/java/com/vincent/rsf/server/common/security/SecurityConfig.java | 1
rsf-admin/src/i18n/zh.js | 3 +
rsf-admin/src/i18n/en.js | 3 +
rsf-admin/src/App.jsx | 2
11 files changed, 58 insertions(+), 13 deletions(-)
diff --git a/rsf-admin/src/App.jsx b/rsf-admin/src/App.jsx
index 9b38f36..00924d9 100644
--- a/rsf-admin/src/App.jsx
+++ b/rsf-admin/src/App.jsx
@@ -16,7 +16,7 @@
import DataProvider from "./config/dataProvider";
import Dashboard from "./page/dashboard/Dashboard";
import Settings from "./page/settings/Settings";
-import Login from "./page/login/Login";
+import Login from "./page/login";
import * as Common from './utils/common'
import { themes } from './themes/themes';
import { SPA_NAME, SPA_VERSION, DEFAULT_THEME_NAME, DEFAULT_THEME_MODE, DATA_PROVIDER_SPRING } from "./config/setting";
diff --git a/rsf-admin/src/api/auth/index.js b/rsf-admin/src/api/auth/index.js
index 64f5767..2d73737 100644
--- a/rsf-admin/src/api/auth/index.js
+++ b/rsf-admin/src/api/auth/index.js
@@ -1,5 +1,13 @@
import request from '../../utils/request';
+export async function tenants(_params) {
+ const res = await request.get('/tenant/list', _params);
+ if (res.data.code === 200) {
+ return res.data.data;
+ }
+ return Promise.reject(new Error(res.data.msg));
+}
+
export async function login(_params) {
const res = await request.post('/login', _params);
if (res.data.code === 200) {
diff --git a/rsf-admin/src/config/authProvider.js b/rsf-admin/src/config/authProvider.js
index b74bab3..7436b8e 100644
--- a/rsf-admin/src/config/authProvider.js
+++ b/rsf-admin/src/config/authProvider.js
@@ -11,7 +11,7 @@
const { accessToken, user } = await login({
username: username,
password: password,
- hostId: 1,
+ tenantId: 1,
});
if (user && accessToken) {
diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index d23758b..d8ea362 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -219,6 +219,9 @@
}
},
page: {
+ login: {
+ tenant: 'Tenant',
+ },
}
};
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index b6e7e5e..522cd05 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -219,6 +219,9 @@
}
},
page: {
+ login: {
+ tenant: '绉熸埛',
+ },
}
};
diff --git a/rsf-admin/src/page/login/Login.jsx b/rsf-admin/src/page/login/index.jsx
similarity index 82%
rename from rsf-admin/src/page/login/Login.jsx
rename to rsf-admin/src/page/login/index.jsx
index f212d46..634211a 100644
--- a/rsf-admin/src/page/login/Login.jsx
+++ b/rsf-admin/src/page/login/index.jsx
@@ -17,8 +17,10 @@
useTranslate,
useLogin,
useNotify,
+ SelectInput,
} from 'react-admin';
import { LOGIN_BACKGROUND } from '@/config/setting';
+import { tenants } from '@/api/auth';
const Login = () => {
const [loading, setLoading] = useState(false);
@@ -27,6 +29,22 @@
const notify = useNotify();
const login = useLogin();
const location = useLocation();
+
+ const [tenantList, setTenantList] = React.useState([]);
+ const [tenantId, setTenantId] = React.useState(null);
+
+ React.useEffect(() => {
+ tenants().then(data => {
+ setTenantList(data);
+ if (data.length > 0) {
+ setTenantId(data[0].id);
+ }
+ })
+ }, []);
+
+ React.useEffect(() => {
+ console.log(tenantId);
+ }, [tenantId]);
const handleSubmit = (auth) => {
setLoading(true);
@@ -123,6 +141,19 @@
</Box>
<Box sx={{ padding: '0 1em 1em 1em' }}>
<Box sx={{ marginTop: '1em' }}>
+ <SelectInput
+ label="page.login.tenant"
+ source="tenantId"
+ choices={tenantList.map(item => ({
+ id: item.id,
+ name: item.name
+ }))}
+ validate={required()}
+ value={tenantId}
+ onChange={e => setTenantId(e.target.value)}
+ />
+ </Box>
+ <Box sx={{ marginTop: '.1em' }}>
<TextInput
autoFocus
source="username"
@@ -131,7 +162,7 @@
validate={required()}
/>
</Box>
- <Box sx={{ marginTop: '1em' }}>
+ <Box sx={{ marginTop: '.1em' }}>
<TextInput
source="password"
label={translate('ra.auth.password')}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/config/MybatisPlusConfig.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/config/MybatisPlusConfig.java
index 98e297d..034239f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/config/MybatisPlusConfig.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/config/MybatisPlusConfig.java
@@ -42,7 +42,8 @@
"sys_host",
"sys_user_role",
"sys_role_menu",
- "sys_menu"
+ "sys_menu",
+ "sys_dept"
).contains(tableName);
}
};
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/security/SecurityConfig.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/security/SecurityConfig.java
index 366e083..bc22f98 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/security/SecurityConfig.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/security/SecurityConfig.java
@@ -36,6 +36,7 @@
public static final String[] FILTER_PATH = new String[]{
"/demo/**",
"/test/**",
+ "/tenant/list",
"/login",
"/druid/**",
"/swagger-ui.html",
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 e0eb9aa..78b2069 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
@@ -67,6 +67,11 @@
return R.ok("Login Success").add(new LoginResult(accessToken, user));
}
+ @GetMapping("/tenant/list")
+ public R tenantList() {
+ return R.ok().add(tenantService.list());
+ }
+
@GetMapping("/auth/user")
public R userInfo() {
return R.ok(userService.getByIdRel(getLoginUserId()));
@@ -78,13 +83,6 @@
// return R.ok().add(Utils.toTreeData(menus, 0L, Menu::getParentId, Menu::getId, Menu::setChildren));
List<MenuVo> voList = menus.stream().map(this::convertToVo).collect(Collectors.toList());
return R.ok().add(Utils.toTreeData(voList, 0L, MenuVo::getParentId, MenuVo::getId, MenuVo::setChildren));
- }
-
-
-
- @GetMapping("/auth/tenant")
- public R authHost() {
- return R.ok().add(tenantService.list());
}
@PreAuthorize("hasAuthority('sys:auth:user')")
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/service/UserLoginService.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/service/UserLoginService.java
index b8857c8..93d5725 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/service/UserLoginService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/service/UserLoginService.java
@@ -8,6 +8,6 @@
public interface UserLoginService extends IService<UserLogin> {
- void saveAsync(Long userId, String token, Integer type, Long hostId, String memo, HttpServletRequest request);
+ void saveAsync(Long userId, String token, Integer type, Long tenantId, String memo, HttpServletRequest request);
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/UserLoginServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/UserLoginServiceImpl.java
index 82c1b9e..3d7b485 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/UserLoginServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/UserLoginServiceImpl.java
@@ -15,7 +15,7 @@
@Async
@Override
- public void saveAsync(Long userId, String token, Integer type, Long hostId, String memo, HttpServletRequest request) {
+ public void saveAsync(Long userId, String token, Integer type, Long tenantId, String memo, HttpServletRequest request) {
if (userId == null) {
return;
}
--
Gitblit v1.9.1