??博主介紹:?全網(wǎng)粉絲10W+,CSDN全棧領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,博客之星、掘金/華為云/阿里云等平臺(tái)優(yōu)質(zhì)作者。
???? 精彩專欄 推薦訂閱????
計(jì)算機(jī)畢業(yè)設(shè)計(jì)精品項(xiàng)目案例-200套
??文末獲取源碼+數(shù)據(jù)庫+文檔??
感興趣的可以先收藏起來,還有大家在畢設(shè)選題,項(xiàng)目以及論文編寫等相關(guān)問題都可以和學(xué)長溝通,希望幫助更多的人
一.前言
選題背景: 隨著社會(huì)的發(fā)展和教育的進(jìn)步,實(shí)習(xí)已經(jīng)成為大學(xué)生們提升自身能力、鍛煉實(shí)踐技能的重要途徑。而對(duì)于學(xué)校和企業(yè)來說,實(shí)習(xí)考勤管理是一項(xiàng)必不可少的工作。然而,傳統(tǒng)的實(shí)習(xí)考勤方式存在著許多問題,如考勤記錄不準(zhǔn)確、操作繁瑣、易被篡改等。因此,開發(fā)一款高效、便捷的學(xué)生實(shí)習(xí)考勤打卡小程序具有重要的現(xiàn)實(shí)意義。
意義: 首先,學(xué)生實(shí)習(xí)考勤的打卡小程序可以提高考勤記錄的準(zhǔn)確性。傳統(tǒng)的紙質(zhì)考勤方式容易出現(xiàn)人為錯(cuò)誤或記錄遺漏,而小程序可以通過自動(dòng)化的方式進(jìn)行打卡記錄,減少了人為因素的干擾,大大提高了考勤數(shù)據(jù)的準(zhǔn)確性。
其次,該小程序的開發(fā)可以簡化考勤流程,提高工作效率。傳統(tǒng)的考勤方式需要學(xué)生手動(dòng)填寫考勤表格或簽到冊(cè),而小程序可以通過掃碼或點(diǎn)擊按鈕的方式進(jìn)行快速打卡,省去了繁瑣的填寫過程,節(jié)約了時(shí)間和精力。
此外,學(xué)生實(shí)習(xí)考勤的打卡小程序還可以提供數(shù)據(jù)分析和統(tǒng)計(jì)功能,為學(xué)校和企業(yè)提供更全面的考勤信息。通過對(duì)打卡數(shù)據(jù)的分析,可以了解學(xué)生的實(shí)習(xí)情況、出勤率等指標(biāo),幫助學(xué)校和企業(yè)進(jìn)行實(shí)習(xí)管理和評(píng)估。
最后,該小程序的開發(fā)還有助于培養(yǎng)學(xué)生的自律和責(zé)任感。通過使用小程序進(jìn)行打卡,學(xué)生需要按時(shí)按地完成打卡操作,培養(yǎng)了他們的時(shí)間觀念和遵守規(guī)則的意識(shí),提高了他們的自我管理能力。
二.技術(shù)環(huán)境
jdk版本:1.8 及以上
ide工具:Eclipse或者 IDEA,微信小程序開發(fā)工具
數(shù)據(jù)庫: mysql5.7 (必須5.7)
編程語言: Java
java框架:SpringBoot
maven: 3.6.1
詳細(xì)技術(shù):HTML+CSS+JAVA+SpringBoot+MYSQL+VUE+MAVEN+微信開發(fā)工具
三.功能設(shè)計(jì)
本基于微信小程序的學(xué)生實(shí)習(xí)考勤打卡系統(tǒng)分為學(xué)生微信端和管理員服務(wù)端。學(xué)生微信端包括首頁、公告信息、我的等功能。管理員服務(wù)端包括了首頁、個(gè)人中心、學(xué)生管理、實(shí)習(xí)單位管理、實(shí)習(xí)打卡管理、考研申報(bào)管理、找工作申報(bào)管理、系統(tǒng)管理等進(jìn)行管理。系統(tǒng)總體功能結(jié)構(gòu)圖如下所示:
四.數(shù)據(jù)設(shè)計(jì)
開發(fā)一個(gè)系統(tǒng)也需要提前設(shè)計(jì)數(shù)據(jù)庫。這里的數(shù)據(jù)庫是相關(guān)數(shù)據(jù)的集合,存儲(chǔ)在一起的這些數(shù)據(jù)也是按照一定的組織方式進(jìn)行的。目前,數(shù)據(jù)庫能夠服務(wù)于多種應(yīng)用程序,則是源于它存儲(chǔ)方式最佳,具備數(shù)據(jù)冗余率低的優(yōu)勢(shì)。雖然數(shù)據(jù)庫為程序提供信息存儲(chǔ)服務(wù),但它與程序之間也可以保持較高的獨(dú)立性??偠灾瑪?shù)據(jù)庫經(jīng)歷了很長一段時(shí)間的發(fā)展,從最初的不為人知,到現(xiàn)在的人盡皆知,其相關(guān)技術(shù)也越發(fā)成熟,同時(shí)也擁有著堅(jiān)實(shí)的理論基礎(chǔ)。本系統(tǒng)主要實(shí)體屬性圖如下所示:
五.部分效果展示
5.1用戶微信端實(shí)現(xiàn)效果
用戶登錄通過賬號(hào)、密碼頁面,進(jìn)入到系統(tǒng)小程序主界面,進(jìn)入到操作界面,進(jìn)行相對(duì)應(yīng)操作,如下圖所示。
學(xué)生登錄系統(tǒng)后,可以對(duì)首頁、公告信息、我的等功能進(jìn)行詳細(xì)操作,如下圖所示。
找工作申報(bào),在找工作申報(bào)頁面學(xué)生可以申報(bào)自己的工作信息,然后等待管理員審核回復(fù),并可以查看自己的找工作申報(bào)信息,包括學(xué)生姓名、學(xué)號(hào)、頭像、班級(jí)、年級(jí)、專業(yè)、公司名稱、公司地址、出發(fā)日期、結(jié)束日期、申報(bào)時(shí)間、備注、行程、審核回復(fù)等,如下圖所示。
實(shí)習(xí)打卡管理,在實(shí)習(xí)打卡管理頁面學(xué)生可以填寫打卡信息,包括了學(xué)號(hào)、學(xué)生姓名、頭像、班級(jí)、年級(jí)、專業(yè)、單位名稱、單位地址、打卡類型、打卡時(shí)間、備注等信息,如下圖所示。
我的,在我的頁面可以查看實(shí)習(xí)打卡、考研申報(bào)、找工作申報(bào)等詳細(xì)信息進(jìn)行操作,如下圖所示。
5.2后臺(tái)管理端實(shí)現(xiàn)效果
管理員登錄,管理員通過登錄頁面輸入用戶名、密碼,選擇角色并點(diǎn)擊登錄操作,如下圖所示。
管理員登錄系統(tǒng)后,可以對(duì)首頁、個(gè)人中心、學(xué)生管理、實(shí)習(xí)單位管理、實(shí)習(xí)打卡管理、考研申報(bào)管理、找工作申報(bào)管理、系統(tǒng)管理等功能進(jìn)行相應(yīng)操作,如下圖所示。
文章來源:http://www.zghlxwxcb.cn/news/detail-775061.html
六.部分功能代碼
/**
* 權(quán)限(Token)驗(yàn)證
*/
@Component
public class AuthorizationInterceptor implements HandlerInterceptor {
public static final String LOGIN_TOKEN_KEY = "Token";
@Autowired
private TokenService tokenService;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String servletPath = request.getServletPath();
if("/dictionary/page".equals(request.getServletPath()) || "/file/upload".equals(request.getServletPath()) || "/yonghu/register".equals(request.getServletPath()) ){//請(qǐng)求路徑是字典表或者文件上傳 直接放行
return true;
}
//支持跨域請(qǐng)求
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with,request-source,Token, Origin,imgType, Content-Type, cache-control,postman-token,Cookie, Accept,authorization");
response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
IgnoreAuth annotation;
if (handler instanceof HandlerMethod) {
annotation = ((HandlerMethod) handler).getMethodAnnotation(IgnoreAuth.class);
} else {
return true;
}
//從header中獲取token
String token = request.getHeader(LOGIN_TOKEN_KEY);
/**
* 不需要驗(yàn)證權(quán)限的方法直接放過
*/
if(annotation!=null) {
return true;
}
TokenEntity tokenEntity = null;
if(StringUtils.isNotBlank(token)) {
tokenEntity = tokenService.getTokenEntity(token);
}
if(tokenEntity != null) {
request.getSession().setAttribute("userId", tokenEntity.getUserid());
request.getSession().setAttribute("role", tokenEntity.getRole());
request.getSession().setAttribute("tableName", tokenEntity.getTablename());
request.getSession().setAttribute("username", tokenEntity.getUsername());
return true;
}
PrintWriter writer = null;
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json; charset=utf-8");
try {
writer = response.getWriter();
writer.print(JSONObject.toJSONString(R.error(401, "請(qǐng)先登錄")));
} finally {
if(writer != null){
writer.close();
}
}
// throw new EIException("請(qǐng)先登錄", 401);
return false;
}
}
最后
最新計(jì)算機(jī)畢業(yè)設(shè)計(jì)選題篇-選題推薦(值得收藏)
計(jì)算機(jī)畢業(yè)設(shè)計(jì)精品項(xiàng)目案例-200套(值得訂閱)文章來源地址http://www.zghlxwxcb.cn/news/detail-775061.html
到了這里,關(guān)于Java基于微信小程序的大學(xué)生實(shí)習(xí)考勤打卡系統(tǒng)(源碼+LW)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!