項目編號: S 049 ,文末獲取源碼。 \color{red}{項目編號:S049,文末獲取源碼。} 項目編號:S049,文末獲取源碼。
一、摘要
1.1 項目介紹
基于JAVA+Vue+SpringBoot+MySQL的創(chuàng)意工坊雙創(chuàng)管理系統,包含了講座管理、消息管理、項目管理、公共空間、房間預約、團隊管理模塊,還包含系統自帶的用戶管理、部門管理、角色管理、菜單管理、日志管理、數據字典管理、文件管理、圖表展示等基礎模塊,創(chuàng)意工坊雙創(chuàng)管理系統基于角色的訪問控制,給工坊管理員、教師和學生角色使用,可將權限精確到按鈕級別,您可以自定義角色并分配權限,系統適合設計精確的權限約束需求。
1.2 項目錄屏
源碼下載
二、功能模塊
2.1 管理員端
按照軟件工程規(guī)范描述管理員端需求,細化用例規(guī)約,合理設計數據庫,實現管理員端以下功能。
- 注冊登錄注銷功能:管理員需要登錄管理員賬號,可以對系統的所有事務進行管理;用戶端即教師和學生通過工號或學號進行注冊登錄,其中web端的安全驗證采用圖片或者驗證碼形式,微信小程序端安全驗證采用短信驗證碼形式。
- 權限設置功能:對不同的角色設置管理權限。
- 基本信息管理:教師、學生可查看、補充基本信息。
- 基礎信息導入:學生信息的批量導入。
- 各模板后臺管理:項目管理、團隊管理、房間預約、講座信息等模塊相關數據存儲、后臺展示、審核。
- 大數據分析模塊:分類統計各功能模塊信息,并做可視化展示。
- 留言管理:學生可進行留言,或者投訴與建議。
- 查詢功能:用戶可對平臺內容進行查詢。
- 消息通知功能:管理員對不良、不合法言論的賬戶予以警告通知;對即將使用的公共空間、講座信息進行提醒。
2.2 Web 端
按照軟件工程規(guī)范描述web端需求,細化用例規(guī)約,合理設計數據庫,實現web端以下功能。
- 主頁(首頁)功能:項目管理、團隊管理、房間預約、講座信息、留言區(qū)、個人中心等頁面設計。
- 公共空間管理:學生可查看公共空間信息,并進行預約;教師管理員可以發(fā)布信息,查看信息,審核管理。
- 講座雙選管理:雙創(chuàng)導師可以發(fā)布講座信息;學生可以查看講座活動信息,查看、申請參加活動;講師可以查看學生選報情況。
- 項目管理:學生申報項目,包括創(chuàng)新、創(chuàng)業(yè)、競賽類項目;由導師或者管理員進行審核;學生可以查看進度條,清晰地了解狀態(tài)。
- 房間預約:學生可以預約場地使用;可以查看進度條,看審批狀態(tài)。
- 團隊管理:學生可以自由組建團隊;也可以由導師指定團隊。
- 留言功能:學生可以對相關信息進行留言、評論。
- 個人信息管理:學生可以查看個人信息,并可進行修改。
- 消息通知功能:管理員對不良、不合法言論的賬戶予以警告通知;對其預約過并即將使用場地、講座等重要信息進行提醒。
- 用戶點贊、收藏功能:對體驗感友好的事件可以點贊、收藏。
2.3 移動端
按照軟件工程規(guī)范描述移動端需求,細化用例規(guī)約,合理設計數據庫,實現移動端以下功能。
- 主頁(首頁)功能:項目管理、團隊管理、房間預約、講座信息、留言區(qū)、個人中心等頁面設計。
- 公共空間管理;學生可查看公共空間信息,并進行預約;教師管理員可以發(fā)布信息,查看信息,審核管理。
- 講座雙選管理:雙創(chuàng)導師可以發(fā)布講座信息:學生可以查看講座活動信息,查看、申請參加活動﹔講師可以查看學生選報情況。
- 項目管理:學生申報項目,包括創(chuàng)新、創(chuàng)業(yè)、競賽類項目;由導師或者管理員進行審核:學生可以查看進度條,清晰地了解狀態(tài)。
- 房間預約:學生可以預約場地使用;可以查看進度條,看審批狀態(tài)。
- 團隊管理:學生可以自由組建團隊;也可以由導師指定團隊。
- 留言功能:學生可以對相關信息進行留言、評論。
- 個人信息管理:學生可以查看個人信息,并可進行修改。
- 消息通知功能:管理員對不良、不合法言論的賬戶予以警告通知:對其預約過并即將使用場地、講座等重要信息.進行提醒。
- 用戶點贊、收藏功能,對體驗感友好的事件可以點贊、收藏。
三、系統展示
文章來源:http://www.zghlxwxcb.cn/news/detail-754608.html
四、核心代碼
4.1 查詢項目
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查詢項目")
public Result<IPage<Project>> getByPage(@ModelAttribute Project project ,@ModelAttribute PageVo page){
QueryWrapper<Project> qw = new QueryWrapper<>();
if(!ZwzNullUtils.isNull(project.getTitle())) {
qw.like("title",project.getTitle());
}
if(!ZwzNullUtils.isNull(project.getUserName())) {
qw.like("user_name",project.getUserName());
}
IPage<Project> data = iProjectService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<Project>>().setData(data);
}
4.2 移動端新增團隊
@RequestMapping(value = "/insertApp", method = RequestMethod.GET)
@ApiOperation(value = "新增團隊")
public Result<Team> insertApp(@RequestParam String title,@RequestParam String content){
Team team = new Team();
team.setTitle(title);
team.setContent(content);
User currUser = securityUtil.getCurrUser();
team.setUserId(currUser.getId());
team.setUserName(currUser.getNickname());
team.setTime(DateUtil.now());
iTeamService.saveOrUpdate(team);
return new ResultUtil<Team>().setData(team);
}
4.3 查詢講座
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查詢講座")
public Result<IPage<Lecture>> getByPage(@ModelAttribute Lecture lecture ,@ModelAttribute PageVo page){
QueryWrapper<Lecture> qw = new QueryWrapper<>();
User currUser = securityUtil.getCurrUser();
if(!ZwzNullUtils.isNull(lecture.getTitle())) {
qw.like("title",lecture.getTitle());
}
if(!ZwzNullUtils.isNull(lecture.getContent())) {
qw.like("content",lecture.getContent());
}
IPage<Lecture> data = iLectureService.page(PageUtil.initMpPage(page),qw);
for (Lecture vo : data.getRecords()) {
QueryWrapper<Good> goodQw = new QueryWrapper<>();
goodQw.eq("lecture_id",vo.getId());
goodQw.eq("user_id",currUser.getId());
vo.setGood(iGoodService.count(goodQw));
QueryWrapper<Collect> collectQw = new QueryWrapper<>();
collectQw.eq("lecture_id",vo.getId());
collectQw.eq("user_id",currUser.getId());
vo.setCollect(iCollectService.count(collectQw));
}
return new ResultUtil<IPage<Lecture>>().setData(data);
}
4.4 講座收藏
@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "新增單條收藏")
public Result<Object> addOne(@RequestParam String id){
Lecture l = iLectureService.getById(id);
if(l == null) {
return ResultUtil.error("講座不存在");
}
User currUser = securityUtil.getCurrUser();
QueryWrapper<Collect> collectQw = new QueryWrapper<>();
collectQw.eq("lecture_id",id);
collectQw.eq("user_id",currUser.getId());
if(iCollectService.count(collectQw) > 0L) {
iCollectService.remove(collectQw);
return ResultUtil.success();
}
Collect collect = new Collect();
collect.setLectureId(id);
collect.setLectureName(l.getName());
collect.setUserId(currUser.getId());
collect.setUserName(currUser.getNickname());
collect.setTime(DateUtil.now());
iCollectService.saveOrUpdate(collect);
return ResultUtil.success();
}
4.5 小程序登錄
<swiper class="swiper-box" current="{{currentTab}}" duration="300" style="height:420px" bindchange="GetCurrentTab" data-current='6' >
<swiper-item wx:for="{{tabCont}}" wx:key="item.index">
<view wx:if="{{item.index==0}}">
<!-- 賬號 -->
<view class="section">
<input placeholder="手機號" bindblur="logincode" />
</view>
<!-- 密碼 -->
<view class="section">
<input placeholder="登入密碼" bindblur="loginpassword" password="true" />
</view>
<view class="section"></view>
<!-- 提交按鈕 -->
<view wx:if='{{islogin==""}}' class='btn_box' >
<button type="primary" bindtap="loginTo" >登錄</button>
</view>
<!-- 退出按鈕 -->
<view wx:else class='btn_box'>
<button type="primary" bindtap="returnmain" >退出</button>
</view>
</view>
</swiper-item>
五、免責說明
- 本項目僅供個人學習使用,商用授權請聯系博主,否則后果自負。
- 博主擁有本軟件構建后的應用系統全部內容所有權及獨立的知識產權,擁有最終解釋權。
- 如有問題,歡迎在倉庫 Issue 留言,看到后會第一時間回復,相關意見會酌情考慮,但沒有一定被采納的承諾或保證。
下載本系統代碼或使用本系統的用戶,必須同意以下內容,否則請勿下載!文章來源地址http://www.zghlxwxcb.cn/news/detail-754608.html
- 出于自愿而使用/開發(fā)本軟件,了解使用本軟件的風險,且同意自己承擔使用本軟件的風險。
- 利用本軟件構建的網站的任何信息內容以及導致的任何版權糾紛和法律爭議及后果和博主無關,博主對此不承擔任何責任。
- 在任何情況下,對于因使用或無法使用本軟件而導致的任何難以合理預估的損失(包括但不僅限于商業(yè)利潤損失、業(yè)務中斷與業(yè)務信息丟失),博主概不承擔任何責任。
- 必須了解使用本軟件的風險,博主不承諾提供一對一的技術支持、使用擔保,也不承擔任何因本軟件而產生的難以預料的問題的相關責任。
到了這里,關于【開源】基于Vue和SpringBoot的創(chuàng)意工坊雙創(chuàng)管理系統的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!