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