void DownloadResources() { var pathArchive = $"version/cache/{serverVersion}/{XYInfo.Version}.zip"; XYWeb.DownloadXyweServerFileAsync(pathArchive, XYPath.File.DataUpdateFiles, () => { if (File.ReadAllBytes(XYPath.File.DataUpdateFiles).Length == 0) { File.Delete(XYPath.File.DataUpdateFiles); } var pathRemove = $"version/cache/{serverVersion}/{XYInfo.Version}.txt"; XYWeb.DownloadXyweServerFileAsync(pathRemove, XYPath.File.DataUpdateRemove, () => { if (File.ReadAllBytes(XYPath.File.DataUpdateRemove).Length == 0) { File.Delete(XYPath.File.DataUpdateRemove); } XYWeb.DownloadXyweServerFileAsync($"version/repository/{serverVersion}/log.txt", XYPath.File.DataUpdateLog, () => { label2.Text = serverVersion; WindowState = FormWindowState.Normal; }, Quit, Quit, successWhenNotFound: false); }, Quit, Quit, successWhenNotFound: true); }, Quit, Quit, successWhenNotFound: true); }
public FormXYChecker() { InitializeComponent(); label2.Text = "... Updating ..."; if (XYWeb.GetInternetConnection()) { XYWeb.ReadXyweServerTextAsync($"version/ask_update.php?a={XYInfo.Version}", content => { if (content.Length == 0 || content == XYInfo.Version) { Quit(); } else { if (!Directory.Exists(XYPath.Dir.DataUpdate)) { Directory.CreateDirectory(XYPath.Dir.DataUpdate); } serverVersion = content; DownloadResources(); } }, Quit, Quit, 0); } else { Quit(); } }
public FormXYWE() { if (!File.Exists(XYPath.File.UpdateLock) && File.Exists(XYPath.File.DataUpdateLog)) { var formLog = new FormUpdateLog(); formLog.ShowDialog(); } XYWeb.ReadXyweServerTextAsync("announcement/last.txt", lastAnnouncementId => { if (lastAnnouncementId == XYAnnouncement.GetLocalAnnouncementId()) { return; } XYAnnouncement.SetLocalAnnouncementId(lastAnnouncementId); XYWeb.ReadXyweServerTextAsync($"announcement/{lastAnnouncementId}.txt", announcement => { var formAnnouncement = new FormAnnouncement(announcement); formAnnouncement.ShowDialog(); }, null, null); }, null, null, 0); InitializeComponent(); XYFile.RemoveDirectory(XYPath.Dir.DataUpdate); if (!File.Exists(XYPath.File.UpdateLock)) { XYProcess.Application.StartXYChecker(); } }
private void T_Tick_SendOnlineMessage(object sender, EventArgs e) { XYWeb.ReadXyweServerTextAsync("user/get_online_number.php", content => { var info = content.Split('|'); var aliveNumber = info[0]; var todayNumber = info[1]; LbOnline.Text = $"当前在线:{aliveNumber} / 今日已上线:{todayNumber}"; }, cacheTime: 0); }