宠物救助系统设计与实现
随着社会对动物保护意识的提高,流浪猫狗的救助活动变得愈发重要。为了更好地帮助这些无家可归的小生命,我们设计并实现了一个基于Spring Boot和Vue的宠物救助系统。本系统主要功能包括流浪动物的发布、领养、救助信息的管理等,以下是系统的设计思路与实现过程。
系统架构
本系统采用前后端分离的架构,前端使用Vue.js,后端使用Spring Boot框架。数据库使用MySQL存储用户信息和流浪动物的相关数据。
数据库设计
首先,我们设计数据库表。核心的表有 User
、Animal
、RescueRequest
,它们分别存储用户信息、流浪动物信息和救助请求信息。
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>
总结
通过本系统的设计与实现,我们可以更方便地管理流浪动物的救助信息,提高救助效率。用户能够发布流浪动物的领养信息,管理员能够实时查看并处理各种救助请求。希望这个系统能够帮助到更多的流浪猫狗,也希望能引起大众对流浪动物的关注与爱护。未来,我们将持续对系统进行优化与迭代,不断完善功能。