- 新增上传分类归一化处理,统一白名单校验规则 - 新增COS存储记录同步逻辑 - 新增分享功能支持,配置多页面分享参数 - 新增订单案例分享按钮 - 新增订单自动校验和回收命令 - 新增测试脚本和图片同步脚本 - 优化后台上传分类配置,统一分类映射
59 行
2.1 KiB
PHP
59 行
2.1 KiB
PHP
<?php
|
|
|
|
define('APP_PATH', __DIR__ . '/../server/application/');
|
|
require __DIR__ . '/../server/thinkphp/base.php';
|
|
\think\App::initCommon();
|
|
|
|
use think\Loader;
|
|
|
|
Loader::addNamespace('Qcloud\Cos', __DIR__ . '/../server/addons/cos/library/Qcloud/Cos/');
|
|
Loader::addNamespace('GuzzleHttp\Command', __DIR__ . '/../server/addons/cos/library/Guzzle/command/src/');
|
|
Loader::addNamespace('GuzzleHttp\Command\Guzzle', __DIR__ . '/../server/addons/cos/library/Guzzle/guzzle-services/src/');
|
|
Loader::addNamespace('GuzzleHttp\UriTemplate', __DIR__ . '/../server/addons/cos/library/Guzzle/uri-template/src/');
|
|
|
|
$cosClient = new \Qcloud\Cos\Client([
|
|
'region' => 'ap-guangzhou',
|
|
'schema' => 'https',
|
|
'credentials' => [
|
|
'secretId' => 'AKIDxOo34sUu892lWFoEnFVYS9A58D84pa8X',
|
|
'secretKey' => 'IMDwjS5Xpwtc9WiV7dz95rTvHUbYJtSv'
|
|
]
|
|
]);
|
|
|
|
$localDir = __DIR__ . '/../server/public/uploads/goods';
|
|
$appStaticDir = __DIR__ . '/../yjyf-app/static/goods';
|
|
|
|
$files = glob($localDir . '/*.jpg');
|
|
$map = [];
|
|
|
|
foreach ($files as $file) {
|
|
$filename = basename($file);
|
|
$name = pathinfo($filename, PATHINFO_FILENAME);
|
|
$appFile = $appStaticDir . '/' . $filename;
|
|
copy($file, $appFile);
|
|
|
|
$cosKey = 'goods/' . $filename;
|
|
$body = file_get_contents($file);
|
|
|
|
try {
|
|
$cosClient->putObject([
|
|
'Bucket' => 'yjyf-1512102519',
|
|
'Key' => $cosKey,
|
|
'Body' => $body,
|
|
'ContentType' => 'image/jpeg'
|
|
]);
|
|
$cosUrl = 'https://yjyf-1512102519.cos.ap-guangzhou.myqcloud.com/' . $cosKey;
|
|
$map[$name] = [
|
|
'cos' => $cosUrl,
|
|
'local' => '/uploads/goods/' . $filename,
|
|
'static' => '/static/goods/' . $filename
|
|
];
|
|
echo "Uploaded {$filename} to COS -> {$cosUrl}\n";
|
|
} catch (\Throwable $e) {
|
|
echo "Error {$filename}: " . $e->getMessage() . "\n";
|
|
}
|
|
}
|
|
|
|
file_put_contents(__DIR__ . '/goods_images_map.json', json_encode($map, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE));
|
|
echo "All 31 real goods images synchronized to local, static and COS!\n";
|