目錄
- 一、摘要
- 1.1 系統介紹
- 1.2 項目錄屏
- 二、研究內容
- 2.1 課程類型管理模塊
- 2.2 課程管理模塊
- 2.3 課時管理模塊
- 2.4 課程交互模塊
- 2.5 系統基礎模塊
- 三、系統設計
- 3.1 用例設計
- 3.2 數據庫設計
- 四、系統展示
- 4.1 管理后臺
- 4.2 用戶網頁
- 五、樣例代碼
- 5.1 新增課程類型
- 5.2 網站登錄
- 5.3 課時收藏
- 5.4 課時評論
- 六、免責說明
一、摘要
1.1 系統介紹
基于JAVA+Vue+SpringBoot+MySQL的在線課程教學系統,包含了課程類型模塊、課程檔案模塊、課時檔案模塊、課時收藏模塊、課時評論模塊,還包含系統自帶的用戶管理、部門管理、角色管理、菜單管理、日志管理、數據字典管理、文件管理、圖表展示等基礎模塊,在線課程教學系統基于角色的訪問控制,給學生、教師、高校管理員使用,可將權限精確到按鈕級別,您可以自定義角色并分配權限,系統適合設計精確的權限約束需求。
1.2 項目錄屏
二、研究內容
IT在線課程系統是一個供學生在線學習的系統,IT培訓在線課程系統用于高校,或者培訓機構使用,支持教師、學生兩大角色使用,教師可以維護培訓課程類型、培訓課程檔案、培訓課程下的課時,學生可以觀看課程視頻,并對喜愛的課時進行收藏、評論,完成交互操作。
模塊。系統基礎模塊包括了基礎的用戶管理、文件管理、日志管理、數據字典管理。培訓課程模塊包括培訓課程類型模塊和培訓課程檔案模塊,用于增刪改查維護數據。課時是培訓課程下的子內容,一節課程會有多個課時,供學生學習。課程交互模塊包括了收藏和評論功能,用于學生和教師進行交互。
總的來說,IT培訓在線課程系統可以實現學生的在線學習,符合數字化的教學理念,能降低教師的工作量。
2.1 課程類型管理模塊
課程類型管理模塊用于管理員對課程類型數據的維護,包括類型名稱、狀態、排序值、備注、創建時間、創建人、最后更新時間、最后更新人信息。
2.2 課程管理模塊
課程管理模塊用于管理員對課程數據的維護,包括課程名稱、課程分類、課程簡介、講師、圖片、備注、創建人、創建時間等信息。
2.3 課時管理模塊
課時管理模塊用于管理員對課時數據的維護,包括課時名稱、課時簡介、所屬課程、知識點、視頻、備注、創建人、創建時間等信息。
2.4 課程交互模塊
課程交互模塊用于管理員對課時交互信息的維護,主要包括課時評論和課時收藏。課時收藏模塊包括課程名稱、課時名稱、收藏人、收藏時間、創建時間、創建人、最后更新時間、最后更新人信息;課時評論模塊包括課程名稱、課時名稱、評論人、評論時間、創建時間、創建人、最后更新時間、評論內容信息。
2.5 系統基礎模塊
系統基礎模塊包括了用戶管理、部門管理、文件管理、權限管理和數據字典管理模塊。因系統基礎模塊位開發框架自帶,所以無需進行系統邏輯設計。
三、系統設計
3.1 用例設計
3.2 數據庫設計
四、系統展示
4.1 管理后臺
4.2 用戶網頁
五、樣例代碼
5.1 新增課程類型
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增培訓課程類型")
public Result<TrainType> insert(TrainType trainType){if(trainType.getSortOrder() == null || Objects.equals(0,trainType.getSortOrder().compareTo(BigDecimal.ZERO))) {trainType.setSortOrder(BigDecimal.valueOf(iTrainTypeService.count() + 1));}iTrainTypeService.saveOrUpdate(trainType);return new ResultUtil<TrainType>().setData(trainType);
}
5.2 網站登錄
@RequestMapping(value = "/loginOnWeb", method = RequestMethod.GET)
@ApiOperation(value = "網站前臺登陸")
public Result<String> loginOnWeb(@RequestParam String userName, @RequestParam String password){QueryWrapper<User> qw = new QueryWrapper<>();qw.eq("username",userName);List<User> userList = iUserService.list(qw);if(userList.size() < 1) {return ResultUtil.error("用戶不存在");}User user = userList.get(0);if(!new BCryptPasswordEncoder().matches(password, user.getPassword())){return ResultUtil.error("密碼不正確");}String accessToken = securityUtil.getToken(user.getUsername(), true);UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(new SecurityUserDetails(user), null, null);SecurityContextHolder.getContext().setAuthentication(authentication);return new ResultUtil<String>().setData(accessToken);
}
5.3 課時收藏
@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "新增收藏")
public Result<TrainCollection> addOne(@RequestParam String id){TrainItem ti = iTrainItemService.getById(id);if(ti == null) {return ResultUtil.error("課時不存在");}User currUser = securityUtil.getCurrUser();QueryWrapper<TrainCollection> qw = new QueryWrapper<>();qw.eq("user_id",currUser.getId());qw.eq("item_id",ti.getId());if(iTrainCollectionService.count(qw) > 0L) {return ResultUtil.success("您已收藏");}TrainCollection tc = new TrainCollection();tc.setItemId(ti.getId());tc.setItemName(ti.getTitle());tc.setVideo(ti.getVideo());tc.setUserId(currUser.getId());tc.setUserName(currUser.getNickname());tc.setTime(DateUtil.now());iTrainCollectionService.saveOrUpdate(tc);return ResultUtil.success();
}
5.4 課時評論
@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "新增評論")
public Result<TrainComment> addOne(@RequestParam String id,@RequestParam String content){TrainItem item = iTrainItemService.getById(id);if(item == null) {return ResultUtil.error("課時不存在");}User currUser = securityUtil.getCurrUser();TrainComment tc = new TrainComment();tc.setItemId(item.getId());tc.setItemName(item.getTitle());tc.setUserId(currUser.getId());tc.setUserName(currUser.getNickname());tc.setTime(DateUtil.now());tc.setContent(content);iTrainCommentService.saveOrUpdate(tc);return ResultUtil.success();
}
六、免責說明
- 本項目僅供個人學習使用,商用授權請聯系博主,否則后果自負。
- 博主擁有本軟件構建后的應用系統全部內容所有權及獨立的知識產權,擁有最終解釋權。
- 如有問題,歡迎在倉庫 Issue 留言,看到后會第一時間回復,相關意見會酌情考慮,但沒有一定被采納的承諾或保證。
下載本系統代碼或使用本系統的用戶,必須同意以下內容,否則請勿下載!
- 出于自愿而使用/開發本軟件,了解使用本軟件的風險,且同意自己承擔使用本軟件的風險。
- 利用本軟件構建的網站的任何信息內容以及導致的任何版權糾紛和法律爭議及后果和博主無關,博主對此不承擔任何責任。
- 在任何情況下,對于因使用或無法使用本軟件而導致的任何難以合理預估的損失(包括但不僅限于商業利潤損失、業務中斷與業務信息丟失),博主概不承擔任何責任。
- 必須了解使用本軟件的風險,博主不承諾提供一對一的技術支持、使用擔保,也不承擔任何因本軟件而產生的難以預料的問題的相關責任。