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

61
add_test_admin.js Normal file
View File

@@ -0,0 +1,61 @@
const bcrypt = require('bcryptjs');
const { query } = require('./backend/src/config/database');
// 数据库配置
const dbConfig = {
host: '129.211.213.226',
port: 9527,
user: 'root',
password: 'aiotAiot123!',
database: 'jiebandata'
};
async function addTestAdmin() {
try {
// 加密密码
const saltRounds = 10;
const plainPassword = 'admin123';
const hashedPassword = await bcrypt.hash(plainPassword, saltRounds);
console.log('加密后的密码:', hashedPassword);
// 插入测试管理员账户
const insertSQL = `
INSERT INTO admins (username, password, email, nickname, role)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE
password = VALUES(password),
email = VALUES(email),
nickname = VALUES(nickname),
role = VALUES(role)
`;
const params = [
'testadmin',
hashedPassword,
'testadmin@example.com',
'测试管理员',
'admin'
];
// 注意这里我们需要直接使用mysql2连接数据库因为backend/src/config/database可能依赖环境变量
const mysql = require('mysql2/promise');
const connection = await mysql.createConnection(dbConfig);
const [result] = await connection.execute(insertSQL, params);
console.log('✅ 测试管理员账户创建/更新成功');
console.log('受影响的行数:', result.affectedRows);
// 验证插入的数据
const [rows] = await connection.execute('SELECT * FROM admins WHERE username = ?', ['testadmin']);
console.log('\n插入的管理员信息:');
console.log(rows[0]);
await connection.end();
} catch (error) {
console.error('❌ 创建测试管理员账户失败:', error.message);
console.error(error.stack);
}
}
addTestAdmin();