chore: sync release updates
This commit is contained in:
@@ -1045,7 +1045,11 @@ class AppraisalTasksController
|
||||
}
|
||||
|
||||
try {
|
||||
$asset = $this->evidenceService()->upload($request);
|
||||
$scene = (string)$request->input('upload_scene', 'appraisal_evidence');
|
||||
if (!in_array($scene, ['appraisal_evidence', 'zhongjian_report'], true)) {
|
||||
$scene = 'appraisal_evidence';
|
||||
}
|
||||
$asset = $this->evidenceService()->upload($request, 'file', $scene);
|
||||
return api_success($asset);
|
||||
} catch (\Throwable $e) {
|
||||
return api_error($e->getMessage(), 422);
|
||||
@@ -1859,11 +1863,13 @@ class AppraisalTasksController
|
||||
'brand_name' => $product['brand_name'] ?? '',
|
||||
'color' => $product['color'] ?? '',
|
||||
'size_spec' => $product['size_spec'] ?? '',
|
||||
'serial_no' => $product['serial_no'] ?? '',
|
||||
], JSON_UNESCAPED_UNICODE),
|
||||
'result_snapshot_json' => json_encode([
|
||||
'result_status' => $resultPayload['result_status'],
|
||||
'result_text' => $resultPayload['result_text'],
|
||||
'result_desc' => $resultPayload['result_desc'],
|
||||
'external_remark' => $resultPayload['external_remark'] ?? '',
|
||||
'key_points' => $this->loadLatestOrderKeyPoints($orderId),
|
||||
], JSON_UNESCAPED_UNICODE),
|
||||
'appraisal_snapshot_json' => json_encode($appraisalSnapshot, JSON_UNESCAPED_UNICODE),
|
||||
|
||||
24
server-api/app/controller/admin/FileUploadController.php
Normal file
24
server-api/app/controller/admin/FileUploadController.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace app\controller\admin;
|
||||
|
||||
use app\support\FileUploadService;
|
||||
use support\Request;
|
||||
|
||||
class FileUploadController
|
||||
{
|
||||
public function directPolicy(Request $request)
|
||||
{
|
||||
try {
|
||||
return api_success((new FileUploadService())->createOssDirectUploadPolicy(
|
||||
$request,
|
||||
(string)$request->input('upload_scene', ''),
|
||||
(string)$request->input('original_name', ''),
|
||||
(int)$request->input('file_size', 0),
|
||||
(string)$request->input('mime_type', '')
|
||||
));
|
||||
} catch (\Throwable $e) {
|
||||
return api_error($e->getMessage(), 422);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -275,7 +275,16 @@ class SystemConfigsController
|
||||
'title' => 'OSS Endpoint',
|
||||
'field_type' => 'text',
|
||||
'placeholder' => '例如 oss-cn-shenzhen.aliyuncs.com',
|
||||
'remark' => '填写 Bucket 所在地域的公网 Endpoint。',
|
||||
'remark' => '后台服务端 SDK 使用的 Endpoint。可填公网 Endpoint;如服务器在同地域内网,也可填内网 Endpoint。',
|
||||
'is_secret' => false,
|
||||
'visible_when' => ['config_key' => 'driver', 'equals' => 'oss'],
|
||||
],
|
||||
[
|
||||
'config_key' => 'oss_upload_endpoint',
|
||||
'title' => 'OSS 直传 Endpoint',
|
||||
'field_type' => 'text',
|
||||
'placeholder' => '例如 oss-cn-shenzhen.aliyuncs.com',
|
||||
'remark' => '前端直传 OSS 使用的公网 Endpoint。为空时沿用 OSS Endpoint;如 OSS Endpoint 填了内网地址,这里必须填写公网地址。',
|
||||
'is_secret' => false,
|
||||
'visible_when' => ['config_key' => 'driver', 'equals' => 'oss'],
|
||||
],
|
||||
@@ -324,6 +333,16 @@ class SystemConfigsController
|
||||
'is_secret' => false,
|
||||
'visible_when' => ['config_key' => 'driver', 'equals' => 'oss'],
|
||||
],
|
||||
[
|
||||
'config_key' => 'direct_upload_max_size_mb',
|
||||
'title' => '直传文件大小上限 MB',
|
||||
'field_type' => 'text',
|
||||
'placeholder' => '默认 200',
|
||||
'remark' => '前端直传 OSS 的单文件最大大小,单位 MB。建议按业务网络环境设置,允许范围 1-2048。',
|
||||
'is_secret' => false,
|
||||
'default_value' => '200',
|
||||
'visible_when' => ['config_key' => 'driver', 'equals' => 'oss'],
|
||||
],
|
||||
[
|
||||
'config_key' => 'qiniu_bucket',
|
||||
'title' => '七牛 Bucket',
|
||||
@@ -452,6 +471,11 @@ class SystemConfigsController
|
||||
}
|
||||
}
|
||||
|
||||
$directUploadMaxSizeMb = trim((string)($configValueMap['file_storage.direct_upload_max_size_mb'] ?? '200'));
|
||||
if ($directUploadMaxSizeMb !== '' && (!ctype_digit($directUploadMaxSizeMb) || (int)$directUploadMaxSizeMb < 1 || (int)$directUploadMaxSizeMb > 2048)) {
|
||||
throw new \RuntimeException('直传文件大小上限需填写 1-2048 之间的整数');
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ class WarehouseWorkbenchController
|
||||
{
|
||||
$evidenceService = new AppraisalEvidenceService();
|
||||
try {
|
||||
$asset = $evidenceService->upload($request);
|
||||
$asset = $evidenceService->upload($request, 'file', 'warehouse_inbound_evidence');
|
||||
if (!in_array((string)($asset['file_type'] ?? ''), ['image', 'video'], true)) {
|
||||
$evidenceService->delete((string)($asset['file_url'] ?? ''));
|
||||
return api_error('拆包附件仅支持上传图片或视频', 422);
|
||||
@@ -59,7 +59,7 @@ class WarehouseWorkbenchController
|
||||
{
|
||||
$evidenceService = new AppraisalEvidenceService();
|
||||
try {
|
||||
$asset = $evidenceService->upload($request);
|
||||
$asset = $evidenceService->upload($request, 'file', 'warehouse_return_packing');
|
||||
if (!in_array((string)($asset['file_type'] ?? ''), ['image', 'video'], true)) {
|
||||
$evidenceService->delete((string)($asset['file_url'] ?? ''));
|
||||
return api_error('打包装箱附件仅支持上传图片或视频', 422);
|
||||
|
||||
Reference in New Issue
Block a user