更新程序 修复 获取数据失败bug,增加倒叙

This commit is contained in:
chfei committed 2026-10-13 18:09:49 +08:00
1 parent 558f9bfa04
commit ab510c8f8d
1 file changed
+45 -30
+45 -30
View File
@@ -50,44 +50,58 @@ namespace Update
}
private List<ChangelogItem> GetChangeInfos()
{
string paidanUrl = $"https://update-wx-order.e57.cn";
string shanghuoUrl = $"https://update.e57.cn";
using (WebClient c = new WebClient())
try
{
c.Encoding = Encoding.UTF8;
string url = $"/api/releases/since?version={(Program.oldVersion / 100m)}&channel=stable";
if (Program.softName == "29WxFindOrder")
string paidanUrl = $"https://update-wx-order.e57.cn";
string shanghuoUrl = $"https://update.e57.cn";
using (WebClient c = new WebClient())
{
url = paidanUrl + url;
}
else if (Program.softName == "29供应链.exe")
url = shanghuoUrl + url;
string json = c.DownloadString(url);
var root = MiniJson.Json.Deserialize(json) as Dictionary<string, object>;
if (root["ok"].ToString() == "True")
{
var data = (Dictionary<string, object>)root["data"];
var versionsRaw = (List<object>)data["versions"];
var list = new List<ChangelogItem>();
foreach (Dictionary<string, object> item in versionsRaw)
c.Encoding = Encoding.UTF8;
string url = $"/api/releases/since?version={(Program.oldVersion / 100m)}&channel=stable";
if (Program.softName == "29WxFindOrder")
{
var ci = new ChangelogItem
url = paidanUrl + url;
}
else if (Program.softName == "29供应链.exe")
url = shanghuoUrl + url;
string json = c.DownloadString(url);
var root = MiniJson.Json.Deserialize(json) as Dictionary<string, object>;
if (root["ok"].ToString() == "True")
{
var data = (Dictionary<string, object>)root["data"];
var versionsRaw = (List<object>)data["versions"];
var list = new List<ChangelogItem>();
foreach (Dictionary<string, object> item in versionsRaw)
{
Version = item["version"]?.ToString(),
Notes = item["notes"]?.ToString(),
};
var ci = new ChangelogItem
{
Version = item["version"]?.ToString(),
Notes = item["notes"]?.ToString(),
};
if (DateTime.TryParse(item["publishedAt"]?.ToString(), out DateTime v))
{
ci.PublishedAt = v.ToString("yyyy-MM-dd");
if (DateTime.TryParse(item["publishedAt"]?.ToString(), out DateTime v))
{
ci.ChangeTime = v;
}
list.Add(ci);
}
list.Add(ci);
list.Sort((a, b) => b.ChangeTime.CompareTo(a.ChangeTime));
return list;
}
return list;
}
return null;
}
catch (Exception ex)
{
return new List<ChangelogItem>
{
new ChangelogItem
{
Notes="更新日志获取错误\n"+ex.Message
}
};
}
return null;
}
/// <summary>
@@ -423,7 +437,8 @@ namespace Update
public class ChangelogItem
{
public string Version { get; set; }
public string PublishedAt { get; set; }
public string PublishedAt => ChangeTime.ToString("yyyy-MM-dd");
public DateTime ChangeTime { get; set; }
public string Notes { get; set; }
public string[] Items