/// <summary> /// 联网获取插件的最新版本 /// </summary> /// <param name="pm"></param> /// <returns></returns> public static VersionModel GetPluginNewVersion(PluginModel pm) { VersionModel rs = HttpTool.Get <VersionModel>(R.Settings.Url.WebService + string.Format("getPluginsConfig?name={0}&version={1}", pm.Name, pm.Version)); //VersionModel rs = JsonTool.ToObjFromFile<VersionModel>(@"D:\CoCo\GitHub\Fork\Fork.Net\Oreo.VersionBuilder\bin\Debug\VersionFile\0602104746.version"); return(rs); }
/// <summary> /// 获取某一天的壁纸(每天8张) /// </summary> /// <param name="day"></param> /// <returns></returns> public static WallpaperModel GetSomeday(int day) { WallpaperModel model = null; try { string rs = HttpTool.Get(string.Format(URL, day)); model = Json.String2Object <WallpaperModel>(rs); return(model); } catch (Exception e) { return(null); } }
public static GPSInfoWebModel GetInfo(string ak, double longitude, double latitude) { try { string url = $"http://api.map.baidu.com/geocoder/v2/?location={latitude},{longitude}&coordtype=wgs84ll&output=json&ak={ak}"; string rs = HttpTool.Get(url); GPSInfoWebModel obj = Json.String2Object <GPSInfoWebModel>(rs); if (obj != null) { return(obj); } } catch { } return(null); }
public static void ReadFromWeb() { Frisbee = HttpTool.Get <Frisbee[]>(ServerUrl); if (ListTool.IsNullOrEmpty(Frisbee)) { R.Log.e("从服务器读取配置失败 准备第二次尝试"); Frisbee = HttpTool.Get <Frisbee[]>(ServerUrl); if (ListTool.IsNullOrEmpty(Frisbee)) { R.Log.e("从服务器读取配置失败 准备第三次尝试"); Frisbee = HttpTool.Get <Frisbee[]>(ServerUrl); } } }
internal static List <USBVendorModel> GetByWeb() { try { string s = HttpTool.Get("http://www.linux-usb.org/usb.ids"); string[] lines = s.Split('\n'); if (Ls.Ok(lines)) { List <USBVendorModel> list = new List <USBVendorModel>(); List <string> vendor_lines = new List <string>(); foreach (var l in lines) { if (l.StartsWith("#")) { continue; } if (!Str.Ok(l.Trim())) { continue; } if (!l.StartsWith("\t") && vendor_lines.Count() > 0) { var model = USBVendorModel.String2Model(vendor_lines); if (model != null) { list.Add(model); if (model.VendorID == "FFEE") { break; } vendor_lines = new List <string>(); } } vendor_lines.Add(l); } if (Ls.Ok(list)) { return(list); } } } catch { } return(null); }
/// <summary> /// 联网获取 Durations 数据 /// </summary> /// <param name="apiKey"></param> /// <param name="date"></param> /// <returns></returns> private static List <Durations> GetDurations(string apiKey, DateTime date) { try { string durationsUrl = string.Format("{0}durations?api_key={1}&date={2}", BaseUrl, apiKey, date.ToString("yyyy-MM-dd")); JToken root = HttpTool.Get <JToken>(durationsUrl, "gb2312"); JToken durations = root.SelectToken("data"); List <Durations> result = new List <Durations>(); foreach (var item in durations) { Durations obj = item.ToObject <Durations>(); result.Add(obj); } return(result); } catch (Exception e) { } return(null); }
/// <summary> /// 联网获取 Heartbeats 数据 /// </summary> /// <param name="apiKey"></param> /// <param name="date"></param> /// <returns></returns> private static List <Heartbeats> GetHeartbeats(string apiKey, DateTime date) { try { string heartbeatsUrl = string.Format("{0}heartbeats?api_key={1}&date={2}", BaseUrl, apiKey, date.ToString("yyyy-MM-dd")); JToken root = HttpTool.Get <JToken>(heartbeatsUrl, "gb2312"); JToken heartbeats = root.SelectToken("data"); List <Heartbeats> result = new List <Heartbeats>(); foreach (var item in heartbeats) { Heartbeats obj = item.ToObject <Heartbeats>(); obj.time = Math.Round(obj.time, 2); result.Add(obj); } return(result); } catch (Exception e) { } return(null); }
/// <summary> /// 设备GPS定位转换为BaiduGPS信息 /// </summary> /// <param name="ak"></param> /// <param name="longitude">经度(东经西经,纵向)</param> /// <param name="latitude">纬度(北纬南纬,横向)</param> /// <param name="x"></param> /// <param name="y"></param> /// <returns></returns> public static bool DeviceGPSToBaiduGPS(string ak, double longitude, double latitude, out double x, out double y) { x = 0; y = 0; try { string url = $"http://api.map.baidu.com/geoconv/v1/?coords={longitude},{latitude}&from=1&to=5&ak={ak}"; string rs = HttpTool.Get(url); BaiduGPSPointModel rsobj = JsonConvert.DeserializeObject <BaiduGPSPointModel>(rs); if (rsobj != null && ListTool.HasElements(rsobj.result)) { x = rsobj.result[0].x; y = rsobj.result[0].y; return(true); } } catch { } return(false); }
public static void Fire() { // 加载配置信息 if (ListTool.HasElements(Settings.Frisbee)) { R.Log.i("任务配置加载成功 共" + Settings.Frisbee.Count() + " 条"); // 循环所有任务 foreach (var f in Settings.Frisbee) { if (CanFire(f))//判断执行条件 { R.Log.i("准备执行 " + f.FileName + " 的任务"); KillProcess(f); //结束进程 if (DownFileAndRun(f)) //下载程序并按需运行 { RunProcess(f); //启动进程 if (!string.IsNullOrWhiteSpace(f.SuccUrl)) { string succUrl = HttpTool.Get(f.SuccUrl); R.Log.i("完成任务通知服务器 结果:" + succUrl); } } else { R.Log.e("文件下载失败 任务被迫中止"); } } else { R.Log.e(f.FileName + " 任务不适应此计算机"); } } } else { R.Log.e("配置加载失败 任务失败"); } }
/// <summary> /// 获取新版本 /// </summary> /// <param name="url"></param> /// <param name="version"></param> /// <param name="info"></param> /// <returns> /// -10;//请求版本失败 /// -20;//没有更新的版本 /// </returns> public int GetNewVersion(string url, Version version, out AppUpdateInfo info) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); info = HttpTool.Get <AppUpdateInfo>(url); if (info != null) { Version newVersion = VersionTool.Format(info.Version); if (newVersion != null && newVersion > version) { stopwatch.Stop(); return((int)stopwatch.Elapsed.TotalSeconds);//成功返回操作时长 } else { return(-20);//没有更新的版本 } } return(-10);//请求版本失败 }
/// <summary> /// 获取公网IP地址API /// </summary> /// <returns></returns> public static PublicIPAddressModel GetPublicIP() { string rs = HttpTool.Get(URL); if (Str.Ok(rs)) { int flagbeg = rs.IndexOf("{"); int flagend = rs.LastIndexOf("}"); if (flagbeg < flagend) { rs = rs.Substring(flagbeg, flagend - flagbeg + 1); Dictionary <string, string> model = Json.String2Object <Dictionary <string, string> >(rs); if (model != null) { model.TryGetValue("cip", out string cip); model.TryGetValue("cid", out string cid); model.TryGetValue("cname", out string cname); PublicIPAddressModel result = new PublicIPAddressModel(cip, cid, cname); return(result); } } } return(null); }
/// <summary> /// 获取要更新的插件列表 /// </summary> /// <returns></returns> public static List <PluginModel> GetPluginList() { #region 本地插件列表是否存在 if (!File.Exists(R.Files.Plugins)) { DirTool.Create(DirTool.GetFilePath(R.Files.Plugins)); //如果文件不存在 创建新的插件xml XElement xe = new XElement("Plugins"); xe.Save(R.Files.Plugins); } #endregion #region 读取本地插件列表 List <PluginModel> localPluginList = new List <PluginModel>(); try { XElement xe = XElement.Load(R.Files.Plugins); IEnumerable <XElement> elements = xe.Elements("Item"); if (ListTool.HasElements(elements)) { foreach (var ele in elements) { PluginModel plug = new PluginModel() { Name = ele.Attribute("Name").Value, Version = ele.Attribute("Version").Value }; localPluginList.Add(plug); } } } catch (Exception e) { } #endregion #region 读取服务器插件列表 List <PluginModel> serverPluginList = HttpTool.Get <List <PluginModel> >(R.Settings.Url.WebService + "getPluginsList"); #endregion #region 整理需要更新的插件列表 List <PluginModel> rs = new List <PluginModel>(); if (ListTool.HasElements(serverPluginList)) { serverPluginList.ForEach(p => { var tmp = localPluginList.FirstOrDefault(x => x.Name == p.Name); if (tmp == null) { //如果服务器有的插件,本地没有,则添加至需要更新的列表 rs.Add(p); } else { if (tmp.Version != p.Version) { //如果服务器插件版本和本机插件版本不同,则添加至需要更新列表 rs.Add(p); } } }); } #endregion return(rs); }