目录
系统框架
系统采用前端、后端、mysql数据库的模式进行代码分层开发,方便代码的维护和功能的扩展,下面是系统架构设计图:
运行环境
开发语言:Java
数据库:MySQL
系统架构:B/S
后端:SpringBoot
前端:Vue
工具:IDEA,JDK1.8,Maven
功能介绍及页面
用户
微信端用户
1、注册,上传个人信息
2、个人中心,修改个人信息及密码
3、商品信息,查看商品信息和商品分类,根据点击量推荐,可以收藏,评论
4、交流论坛,可以发帖交流,可以评论
5、留言板,可以留言反馈问题,等待回复
6、公告资讯,查看发布的公告资讯信息
网页端管理员
1、个人中心,修改个人信息及密码
2、用户管理,新增修改删除用户信息
3、商品分类管理,新增修改删除商品分类
4、商品信息管理,新增修改删除商品信息,查看评论
5、留言板,查看用户留言信息,回复留言
6、交流论坛,查看用户发布的帖子,查看评论
7、系统管理,新增修改删除公告信息,修改轮播图信息
项目技术介绍:
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,以满足不同的应用需求。
核心代码参考
/**
* 登录相关
*/
@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 role, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user != null){
if(!user.getRole().equals(role)){
return R.error("权限不正常");
}
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);
}else{
return R.error("账号或密码或权限不对");
}
}
/**
* 注册
*/
@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");
}
/**
* 列表
*/
数据库sql
DROP TABLE IF EXISTS `users`;
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 '新增时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用户表';
/*Data for the table `users` */
insert into `users`(`id`,`username`,`password`,`role`,`addtime`) values (1,'admin','admin','管理员','2022-05-01 00:00:00');
为什么选我
博主是从事软件开发多年的学长,和小伙伴一起接点单,纯个人,避免中介对接累计开发或辅导多名同学,有丰富的项目开发和文档编写经验、同学们有任何项目问题都可以联系我,专注于学生毕业项目实战。
获取码源
文章下方名片联系我即可~
大家点赞、收藏、关注、评论啦 、查看👇🏻点击获取联系方式👇🏻,暗号:000
V:Hwkj0101