当前位置:   article > 正文

基于微信小程序的校园快餐配送小程序设计和实现(源码+LW+调试文档)_校园外卖小程序源码

校园外卖小程序源码
完整视频演示:

请联系我获取更详细的演示视频

功能截图:

核心代码参考:  

  1. /**
  2. * 登录相关
  3. */
  4. @RequestMapping("users")
  5. @RestController
  6. public class UserController{
  7. @Autowired
  8. private UserService userService;
  9. @Autowired
  10. private TokenService tokenService;
  11. /**
  12. * 登录
  13. */
  14. @IgnoreAuth
  15. @PostMapping(value = "/login")
  16. public R login(String username, String password, String role, HttpServletRequest request) {
  17. UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
  18. if(user != null){
  19. if(!user.getRole().equals(role)){
  20. return R.error("权限不正常");
  21. }
  22. if(user==null || !user.getPassword().equals(password)) {
  23. return R.error("账号或密码不正确");
  24. }
  25. String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
  26. return R.ok().put("token", token);
  27. }else{
  28. return R.error("账号或密码或权限不对");
  29. }
  30. }
  31. /**
  32. * 注册
  33. */
  34. @IgnoreAuth
  35. @PostMapping(value = "/register")
  36. public R register(@RequestBody UserEntity user){
  37. // ValidatorUtils.validateEntity(user);
  38. if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
  39. return R.error("用户已存在");
  40. }
  41. userService.insert(user);
  42. return R.ok();
  43. }
  44. /**
  45. * 退出
  46. */
  47. @GetMapping(value = "logout")
  48. public R logout(HttpServletRequest request) {
  49. request.getSession().invalidate();
  50. return R.ok("退出成功");
  51. }
  52. /**
  53. * 密码重置
  54. */
  55. @IgnoreAuth
  56. @RequestMapping(value = "/resetPass")
  57. public R resetPass(String username, HttpServletRequest request){
  58. UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
  59. if(user==null) {
  60. return R.error("账号不存在");
  61. }
  62. user.setPassword("123456");
  63. userService.update(user,null);
  64. return R.ok("密码已重置为:123456");
  65. }
  66. /**
  67. * 列表
  68. */
  69. @RequestMapping("/page")
  70. public R page(@RequestParam Map<String, Object> params,UserEntity user){
  71. EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
  72. PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
  73. return R.ok().put("data", page);
  74. }
  75. /**
  76. * 信息
  77. */
  78. @RequestMapping("/info/{id}")
  79. public R info(@PathVariable("id") String id){
  80. UserEntity user = userService.selectById(id);
  81. return R.ok().put("data", user);
  82. }
  83. /**
  84. * 获取用户的session用户信息
  85. */
  86. @RequestMapping("/session")
  87. public R getCurrUser(HttpServletRequest request){
  88. Integer id = (Integer)request.getSession().getAttribute("userId");
  89. UserEntity user = userService.selectById(id);
  90. return R.ok().put("data", user);
  91. }
  92. /**
  93. * 保存
  94. */
  95. @PostMapping("/save")
  96. public R save(@RequestBody UserEntity user){
  97. // ValidatorUtils.validateEntity(user);
  98. if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
  99. return R.error("用户已存在");
  100. }
  101. userService.insert(user);
  102. return R.ok();
  103. }
  104. /**
  105. * 修改
  106. */
  107. @RequestMapping("/update")
  108. public R update(@RequestBody UserEntity user){
  109. // ValidatorUtils.validateEntity(user);
  110. userService.updateById(user);//全部更新
  111. return R.ok();
  112. }
  113. /**
  114. * 删除
  115. */
  116. @RequestMapping("/delete")
  117. public R delete(@RequestBody Integer[] ids){
  118. userService.deleteBatchIds(Arrays.asList(ids));
  119. return R.ok();
  120. }
  121. }

 数据库sql:

  1. DROP TABLE IF EXISTS `users`;
  2. CREATE TABLE `users` (
  3. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  4. `username` varchar(100) NOT NULL COMMENT '用户名',
  5. `password` varchar(100) NOT NULL COMMENT '密码',
  6. `role` varchar(100) DEFAULT '管理员' COMMENT '角色',
  7. `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
  8. PRIMARY KEY (`id`)
  9. ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用户表';
  10. /*Data for the table `users` */
  11. insert into `users`(`id`,`username`,`password`,`role`,`addtime`) values (1,'admin','admin','管理员','2022-05-01 00:00:00');

项目技术介绍:

后端java介绍
Java的主要特点是简单性、面向对象、分布式、健壮性、安全性和可移植性。Java的设计初衷是让程序员能够以优雅的方式编写复杂的程序。它支持 Internet 应用的开发,并内建了网络应用编程接口,极大地便利了网络应用的开发。同时,Java的强类型机制和异常处理功能确保了程序的健壮性。Java分为三个主要版本:Java SE(标准版),主要用于桌面应用程序开发;Java EE(企业版),用于开发企业级应用;Java ME(微型版),专门用于嵌入式系统和移动设备应用开发。这些版本让Java能够适应不同的开发需求。总的来说,Java因其广泛的应用场景和稳定的性能,在全球范围内拥有庞大的开发者社区和支持,各种开源项目也为Java开发提供了极大的便利和资源[^3^]。这使得Java不仅在互联网和企业应用中占据重要地位,还在大数据和Android移动开发中有着广泛应用。

Mysql数据库介绍
MySQL主要用于在各种流行操作系统平台上进行数据存储和管理,采用客户端/服务器模式运行。这种架构支持高效的数据操作和管理,使得MySQL在Web应用、企业应用和移动应用中广泛使用。MySQL使用结构化查询语言(SQL),这是一种标准化的语言,用于访问和维护数据库。由于其开源特性,MySQL对大多数个人用户来说是免费的,并且易于下载和安装。这使得它成为许多中小型企业和开发者的首选数据库系统。 MySQL具有多种显著优点。首先,它支持多线程操作,可以充分利用CPU资源,提高性能。其次,MySQL提供多种API,支持多种编程语言如C、C++、Python、Java等,使其可以轻松集成到不同的应用程序中。此外,MySQL还支持多种存储引擎,如InnoDB和MyISAM,以满足不同的应用需求。

为什么选择我:

   博主自己就是程序员、避免中介对接,从事软件开发多年,累计开发或辅导多名同学, 有丰富的项目开发和文档编写经验、同学们有任何项目问题都可以联系我,Java领域优质创作者、专注于Java技术领域和学生毕业项目实战。

获取源码:

  点击下面的链接获取源码

GitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。icon-default.png?t=N7T8https://gitcode.com/yuanmadd/ymgg/blob/main/README.md?init=initTree

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/1000957
推荐阅读
相关标签
  

闽ICP备14008679号