宠物救助系统设计与实现

随着社会对动物保护意识的提高,流浪猫狗的救助活动变得愈发重要。为了更好地帮助这些无家可归的小生命,我们设计并实现了一个基于Spring Boot和Vue的宠物救助系统。本系统主要功能包括流浪动物的发布、领养、救助信息的管理等,以下是系统的设计思路与实现过程。

系统架构

本系统采用前后端分离的架构,前端使用Vue.js,后端使用Spring Boot框架。数据库使用MySQL存储用户信息和流浪动物的相关数据。

数据库设计

首先,我们设计数据库表。核心的表有 UserAnimalRescueRequest,它们分别存储用户信息、流浪动物信息和救助请求信息。

CREATE TABLE User (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(50) NOT NULL,
    email VARCHAR(50) NOT NULL
);

CREATE TABLE Animal (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    type ENUM('Cat', 'Dog') NOT NULL,
    age INT NOT NULL,
    description TEXT,
    status ENUM('Available', 'Adopted', 'In Rescue') NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE RescueRequest (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    animal_id INT NOT NULL,
    request_status ENUM('Pending', 'Completed') DEFAULT 'Pending',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (user_id) REFERENCES User(id),
    FOREIGN KEY (animal_id) REFERENCES Animal(id)
);

后端实现

接下来实现后端API接口,使用Spring Boot框架:

@RestController
@RequestMapping("/api/animals")
public class AnimalController {

    @Autowired
    private AnimalService animalService;

    @GetMapping
    public List<Animal> getAllAnimals() {
        return animalService.getAllAnimals();
    }

    @PostMapping
    public Animal createAnimal(@RequestBody Animal animal) {
        return animalService.createAnimal(animal);
    }

    @PutMapping("/{id}")
    public Animal updateAnimal(@PathVariable int id, @RequestBody Animal animal) {
        return animalService.updateAnimal(id, animal);
    }

    @DeleteMapping("/{id}")
    public void deleteAnimal(@PathVariable int id) {
        animalService.deleteAnimal(id);
    }
}

前端实现

前端使用Vue.js框架实现页面。以下是一个添加流浪动物的功能示例:

<template>
  <div>
    <h1>添加流浪动物</h1>
    <form @submit.prevent="addAnimal">
      <input v-model="name" placeholder="姓名" />
      <select v-model="type">
        <option value="Cat">猫</option>
        <option value="Dog">狗</option>
      </select>
      <input v-model="age" type="number" placeholder="年龄" />
      <textarea v-model="description" placeholder="描述"></textarea>
      <button type="submit">提交</button>
    </form>
  </div>
</template>

<script>
export default {
  data() {
    return {
      name: '',
      type: 'Cat',
      age: null,
      description: ''
    };
  },
  methods: {
    async addAnimal() {
      const response = await fetch('/api/animals', {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json'
        },
        body: JSON.stringify({
          name: this.name,
          type: this.type,
          age: this.age,
          description: this.description,
          status: 'Available'
        })
      });
      const data = await response.json();
      console.log('新增动物成功:', data);
    }
  }
};
</script>

总结

通过本系统的设计与实现,我们可以更方便地管理流浪动物的救助信息,提高救助效率。用户能够发布流浪动物的领养信息,管理员能够实时查看并处理各种救助请求。希望这个系统能够帮助到更多的流浪猫狗,也希望能引起大众对流浪动物的关注与爱护。未来,我们将持续对系统进行优化与迭代,不断完善功能。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部