# Web系统框架课设 - 毕设选导师系统 - 前端 **Repository Path**: morales/mentor-selection-system-react ## Basic Information - **Project Name**: Web系统框架课设 - 毕设选导师系统 - 前端 - **Description**: Web系统框架课设,基于 React 18 + React Router 6 + Ant Design 4 的毕设选导师系统 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2022-06-09 - **Last Updated**: 2022-12-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![nefu_logo](http://124.70.17.73/2019214204/assets/nefu_logo.webp) # 毕设选导师系统 http://124.70.17.73/2019214204/ ## 技术栈 `React 18` + `React Router 6` + `Ant Design 4` + `axios` 没有使用 `redux` ,因为没有必要 ## 概要 ### 项目结构 `App.jsx` 为全局入口,`routes/index.js` 存放路由表,`components` 存放一般组件,`pages` 存放路由组件 ### 用户登录 通过 `isLogin` 状态与 `sessionStorage` 中是否保存 `token` 判断用户是否处于登录状态,若已登录则加载 `Home` 组件,否则重定向至 `Login` 组件 ### React 相关 所有组件均使用函数式组件,使用 `useState` 、`useEffect` 、`useNavigate` 等 `Hooks` ## 食用方法 首先请确保电脑中装有 `git`、`node.js`、`npm` ```bash git clone https://gitee.com/morales/mentor-selection-system-react.git cd mentor-selection-system-react json-server --watch db.json --port 5000 npm i npm start ``` 数据源存放于 `json.db` 中,使用 `json-server` 启动,或者双击根目录下的 `run_server.bat` > 如果您还没有安装 `json-server`,请先进行安装: > ```bash > npm i json-server -g > ``` ## `db.json` ### `/students` 1. `id`: id,学号 2. `name`: 姓名 3. `password`: 密码 4. `teacherId`: 已选教师工号,未选为`904` 5. `userType`: 学生,1 ### `/teachers` 1. `id`: id,工号 2. `name`: 姓名 3. `password`: 密码 4. `userType`: 教师,2 5. `_embed=students`: 已选学生列表 * 选满的判断条件:学生列表长度(当前设定为3) ### `/rights` 1. `id`: id,权限编号 2. `label`: 权限名,方便 `antd` 生成 `menu` 3. `key`: 权限路径 ### `/roles` 1. `id`: id,角色编号,对应`userType` 2. `roleName`: 角色名 3. `rights`: 角色所拥有的访问权限 * `student` - `/home` - `/select-teacher` - `/selected` * `teacher` - `/home` - `/student-list`