#
vincentlu
2025-02-14 fdc311475ee8b50b7d15011779e3afea1c129f7a
#
4个文件已修改
76 ■■■■ 已修改文件
rsf-admin/src/page/login/Login.jsx 67 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/system/controller/param/LoginParam.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/login/Login.jsx
@@ -26,7 +26,7 @@
    const notify = useNotify();
    const login = useLogin();
    const location = useLocation();
    const { systemInfo, tenantList } = props;
    const { systemInfo: { mode }, tenantList } = props;
    const { control, handleSubmit, watch, setValue, getValues, setError, clearErrors } = useForm();
@@ -83,35 +83,37 @@
                component="form" onSubmit={handleSubmit(onSubmit)} noValidate
            >
                <Stack spacing={2}>
                    {/* <Controller
                        name="tenantId"
                        control={control}
                        rules={{ required: true }}
                        defaultValue={tenantList.length > 0 ? tenantList[0].id : ''}
                        render={({ field: { onChange, value, ref } }) => {
                            const selectedTenant = tenantList.find(tenant => tenant.id === value) || null;
                            return (
                                <Autocomplete
                                    options={tenantList}
                                    getOptionLabel={(option) => option.name}
                                    value={selectedTenant}
                                    onChange={(_, newValue) => {
                                        const newTenantId = newValue ? newValue.id : '';
                                        onChange(newTenantId);
                                        localStorage.setItem('remember_tenantId', newTenantId);
                                    }}
                                    renderInput={(params) => (
                                        <TextField
                                            {...params}
                                            label={translate("page.login.tenant")}
                                            variant="standard"
                                            inputRef={ref}
                                        />
                                    )}
                                />
                            );
                        }}
                    /> */}
                    {mode === 'OFFLINE' && (
                        <Controller
                            name="tenantId"
                            control={control}
                            rules={{ required: true }}
                            defaultValue={tenantList.length > 0 ? tenantList[0].id : ''}
                            render={({ field: { onChange, value, ref } }) => {
                                const selectedTenant = tenantList.find(tenant => tenant.id === value) || null;
                                return (
                                    <Autocomplete
                                        options={tenantList}
                                        getOptionLabel={(option) => option.name}
                                        value={selectedTenant}
                                        onChange={(_, newValue) => {
                                            const newTenantId = newValue ? newValue.id : '';
                                            onChange(newTenantId);
                                            localStorage.setItem('remember_tenantId', newTenantId);
                                        }}
                                        renderInput={(params) => (
                                            <TextField
                                                {...params}
                                                label={translate("page.login.tenant")}
                                                variant="standard"
                                                inputRef={ref}
                                            />
                                        )}
                                    />
                                );
                            }}
                        />
                    )}
                    <Controller
                        name="username"
@@ -170,10 +172,7 @@
                    <Button
                        type="submit"
                        variant="contained"
                        disabled={loading || !(true && username && password)}
                        sx={{
                            // backgroundColor: "#3D4BA7"
                        }}
                        disabled={loading || !((mode === 'OFFLINE' ? tenantId : true) && username && password)}
                    >
                        {loading && <CircularProgress size={25} thickness={2} />}
                        {translate('page.login.button.login')}
rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java
@@ -1,5 +1,6 @@
package com.vincent.rsf.server.system.controller;
import com.vincent.rsf.common.enums.SystemModeType;
import com.vincent.rsf.common.utils.Utils;
import com.vincent.rsf.framework.common.BaseRes;
import com.vincent.rsf.framework.common.Cools;
@@ -62,7 +63,9 @@
    @PostMapping("/login")
    public R login(@RequestBody LoginParam param, HttpServletRequest request) {
        String username = param.getUsername();
        User user = userService.getByUsername(username, null);
        User user = userService.getByUsername(username
                , configProperties.getSystemMode().equals(SystemModeType.OFFLINE) ? param.getTenantId() : null
        );
        if (user == null) {
            return R.parse(BusinessRes.USERNAME_NOT_EXIST);
        }
rsf-server/src/main/java/com/vincent/rsf/server/system/controller/param/LoginParam.java
@@ -16,6 +16,6 @@
    private String password;
//    private Long tenantId;
    private Long tenantId;
}
rsf-server/src/main/resources/application.yml
@@ -30,7 +30,7 @@
config:
  system-name: @pom.artifactId@
  system-version: @pom.version@
  system-mode: OFFLINE
  system-mode: ONLINE
  token-key: KUHSMcYQ4lePt3r6bckz0P13cBJyoonYqInThvQlUnbsFCIcCcZZAbWZ6UNFztYNYPhGdy6eyb8WdIz8FU2Cz396TyTJk3NI2rtXMHBOehRb4WWJ4MdYVVg2oWPyqRQ2
  super-username: root
  code-length: 6