|
@@ -1,14 +1,13 @@
|
|
import { Button, message, Radio, Spin } from 'antd';
|
|
import { Button, message, Radio, Spin } from 'antd';
|
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
import { useModel, useRequest } from 'umi';
|
|
import { useModel, useRequest } from 'umi';
|
|
-import { fakeAccountLogin, getCode, getDingKey, ddlogin, phoneLogin, getNoteCode, isPreserve, loginByOldErpApi } from '@/services/login';
|
|
|
|
|
|
+import { getCode, getDingKey, ddlogin, phoneLogin, getNoteCode } from '@/services/login';
|
|
import styles from './style.less';
|
|
import styles from './style.less';
|
|
import { CopyrightOutlined, SwapRightOutlined } from '@ant-design/icons';
|
|
import { CopyrightOutlined, SwapRightOutlined } from '@ant-design/icons';
|
|
import { useBase64 } from '@/Hook/useBase64'
|
|
import { useBase64 } from '@/Hook/useBase64'
|
|
import Bg from './components/bg';
|
|
import Bg from './components/bg';
|
|
import { history } from 'umi'
|
|
import { history } from 'umi'
|
|
import { api } from '@/services/api'
|
|
import { api } from '@/services/api'
|
|
-import { useAjax } from '@/Hook/useAjax';
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* 退出登录,并且将当前的 url 保存
|
|
* 退出登录,并且将当前的 url 保存
|
|
@@ -19,15 +18,13 @@ const loginOut = async () => {
|
|
};
|
|
};
|
|
|
|
|
|
const Login: React.FC<{}> = () => {
|
|
const Login: React.FC<{}> = () => {
|
|
- const { encrypt, decode } = useBase64()
|
|
|
|
|
|
+ const { decode } = useBase64()
|
|
const { setInitialState, initialState } = useModel('@@initialState');
|
|
const { setInitialState, initialState } = useModel('@@initialState');
|
|
const codeRes = useRequest((phone) => getCode(phone), { manual: true, formatResult: (res: any) => res })//钉钉验证码
|
|
const codeRes = useRequest((phone) => getCode(phone), { manual: true, formatResult: (res: any) => res })//钉钉验证码
|
|
const noteCode = useRequest((phone) => getNoteCode(phone), { manual: true, formatResult: (res: any) => res })//短信验证码
|
|
const noteCode = useRequest((phone) => getNoteCode(phone), { manual: true, formatResult: (res: any) => res })//短信验证码
|
|
const getKey = useRequest(() => getDingKey(), { manual: true, formatResult: (res: any) => res })//获取服务器KEY
|
|
const getKey = useRequest(() => getDingKey(), { manual: true, formatResult: (res: any) => res })//获取服务器KEY
|
|
const Ddlogin = useRequest((params: any) => ddlogin(params), { manual: true, formatResult: (res: any) => res })//用钉钉登录
|
|
const Ddlogin = useRequest((params: any) => ddlogin(params), { manual: true, formatResult: (res: any) => res })//用钉钉登录
|
|
const phone_login = useRequest((params: any) => phoneLogin(params), { manual: true, formatResult: (res: any) => res })//用手机登录
|
|
const phone_login = useRequest((params: any) => phoneLogin(params), { manual: true, formatResult: (res: any) => res })//用手机登录
|
|
- const loginByOldErp = useRequest((params: any) => loginByOldErpApi(params), { manual: true, formatResult: (res: any) => res })//用手机登录
|
|
|
|
- const ispreserve = useAjax(() => isPreserve())
|
|
|
|
let phone = decode('phone')
|
|
let phone = decode('phone')
|
|
let code = decode('code')
|
|
let code = decode('code')
|
|
const [values, setValues] = useState<{ phone: string, code: string }>({ phone: phone || '', code: code || '' })
|
|
const [values, setValues] = useState<{ phone: string, code: string }>({ phone: phone || '', code: code || '' })
|
|
@@ -48,30 +45,8 @@ const Login: React.FC<{}> = () => {
|
|
let hash = window.location.hash
|
|
let hash = window.location.hash
|
|
if (hash?.includes('token')) {
|
|
if (hash?.includes('token')) {
|
|
let token = hash?.split('token=')[1]
|
|
let token = hash?.split('token=')[1]
|
|
- loginByOldErp.run({ token }).then(res => {
|
|
|
|
- try {
|
|
|
|
- if (res.code === 200) {
|
|
|
|
- setIsLogin(false)
|
|
|
|
- sessionStorage.setItem('Admin-Token', res?.data?.token)
|
|
|
|
- let companyInfo = res?.data?.companyRelationInfo?.filter((item: { companyId: number }) => item.companyId !== 4 && item.companyId !== 3)
|
|
|
|
- if (companyInfo?.length === 0) {
|
|
|
|
- sessionStorage.removeItem('Admin-Token')
|
|
|
|
- message.error('登录失败,请用趣程运营平台账号登录')
|
|
|
|
- return
|
|
|
|
- } else if (companyInfo?.length === 1) {
|
|
|
|
- setCompanyHandle(res?.data?.companyRelationInfo[0].companyId)
|
|
|
|
- } else {
|
|
|
|
- setCompanyList(companyInfo)
|
|
|
|
- }
|
|
|
|
- return;
|
|
|
|
- } else {
|
|
|
|
- setIsLogin(false)
|
|
|
|
- }
|
|
|
|
- } catch (error) {
|
|
|
|
- setIsLogin(false)
|
|
|
|
- message.error('登录失败,请重试!');
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
|
|
+ sessionStorage.setItem('Admin-Token', token)
|
|
|
|
+ window.location.href = '/';
|
|
}
|
|
}
|
|
}, [])
|
|
}, [])
|
|
|
|
|
|
@@ -93,24 +68,6 @@ const Login: React.FC<{}> = () => {
|
|
}
|
|
}
|
|
}, [initialState?.currentUser?.companyList])
|
|
}, [initialState?.currentUser?.companyList])
|
|
|
|
|
|
- //登录事件
|
|
|
|
- // const handleSubmit = async () => {
|
|
|
|
- // setIsLogin(true)
|
|
|
|
- // values.account = values.account ? values.account : account || '';
|
|
|
|
- // values.password = values.password ? values.password : password || '';
|
|
|
|
- // if (!Object.keys(values).every((key) => !!values[key])) {
|
|
|
|
- // message.error('请填写完整!')
|
|
|
|
- // setIsLogin(false)
|
|
|
|
- // return
|
|
|
|
- // } else {
|
|
|
|
- // let { code, ...value } = values
|
|
|
|
- // Object.keys(value).forEach((key) => {
|
|
|
|
- // encrypt({ key, value: value[key] })
|
|
|
|
- // })
|
|
|
|
- // }
|
|
|
|
- // console.log(values)
|
|
|
|
-
|
|
|
|
- // };
|
|
|
|
//显示隐藏登录
|
|
//显示隐藏登录
|
|
let handleShow = useCallback((props?: boolean) => {
|
|
let handleShow = useCallback((props?: boolean) => {
|
|
if (props && !show) {
|
|
if (props && !show) {
|
|
@@ -122,6 +79,7 @@ const Login: React.FC<{}> = () => {
|
|
setShow(false)
|
|
setShow(false)
|
|
}
|
|
}
|
|
}, [show])
|
|
}, [show])
|
|
|
|
+
|
|
// 钉钉登录
|
|
// 钉钉登录
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
if (!sessionStorage.getItem('Admin-Token')) {
|
|
if (!sessionStorage.getItem('Admin-Token')) {
|
|
@@ -191,6 +149,7 @@ const Login: React.FC<{}> = () => {
|
|
}
|
|
}
|
|
|
|
|
|
}, [tab, sessionStorage.getItem('Admin-Token')])
|
|
}, [tab, sessionStorage.getItem('Admin-Token')])
|
|
|
|
+
|
|
// 选择公司
|
|
// 选择公司
|
|
const setCompanyHandle = (companyId: number) => {
|
|
const setCompanyHandle = (companyId: number) => {
|
|
setLoading(() => true)
|
|
setLoading(() => true)
|
|
@@ -231,7 +190,6 @@ const Login: React.FC<{}> = () => {
|
|
}
|
|
}
|
|
// 获取手机钉钉验证码
|
|
// 获取手机钉钉验证码
|
|
const getPhoneCode = () => {
|
|
const getPhoneCode = () => {
|
|
- let reg = new RegExp(/^(13\d|14[579]|15[^4\D]|17[^49\D]|18\d)\d{8}$/g)
|
|
|
|
if (values) {
|
|
if (values) {
|
|
setM(30)
|
|
setM(30)
|
|
codeRes.run(values?.phone).then(res => {
|
|
codeRes.run(values?.phone).then(res => {
|
|
@@ -250,7 +208,6 @@ const Login: React.FC<{}> = () => {
|
|
}
|
|
}
|
|
// 获取手机短信验证码
|
|
// 获取手机短信验证码
|
|
const getPhoneNoteCode = () => {
|
|
const getPhoneNoteCode = () => {
|
|
- let reg = new RegExp(/^(13\d|14[579]|15[^4\D]|17[^49\D]|18\d)\d{8}$/g)
|
|
|
|
if (values) {
|
|
if (values) {
|
|
setM(30)
|
|
setM(30)
|
|
noteCode.run(values?.phone).then(res => {
|
|
noteCode.run(values?.phone).then(res => {
|
|
@@ -400,7 +357,7 @@ const Login: React.FC<{}> = () => {
|
|
<div id='login_container' />
|
|
<div id='login_container' />
|
|
}
|
|
}
|
|
</div>}
|
|
</div>}
|
|
-
|
|
|
|
|
|
+
|
|
</div>
|
|
</div>
|
|
{/**背景 */}
|
|
{/**背景 */}
|
|
{!isMobile && <Bg data={videoMenu} open={setVideoMenu} show={handleShow} isShow={show} />}
|
|
{!isMobile && <Bg data={videoMenu} open={setVideoMenu} show={handleShow} isShow={show} />}
|