基于springboot的宠物领养系统 宠物领养小程序源码

 项目源码获取方式放在文章末尾

一、技术栈

基于springboot的宠物领养系统,宠物领养小程序,前后端分离项目,角色分为管理员和用户

前端:vue框架,微信小程序

后端:Java springboot框架,数据库:mysql。

二、系统功能介绍

管理员功能

c09865d2c3624185b5fa1a48984a0168.jpeg

宠物管理页面

宠物管理页面,管理员在该界面中发布需要领养的宠物的信息,添加之后可以对宠物领养的信息进行编辑,查询和删除。

c3a6632c0416459b97b45233fa354bd3.png

领养记录管理 

管理员在该页面可以对对用户申请领养的宠物进行审核。

cfe847154a074a4e82b4d4b5694f7249.png

 用户功能

宠物领养首页

用户在该页面可以分类查看被领养的宠物,同时可以发布需要领养的宠物。

64f91f58e4da47d1a9d12c6baa81f554.jpeg 735d5ce0ceaf4448a836b49b525e1957.jpeg

申请领养页面

在该页面,用户可以查看宠物的详细信息,同时可以选择申请领养。

 70132b13ac5f444f88a17a44ae8791fe.jpeg66f1b65d53c24e12a3fe07b49b944b35.jpeg

宠物圈页面 

宠物圈类似于朋友圈,用户可以在这里分享宠物的相关动态,其他用户可以浏览,点赞和评论。

d2315fadd7774562ba5d5ddf82df5c94.jpeg0b6352ca8ca24455a4575f67f2ef984e.jpeg

个人中心页面

 2a247a08e13d4da2925de7046de96c11.jpeg

三、部分代码

管理员登录

    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);
    }

四、获取源码

关注,点赞,私信我吧

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值