/// <summary> /// 设备升级 /// </summary> private retV1UploadU01 htt_Upload() { try { string url = "?token=" + htConst.getToken(); string parurl = htConst.url_V1_UPLOAD + url; htV1UploadU01 req = new htV1UploadU01(); req.deviceSN = yoyoConst.EQU_SN; req.timeStamp = DateTime.Now.ToString("yyyyMMddHHssmm"); string ret = htConst.Post(parurl, req); //注册成功 retV1UploadU01 model = JsonHelper.FromJSON <retV1UploadU01>(ret); if (model != null && model.data != null && model.success == true) { return(model); } else { return(null); } } catch { return(null); } }
/// <summary> /// 检测升级 /// </summary> private bool update_Main() { try { LogisTrac.WriteLog("kangjiamain--开始检查升级状态"); string basth = yoyoConst.KANGJIA_PATH; model = htt_Upload(); bool doflag = false; if (model == null) { LogisTrac.WriteLog("kangjiamain--无法连接服务判断"); return(true); } string resVersion = OperateIniFile.ReadVersionIniData("RES_VERSION"); string appVersion = OperateIniFile.ReadVersionIniData("MAIN_VERSION"); string mcpVersion = OperateIniFile.ReadVersionIniData("HARD_VERSION"); if (model.data.resVersion != null && resVersion != null && model.data.resVersion.Trim() != resVersion.Trim()) { //下载解压 doflag = update_downloadAndUnZipFile(model.data.resUrl, this.up_resVersion_url); if (!doflag) { LogisTrac.WriteLog("kangjiamain--资源文件下载解压失败,版本" + model.data.resVersion); return(doflag); } LogisTrac.WriteLog("kangjiamain--资源文件下载解压成功" + resVersion + "end");//model.data. //复制到指定目录,删除原始文件 doflag = update_replaceFile(this.up_resVersion_url, basth + "\\res"); if (!doflag) { LogisTrac.WriteLog("kangjiamain--资源文件替换失败,版本" + model.data.resVersion + "end"); return(doflag); } FileHelper.DeleteFolder(this.up_resVersion_url); OperateIniFile.WriteVersionIniData("RES_VERSION", model.data.resVersion); LogisTrac.WriteLog("kangjiamain--资源文件更新成功,版本" + model.data.resVersion + "end"); } if (model.data.appVersion != null && appVersion != null && model.data.appVersion.Trim() != appVersion.Trim()) { //下载解压 doflag = update_downloadAndUnZipFile(model.data.appUrl, this.up_appVersion_url); if (!doflag) { LogisTrac.WriteLog("kangjiamain--主程序文件下载解压失败,版本" + model.data.appVersion + "end"); return(doflag); } //复制到指定目录,删除原始文件 doflag = update_replaceFile(this.up_appVersion_url, basth); if (!doflag) { LogisTrac.WriteLog("kangjiamain--主程序文件替换失败,版本" + model.data.appVersion + "end"); return(doflag); } FileHelper.DeleteFolder(this.up_appVersion_url); OperateIniFile.WriteVersionIniData("MAIN_VERSION", model.data.appVersion); LogisTrac.WriteLog("kangjiamain--主程序文件更新成功,版本" + model.data.appVersion + "end"); } if (model.data.mcpVersion.Length <= 9 || yoyoConst.VERSION.Length <= 9) { return(false); } //if (model.data.mcpVersion != yoyoConst.VERSION.Substring(9))//TODO string[] list1 = new string[2];//yoyoConst.VERSION.Split('H'); list1[0] = yoyoConst.VERSION.Substring(0, 9); list1[1] = yoyoConst.VERSION.Substring(9); string[] list2 = new string[2];//model.data.mcpVersion.Split('H'); list2[0] = model.data.mcpVersion.Trim().Substring(0, 9); list2[1] = model.data.mcpVersion.Trim().Substring(9); if (list1.Length == 2 && list1.Length == list2.Length && list1[0] != list2[0] && list1[1] == list2[1]) { //下载解压 doflag = update_downloadAndUnZipFile(model.data.mcpUrl, this.up_mcpVersion_url); if (!doflag) { LogisTrac.WriteLog("kangjiamain--固件文件下载解压失败,版本" + model.data.mcpVersion + "end"); return(doflag); } string filename = FileHelper.getFilename(this.up_mcpVersion_url, ".bin"); if (!string.IsNullOrEmpty(filename)) { Init_Device_doing = true; testuploadByte = FileHelper.GetFileData(filename); cmdnew.hardLength = FileHelper.FileSize(filename); devicemanager.Write(new Cmd_S_Ready()); } else { LogisTrac.WriteLog("kangjiamain--固件升级文件不是bin文件"); return(true); } } return(true); } catch (Exception ex) { LogisTrac.WriteLog(ex.Message); return(false); } }