98 lines
3.7 KiB
C#
98 lines
3.7 KiB
C#
using RestSharp;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Threading.Tasks;
|
|
using System.Xml;
|
|
using Xamarin.Forms;
|
|
using Xamarin.Forms.Xaml;
|
|
|
|
using XXCpzs.Models;
|
|
using XXCpzs.Services;
|
|
|
|
namespace XXCpzs.Views
|
|
{
|
|
[DesignTimeVisible(false)]
|
|
public partial class MainPage : MasterDetailPage
|
|
{
|
|
Dictionary<int, NavigationPage> MenuPages = new Dictionary<int, NavigationPage>();
|
|
public MainPage()
|
|
{
|
|
InitializeComponent();
|
|
MasterBehavior = MasterBehavior.Popover;
|
|
MenuPages.Add((int)MenuItemType.Browse, (NavigationPage)Detail);
|
|
}
|
|
public ServerVersion GetServerVer()
|
|
{
|
|
string version = "1.00";
|
|
string upAddresss = null;
|
|
string upContent = null;
|
|
string upTime = null;
|
|
var client = new RestClient{
|
|
BaseUrl = new Uri("http://cpzs.xixingwl.cn/cpzs.php/index/update/t/Droid.html"),
|
|
Timeout = 60000
|
|
};
|
|
var request = new RestRequest{
|
|
Timeout = 30000,
|
|
Method = Method.POST
|
|
};
|
|
request.AddHeader("Content-Type", "text/html,application/xhtml+xml,application/xml;q=0.9");
|
|
request.AddHeader("Authorization", "Bearer123456");
|
|
IRestResponse response2 = client.Execute(request);
|
|
if (response2.IsSuccessful){
|
|
XmlDocument sync = new XmlDocument();
|
|
sync.LoadXml(response2.Content.Trim());
|
|
XmlNode think = sync.SelectSingleNode("think");
|
|
version = think.SelectSingleNode("Version").InnerText;
|
|
upAddresss = think.SelectSingleNode(" UpAddresss").InnerText;
|
|
upContent = think.SelectSingleNode(" UpContent").InnerText;
|
|
upTime = think.SelectSingleNode(" UpTime").InnerText;
|
|
}
|
|
return new ServerVersion() { Version = version, UpAddresss = upAddresss ,UpContent = upContent, UpTime = upTime };
|
|
}
|
|
public async Task NavigateFromMenu(int id)
|
|
{
|
|
if (!MenuPages.ContainsKey(id))
|
|
{
|
|
switch (id)
|
|
{
|
|
case (int)MenuItemType.Browse:
|
|
MenuPages.Add(id, new NavigationPage(new PageMain()));
|
|
break;
|
|
case (int)MenuItemType.About:
|
|
MenuPages.Add(id, new NavigationPage(new AboutPage()));
|
|
break;
|
|
case (int)MenuItemType.Upgrade:
|
|
// var ServerVer = GetServerVer();
|
|
//string LocaVer = DependencyService.Get<ICommonService>().GetVersion();
|
|
//if (int.Parse(ServerVer.Version) > int.Parse(LocaVer))
|
|
//{
|
|
// bool answer = await DisplayAlert("检测到新的版本", "是否立即更新?" + ServerVer.Version, "Yes", "No");
|
|
// if (answer)
|
|
// {
|
|
// DependencyService.Get<ICommonService>().UpdateApp(ServerVer.UpAddresss);
|
|
// }
|
|
//}
|
|
break;
|
|
case (int)MenuItemType.CloseApp:
|
|
DependencyService.Get<ICommonService>().CloseApp();
|
|
break;
|
|
}
|
|
}
|
|
|
|
var newPage = MenuPages[id];
|
|
|
|
if (newPage != null && Detail != newPage)
|
|
{
|
|
Detail = newPage;
|
|
|
|
if (Device.RuntimePlatform == Device.Android)
|
|
await Task.Delay(100);
|
|
|
|
IsPresented = false;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
} |