项目源码获取方式放在文章末尾
一、技术栈
基于springboot的宠物领养系统,宠物领养小程序,前后端分离项目,角色分为管理员和用户
前端:vue框架,微信小程序
后端:Java springboot框架,数据库:mysql。
二、系统功能介绍
管理员功能
宠物管理页面
宠物管理页面,管理员在该界面中发布需要领养的宠物的信息,添加之后可以对宠物领养的信息进行编辑,查询和删除。
领养记录管理
管理员在该页面可以对对用户申请领养的宠物进行审核。
用户功能
宠物领养首页
用户在该页面可以分类查看被领养的宠物,同时可以发布需要领养的宠物。
申请领养页面
在该页面,用户可以查看宠物的详细信息,同时可以选择申请领养。
宠物圈页面
宠物圈类似于朋友圈,用户可以在这里分享宠物的相关动态,其他用户可以浏览,点赞和评论。
个人中心页面
三、部分代码
管理员登录
public JsonResult login(Admin params) {
// 首先验证用户是否存在
QueryWrapper<Admin> userQueryWrapper = new QueryWrapper<>();
userQueryWrapper.eq("username", params.getUsername());
Admin user = adminMapper.selectOne(userQueryWrapper);
if (user == null) {
return JsonResult.error("用户不存在");
}
// 验证密码是否正确
if (!params.getPassword().equals(user.getPassword())) {
return JsonResult.error("密码错误");
}
try {
// 生成 token
String token = tokenUtils.generateToken(params.getUsername());
// 将 token 和其他信息组合成一个对象
Map<String, Object> result = new HashMap<>();
result.put("token", "Bearer " + token);
result.put("userInfo", params.getUsername()); // 通常是返回用户ID或相关属性,而不是明文用户名
// 返回成功结果
return new JsonResult(result, "登录成功");
} catch (Exception e) {
// 异常处理,返回错误信息
return JsonResult.error("登录时发生错误:" + e.getMessage());
}
}
用户注册
public JsonResult register(User params) {
if (params.getUsername() == null || params.getUsername().isEmpty()) {
return JsonResult.error("用户名不能为空");
}
// 首先验证用户是否存在
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("username", params.getUsername());
User findData = userMapper.selectOne(queryWrapper);
if (findData != null) {
return login(params);
}
// 执行注册逻辑
// 自动生成昵称和头像
String nickname = "pet" + ((int) (Math.random() * 9000) + 1000);
String avatar = "/public/avatar.png";
LocalDateTime currentTime = LocalDateTime.now();
params.setNickname(nickname);
params.setAvatar(avatar);
params.setCreated(currentTime);
userMapper.insert(params);
// 注册成功后立即登录
return login(params);
}
四、获取源码
关注,点赞,私信我吧