feat: 支持加载进度提示和 API 重试机制

- 添加 ProgressTips 节点到 PageLoading 展示加载状态消息
- 连接 statusLabel 到 ProgressTips 组件
- LevelDataManager 添加 API 请求重试机制(重试 2 次)
- 优化进度消息:正在请求服务端数据、正在加载游戏必备资源等
- 初始化失败时显示"网络异常,请重新打开游戏"

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
richarjiang
2026-03-30 09:14:10 +08:00
parent 8794a3495c
commit e0d2ff5d57
8 changed files with 239 additions and 34 deletions

View File

@@ -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,