博主主頁:一季春秋
博主簡介:專注Java技術(shù)領(lǐng)域和畢業(yè)設(shè)計項目實戰(zhàn)、Java、微信小程序、安卓等技術(shù)開發(fā),遠程調(diào)試部署、代碼講解、文檔指導(dǎo)、ppt制作等技術(shù)指導(dǎo)。
主要內(nèi)容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、小程序、安卓app、大數(shù)據(jù)等設(shè)計與開發(fā)。感興趣的可以收藏+關(guān)注,所有項目均配有開發(fā)文檔,一系列安裝配置教程,可以定制功能包安裝運行??!
??文末獲取聯(lián)系??
系統(tǒng)介紹
課題主要采用Uni-weixin、SpringBoot架構(gòu)技術(shù),前端以小程序頁面呈現(xiàn)給學(xué)生,結(jié)合后臺java語言使頁面更加完善,后臺使用MySQL數(shù)據(jù)庫進行數(shù)據(jù)存儲。微信小程序主要包括學(xué)生信息、校園簡介、建筑速看、系統(tǒng)信息等功能,從而實現(xiàn)智能化的管理方式,提高工作效率。
系統(tǒng)主要技術(shù)?
開發(fā)語言:Java
使用框架:spring boot
前端技術(shù):JavaScript、Vue?、css3
開發(fā)工具:IDEA/MyEclipse/Eclipse、Visual Studio Code
數(shù)據(jù)庫:MySQL 5.7/8.0
數(shù)據(jù)庫管理工具:phpstudy/Navicat
JDK版本:jdk1.8
Maven: apache-maven 3.8.1-bin
系統(tǒng)展示
本次系統(tǒng)所涉及到的有關(guān)的功能,都是用功能結(jié)構(gòu)圖來簡潔和清晰的表示出來,功能結(jié)構(gòu)圖就是能夠把比較復(fù)雜的功能結(jié)構(gòu)用圖的形式清晰的描繪下來,并且為后續(xù)的設(shè)計以及測試等模塊提供了明確的方向,在構(gòu)思功能結(jié)構(gòu)圖的時候,便可以給設(shè)計的過程帶來一定的思維導(dǎo)向,不至于在設(shè)計過程中有所遺漏,可以盡可能的明確系統(tǒng)所涉及到的功能。
系統(tǒng)的功能結(jié)構(gòu)圖如圖4-1所示。
5.1小程序端功能的實現(xiàn)
注冊界面,第一次使用本小程序的使用者,首先是要進行注冊,點擊“注冊”,然后就會進入到注冊的頁面里面,將學(xué)生信息錄入注冊表,確認信息正確后,頁面才會跳轉(zhuǎn)到登錄界面,學(xué)生登錄成功后可使用本小程序所提供的所有功能,如圖5-1所示。
圖5-1 學(xué)生注冊界面
登錄界面,首先雙擊打開微信小程序端系統(tǒng),連上網(wǎng)絡(luò)之后會顯示出本系統(tǒng)的登錄界面,這是進入小程序的第初始頁面“登錄”,能成功進入到該登錄界面則代表小程序的開啟是成功的,接下來就可以操作本系統(tǒng)所帶有的其他所有的功能,如圖5-2所示。
圖5-2學(xué)生登錄界面
系統(tǒng)首頁是學(xué)生注冊登錄后進入的第一個界面,學(xué)生可通過小程序端首頁進入對應(yīng)的頁面或者通過小程序最下面的那一行導(dǎo)航欄中的“首頁、建筑速看、地圖、校園公告、我的”,也可以點擊“我的”進入我的頁面,在我的頁面可以對校園簡介、我的收藏管理、留言咨詢等進行詳細操作,如圖5-3所示。
圖5-3小程序首頁界面圖
學(xué)生點擊建筑速看,在建筑速看頁面的搜索欄輸入建筑名稱,進行查詢,還可以查看建筑名稱、照片、樓層數(shù)、建筑面積、地點、建立時間、使用用途等詳情,按照提示即可收藏等。如圖5-4所示。
圖5-4建筑速看界面圖
學(xué)生點擊地圖,然后頁面跳到地址搜索等詳情,按照提示即可導(dǎo)航等操作。如圖5-5所示。
圖5-5地圖界面圖
在我的功能界面,學(xué)生點擊“我的”進入我的頁面,在我的頁面可以對校園簡介、我的收藏管理、留言咨詢等進行詳細操作,如圖5-6所示。
??????????????????
圖5-6我的功能界面圖
5.2 服務(wù)端功能的實現(xiàn)
管理員的登陸界面包括管理員的賬號、密碼,其中就是已有的賬號,還有需要注冊的賬號。只要管理員在賬號上注冊,注冊信息就會被錄入 MySQL數(shù)據(jù)庫,有一個資料庫,只要輸入成功,就可以登陸,然后進入主頁的管理。管理員登錄界面如圖5-7所示。
?? 圖5-7 管理員登錄界面圖
管理員登錄到校園導(dǎo)航微信小程序可以查看系統(tǒng)首頁、個人中心、學(xué)生管理、校園簡介管理、建筑速看管理、系統(tǒng)管理等功能進行詳細操作,如圖5-8所示。
圖5-8管理員功能界面圖
管理員點擊學(xué)生管理;在學(xué)生管理頁面輸入學(xué)號、學(xué)生姓名、性別、頭像、學(xué)生手機、年級、密保問題、密保答案等信息,進行查詢,新增或刪除學(xué)生信息等操作;如圖5-9所示。
圖5-9學(xué)生管理界面圖
管理員點擊校園簡介管理;在校園簡介管理頁面輸入學(xué)校名稱、封面、聯(lián)系電話、聯(lián)系人、學(xué)校類型、學(xué)校地址等信息,進行查詢,新增或刪除校園簡介等操作;如圖5-10所示。
圖5-10校園簡介管理界面圖
管理員點擊建筑速看管理;在建筑速看管理頁面輸入建筑名稱、照片、樓層數(shù)、建筑面積、地點、建立時間、使用用途等信息,進行查詢或刪除建筑速看等操作;如圖5-11所示。
圖5-11建筑速看管理界面圖
管理員點擊系統(tǒng)管理;在系統(tǒng)管理頁面輸入留言咨詢、智能助手、關(guān)于我們、輪播圖管理、系統(tǒng)簡介、校園公告等信息,進行查詢或刪除系統(tǒng)信息等操作;如圖5-12所示。
文章來源:http://www.zghlxwxcb.cn/news/detail-838721.html
圖5-12系統(tǒng)管理界面圖文章來源地址http://www.zghlxwxcb.cn/news/detail-838721.html
部分核心代碼
/**
* 登錄相關(guān)
*/
@RequestMapping("users")
@RestController
public class UsersController {
@Autowired
private UsersService usersService;
@Autowired
private TokenService tokenService;
/**
* 登錄
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("賬號或密碼不正確");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
R r = R.ok();
r.put("token", token);
r.put("role",user.getRole());
r.put("userId",user.getId());
return r;
}
/**
* 注冊
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UsersEntity user){
// ValidatorUtils.validateEntity(user);
if(usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用戶已存在");
}
usersService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 修改密碼
*/
@GetMapping(value = "/updatePassword")
public R updatePassword(String oldPassword, String newPassword, HttpServletRequest request) {
UsersEntity users = usersService.selectById((Integer)request.getSession().getAttribute("userId"));
if(newPassword == null){
return R.error("新密碼不能為空") ;
}
if(!oldPassword.equals(users.getPassword())){
return R.error("原密碼輸入錯誤");
}
if(newPassword.equals(users.getPassword())){
return R.error("新密碼不能和原密碼一致") ;
}
users.setPassword(newPassword);
usersService.updateById(users);
return R.ok();
}
/**
* 密碼重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
if(user==null) {
return R.error("賬號不存在");
}
user.setPassword("123456");
usersService.update(user,null);
return R.ok("密碼已重置為:123456");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UsersEntity user){
EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
PageUtils page = usersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UsersEntity user){
EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", usersService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UsersEntity user = usersService.selectById(id);
return R.ok().put("data", user);
}
/**
* 獲取用戶的session用戶信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Integer id = (Integer)request.getSession().getAttribute("userId");
UsersEntity user = usersService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody UsersEntity user){
// ValidatorUtils.validateEntity(user);
if(usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用戶已存在");
}
usersService.insert(user);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UsersEntity user){
// ValidatorUtils.validateEntity(user);
usersService.updateById(user);//全部更新
return R.ok();
}
/**
* 刪除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
List<UsersEntity> user = usersService.selectList(null);
if(user.size() > 1){
usersService.deleteBatchIds(Arrays.asList(ids));
}else{
return R.error("管理員最少保留一個");
}
return R.ok();
}
}
到了這里,關(guān)于基于SpringBoot+Vue校園導(dǎo)航微信小程序的設(shè)計與實現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!