105 lines
4.0 KiB
JavaScript
105 lines
4.0 KiB
JavaScript
|
|
// =============================================
|
||
|
|
// 测试脚本:验证身份证图片数据流
|
||
|
|
// 用途:测试前端到后端的数据传递
|
||
|
|
// =============================================
|
||
|
|
|
||
|
|
// 模拟前端数据
|
||
|
|
const mockFrontendData = {
|
||
|
|
username: '测试司机',
|
||
|
|
mobile: '13800138000',
|
||
|
|
carNumber: '京A12345',
|
||
|
|
driverLicense: 'https://example.com/driver1.jpg,https://example.com/driver2.jpg',
|
||
|
|
drivingLicense: 'https://example.com/license1.jpg',
|
||
|
|
carImg: 'https://example.com/car1.jpg,https://example.com/car2.jpg',
|
||
|
|
recordCode: 'https://example.com/code1.jpg',
|
||
|
|
idCard: 'https://example.com/id_front.jpg,https://example.com/id_back.jpg', // 身份证前后照片
|
||
|
|
remark: '测试备注'
|
||
|
|
};
|
||
|
|
|
||
|
|
console.log('=== 前端发送的数据 ===');
|
||
|
|
console.log(JSON.stringify(mockFrontendData, null, 2));
|
||
|
|
|
||
|
|
// 模拟后端接收的数据
|
||
|
|
const mockBackendReceived = {
|
||
|
|
username: mockFrontendData.username,
|
||
|
|
mobile: mockFrontendData.mobile,
|
||
|
|
carNumber: mockFrontendData.carNumber,
|
||
|
|
driverLicense: mockFrontendData.driverLicense,
|
||
|
|
drivingLicense: mockFrontendData.drivingLicense,
|
||
|
|
carImg: mockFrontendData.carImg,
|
||
|
|
recordCode: mockFrontendData.recordCode,
|
||
|
|
idCard: mockFrontendData.idCard, // 这个字段应该存储到数据库的 id_card 字段
|
||
|
|
remark: mockFrontendData.remark
|
||
|
|
};
|
||
|
|
|
||
|
|
console.log('\n=== 后端接收的数据 ===');
|
||
|
|
console.log(JSON.stringify(mockBackendReceived, null, 2));
|
||
|
|
|
||
|
|
// 模拟数据库存储
|
||
|
|
const mockDatabaseRecord = {
|
||
|
|
id: 1,
|
||
|
|
member_id: 1,
|
||
|
|
username: mockBackendReceived.username,
|
||
|
|
car_number: mockBackendReceived.carNumber,
|
||
|
|
driver_license: mockBackendReceived.driverLicense,
|
||
|
|
driving_license: mockBackendReceived.drivingLicense,
|
||
|
|
car_img: mockBackendReceived.carImg,
|
||
|
|
record_code: mockBackendReceived.recordCode,
|
||
|
|
id_card: mockBackendReceived.idCard, // 存储到 id_card 字段
|
||
|
|
remark: mockBackendReceived.remark,
|
||
|
|
create_time: new Date().toISOString()
|
||
|
|
};
|
||
|
|
|
||
|
|
console.log('\n=== 数据库存储记录 ===');
|
||
|
|
console.log(JSON.stringify(mockDatabaseRecord, null, 2));
|
||
|
|
|
||
|
|
// 验证身份证字段
|
||
|
|
console.log('\n=== 身份证字段验证 ===');
|
||
|
|
console.log('id_card 字段值:', mockDatabaseRecord.id_card);
|
||
|
|
console.log('身份证照片数量:', mockDatabaseRecord.id_card.split(',').length);
|
||
|
|
console.log('身份证照片列表:', mockDatabaseRecord.id_card.split(','));
|
||
|
|
|
||
|
|
// 模拟前端读取数据
|
||
|
|
const mockFrontendRead = {
|
||
|
|
id: mockDatabaseRecord.id,
|
||
|
|
username: mockDatabaseRecord.username,
|
||
|
|
carNumber: mockDatabaseRecord.car_number,
|
||
|
|
driver_license: mockDatabaseRecord.driver_license,
|
||
|
|
driving_license: mockDatabaseRecord.driving_license,
|
||
|
|
car_img: mockDatabaseRecord.car_img,
|
||
|
|
record_code: mockDatabaseRecord.record_code,
|
||
|
|
id_card: mockDatabaseRecord.id_card, // 从数据库读取
|
||
|
|
remark: mockDatabaseRecord.remark
|
||
|
|
};
|
||
|
|
|
||
|
|
console.log('\n=== 前端读取的数据 ===');
|
||
|
|
console.log(JSON.stringify(mockFrontendRead, null, 2));
|
||
|
|
|
||
|
|
// 模拟前端图片处理
|
||
|
|
const processImageUrls = (imageUrlString) => {
|
||
|
|
if (!imageUrlString || imageUrlString.trim() === '') {
|
||
|
|
return [];
|
||
|
|
}
|
||
|
|
return imageUrlString.split(',').map(url => url.trim()).filter(url => url !== '');
|
||
|
|
};
|
||
|
|
|
||
|
|
const idCardImages = processImageUrls(mockFrontendRead.id_card);
|
||
|
|
console.log('\n=== 前端图片处理结果 ===');
|
||
|
|
console.log('身份证图片数组:', idCardImages);
|
||
|
|
console.log('身份证图片数量:', idCardImages.length);
|
||
|
|
|
||
|
|
// 验证数据完整性
|
||
|
|
console.log('\n=== 数据完整性验证 ===');
|
||
|
|
const isValid = mockDatabaseRecord.id_card &&
|
||
|
|
mockDatabaseRecord.id_card.includes(',') &&
|
||
|
|
mockDatabaseRecord.id_card.split(',').length === 2;
|
||
|
|
console.log('数据完整性检查:', isValid ? '✅ 通过' : '❌ 失败');
|
||
|
|
|
||
|
|
if (isValid) {
|
||
|
|
console.log('✅ 身份证前后照片地址已正确存储到 id_card 字段');
|
||
|
|
console.log('✅ 使用英文逗号分隔多个URL');
|
||
|
|
console.log('✅ 前端可以正确读取和显示');
|
||
|
|
} else {
|
||
|
|
console.log('❌ 数据存储或处理存在问题');
|
||
|
|
}
|