文末獲取源碼
開發語言:Java
框架:SSM
JDK版本:JDK1.8
數據庫:mysql 5.7
開發軟件:eclipse/myeclipse/idea
Maven包:Maven3.5.4
小程序框架:uniapp
小程序開發軟件:HBuilder X
小程序運行軟件:微信開發者
目錄
前言
系統展示
學生前端功能模塊
教師前端功能模塊
管理員后端功能界面
代碼實現
登錄功能實現代碼
注冊功能實現代碼
密碼重置功能實現代碼
修改信息功能實現代碼
刪除信息功能實現代碼
保存信息功能實現代碼
前言
隨著社會的發展,社會的方方面面都在利用信息化時代的優勢。互聯網的優勢和普及使得各種系統的開發成為必需。
本文以實際運用為開發背景,運用軟件工程原理和開發方法,它主要是采用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();}