|
@@ -7312,6 +7312,18 @@ class AnimeService
|
|
|
if (!in_array($extension, $allowedExtensions)) {
|
|
if (!in_array($extension, $allowedExtensions)) {
|
|
|
Utils::throwError('20003:图片格式不正确,仅支持 jpg、jpeg、png、gif、webp、bmp 格式');
|
|
Utils::throwError('20003:图片格式不正确,仅支持 jpg、jpeg、png、gif、webp、bmp 格式');
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // 选填三视图图片地址,格式校验与 url 一致
|
|
|
|
|
+ $three_view_image_url = trim(getProp($data, 'three_view_image_url', ''));
|
|
|
|
|
+ if ($three_view_image_url) {
|
|
|
|
|
+ $threeViewPath = parse_url($three_view_image_url, PHP_URL_PATH);
|
|
|
|
|
+ $threeViewExtension = strtolower(pathinfo($threeViewPath, PATHINFO_EXTENSION));
|
|
|
|
|
+
|
|
|
|
|
+ if (!in_array($threeViewExtension, $allowedExtensions)) {
|
|
|
|
|
+ Utils::throwError('20003:三视图图片格式不正确,仅支持 jpg、jpeg、png、gif、webp、bmp 格式');
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
$pic_prompt = trim(getProp($data, 'pic_prompt'));
|
|
$pic_prompt = trim(getProp($data, 'pic_prompt'));
|
|
|
if (!$pic_prompt) Utils::throwError('20003:提示词不能为空');
|
|
if (!$pic_prompt) Utils::throwError('20003:提示词不能为空');
|
|
|
|
|
|
|
@@ -7352,6 +7364,7 @@ class AnimeService
|
|
|
'level' => $parent_level + 1,
|
|
'level' => $parent_level + 1,
|
|
|
'product_name' => $product_name,
|
|
'product_name' => $product_name,
|
|
|
'url' => $url,
|
|
'url' => $url,
|
|
|
|
|
+ 'three_view_image_url' => $three_view_image_url,
|
|
|
'pic_prompt' => $pic_prompt,
|
|
'pic_prompt' => $pic_prompt,
|
|
|
'product' => $product,
|
|
'product' => $product,
|
|
|
'versions' => json_encode($versions, 256),
|
|
'versions' => json_encode($versions, 256),
|
|
@@ -7380,6 +7393,7 @@ class AnimeService
|
|
|
'level' => $parent_level + 1,
|
|
'level' => $parent_level + 1,
|
|
|
'product_name' => $product_name,
|
|
'product_name' => $product_name,
|
|
|
'url' => $url,
|
|
'url' => $url,
|
|
|
|
|
+ 'three_view_image_url' => $three_view_image_url,
|
|
|
'pic_prompt' => $pic_prompt,
|
|
'pic_prompt' => $pic_prompt,
|
|
|
'product' => $product,
|
|
'product' => $product,
|
|
|
'versions' => $versions
|
|
'versions' => $versions
|
|
@@ -7435,10 +7449,10 @@ class AnimeService
|
|
|
// if ($exists_id && $exists_id != $id) Utils::throwError('20003:名称不能重复,请修改');
|
|
// if ($exists_id && $exists_id != $id) Utils::throwError('20003:名称不能重复,请修改');
|
|
|
|
|
|
|
|
// 图片地址
|
|
// 图片地址
|
|
|
|
|
+ $allowedExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp'];
|
|
|
$url = trim(getProp($data, 'url'));
|
|
$url = trim(getProp($data, 'url'));
|
|
|
if ($url) {
|
|
if ($url) {
|
|
|
// 检查是否是正确的图片格式
|
|
// 检查是否是正确的图片格式
|
|
|
- $allowedExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp'];
|
|
|
|
|
$urlPath = parse_url($url, PHP_URL_PATH);
|
|
$urlPath = parse_url($url, PHP_URL_PATH);
|
|
|
$extension = strtolower(pathinfo($urlPath, PATHINFO_EXTENSION));
|
|
$extension = strtolower(pathinfo($urlPath, PATHINFO_EXTENSION));
|
|
|
|
|
|
|
@@ -7453,6 +7467,19 @@ class AnimeService
|
|
|
|
|
|
|
|
$updateData['url'] = $url;
|
|
$updateData['url'] = $url;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // 三视图图片地址(选填),格式校验与 url 一致
|
|
|
|
|
+ $three_view_image_url = trim(getProp($data, 'three_view_image_url', ''));
|
|
|
|
|
+ if ($three_view_image_url) {
|
|
|
|
|
+ $threeViewPath = parse_url($three_view_image_url, PHP_URL_PATH);
|
|
|
|
|
+ $threeViewExtension = strtolower(pathinfo($threeViewPath, PATHINFO_EXTENSION));
|
|
|
|
|
+
|
|
|
|
|
+ if (!in_array($threeViewExtension, $allowedExtensions)) {
|
|
|
|
|
+ Utils::throwError('20003:三视图图片格式不正确,仅支持 jpg、jpeg、png、gif、webp、bmp 格式');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ $updateData['three_view_image_url'] = $three_view_image_url;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
// 提示词
|
|
// 提示词
|
|
|
$pic_prompt = trim(getProp($data, 'pic_prompt'));
|
|
$pic_prompt = trim(getProp($data, 'pic_prompt'));
|