[feat] add mobile update badges and iOS simulator support

This commit is contained in:
dijunkun
2026-10-04 01:38:08 +08:00
parent 115533cd62
commit b8f704abb9
25 changed files with 766 additions and 61 deletions
+14
View File
@@ -348,6 +348,20 @@ bool IsValidAppVersion(const std::string& version) {
return ParseVersionInfo(nlohmann::json{{"version", version}}).has_value();
}
std::optional<std::string> CheckPlatformAppUpdate(const std::string& current,
std::string_view json,
const std::string& platform) {
if (!IsValidAppVersion(current)) return std::nullopt;
try {
const auto manifest = nlohmann::json::parse(json);
const auto latest = ParseVersionInfo(manifest.at("downloads").at(platform));
if (!latest) return std::nullopt;
return AvailableAppUpdate(current, *latest).value_or("");
} catch (const nlohmann::json::exception&) {
return std::nullopt;
}
}
std::optional<std::string> AvailableAppUpdate(const std::string& current,
const VersionInfo& latest) {
if (!IsValidAppVersion(latest.version) ||