进入房间刷新token

This commit is contained in:
yj 2024-07-23 16:04:58 +08:00
parent 8c4ce170b7
commit 86021b4f9f
1 changed files with 20 additions and 6 deletions

View File

@ -5,6 +5,8 @@ import { useNavigate } from 'react-router-dom';
import { Button, Input, Modal, Pagination, Empty, message } from "antd"; import { Button, Input, Modal, Pagination, Empty, message } from "antd";
import { GetRoom, PostRomm, GetCheckoutRoomNum, GetRoomRtcToken, GetRoomInfo } from '@/api/Home/Index'; import { GetRoom, PostRomm, GetCheckoutRoomNum, GetRoomRtcToken, GetRoomInfo } from '@/api/Home/Index';
import ImageUrl from '@/utils/package/imageUrl' import ImageUrl from '@/utils/package/imageUrl'
import { PostRefresh } from '@/api/Login';
import { storage } from '@/utils';
const Index: React.FC = () => { const Index: React.FC = () => {
const navigate = useNavigate(); const navigate = useNavigate();
const [list, setList] = useState({ const [list, setList] = useState({
@ -19,12 +21,15 @@ const Index: React.FC = () => {
roomNum: "" roomNum: ""
}) })
const [joinRoomModal, setJoinRoomModal] = useState(false) const [joinRoomModal, setJoinRoomModal] = useState(false)
const [user, setUser] = useState<any>({});
const [joinRoomFrom, setJoinRoomFrom] = useState<string>('') const [joinRoomFrom, setJoinRoomFrom] = useState<string>('')
useEffect(() => {
let userInfo = JSON.parse(storage.getItem('user') as string)
setUser(userInfo)
}, []);
useEffect(() => { useEffect(() => {
getRoomList() getRoomList()
}, [list.pageIndex]); }, [list.pageIndex]);
const getRoomList = async (): Promise<void> => { const getRoomList = async (): Promise<void> => {
await GetRoom({ await GetRoom({
pageIndex: list.pageIndex, pageIndex: list.pageIndex,
@ -59,6 +64,13 @@ const Index: React.FC = () => {
} }
}) })
} }
const postRefresh = async (): Promise<void> => {
await PostRefresh(user.refresh_token).then(res => {
if (res.code === 200) {
storage.setItem('user', JSON.stringify(res.data))
}
})
}
return ( return (
<> <>
@ -114,8 +126,9 @@ const Index: React.FC = () => {
{/* <Button type="primary" danger>设置</Button> */} {/* <Button type="primary" danger>设置</Button> */}
<Button type="primary" <Button type="primary"
iconPosition={'end'} iconPosition={'end'}
onClick={() => { onClick={async () => {
getRoomRtcToken(item.roomNum, (res: any) => { await postRefresh()
await getRoomRtcToken(item.roomNum, (res: any) => {
if (res) { if (res) {
navigate(`/meeting`, { navigate(`/meeting`, {
state: { state: {
@ -254,11 +267,12 @@ const Index: React.FC = () => {
display: 'flex', justifyContent: 'center' display: 'flex', justifyContent: 'center'
}}> }}>
<Button type="primary" style={{ backgroundColor: '#31353A', marginRight: '14px' }} onClick={() => setJoinRoomModal(false)}></Button> <Button type="primary" style={{ backgroundColor: '#31353A', marginRight: '14px' }} onClick={() => setJoinRoomModal(false)}></Button>
<Button type="primary" className='m-ant-btn' onClick={() => { <Button type="primary" className='m-ant-btn' onClick={async () => {
if (!joinRoomFrom) { if (!joinRoomFrom) {
return message.error('请输入房间号!') return message.error('请输入房间号!')
} }
isGetCheckoutRoomNum(joinRoomFrom, (bool: boolean) => { await postRefresh()
await isGetCheckoutRoomNum(joinRoomFrom, (bool: boolean) => {
if (bool) { if (bool) {
getRoomRtcToken(joinRoomFrom, (token: string) => { getRoomRtcToken(joinRoomFrom, (token: string) => {
if (token) { if (token) {