文末獲取源碼
開發語言:Java
框架:SSM
JDK版本:JDK1.8
數據庫:mysql 5.7
開發軟件:eclipse/myeclipse/idea
Maven包:Maven3.5.4
小程序框架:uniapp
小程序開發軟件:HBuilder X
小程序運行軟件:微信開發者
目錄
前言
系統展示
管理員功能實現
教師管理
課程分類管理
學生管理
作業信息管理
課程資源管理
教師功能實現
課程信息
課程資源
作業信息
學生信息
學生功能實現
課程資源
課程信息
作業信息
代碼實現
登錄功能實現代碼
注冊功能實現代碼
密碼重置功能實現代碼
修改信息功能實現代碼
刪除信息功能實現代碼
保存信息功能實現代碼
前言
由于APP軟件在開發以及運營上面所需成本較高,而用戶手機需要安裝各種APP軟件,因此占用用戶過多的手機存儲空間,導致用戶手機運行緩慢,體驗度比較差,進而導致用戶會卸載非必要的APP,倒逼管理者必須改變運營策略。隨著微信小程序的出現,解決了用戶非獨立APP不可訪問內容的痛點,所以很多APP軟件都轉向微信小程序。本次課題就運用了微信小程序技術開發一個基于微信小程序的移動學習平臺。
基于微信小程序的移動學習平臺借助微信開發者工具開發用戶前端,使用SSM框架和Java語言開發管理員后臺,使用Mysql創建數據表保存本系統產生的數據。系統可以提供信息顯示和相應服務,其管理員對教師,課程分類,班級,課程,學生信息進行管理,審核學生作業,管理課程資源。教師查看課程,班級,學生,審核學生作業,管理課程資源。學生新增作業,查看作業審核信息,收藏或評論課程資源,查看班級和課程。
總之,基于微信小程序的移動學習平臺使得學生通過小程序就能學習課程,上交作業,教師通過小程序也能審核作業,管理課程資源。
系統展示
管理員功能實現
教師管理
管理員進入指定功能操作區之后可以管理教師。其頁面見下圖。管理員增刪改查教師信息,查看教師詳情。
課程分類管理
管理員進入指定功能操作區之后可以管理課程分類。其頁面見下圖。管理員增刪改查課程分類信息。
學生管理
管理員進入指定功能操作區之后可以管理學生。其頁面見下圖。管理員增刪改查學生信息,查看學生詳情信息。
?
作業信息管理
管理員進入指定功能操作區之后可以管理學生作業。其頁面見下圖。管理員增刪改查學生作業,查看學生作業詳情,審核學生的作業。
?
課程資源管理
管理員進入指定功能操作區之后可以管理課程資源。其頁面見下圖。管理員增刪改查課程資源信息,查看學生提交的課程資源評論信息。
?
教師功能實現
課程信息
教師進入指定功能操作區之后可以查看課程信息。其頁面見下圖。教師提交班級名稱查詢對應的課程,教師點擊課程信息即可查看課程詳細內容。
?
課程資源
教師進入指定功能操作區之后可以管理課程資源。其頁面見下圖。教師新增課程資源,提交課程名稱獲取對應的課程資源,修改,刪除頁面內顯示的課程資源信息。
?
作業信息
教師進入指定功能操作區之后可以審核學生作業。其頁面見下圖。教師提交學生的名字查詢其上交的作業,并對學生作業進行審核。
?
學生信息
教師進入指定功能操作區之后可以查看學生。其頁面見下圖。教師通過學號獲取學生信息,點擊學生頭像查看學生介紹。
?
學生功能實現
課程資源
學生進入指定功能操作區之后可以查看課程資源信息。其頁面見下圖。學生在查看課程資源介紹信息時,可以點擊紅色五角星收藏課程資源,可以點贊或提交評論。
?
課程信息
學生進入指定功能操作區之后可以查看課程信息。其頁面見下圖。學生查看課程明細時,可以在頁面底端發布課程留言。
?
作業信息
學生進入指定功能操作區之后可以新增作業。其頁面見下圖。學生新增作業,刪除頁面上顯示的作業,點擊學生頭像查看教師對學生作業的審核情況。
?
代碼實現
登錄功能實現代碼
@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){
// ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用戶已存在");}userService.insert(user);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("/update")public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {return R.error("用戶名已存在。");}userService.updateById(user);//全部更新return R.ok();}
刪除信息功能實現代碼
@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
保存信息功能實現代碼
@PostMapping("/save")public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用戶已存在");}userService.insert(user);return R.ok();}