基于微信小程序的青少年素質(zhì)教育培訓(xùn)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼+LW文檔
小程序開發(fā)說明
開發(fā)語言:Java
框架:ssm
JDK版本:JDK1.8
服務(wù)器:tomcat7
數(shù)據(jù)庫:mysql 5.7(一定要5.7版本)
數(shù)據(jù)庫工具:Navicat11
開發(fā)軟件:eclipse/myeclipse/idea
Maven包:Maven3.3.9
瀏覽器:谷歌瀏覽器
小程序框架:uniapp
小程序開發(fā)軟件:HBuilder X
小程序運(yùn)行軟件:微信開發(fā)者
數(shù)據(jù)庫:
DROP TABLE IF EXISTS `storeup`;
/*!40101 SET @saved_cs_client? ? ?= @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `storeup` (
? `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
? `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
? `userid` bigint(20) NOT NULL COMMENT '用戶id',
? `refid` bigint(20) DEFAULT NULL COMMENT '收藏id',
? `tablename` varchar(200) DEFAULT NULL COMMENT '表名',
? `name` varchar(200) NOT NULL COMMENT '收藏名稱',
? `picture` varchar(200) NOT NULL COMMENT '收藏圖片',
? `type` varchar(200) DEFAULT '1' COMMENT '類型(1:收藏,21:贊,22:踩)',
? `inteltype` varchar(200) DEFAULT NULL COMMENT '推薦類型',
? PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1648964400963 DEFAULT CHARSET=utf8 COMMENT='收藏表';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `storeup`
--
LOCK TABLES `storeup` WRITE;
/*!40000 ALTER TABLE `storeup` DISABLE KEYS */;
INSERT INTO `storeup` VALUES (1648964342185,'2022-04-03 05:39:01',1648964299666,34,'jiaoxuexinxi','課程名稱4','upload/jiaoxuexinxi_kechengtupian4.jpg','1',NULL),(1648964400962,'2022-04-03 05:40:00',1648964299666,1648964187595,'jiaoxuexinxi','xxxx','upload/1648964183386.png','1',NULL);
/*!40000 ALTER TABLE `storeup` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `token`
--
DROP TABLE IF EXISTS `token`;
/*!40101 SET @saved_cs_client? ? ?= @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `token` (
? `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
? `userid` bigint(20) NOT NULL COMMENT '用戶id',
? `username` varchar(100) NOT NULL COMMENT '用戶名',
? `tablename` varchar(100) DEFAULT NULL COMMENT '表名',
? `role` varchar(100) DEFAULT NULL COMMENT '角色',
? `token` varchar(200) NOT NULL COMMENT '密碼',
? `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增時(shí)間',
? `expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '過期時(shí)間',
? PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='token表';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `token`
--
LOCK TABLES `token` WRITE;
/*!40000 ALTER TABLE `token` DISABLE KEYS */;
INSERT INTO `token` VALUES (1,1648964148538,'222','jiaoshi','教師','dzw1i1xxfrbbjkweez1bvz4hxe88x6d5','2022-04-03 05:35:53','2022-04-03 06:41:08'),(2,1,'abo','users','管理員','8b2i8y9mg6tcdzp5p710tsuwtfcbamv2','2022-04-03 05:36:58','2022-04-03 06:36:58'),(3,1648964299666,'111','xuesheng','學(xué)生','2eeyu5biiv7o4i8tqm7dcjv1l108xokf','2022-04-03 05:38:43','2022-04-03 06:42:07');
/*!40000 ALTER TABLE `token` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `users`
--
DROP TABLE IF EXISTS `users`;
/*!40101 SET @saved_cs_client? ? ?= @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `users` (
? `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
? `username` varchar(100) NOT NULL COMMENT '用戶名',
? `password` varchar(100) NOT NULL COMMENT '密碼',
? `role` varchar(100) DEFAULT '管理員' COMMENT '角色',
? `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增時(shí)間',
? PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用戶表';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `users`
--
LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` VALUES (1,'abo','abo','管理員','2022-04-03 03:19:50');
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `xuesheng`
--
DROP TABLE IF EXISTS `xuesheng`;
/*!40101 SET @saved_cs_client? ? ?= @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `xuesheng` (
? `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
? `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
? `xuehao` varchar(200) NOT NULL COMMENT '學(xué)號',
? `mima` varchar(200) NOT NULL COMMENT '密碼',
? `xingming` varchar(200) NOT NULL COMMENT '姓名',
? `xingbie` varchar(200) DEFAULT NULL COMMENT '性別',
? `shouji` varchar(200) DEFAULT NULL COMMENT '手機(jī)',
? `touxiang` varchar(200) DEFAULT NULL COMMENT '頭像',
? PRIMARY KEY (`id`),
? UNIQUE KEY `xuehao` (`xuehao`)
) ENGINE=InnoDB AUTO_INCREMENT=1648964299667 DEFAULT CHARSET=utf8 COMMENT='學(xué)生';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `xuesheng`
--
LOCK TABLES `xuesheng` WRITE;
/*!40000 ALTER TABLE `xuesheng` DISABLE KEYS */;
INSERT INTO `xuesheng` VALUES (11,'2022-04-03 03:19:49','學(xué)號1','123456','姓名1','男','13823888881','upload/xuesheng_touxiang1.jpg'),(12,'2022-04-03 03:19:49','學(xué)號2','123456','姓名2','男','13823888882','upload/xuesheng_touxiang2.jpg'),(13,'2022-04-03 03:19:49','學(xué)號3','123456','姓名3','男','13823888883','upload/xuesheng_touxiang3.jpg'),(14,'2022-04-03 03:19:49','學(xué)號4','123456','姓名4','男','13823888884','upload/xuesheng_touxiang4.jpg'),(15,'2022-04-03 03:19:49','學(xué)號5','123456','姓名5','男','13823888885','upload/xuesheng_touxiang5.jpg'),(16,'2022-04-03 03:19:49','學(xué)號6','123456','姓名6','男','13823888886','upload/xuesheng_touxiang6.jpg'),(1648964299666,'2022-04-03 05:38:19','111','111','張三','男','18154541454','upload/1648964372486.png');
/*!40000 ALTER TABLE `xuesheng` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
代碼:
/**
?* 登錄相關(guān)
?*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登錄
*/
@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();
? ? }
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
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("/page")
? ? public R page(@RequestParam Map<String, Object> params,UserEntity user){
? ? ? ? EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
? ? PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
? ? ? ? return R.ok().put("data", page);
? ? }
/**
? ? ?* 列表
? ? ?*/
? ? @RequestMapping("/list")
? ? public R list( UserEntity user){
? ? ? ? EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
? ? ? ew.allEq(MPUtil.allEQMapPre( user, "user"));?
? ? ? ? return R.ok().put("data", userService.selectListView(ew));
? ? }
? ? /**
? ? ?* 信息
? ? ?*/
? ? @RequestMapping("/info/{id}")
? ? public R info(@PathVariable("id") String id){
? ? ? ? UserEntity user = userService.selectById(id);
? ? ? ? return R.ok().put("data", user);
? ? }
? ??
? ? /**
? ? ?* 獲取用戶的session用戶信息
? ? ?*/
? ? @RequestMapping("/session")
? ? public R getCurrUser(HttpServletRequest request){
? ? Long id = (Long)request.getSession().getAttribute("userId");
? ? ? ? UserEntity user = userService.selectById(id);
? ? ? ? return R.ok().put("data", user);
? ? }


