#
vincentlu
2025-02-10 a65bd96b5beaa4e24605df53e2d7845c3f3852bd
#
10个文件已修改
1个文件已添加
86 ■■■■ 已修改文件
rsf-admin/src/config/authProvider.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/layout/AppBarToolbar.jsx 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/layout/TenantTip.jsx 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/settings/index.jsx 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/themes/rcsTheme.js 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/themes/themes.jsx 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/common/config/ConfigProperties.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/system/controller/result/LoginResult.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/resources/application-dev.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/resources/application.yml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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));
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 />
    </>
);
rsf-admin/src/layout/TenantTip.jsx
New file
@@ -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>
        </>
    )
}
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',
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: {
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 },
];
rsf-server/src/main/java/com/vincent/rsf/server/common/config/ConfigProperties.java
@@ -30,4 +30,9 @@
     */
    private String tokenKey;
    /**
     * 超级管理员
     */
    private String superUsername;
}
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")
rsf-server/src/main/java/com/vincent/rsf/server/system/controller/result/LoginResult.java
@@ -21,4 +21,6 @@
    private User user;
    private String tenant;
}
rsf-server/src/main/resources/application-dev.yml
@@ -51,4 +51,4 @@
  max: 30
  min: 10
  timeout: 5000
  index: 11
  index: 11
rsf-server/src/main/resources/application.yml
@@ -28,4 +28,5 @@
    path: logs/@pom.artifactId@
config:
  token-key: KUHSMcYQ4lePt3r6bckz0P13cBJyoonYqInThvQlUnbsFCIcCcZZAbWZ6UNFztYNYPhGdy6eyb8WdIz8FU2Cz396TyTJk3NI2rtXMHBOehRb4WWJ4MdYVVg2oWPyqRQ2
  token-key: KUHSMcYQ4lePt3r6bckz0P13cBJyoonYqInThvQlUnbsFCIcCcZZAbWZ6UNFztYNYPhGdy6eyb8WdIz8FU2Cz396TyTJk3NI2rtXMHBOehRb4WWJ4MdYVVg2oWPyqRQ2
  super-username: root