fix: register

This commit is contained in:
archer
2023-07-22 22:28:46 +08:00
parent 323953462b
commit 8151350d9f
6 changed files with 33 additions and 9 deletions

View File

@@ -11,7 +11,13 @@ import React, {
import { throttle } from 'lodash';
import { ChatItemType, ChatSiteItemType, ExportChatType } from '@/types/chat';
import { useToast } from '@/hooks/useToast';
import { useCopyData, voiceBroadcast, hasVoiceApi, getErrText } from '@/utils/tools';
import {
useCopyData,
voiceBroadcast,
cancelBroadcast,
hasVoiceApi,
getErrText
} from '@/utils/tools';
import { Box, Card, Flex, Input, Textarea, Button, useTheme } from '@chakra-ui/react';
import { useUserStore } from '@/store/user';
import { feConfigs } from '@/store/static';
@@ -387,7 +393,6 @@ const ChatBox = (
zIndex: 1,
w: '100%'
};
console.log(ChatBoxRef.current?.clientWidth);
const messageCardMaxW = ['calc(100% - 48px)', 'calc(100% - 65px)'];
@@ -404,9 +409,22 @@ const ChatBox = (
useEffect(() => {
return () => {
controller.current?.abort();
// close voice
cancelBroadcast();
};
}, [router.query]);
useEffect(() => {
const listen = () => {
cancelBroadcast();
};
window.addEventListener('beforeunload', listen);
return () => {
window.removeEventListener('beforeunload', listen);
};
}, []);
return (
<Flex flexDirection={'column'} h={'100%'}>
<Box

View File

@@ -35,9 +35,9 @@ function App({ Component, pageProps, isPc }: AppProps & { isPc?: boolean; respon
const [baiduTongji, setBaiduTongji] = useState<string>();
const { initIsPc } = useGlobalStore();
if (isPc !== undefined) {
initIsPc(isPc);
}
// if (isPc !== undefined) {
// initIsPc(isPc);
// }
useEffect(() => {
(async () => {

View File

@@ -64,16 +64,17 @@ const AppDetail = ({ currentTab }: { currentTab: `${TabEnum}` }) => {
);
useEffect(() => {
window.onbeforeunload =
const listen =
process.env.NODE_ENV === 'production'
? (e) => {
? (e: any) => {
e.preventDefault();
e.returnValue = '内容已修改,确认离开页面吗?';
}
: null;
: () => {};
window.addEventListener('beforeunload', listen);
return () => {
window.onbeforeunload = null;
window.removeEventListener('beforeunload', listen);
clearAppModules();
};
}, []);

View File

@@ -6,6 +6,7 @@ import { postFindPassword } from '@/api/user';
import { useSendCode } from '@/hooks/useSendCode';
import type { ResLogin } from '@/api/response/user';
import { useToast } from '@/hooks/useToast';
import { feConfigs } from '@/store/static';
interface Props {
setPageType: Dispatch<`${PageTypeEnum}`>;

View File

@@ -9,6 +9,7 @@ import { useToast } from '@/hooks/useToast';
import { useRouter } from 'next/router';
import { postCreateApp } from '@/api/app';
import { appTemplates } from '@/constants/flow/ModuleTemplate';
import { feConfigs } from '@/store/static';
interface Props {
loginSuccess: (e: ResLogin) => void;

View File

@@ -114,6 +114,9 @@ export const voiceBroadcast = ({ text }: { text: string }) => {
cancel: () => window.speechSynthesis?.cancel()
};
};
export const cancelBroadcast = () => {
window.speechSynthesis?.cancel();
};
export const getErrText = (err: any, def = '') => {
const msg: string = typeof err === 'string' ? err : err?.message || def || '';