等待推荐页运行态全部资源
推荐页 ready 持续观察运行态图片、背景、音视频和资源 pending 标记 资源换签与玩法图集解析中通过隐藏标记阻止遮罩提前消失 补齐拼图、跳一跳、抓大鹅和敲木鱼运行态资源等待接入 补充推荐页资源等待回归测试和团队文档
This commit is contained in:
@@ -22,21 +22,25 @@ export function useResolvedAssetReadUrl(
|
||||
const [resolvedUrl, setResolvedUrl] = useState(
|
||||
shouldResolve ? '' : normalizedSource,
|
||||
);
|
||||
const [isResolving, setIsResolving] = useState(shouldResolve);
|
||||
|
||||
useEffect(() => {
|
||||
if (!normalizedSource) {
|
||||
setResolvedUrl('');
|
||||
setIsResolving(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!shouldResolve) {
|
||||
setResolvedUrl(normalizedSource);
|
||||
setIsResolving(false);
|
||||
return;
|
||||
}
|
||||
|
||||
let cancelled = false;
|
||||
// 生成资源通常是 OSS 私有对象;签名 URL 未就绪前不能把裸 generated 路径交给 img 触发无鉴权 GET。
|
||||
setResolvedUrl('');
|
||||
setIsResolving(true);
|
||||
|
||||
void resolveAssetReadUrl(normalizedSource, {
|
||||
expireSeconds: options.expireSeconds,
|
||||
@@ -52,6 +56,11 @@ export function useResolvedAssetReadUrl(
|
||||
// 签名失败时保持空 src,避免继续请求无签名的私有对象兼容路径。
|
||||
setResolvedUrl('');
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
if (!cancelled) {
|
||||
setIsResolving(false);
|
||||
}
|
||||
});
|
||||
|
||||
return () => {
|
||||
@@ -66,7 +75,7 @@ export function useResolvedAssetReadUrl(
|
||||
|
||||
return {
|
||||
resolvedUrl,
|
||||
isResolving: shouldResolve && !resolvedUrl,
|
||||
isResolving,
|
||||
shouldResolve,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user