|
@@ -1,7 +1,7 @@
|
|
|
import { Button, message, Radio, Spin } from 'antd';
|
|
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
|
import { useModel, useRequest } from 'umi';
|
|
|
-import { fakeAccountLogin, getCode, getDingKey, ddlogin, phoneLogin, getNoteCode, isPreserve } from '@/services/login';
|
|
|
+import { fakeAccountLogin, getCode, getDingKey, ddlogin, phoneLogin, getNoteCode, isPreserve, loginByOldErpApi } from '@/services/login';
|
|
|
import styles from './style.less';
|
|
|
import { CopyrightOutlined, SwapRightOutlined } from '@ant-design/icons';
|
|
|
import { useBase64 } from '@/Hook/useBase64'
|
|
@@ -26,6 +26,7 @@ const Login: React.FC<{}> = () => {
|
|
|
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 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 code = decode('code')
|
|
@@ -40,7 +41,40 @@ const Login: React.FC<{}> = () => {
|
|
|
const [loading, setLoading] = useState<boolean>(false)
|
|
|
const [isMobile, setIsMobile] = useState<boolean>(false)
|
|
|
const [m, setM] = useState<any>(0)//倒计时,0可以点击
|
|
|
- const [codeType,setCodeType]=useState(1)//1钉钉验证码 2短信验证码
|
|
|
+ const [codeType, setCodeType] = useState(1)//1钉钉验证码 2短信验证码
|
|
|
+
|
|
|
+ // 获取TOKEN
|
|
|
+ useEffect(() => {
|
|
|
+ let hash = window.location.hash
|
|
|
+ if (hash?.includes('token')) {
|
|
|
+ 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('登录失败,请重试!');
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }, [])
|
|
|
+
|
|
|
// 获取运行环境
|
|
|
useEffect(() => {
|
|
|
let u = navigator.userAgent
|
|
@@ -172,8 +206,8 @@ const Login: React.FC<{}> = () => {
|
|
|
'Authorization': 'Bearer ' + res?.data?.token
|
|
|
}
|
|
|
}).then(res => res.json()).then(js => {
|
|
|
- if (js?.data?.configValue === 'true') {
|
|
|
- message.error('版本更新中....请关注大群公告!!!!',5,()=>{
|
|
|
+ if (js?.data?.configValue === 'true') {
|
|
|
+ message.error('版本更新中....请关注大群公告!!!!', 5, () => {
|
|
|
sessionStorage.removeItem('Admin-Token')
|
|
|
window.location.href = '/';
|
|
|
})
|
|
@@ -212,8 +246,8 @@ const Login: React.FC<{}> = () => {
|
|
|
message.error('请输入正确的手机号!!!')
|
|
|
}
|
|
|
}
|
|
|
- // 获取手机短信验证码
|
|
|
- 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) {
|
|
|
setM(30)
|
|
@@ -342,13 +376,13 @@ const Login: React.FC<{}> = () => {
|
|
|
<button
|
|
|
className={styles.btn}
|
|
|
style={!m ? { background: localStorage.getItem('color') || '#24DB95' } : { background: '#999' }}
|
|
|
- onClick={codeType===1 ?getPhoneCode : getPhoneNoteCode}
|
|
|
+ onClick={codeType === 1 ? getPhoneCode : getPhoneNoteCode}
|
|
|
disabled={!!m}
|
|
|
>
|
|
|
{!m ? '获取验证码' : m + '秒再次获取'}
|
|
|
</button>
|
|
|
</div>
|
|
|
- <Radio.Group value={codeType} onChange={(e)=>{
|
|
|
+ <Radio.Group value={codeType} onChange={(e) => {
|
|
|
let v = e.target.value
|
|
|
setCodeType(v)
|
|
|
}}>
|