From 5d03a69888633680a9d670d33ee62c72530e6539 Mon Sep 17 00:00:00 2001 From: unknown <18119604035@163.com> Date: Mon, 4 Sep 2023 16:57:32 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AD=A6=E5=91=98=E7=99=BB=E5=BD=95ldap?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/login.ts | 7 +++++ src/pages/init/index.tsx | 1 + src/pages/login/index.tsx | 43 +++++++++++++++++++-------- src/store/system/systemConfigSlice.ts | 2 ++ 4 files changed, 40 insertions(+), 13 deletions(-) diff --git a/src/api/login.ts b/src/api/login.ts index 8b41e40..d92761d 100644 --- a/src/api/login.ts +++ b/src/api/login.ts @@ -10,3 +10,10 @@ export function login(email: string, password: string) { export function logout() { return client.post("/api/v1/auth/logout", {}); } + +export function loginLdap(email: string, password: string) { + return client.post("/api/v1/auth/login/ldap", { + username: email, + password: password, + }); +} diff --git a/src/pages/init/index.tsx b/src/pages/init/index.tsx index 049c133..ced9504 100644 --- a/src/pages/init/index.tsx +++ b/src/pages/init/index.tsx @@ -24,6 +24,7 @@ export const InitPage = (props: Props) => { if (props.configData) { let config: SystemConfigStoreInterface = { //系统配置 + "ldap-enabled": props.configData["ldap-enabled"], systemApiUrl: props.configData["system-api-url"], systemH5Url: props.configData["system-h5-url"], systemLogo: props.configData["system-logo"], diff --git a/src/pages/login/index.tsx b/src/pages/login/index.tsx index 00b5e35..15bbb9a 100644 --- a/src/pages/login/index.tsx +++ b/src/pages/login/index.tsx @@ -1,7 +1,7 @@ import { useState, useEffect } from "react"; import { Button, Toast, Input, Image } from "antd-mobile"; import styles from "./index.module.scss"; -import { useDispatch } from "react-redux"; +import { useDispatch, useSelector } from "react-redux"; import { useNavigate } from "react-router-dom"; import { login, system, user } from "../../api/index"; import { setToken } from "../../utils/index"; @@ -19,6 +19,7 @@ const LoginPage = () => { const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [bodyHeight, setBodyHeight] = useState(0); + const systemConfig = useSelector((state: any) => state.systemConfig.value); useEffect(() => { document.title = "登录"; @@ -29,7 +30,7 @@ const LoginPage = () => { const loginSubmit = async (e: any) => { if (!email) { Toast.show({ - content: "请输入学员邮箱账号", + content: "请输入邮箱或uid", }); return; } @@ -47,17 +48,32 @@ const LoginPage = () => { return; } setLoading(true); - try { - let res: any = await login.login(email, password); - setToken(res.data.token); //将token写入本地 - await getSystemConfig(); //获取系统配置并写入store - await getUser(); //获取登录用户的信息并写入store - setLoading(false); - navigate("/member", { replace: true }); - } catch (e) { - console.error("错误信息", e); - setLoading(false); + if (systemConfig["ldap-enabled"] === "1") { + try { + let res: any = await login.loginLdap(email, password); + setToken(res.data.token); //将token写入本地 + await getSystemConfig(); //获取系统配置并写入store + await getUser(); //获取登录用户的信息并写入store + setLoading(false); + navigate("/member", { replace: true }); + } catch (e) { + console.error("错误信息", e); + setLoading(false); + } + }else{ + try { + let res: any = await login.login(email, password); + setToken(res.data.token); //将token写入本地 + await getSystemConfig(); //获取系统配置并写入store + await getUser(); //获取登录用户的信息并写入store + setLoading(false); + navigate("/member", { replace: true }); + } catch (e) { + console.error("错误信息", e); + setLoading(false); + } } + }; const getUser = async () => { @@ -70,6 +86,7 @@ const LoginPage = () => { if (configRes.data) { let config: SystemConfigStoreInterface = { //系统配置 + "ldap-enabled": configRes.configData["ldap-enabled"], systemApiUrl: configRes.data["system-api-url"], systemH5Url: configRes.data["system-h5-url"], systemLogo: configRes.data["system-logo"], @@ -110,7 +127,7 @@ const LoginPage = () => {
{ setEmail(val); diff --git a/src/store/system/systemConfigSlice.ts b/src/store/system/systemConfigSlice.ts index 0fa2e39..eaae24f 100644 --- a/src/store/system/systemConfigSlice.ts +++ b/src/store/system/systemConfigSlice.ts @@ -1,6 +1,7 @@ import { createSlice } from "@reduxjs/toolkit"; type SystemConfigStoreInterface = { + "ldap-enabled": string; systemApiUrl: string; systemPcUrl: string; systemH5Url: string; @@ -16,6 +17,7 @@ type SystemConfigStoreInterface = { }; let defaultValue: SystemConfigStoreInterface = { + "ldap-enabled": "", systemApiUrl: "", systemPcUrl: "", systemH5Url: "", From 34dd41a81073cf8e4273e2adffc9a6e8c73fee00 Mon Sep 17 00:00:00 2001 From: unknown <18119604035@163.com> Date: Mon, 4 Sep 2023 17:03:19 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=AD=A6=E5=91=98=E7=99=BB=E5=BD=95ldap?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/login/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/login/index.tsx b/src/pages/login/index.tsx index 15bbb9a..a734d9d 100644 --- a/src/pages/login/index.tsx +++ b/src/pages/login/index.tsx @@ -86,7 +86,7 @@ const LoginPage = () => { if (configRes.data) { let config: SystemConfigStoreInterface = { //系统配置 - "ldap-enabled": configRes.configData["ldap-enabled"], + "ldap-enabled": configRes.data["ldap-enabled"], systemApiUrl: configRes.data["system-api-url"], systemH5Url: configRes.data["system-h5-url"], systemLogo: configRes.data["system-logo"],