import './head.css' import BalanceHead from '../../components/balance/BalanceHead.tsx'; import RechargeHead from '../../components/recharge/RechargeHead.tsx'; import {Divider, Dropdown, MenuProps, message, Modal, Space, Spin} from "antd"; import {DownOutlined, UserOutlined, KeyOutlined, LogoutOutlined} from "@ant-design/icons"; import {useContext, useEffect, useState} from "react"; import {get, put} from "../../util/AjaxUtils.ts"; import {GlobalContext, GlobalDataActionType, GlobalDispatchContext} from "../../context/GlobalContext.ts"; import UserEdit from "../../route/user/UserEdit.tsx"; export default function Head() { const globalContext = useContext(GlobalContext); const globalDispatchContext = useContext(GlobalDispatchContext); const [messageApi, contextHolder] = message.useMessage(); const [modal, modalHolder] = Modal.useModal(); const [loading, setLoading] = useState(false); const [isSelfModalOpen, setIsSelfModalOpen] = useState(false); useEffect(() => { get({ messageApi, url: '/api/user-info/get-user-self', onSuccess({data}) { globalDispatchContext({ type: GlobalDataActionType.REFRESH_SELF, user: { balance: (Math.floor(data.accountMoney) / 100).toFixed(2), nickname: data.nickname, username: data.username, hasUserInfo: data.hasUserInfo, } }) if(!data.hasUserInfo) { setIsSelfModalOpen(true); } } }) }, [globalContext.user]); const items: MenuProps['items'] = [ { key: 'userinfo', label: (
个人信息
), onClick: () => { setIsSelfModalOpen(true); } }, { key: 'changePass', label: (
修改密码
), }, { key: 'logout', label: (
退出系统
), }, ] return ( <>
AI引擎软著 软件著作权一站式服务平台
{/**/}
您好:{globalContext.user.nickname}
{ if(!globalContext.user.hasUserInfo) { messageApi.info('请完善个人信息'); return; } setIsSelfModalOpen(false) }} > { modal.confirm({ title: 'Confirm', content: '确定保存吗?', okText: '确认', cancelText: '取消', okButtonProps: { style: { backgroundColor: 'var(--color-primary)' } }, onOk: () => { setIsSelfModalOpen(false); put({ messageApi, url: '/api/user-info/update-self', body: data, onBefore() { setLoading(true); }, onSuccess() { messageApi.success('修改成功'); }, onFinally() { setLoading(false); } }) console.log(data); } }); }}/> {contextHolder} {modalHolder} ) }