From e0d2ff5d576587270a5d16a2c52644cbb0be2e71 Mon Sep 17 00:00:00 2001 From: richarjiang Date: Mon, 30 Mar 2026 09:14:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E8=BF=9B=E5=BA=A6=E6=8F=90=E7=A4=BA=E5=92=8C=20API=20=E9=87=8D?= =?UTF-8?q?=E8=AF=95=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 ProgressTips 节点到 PageLoading 展示加载状态消息 - 连接 statusLabel 到 ProgressTips 组件 - LevelDataManager 添加 API 请求重试机制(重试 2 次) - 优化进度消息:正在请求服务端数据、正在加载游戏必备资源等 - 初始化失败时显示"网络异常,请重新打开游戏" Co-Authored-By: Claude Opus 4.6 --- assets/PageLoading.prefab | 179 ++++++++++++++++++++- assets/PageLoading.ts | 7 +- assets/main.scene | 4 - assets/prefabs/PageLevel.prefab | 2 +- assets/resources/audios/SuccessV2.mp3 | Bin 0 -> 73314 bytes assets/resources/audios/SuccessV2.mp3.meta | 14 ++ assets/scripts/utils/LevelDataManager.ts | 59 +++++-- settings/v2/packages/information.json | 8 +- 8 files changed, 239 insertions(+), 34 deletions(-) create mode 100644 assets/resources/audios/SuccessV2.mp3 create mode 100644 assets/resources/audios/SuccessV2.mp3.meta diff --git a/assets/PageLoading.prefab b/assets/PageLoading.prefab index 63144d0..0de861e 100644 --- a/assets/PageLoading.prefab +++ b/assets/PageLoading.prefab @@ -23,22 +23,25 @@ }, { "__id__": 10 + }, + { + "__id__": 24 } ], "_active": true, "_components": [ { - "__id__": 24 + "__id__": 30 }, { - "__id__": 26 + "__id__": 32 }, { - "__id__": 28 + "__id__": 34 } ], "_prefab": { - "__id__": 30 + "__id__": 36 }, "_lpos": { "__type__": "cc.Vec3", @@ -530,6 +533,165 @@ "targetOverrides": null, "nestedPrefabInstanceRoots": null }, + { + "__type__": "cc.Node", + "_name": "ProgressTips", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 25 + }, + { + "__id__": 27 + } + ], + "_prefab": { + "__id__": 29 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -10.607, + "y": -622.285, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 24 + }, + "_enabled": true, + "__prefab": { + "__id__": 26 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 80, + "height": 50.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "6eZWHqpJtCTpZ/0qF30Pdo" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 24 + }, + "_enabled": true, + "__prefab": { + "__id__": 28 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "进度", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 40, + "_fontSize": 40, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_enableOutline": false, + "_outlineColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_outlineWidth": 2, + "_enableShadow": false, + "_shadowColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_shadowOffset": { + "__type__": "cc.Vec2", + "x": 2, + "y": 2 + }, + "_shadowBlur": 2, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "e1paQuq1lB8bP8W2opCL2A" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "f1spDHT01G1LKPBUMVSzhP", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, { "__type__": "cc.UITransform", "_name": "", @@ -540,7 +702,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 25 + "__id__": 31 }, "_contentSize": { "__type__": "cc.Size", @@ -568,11 +730,14 @@ }, "_enabled": true, "__prefab": { - "__id__": 27 + "__id__": 33 }, "progressBar": { "__id__": 21 }, + "statusLabel": { + "__id__": 27 + }, "_id": "" }, { @@ -589,7 +754,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 29 + "__id__": 35 }, "_alignFlags": 45, "_target": null, diff --git a/assets/PageLoading.ts b/assets/PageLoading.ts index 0959401..b5b4193 100644 --- a/assets/PageLoading.ts +++ b/assets/PageLoading.ts @@ -29,15 +29,20 @@ export class PageLoading extends Component { } // 阶段1: 初始化 LevelDataManager (0-80%) - await LevelDataManager.instance.initialize((progress, message) => { + const success = await LevelDataManager.instance.initialize((progress, message) => { this._updateProgress(progress); this._updateStatusLabel(message); }); + if (!success) { + return; + } + // 阶段2: 预加载 PageHome (80-100%) ViewManager.instance.preload('PageHome', (progress) => { this._updateProgress(0.8 + progress * 0.2); + this._updateStatusLabel('正在加载界面资源...'); }, () => { this._onPreloadComplete(); diff --git a/assets/main.scene b/assets/main.scene index 3d8f34c..3e58bd1 100644 --- a/assets/main.scene +++ b/assets/main.scene @@ -478,10 +478,6 @@ "__uuid__": "cff2809d-6daa-4749-a911-bb99e97b4b54", "__expectedType__": "cc.Prefab" }, - "passModalPrefab": { - "__uuid__": "29ff0bfc-d5cf-4ad1-b8cb-61bdfd4850ef", - "__expectedType__": "cc.Prefab" - }, "_id": "c2b3nbzv9JuZmP2jxQyN72" }, { diff --git a/assets/prefabs/PageLevel.prefab b/assets/prefabs/PageLevel.prefab index a21849b..98dd429 100644 --- a/assets/prefabs/PageLevel.prefab +++ b/assets/prefabs/PageLevel.prefab @@ -6264,7 +6264,7 @@ "__expectedType__": "cc.AudioClip" }, "successAudio": { - "__uuid__": "45d1f0b7-d9d7-41d8-84b2-7abad9304148", + "__uuid__": "c635eec0-7a71-4bd3-be49-0d627c3adaec", "__expectedType__": "cc.AudioClip" }, "failAudio": { diff --git a/assets/resources/audios/SuccessV2.mp3 b/assets/resources/audios/SuccessV2.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..810fb3d5a5bf05ea85fea8787975535351022dca GIT binary patch literal 73314 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 Qx7q;!s{d`9|Cjgw7aByrQ~&?~ literal 0 HcmV?d00001 diff --git a/assets/resources/audios/SuccessV2.mp3.meta b/assets/resources/audios/SuccessV2.mp3.meta new file mode 100644 index 0000000..89416f4 --- /dev/null +++ b/assets/resources/audios/SuccessV2.mp3.meta @@ -0,0 +1,14 @@ +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "c635eec0-7a71-4bd3-be49-0d627c3adaec", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/scripts/utils/LevelDataManager.ts b/assets/scripts/utils/LevelDataManager.ts index 5e005f5..0759b0d 100644 --- a/assets/scripts/utils/LevelDataManager.ts +++ b/assets/scripts/utils/LevelDataManager.ts @@ -22,6 +22,9 @@ export class LevelDataManager { /** 请求超时时间(毫秒) */ private readonly REQUEST_TIMEOUT = 8000; + /** API 请求重试次数 */ + private readonly API_RETRY_COUNT = 2; + /** API 返回的原始关卡数据 */ private _apiData: ApiLevelData[] = []; @@ -62,12 +65,12 @@ export class LevelDataManager { try { // 阶段1: 获取 API 数据 (0-30%) - onProgress?.(0, '正在获取关卡数据...'); - const apiData = await this._fetchApiData(); + onProgress?.(0, '正在请求服务端数据...'); + const apiData = await this._fetchApiData(onProgress); if (!apiData || apiData.length === 0) { console.warn('[LevelDataManager] API 返回空数据'); - onProgress?.(0.3, 'API 数据为空,使用本地配置'); + onProgress?.(0.3, '网络异常,请重新打开游戏'); return false; } @@ -78,7 +81,7 @@ export class LevelDataManager { // 阶段2: 只预加载第一关图片 (30-80%) const firstLevel = apiData[0]; - onProgress?.(0.3, '正在加载第一关资源...'); + onProgress?.(0.3, '正在加载游戏必备资源...'); const spriteFrame = await this._loadImage(firstLevel.imageUrl); if (spriteFrame) { @@ -86,12 +89,12 @@ export class LevelDataManager { } console.log('[LevelDataManager] 初始化完成,第一关资源已加载'); - onProgress?.(0.8, '第一关资源加载完成'); + onProgress?.(0.8, '游戏资源加载完成'); return true; } catch (error) { console.error('[LevelDataManager] 初始化失败:', error); - onProgress?.(0.3, '获取数据失败,使用本地配置'); + onProgress?.(0.3, '网络异常,请重新打开游戏'); return false; } } @@ -205,22 +208,44 @@ export class LevelDataManager { } /** - * 从 API 获取关卡数据 + * 从 API 获取关卡数据(带重试机制) + * @param onProgress 进度回调 */ - private async _fetchApiData(): Promise { - try { - const response = await HttpUtil.get(this.API_URL, this.REQUEST_TIMEOUT); + private async _fetchApiData(onProgress?: ProgressCallback): Promise { + let lastError: Error | null = null; - if (!response.success) { - console.warn(`[LevelDataManager] API 返回失败, 消息: ${response.message}`); - return null; + for (let attempt = 1; attempt <= this.API_RETRY_COUNT; attempt++) { + const progress = (attempt - 1) / this.API_RETRY_COUNT * 0.3; + + try { + onProgress?.(progress, `正在请求服务端数据 (第${attempt}次)...`); + + const response = await HttpUtil.get(this.API_URL, this.REQUEST_TIMEOUT); + + if (!response.success) { + console.warn(`[LevelDataManager] API 返回失败, 消息: ${response.message}`); + lastError = new Error(response.message || 'API 返回失败'); + } else { + return response.data.levels; + } + } catch (error) { + console.warn(`[LevelDataManager] 第${attempt}次请求失败:`, error); + lastError = error as Error; } - return response.data.levels; - } catch (error) { - console.error('[LevelDataManager] API 请求失败:', error); - return null; + // 重试逻辑(无论是 response.success 为 false 还是抛出异常) + if (attempt < this.API_RETRY_COUNT) { + onProgress?.(progress + 0.05, `请求失败,正在重试...`); + await this._delay(1000); + } } + + console.error('[LevelDataManager] API 请求重试全部失败:', lastError); + return null; + } + + private _delay(ms: number): Promise { + return new Promise(resolve => setTimeout(resolve, ms)); } /** diff --git a/settings/v2/packages/information.json b/settings/v2/packages/information.json index 94848de..b05147f 100644 --- a/settings/v2/packages/information.json +++ b/settings/v2/packages/information.json @@ -4,19 +4,19 @@ "customSplash": { "id": "customSplash", "label": "customSplash", - "enable": false, + "enable": true, "customSplash": { "complete": false, - "form": "https://creator-api.cocos.com/api/form/show?" + "form": "https://creator-api.cocos.com/api/form/show?sid=51d0aa399094bb683b7737f0a16a459b" } }, "removeSplash": { "id": "removeSplash", "label": "removeSplash", - "enable": false, + "enable": true, "removeSplash": { "complete": false, - "form": "https://creator-api.cocos.com/api/form/show?" + "form": "https://creator-api.cocos.com/api/form/show?sid=51d0aa399094bb683b7737f0a16a459b" } } }