refactor(backend): 重构动物相关 API 接口

- 更新了动物数据结构和相关类型定义
- 优化了动物列表、详情、创建、更新和删除接口
- 新增了更新动物状态接口
- 移除了与认领记录相关的接口
-调整了 API 响应结构
This commit is contained in:
ylweng
2025-08-31 00:45:46 +08:00
parent 0cad74b06f
commit 8e5295b572
111 changed files with 15290 additions and 1972 deletions

85
db_update.js Normal file
View File

@@ -0,0 +1,85 @@
const mysql = require('mysql2');
// 数据库配置
const dbConfig = {
host: '129.211.213.226',
port: 9527,
user: 'root',
password: 'aiotAiot123!',
database: 'jiebandata'
};
// 创建连接
const connection = mysql.createConnection(dbConfig);
// 连接数据库
connection.connect((err) => {
if (err) {
console.error('数据库连接失败: ' + err.stack);
return;
}
console.log('数据库连接成功连接ID: ' + connection.threadId);
// 创建管理员表
const createAdminTableSQL = `
CREATE TABLE IF NOT EXISTS admins (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
email VARCHAR(100) UNIQUE,
nickname VARCHAR(100),
avatar VARCHAR(255),
role ENUM('super_admin', 'admin', 'operator') DEFAULT 'admin',
status TINYINT DEFAULT 1,
last_login TIMESTAMP NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_username (username),
INDEX idx_email (email),
INDEX idx_role (role)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
`;
connection.query(createAdminTableSQL, (error, results) => {
if (error) {
console.error('创建管理员表失败: ' + error.stack);
connection.end();
return;
}
console.log('✅ 管理员表创建成功');
// 检查是否已存在测试数据
connection.query('SELECT COUNT(*) as count FROM admins', (error, results) => {
if (error) {
console.error('查询管理员表数据量失败: ' + error.stack);
connection.end();
return;
}
if (results[0].count > 0) {
console.log('✅ 管理员表中已有数据,跳过插入测试数据');
connection.end();
return;
}
// 插入测试数据
const insertTestDataSQL = `
INSERT INTO admins (username, password, email, nickname, role) VALUES
('admin', '$2b$10$rVuz/q97ocR1Zb07DzW5F.9Qx6B6HnV7JFzQb5nR1W3v7Z2mH4n6O', 'admin@example.com', '超级管理员', 'super_admin'),
('operator', '$2b$10$rVuz/q97ocR1Zb07DzW5F.9Qx6B6HnV7JFzQb5nR1W3v7Z2mH4n6O', 'operator@example.com', '操作员', 'operator');
`;
connection.query(insertTestDataSQL, (error, results) => {
if (error) {
console.error('插入测试数据失败: ' + error.stack);
connection.end();
return;
}
console.log('✅ 测试数据插入成功,插入 ' + results.affectedRows + ' 条记录');
connection.end();
});
});
});
});