diff --git a/src/components/ErrorPage.jsx b/src/components/ErrorPage.jsx
index 5102abd..3cb6266 100644
--- a/src/components/ErrorPage.jsx
+++ b/src/components/ErrorPage.jsx
@@ -1,16 +1,16 @@
-import { useRouteError } from "react-router-dom";
-import { Card, Typography, Flex, Result, Button } from 'antd'
+import { useRouteError } from 'react-router-dom'
+import { Result } from 'antd'
export default function ErrorPage() {
- const errorResponse = useRouteError();
- console.info('error: ');
- console.dir(errorResponse.message);
- window.$pageSpy.triggerPlugins('onOfflineLog', 'upload');
+ const errorResponse = useRouteError()
+ if (import.meta.env.PROD && window.$pageSpy) {
+ window.$pageSpy.triggerPlugins('onOfflineLog', 'upload')
+ }
return (
- );
+ status="404"
+ title="Sorry, an unexpected error has occurred."
+ subTitle={errorResponse?.message || errorResponse.error?.message}
+ />
+ )
}
diff --git a/src/main.jsx b/src/main.jsx
index 3680e42..bfc6717 100644
--- a/src/main.jsx
+++ b/src/main.jsx
@@ -1,5 +1,5 @@
import React from 'react'
-import ReactDOM from 'react-dom/client'
+import { createRoot } from 'react-dom/client'
import { createBrowserRouter, RouterProvider } from 'react-router-dom'
import { ThemeContext } from '@/stores/ThemeContext'
import AuthApp from '@/views/AuthApp'
@@ -17,11 +17,11 @@ import ChatWindow from '@/views/ChatWindow'
import MobileConversation from '@/views/mobile/Conversation'
import MobileChat from '@/views/mobile/Chat'
import CallCenter from '@/views/CallCenter'
-import MobileSecondHeader from '@/views/mobile/SecondHeaderWrapper';
-import CustomerProfile from '@/views/Conversations/Online/order/CustomerProfile';
+import MobileSecondHeader from '@/views/mobile/SecondHeaderWrapper'
+import CustomerProfile from '@/views/Conversations/Online/order/CustomerProfile'
-import Unassign from '@/views/ChatUnassign';
-import ChatAssign from '@/views/Conversations/ChatAssign';
+import Unassign from '@/views/ChatUnassign'
+import ChatAssign from '@/views/Conversations/ChatAssign'
import DingdingLogin from '@/views/dingding/Login'
import useAuthStore from '@/stores/AuthStore'
@@ -29,7 +29,10 @@ import '@/assets/index.css'
useAuthStore.getState().loadUserSession()
-const isMobileApp = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i) !== null;
+const isMobileApp =
+ navigator.userAgent.match(
+ /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i,
+ ) !== null
const router = createBrowserRouter([
{
@@ -86,12 +89,38 @@ const router = createBrowserRouter([
{ path: 'dingding/callback', element: },
],
},
-]);
+])
-ReactDOM.createRoot(document.getElementById('root')).render(
- //
-
- Loading...
} />
-
- //
-);
+const root = document.getElementById('root')
+if (!root) throw new Error('No root element found')
+
+createRoot(root).render(
+
+
+ Loading
+
+ }
+ >
+
+ Loading...
}
+ />
+
+ ,
+)
diff --git a/src/utils/pagespy.js b/src/utils/pagespy.js
index 59ec128..d10e418 100644
--- a/src/utils/pagespy.js
+++ b/src/utils/pagespy.js
@@ -1,6 +1,9 @@
import { loadScript } from '@/utils/commons';
export const loadPageSpy = (title) => {
+
+ if (import.meta.env.DEV || window.$pageSpy) return
+
const PageSpySrc = [
'https://page-spy.mycht.cn/page-spy/index.min.js',
'https://page-spy.mycht.cn/plugin/data-harbor/index.min.js',