import { RollbackOutlined, LogoutOutlined } from '@ant-design/icons'; import { Avatar, Menu, Typography, Modal, Form, Input, Button, message } from 'antd'; import {useDispatch, useSelector} from "react-redux"; import { useNavigate } from "react-router"; import { LoginUser, removeLoginInfo } from "../../models/auth/_"; import { RootState } from "../../models/store"; import React, { useState } from "react"; import {divIcon} from "leaflet"; import { httppost2 } from '../../utils/request'; import apiurl from '../../service/apiurl'; import CryptoJS from 'crypto-js'; const { SubMenu } = Menu; const HeaderUser: React.FC<{ user: LoginUser | null }> = ({ user }) => { const navigate = useNavigate(); const dispatch = useDispatch(); const [open,setOpen] = useState(false) const logout = () => { removeLoginInfo(); navigate('/login'); dispatch.runtime.setHasAlertBox(false); dispatch.runtime.setAlarmActive(false); window.location.reload(); }; //AES加密 const encryptData = (data:any) => { const encryptedData = CryptoJS.MD5(data).toString(); return encryptedData; } const onFinish = async(val:any)=>{ if(val.newSecretKey!==val.secondSecretKey){ message.error('确认密码错误') return } const params = { oldSecretKey:encryptData(val.oldSecretKey), newSecretKey:encryptData(val.newSecretKey), secondSecretKey:encryptData(val.secondSecretKey), userId: localStorage.getItem('userId') } const res = await httppost2(apiurl.setPassword,params) if(res.code===200){ message.success('修改成功') setTimeout(() => { logout() }, 1500); }else{ message.error(res.description) } } return (