基于SpringBoot+Vue實現的課程答疑系統采用前后端分離架構方式,系統設計了管理員、學生、老師三種角色,系統實現了用戶登錄與注冊、個人中心、學生管理、老師管理、科目類型管理、學生問題管理、老師回答管理、老師信息管理、關注列表管理、交流區、輪播圖管理等功能。
技術選型
開發工具:idea2020.3+Webstorm2020.3
運行環境:jdk1.8+maven3.6.0+MySQL5.7+nodejs14.21.3
服務端技術:Springboot+Mybatis-Plus
前端技術:html+css+Vue+axios+Element-UI
成果展示
文檔展示
管理端頁面
用戶登錄
學生管理
學生管理
老師管理
科目類型管理
學生問題管理
老師回答管理
老師信息管理
關注列表管理
交流區
輪播圖管理
用戶端頁面
用戶登錄
首頁
學生問題
老師回答
老師信息
交流區
個人中心
源碼展示
@RequestMapping("users")
@RestController
publicclass?UserController{@Autowired
private?UserService userService;@Autowired
private?TokenService tokenService;/*** 登錄*/
@IgnoreAuth
@PostMapping(value =?"/login")
public?R?login(String username, String password, String captcha, HttpServletRequest request)?{UserEntity user = userService.selectOne(new?EntityWrapper<UserEntity>().eq("username", username));
if(user==null?|| !user.getPassword().equals(password)) {return?R.error("賬號或密碼不正確");}String token = tokenService.generateToken(user.getId(),username,?"users", user.getRole());
return?R.ok().put("token", token);}/*** 注冊*/
@IgnoreAuth
@PostMapping(value =?"/register")
public?R?register(@RequestBody UserEntity user){if(userService.selectOne(new?EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) ? {return?R.error("用戶已存在");}userService.insert(user);return?R.ok();}/*** 退出*/
@GetMapping(value =?"logout")
public?R?logout(HttpServletRequest request)?{request.getSession().invalidate();
return?R.ok("退出成功");}/*** 密碼重置*/@IgnoreAuth
@RequestMapping(value =?"/resetPass")public?R?resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new?EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return?R.error("賬號不存在");}user.setPassword("123456");userService.update(user,null);return?R.ok("密碼已重置為:123456");}/*** 列表*/@RequestMapping("/page")public?R?page(@RequestParam Map<String, Object> params,UserEntity user){EntityWrapper<UserEntity> ew =?new?EntityWrapper<UserEntity>();PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return?R.ok().put("data", page);}/*** 列表*/@RequestMapping("/list")public?R?list( UserEntity user){EntityWrapper<UserEntity> ew =?new?EntityWrapper<UserEntity>();ew.allEq(MPUtil.allEQMapPre( user,?"user"));?return?R.ok().put("data", userService.selectListView(ew));}/*** 信息*/@RequestMapping("/info/{id}")public?R?info(@PathVariable("id")?String id){UserEntity user = userService.selectById(id);return?R.ok().put("data", user);}/*** 獲取用戶的session用戶信息*/@RequestMapping("/session")public?R?getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");UserEntity user = userService.selectById(id);return?R.ok().put("data", user);}
}
賬號地址及其他說明
1、地址說明
管理端登錄頁面 http://localhost:8081/#/login
用戶端登錄頁面 http://localhost:8080/springboot7vkr1/front/pages/login/login.html
2、賬號說明
管理員 賬戶:admin 密碼:admin
學生 ? ? ? ?賬戶:學生賬號1 ? ? ? ? 密碼:123456
老師 賬戶:老師賬號1 ? ? ? ? ?密碼:123456
3、目錄結構展示
4、項目結構展示
運行步驟
1、創建數據庫、導入sql腳本
2、修改application.yml中的數據庫配置文件,啟動服務端
3、在前端根目錄下打開cmd,執行npm install或者yarn install下載依賴
4、下載完畢后啟動前端npm run serve,訪問端口