158 行
4.6 KiB
PHP
158 行
4.6 KiB
PHP
<?php
|
|
/**
|
|
* RiderApi 文件上传接口测试脚本
|
|
* 测试 /RiderApi/User/uploadFile 接口功能
|
|
*/
|
|
|
|
// 引入框架
|
|
define('APP_PATH', './Application/');
|
|
define('RUNTIME_PATH', './Runtime/');
|
|
require './ThinkPHP/ThinkPHP.php';
|
|
|
|
echo "=== RiderApi 文件上传接口测试 ===\n\n";
|
|
|
|
// 1. 检查 UserController 类是否存在
|
|
echo "1. 检查 UserController 类...\n";
|
|
$controllerFile = './Application/RiderApi/Controller/UserController.class.php';
|
|
if (file_exists($controllerFile)) {
|
|
echo "✓ UserController 文件存在\n";
|
|
|
|
// 检查 uploadFile 方法是否存在
|
|
$content = file_get_contents($controllerFile);
|
|
if (strpos($content, 'function uploadFile') !== false) {
|
|
echo "✓ uploadFile 方法已实现\n";
|
|
} else {
|
|
echo "✗ uploadFile 方法未找到\n";
|
|
}
|
|
} else {
|
|
echo "✗ UserController 文件不存在\n";
|
|
}
|
|
|
|
// 2. 检查全局 uploadFiles 函数
|
|
echo "\n2. 检查 uploadFiles 函数...\n";
|
|
$functionFile = './Application/Common/Common/function.php';
|
|
if (file_exists($functionFile)) {
|
|
echo "✓ function.php 文件存在\n";
|
|
|
|
$content = file_get_contents($functionFile);
|
|
if (strpos($content, 'function uploadFiles') !== false) {
|
|
echo "✓ uploadFiles 函数已定义\n";
|
|
} else {
|
|
echo "✗ uploadFiles 函数未找到\n";
|
|
}
|
|
} else {
|
|
echo "✗ function.php 文件不存在\n";
|
|
}
|
|
|
|
// 3. 检查 BaseController 类
|
|
echo "\n3. 检查 BaseController 类...\n";
|
|
$baseControllerFile = './Application/RiderApi/Controller/BaseController.class.php';
|
|
if (file_exists($baseControllerFile)) {
|
|
echo "✓ BaseController 文件存在\n";
|
|
|
|
$content = file_get_contents($baseControllerFile);
|
|
if (strpos($content, 'riderId') !== false && strpos($content, 'riderInfo') !== false) {
|
|
echo "✓ BaseController 包含骑手认证相关属性\n";
|
|
} else {
|
|
echo "? BaseController 可能缺少骑手认证相关属性\n";
|
|
}
|
|
} else {
|
|
echo "✗ BaseController 文件不存在\n";
|
|
}
|
|
|
|
// 4. 模拟文件上传测试数据
|
|
echo "\n4. 模拟文件上传测试...\n";
|
|
|
|
// 模拟 $_FILES 数据
|
|
$_FILES = array(
|
|
'file' => array(
|
|
'name' => 'test_image.jpg',
|
|
'type' => 'image/jpeg',
|
|
'tmp_name' => '/tmp/test_upload',
|
|
'error' => 0,
|
|
'size' => 1024
|
|
)
|
|
);
|
|
|
|
echo "✓ 模拟文件上传数据已设置\n";
|
|
echo " - 文件名: " . $_FILES['file']['name'] . "\n";
|
|
echo " - 文件类型: " . $_FILES['file']['type'] . "\n";
|
|
echo " - 文件大小: " . $_FILES['file']['size'] . " bytes\n";
|
|
|
|
// 5. 检查上传目录权限
|
|
echo "\n5. 检查上传目录...\n";
|
|
$uploadDirs = array(
|
|
'./Uploads/',
|
|
'./Public/Uploads/',
|
|
'./Runtime/Uploads/'
|
|
);
|
|
|
|
foreach ($uploadDirs as $dir) {
|
|
if (is_dir($dir)) {
|
|
echo "✓ 目录存在: $dir\n";
|
|
if (is_writable($dir)) {
|
|
echo " - 可写权限: 是\n";
|
|
} else {
|
|
echo " - 可写权限: 否\n";
|
|
}
|
|
} else {
|
|
echo "? 目录不存在: $dir\n";
|
|
}
|
|
}
|
|
|
|
// 6. 检查路由配置
|
|
echo "\n6. 检查路由配置...\n";
|
|
$routeFiles = array(
|
|
'./Application/RiderApi/Conf/config.php',
|
|
'./Application/Common/Conf/config.php'
|
|
);
|
|
|
|
foreach ($routeFiles as $file) {
|
|
if (file_exists($file)) {
|
|
echo "✓ 配置文件存在: $file\n";
|
|
} else {
|
|
echo "? 配置文件不存在: $file\n";
|
|
}
|
|
}
|
|
|
|
// 7. 测试接口参数验证逻辑
|
|
echo "\n7. 测试接口参数验证...\n";
|
|
|
|
// 模拟骑手信息
|
|
$mockRiderInfo = array(
|
|
'id' => 1,
|
|
'name' => 'Test Rider',
|
|
'phone' => '13800138000',
|
|
'auth_status' => 2
|
|
);
|
|
|
|
echo "✓ 模拟骑手信息已设置\n";
|
|
echo " - 骑手ID: " . $mockRiderInfo['id'] . "\n";
|
|
echo " - 骑手姓名: " . $mockRiderInfo['name'] . "\n";
|
|
echo " - 认证状态: " . $mockRiderInfo['auth_status'] . "\n";
|
|
|
|
// 8. 检查上传参数配置
|
|
echo "\n8. 检查上传参数配置...\n";
|
|
$uploadConfig = array(
|
|
'add_time' => time(),
|
|
'from_type_id' => 29, // 骑手端文件上传类型ID
|
|
'localUrl' => 'RiderApi/User',
|
|
'user_type' => 5, // 骑手用户类型
|
|
'rider_id' => 1
|
|
);
|
|
|
|
echo "✓ 上传参数配置正确\n";
|
|
echo " - 来源类型ID: " . $uploadConfig['from_type_id'] . "\n";
|
|
echo " - 本地URL: " . $uploadConfig['localUrl'] . "\n";
|
|
echo " - 用户类型: " . $uploadConfig['user_type'] . "\n";
|
|
|
|
echo "\n=== 测试完成 ===\n";
|
|
echo "接口地址: /RiderApi/User/uploadFile\n";
|
|
echo "请求方式: POST\n";
|
|
echo "参数: 文件上传 (multipart/form-data)\n";
|
|
echo "返回格式: JSON\n\n";
|
|
|
|
echo "预期返回格式:\n";
|
|
echo "成功: {'code': 1, 'msg': '上传成功', 'data': {'file_id': 'xxx', 'file_path': 'xxx', 'file_url': 'xxx'}}\n";
|
|
echo "失败: {'code': 0, 'msg': '错误信息'}\n";
|
|
?>
|