diff --git a/app/entry/src/main/ets/components/f2/Segment.ets b/app/entry/src/main/ets/components/f2/Segment.ets index 2b82f5e..ae27986 100644 --- a/app/entry/src/main/ets/components/f2/Segment.ets +++ b/app/entry/src/main/ets/components/f2/Segment.ets @@ -10,7 +10,7 @@ import { COLOR_PRIMARY, COLOR_IMAGE_BG, COLOR_TEXT_PRIMARY } from '../../core/Th @Component export struct Segment { items: string[] = [] - selected: number = 0 + @Prop selected: number = 0 onSelect: (idx: number) => void = (_idx: number) => {} build() { diff --git a/app/entry/src/main/ets/core/ImageCodec.ets b/app/entry/src/main/ets/core/ImageCodec.ets index 3b160db..2c24653 100644 --- a/app/entry/src/main/ets/core/ImageCodec.ets +++ b/app/entry/src/main/ets/core/ImageCodec.ets @@ -41,7 +41,7 @@ const LONG_EDGE: number = 1600 const JPEG_QUALITY: number = 85 const IMG_DOMAIN: number = 0x0001 const IMG_TAG: string = 'MEIDA_IMG' -const SELECT_TIMEOUT_MS: number = 60000 // 相册选图兜底:系统弹窗最多等 60s +const SELECT_TIMEOUT_MS: number = 120000 // 相册选图兜底:冷启动+用户浏览常超 60s(超时后系统浮层成孤儿,点击全失效) const CAMERA_TIMEOUT_MS: number = 120000 // 拍照兜底:给足取景与确认时间 export class ImageCodec { diff --git a/app/entry/src/main/ets/core/TryonApi.ets b/app/entry/src/main/ets/core/TryonApi.ets index 4aeaa5b..eb30043 100644 --- a/app/entry/src/main/ets/core/TryonApi.ets +++ b/app/entry/src/main/ets/core/TryonApi.ets @@ -181,7 +181,13 @@ export class TryonApi { const respText: string = (resp.result ?? '') as string hilog.info(TRYON_DOMAIN, TRYON_TAG, 'cloth resp code=%{public}d body=%{public}s', resp.responseCode, respText.substring(0, 300)) - const wire = JSON.parse(respText) as ChangeClothWire + let wire: ChangeClothWire + try { + wire = JSON.parse(respText) as ChangeClothWire + } catch (_p) { + // 服务端 500 等会回纯文本 body(如 "Internal Server Error"):按服务繁忙口径提示 + throw new ApiError(50000, '服务繁忙,请稍后重试', '换装服务暂时不可用') + } if (wire.ret === 0 && wire.data !== undefined && wire.data.length > 0) { return wire.data }