diff --git a/apps/h5-partner/src/pages/StoreCreatePage.tsx b/apps/h5-partner/src/pages/StoreCreatePage.tsx
index d9a2b26..280c311 100644
--- a/apps/h5-partner/src/pages/StoreCreatePage.tsx
+++ b/apps/h5-partner/src/pages/StoreCreatePage.tsx
@@ -5,6 +5,7 @@ import { useNavigate, useSearchParams } from 'react-router-dom';
import ChinaRegionPicker from '../components/ChinaRegionPicker';
import OssUploadField from '../components/OssUploadField';
+import MultiOssUploadField from '../components/MultiOssUploadField';
import { request } from '../lib/api';
import { toastError, toastSuccess } from '../lib/toast';
@@ -40,8 +41,6 @@ import {
validateStoreStep3,
- patchEnvPhotoAt,
- addEnvPhotoSlot,
MIN_ENV_PHOTO_COUNT,
} from '../lib/storeDraft';
import StorePackagesForm from '../components/StorePackagesForm';
@@ -250,22 +249,6 @@ export default function StoreCreatePage() {
- function patchEnvPhotoUrl(index: number, url: string) {
-
- setForm((prev) => ({
-
- ...prev,
-
- envPhotoUrls: patchEnvPhotoAt(prev.envPhotoUrls, index, url),
-
- }));
-
- setSubmitError('');
-
- }
-
-
-
function bindRegionSelection(codes: string[]) {
const binding = resolveRegionBinding(codes, cities);
@@ -957,46 +940,15 @@ export default function StoreCreatePage() {
-
环境照片 *
-
- 至少 {MIN_ENV_PHOTO_COUNT} 张,展示店内整洁环境
-
-
-
- {form.envPhotoUrls.map((url, index) => (
-
- patchEnvPhotoUrl(index, nextUrl)}
-
- />
-
- ))}
-
-
-
-
-
+ 至少 {MIN_ENV_PHOTO_COUNT} 张,支持批量上传,最多 20 张
+ u.trim()).filter(Boolean)}
+ onChange={(urls) => setForm((prev) => ({ ...prev, envPhotoUrls: urls.length ? urls : [''] }))}
+ label={`批量上传(${form.envPhotoUrls.map((u) => u.trim()).filter(Boolean).length}/20)`}
+ />
diff --git a/apps/h5-partner/src/pages/StoreDetailPage.tsx b/apps/h5-partner/src/pages/StoreDetailPage.tsx
index 516f0f0..e3fe98d 100644
--- a/apps/h5-partner/src/pages/StoreDetailPage.tsx
+++ b/apps/h5-partner/src/pages/StoreDetailPage.tsx
@@ -5,8 +5,9 @@ import { request } from '../lib/api';
import { toastError, toastSuccess } from '../lib/toast';
import { usePartnerSession } from '../contexts/PartnerSessionContext';
import { canManagePartnerStore } from '../lib/partnerAccess';
-import { MIN_ENV_PHOTO_COUNT, normalizeStringArray, patchEnvPhotoAt, addEnvPhotoSlot } from '../lib/storeDraft';
+import { MIN_ENV_PHOTO_COUNT, normalizeStringArray } from '../lib/storeDraft';
import OssUploadField from '../components/OssUploadField';
+import MultiOssUploadField from '../components/MultiOssUploadField';
import TencentLocPickerOverlay from '../components/TencentLocPickerOverlay';
import {
canPartnerOpenStore,
@@ -409,26 +410,13 @@ export default function StoreDetailPage() {
{canMutate && !readOnly ? (
<>
-