优化
This commit is contained in:
@ -1,2 +1,3 @@
|
||||
window.BACKEND_ADDRESS = "http://localhost:8080";
|
||||
//window.BACKEND_ADDRESS = "http://43.138.83.20:10001";
|
||||
window.BACKEND_TIMEOUT = 10000;
|
||||
@ -1,5 +1,6 @@
|
||||
const baseWebConfig ={
|
||||
baseUrl: 'http://localhost:8080',
|
||||
//baseUrl: 'http://43.138.83.20:10001',
|
||||
timeout: 10000,
|
||||
}
|
||||
|
||||
|
||||
@ -95,13 +95,13 @@ const AddUserDrawer = props => {
|
||||
>
|
||||
<Input placeholder="请输入学院"/>
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
{/*<Form.Item
|
||||
label="专业"
|
||||
name="department"
|
||||
rules={[{required: true, message: '请输入专业名称'}]}
|
||||
>
|
||||
<Input placeholder="请输入专业"/>
|
||||
</Form.Item>
|
||||
</Form.Item>*/}
|
||||
{/*<Form.Item
|
||||
label="研究室"
|
||||
name="researchRoom"
|
||||
|
||||
@ -28,13 +28,13 @@ const UserInfoTableColumn = (openUserInfoDetails) => [
|
||||
responsive: ['lg'],
|
||||
render: (text) => <span key={text}>{text}</span>
|
||||
},
|
||||
{
|
||||
title: '专业',
|
||||
dataIndex: 'department',
|
||||
key: 'department',
|
||||
responsive: ['lg'],
|
||||
render: (text) => <span key={text}>{text}</span>
|
||||
},
|
||||
//{
|
||||
// title: '专业',
|
||||
// dataIndex: 'department',
|
||||
// key: 'department',
|
||||
// responsive: ['lg'],
|
||||
// render: (text) => <span key={text}>{text}</span>
|
||||
//},
|
||||
//{
|
||||
// title: '研究室',
|
||||
// dataIndex: 'researchRoom',
|
||||
|
||||
43
src/routes/RouteSlashFix.jsx
Normal file
43
src/routes/RouteSlashFix.jsx
Normal file
@ -0,0 +1,43 @@
|
||||
import { useEffect, useLocation, useNavigate } from 'react-router-dom';
|
||||
|
||||
/**
|
||||
* 自动修正路径中的多余斜杠(如 /path/ → /path,//path → /path)
|
||||
* 确保 React Router 能正确匹配路由,避免因斜杠问题导致 404/403
|
||||
*/
|
||||
const RouteSlashFix = () => {
|
||||
// 获取当前路径信息
|
||||
const location = useLocation();
|
||||
// 用于导航的方法
|
||||
const navigate = useNavigate();
|
||||
|
||||
useEffect(() => {
|
||||
const { pathname, search, hash } = location;
|
||||
let fixedPath = pathname;
|
||||
|
||||
// 修正1:去除末尾多余的斜杠(根路径 / 除外)
|
||||
if (fixedPath !== '/' && fixedPath.endsWith('/')) {
|
||||
fixedPath = fixedPath.slice(0, -1); // 例如 /data-check/ → /data-check
|
||||
}
|
||||
|
||||
// 修正2:去除路径中间的连续斜杠(如 //data-check → /data-check,/data//check → /data/check)
|
||||
if (fixedPath.includes('//')) {
|
||||
fixedPath = fixedPath.replace(/\/+/g, '/'); // 多个斜杠替换为一个
|
||||
}
|
||||
|
||||
// 如果路径有修正,更新路由(不改变用户看到的 URL 显示)
|
||||
if (fixedPath !== pathname) {
|
||||
navigate(
|
||||
{ pathname: fixedPath, search, hash }, // 修正后的路径
|
||||
{
|
||||
replace: true, // 替换历史记录,避免回退时重复跳转
|
||||
state: location.state // 保留原路由状态(如传递的参数)
|
||||
}
|
||||
);
|
||||
}
|
||||
}, [location, navigate]); // 仅当路径变化时执行
|
||||
|
||||
// 该组件不渲染任何内容,仅处理路径修正逻辑
|
||||
return null;
|
||||
};
|
||||
|
||||
export default RouteSlashFix;
|
||||
Reference in New Issue
Block a user