chore: sync release updates

This commit is contained in:
wushumin
2026-05-22 15:47:23 +08:00
parent be64b8e5b7
commit baef2fb64c
23 changed files with 879 additions and 131 deletions

View File

@@ -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),

View 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);
}
}
}

View File

@@ -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;
}

View File

@@ -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);