Add Lottie global loading overlay and fix stuck loading states.

Replace per-VC activity indicators with a ref-counted GlobalLoadingManager, and resolve duplicate show/hide calls on Profile, Statistics, and Home tabs.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-06 17:43:13 +08:00
parent 3b17b7f7f0
commit 39186cfe25
14 changed files with 281 additions and 75 deletions

View File

@ -12,6 +12,7 @@
A1B2C3D12FFB84950033C305 /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = 93FF17E22FFB84950033C304 /* SnapKit */; };
A1B2C3D22FFB84950033C305 /* Kingfisher in Frameworks */ = {isa = PBXBuildFile; productRef = 93FF17E32FFB84950033C304 /* Kingfisher */; };
B2C3D4E12FFB84950033C306 /* AlibabaCloudOSS in Frameworks */ = {isa = PBXBuildFile; productRef = B2C3D4E32FFB84950033C306 /* AlibabaCloudOSS */; };
C3D4E5F12FFB84950033C307 /* Lottie in Frameworks */ = {isa = PBXBuildFile; productRef = C3D4E5F32FFB84950033C307 /* Lottie */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -63,6 +64,7 @@
93FF17E42FFB84950033C304 /* SnapKit in Frameworks */,
93FF17E52FFB84950033C304 /* Kingfisher in Frameworks */,
B2C3D4E12FFB84950033C306 /* AlibabaCloudOSS in Frameworks */,
C3D4E5F12FFB84950033C307 /* Lottie in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -119,6 +121,7 @@
93FF17E22FFB84950033C304 /* SnapKit */,
93FF17E32FFB84950033C304 /* Kingfisher */,
B2C3D4E32FFB84950033C306 /* AlibabaCloudOSS */,
C3D4E5F32FFB84950033C307 /* Lottie */,
);
productName = suixinkan;
productReference = 93FF17C52FFB84950033C304 /* suixinkan.app */;
@ -181,6 +184,7 @@
93FF17E02FFB84950033C304 /* XCRemoteSwiftPackageReference "SnapKit" */,
93FF17E12FFB84950033C304 /* XCRemoteSwiftPackageReference "Kingfisher" */,
B2C3D4E22FFB84950033C306 /* XCRemoteSwiftPackageReference "alibabacloud-oss-swift-sdk-v2" */,
C3D4E5F22FFB84950033C307 /* XCRemoteSwiftPackageReference "lottie-spm" */,
);
preferredProjectObjectVersion = 77;
productRefGroup = 93FF17C62FFB84950033C304 /* Products */;
@ -532,6 +536,14 @@
minimumVersion = 0.3.0;
};
};
C3D4E5F22FFB84950033C307 /* XCRemoteSwiftPackageReference "lottie-spm" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/airbnb/lottie-spm.git";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 4.6.1;
};
};
/* End XCRemoteSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
@ -550,6 +562,11 @@
package = B2C3D4E22FFB84950033C306 /* XCRemoteSwiftPackageReference "alibabacloud-oss-swift-sdk-v2" */;
productName = AlibabaCloudOSS;
};
C3D4E5F32FFB84950033C307 /* Lottie */ = {
isa = XCSwiftPackageProductDependency;
package = C3D4E5F22FFB84950033C307 /* XCRemoteSwiftPackageReference "lottie-spm" */;
productName = Lottie;
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = 93FF17BD2FFB84950033C304 /* Project object */;

View File

@ -1,5 +1,5 @@
{
"originHash" : "bdf5586d6171744520b6e9c884c2dbe9a16818e8af708876240fda75c94cb2f0",
"originHash" : "cb8f20fce1c6d5182e1505245f7fa3cd864954e3b45b7397e3bc7cd403003882",
"pins" : [
{
"identity" : "alibabacloud-oss-swift-sdk-v2",
@ -19,6 +19,15 @@
"version" : "8.10.0"
}
},
{
"identity" : "lottie-spm",
"kind" : "remoteSourceControl",
"location" : "https://github.com/airbnb/lottie-spm.git",
"state" : {
"revision" : "0aff16288f8dc1e3dab35cbf5cf45979673fd3df",
"version" : "4.6.1"
}
},
{
"identity" : "snapkit",
"kind" : "remoteSourceControl",