Commit d8dd536f authored by 段廷瑞's avatar 段廷瑞

1、修复更新覆盖本地配置文件问题

2、修复更新成功记录更新时间失败问题
parent 699e1b29
......@@ -9,6 +9,8 @@
<add key="PatchTimeFrame_Sql" value="720"/>
<add key="PatchTimeFrame_Xml" value="720"/>
<add key="PatchTimeFrame_Xml" value="720"/>
<!--是否排除.pdb文件。1:排除,其他包含。-->
<add key="Exclude_PDB" value="1"/>
<add key="ClientSettingsProvider.ServiceUri" value=""/>
......
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="LoginInfo" value="wwF/xpBzWek=" />
<add key="LoginVerify" value="v86f5Q3Xa7U=" />
<add key="UpdateTime" value="2021-12-30 09:12:18.113" />
<add key="ExceptFiles" value="" />
<add key="ContainFiles" value="" />
<add key="PatchTimeFrame_Dll" value="48" />
<add key="PatchTimeFrame_Sql" value="720" />
<add key="PatchTimeFrame_Xml" value="720" />
<add key="Exclude_PDB" value="1" />
<add key="UpdateTime" value="2021-12-30 10:52:06.703" />
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
......
{"LoginInfo":null,"LoginVerify":null,"UpdateTime":"2021-12-30 10:52:06.703"}
\ No newline at end of file
using ICSharpCode.SharpZipLib.Zip;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Configuration;
......@@ -182,6 +183,40 @@ namespace Tools.MyUtils
}
#endregion
#region 读写json配置文件
/// <summary>
/// 读取JSON配置文件信息(UTF8)
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public static T JsonConfig<T>() where T : new()
{
var fileName = $@"{Utils.ConfigPath}\{typeof(T).Name}.json";
if (!File.Exists(fileName))
{
var config = new T();
File.WriteAllText(fileName, JsonConvert.SerializeObject(config), Encoding.UTF8);
return config;
}
else
{
var json = File.ReadAllText(fileName, Encoding.UTF8);
return JsonConvert.DeserializeObject<T>(json);
}
}
/// <summary>
/// 保存JSON配置文件信息(UTF8)
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="config"></param>
public static void JsonConfig<T>(T config)
{
var fileName = $@"{Utils.ConfigPath}\{typeof(T).Name}.json";
File.WriteAllText(fileName, JsonConvert.SerializeObject(config), Encoding.UTF8);
}
#endregion
#region 打开文件
......@@ -1046,4 +1081,23 @@ namespace Tools.MyUtils
#endregion
}
/// <summary>
/// 登录记忆
/// </summary>
public class LoginMemory
{
/// <summary>
/// 登录信息(用户ID)
/// </summary>
public string LoginInfo { get; set; }
/// <summary>
/// 验证信息(用户密码)
/// </summary>
public string LoginVerify { get; set; }
/// <summary>
/// 更新日期
/// </summary>
public string UpdateTime { get; set; }
}
}
......@@ -47,6 +47,10 @@
<Reference Include="ICSharpCode.SharpZipLib, Version=1.3.2.10, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.3.2\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\AppHome\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NPOI, Version=2.5.1.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<HintPath>..\FunnyPick\packages\NPOI.2.5.1\lib\net45\NPOI.dll</HintPath>
</Reference>
......
......@@ -64,8 +64,10 @@ namespace Tools.UI.sys
LoginInfo.IsPrincipal = Convert.ToBoolean(dt.DefaultView[0]["IsPrincipal"].ToString());
LoginInfo.IsStaff = Convert.ToBoolean(dt.DefaultView[0]["IsStaff"].ToString());
//保存登录信息
Utils.AppSettings(APP.LOGIN_INFO, Utils.Encryptor(dt.DefaultView[0]["ID"].ToString()));
Utils.AppSettings(APP.LOGIN_VERIFY, password);
var m = Utils.JsonConfig<LoginMemory>();
m.LoginInfo = Utils.Encryptor(dt.DefaultView[0]["ID"].ToString());
m.LoginVerify = password;
Utils.JsonConfig(m);
//关闭窗口
this.DialogResult = DialogResult.OK;
this.Close();
......
......@@ -107,6 +107,7 @@ namespace Tools.UI.sys
&& !f.FullName.Contains("\\Config\\") //剔除配置文件
&& !f.FullName.Contains("\\Logs\\") //剔除日志文件
&& !f.FullName.Contains("Tools.exe.") //剔除应用配置文件(包含更新时间和登录信息)
&& !f.Extension.Equals(".json")
).ToList(); //剔除自动更新相关目录
//构造压缩文件路径集合
List<string> FileNames = new List<string>();
......
......@@ -260,7 +260,8 @@ namespace Tools
/// </summary>
private void CheckUpdate(bool IsSilentWhenNotFound = false)
{
var updateTime = Utils.AppSettings(APP.UPDATE_TIME);
var m = Utils.JsonConfig<LoginMemory>();
var updateTime = m.UpdateTime; //Utils.AppSettings(APP.UPDATE_TIME);
var dt =this._db.GetDataTable($"SELECT TOP 1 UDate, URemark FROM dbo.FTT_AutoUpdate WHERE UDate > '{updateTime}' ORDER BY UDate DESC", "FTT_AutoUpdate");
if (dt.DefaultView.Count > 0)
{
......@@ -281,7 +282,9 @@ namespace Tools
if (x.IsCompleted && x.Exception == null)
{
var date = Convert.ToDateTime(drv["UDate"]);
Utils.AppSettings(APP.UPDATE_TIME, date.ToString("yyyy-MM-dd HH:mm:ss.fff"));
m.UpdateTime = date.ToString("yyyy-MM-dd HH:mm:ss.fff");
Utils.JsonConfig(m);
//Utils.AppSettings(APP.UPDATE_TIME, date.ToString("yyyy-MM-dd HH:mm:ss.fff"));
}
else
{
......@@ -478,8 +481,9 @@ namespace Tools
/// </summary>
private void InitLoginInfo()
{
var m = Utils.JsonConfig<LoginMemory>();
//获取登录信息
var loginInfo = Utils.AppSettings(APP.LOGIN_INFO);
var loginInfo = m.LoginInfo; //Utils.AppSettings(APP.LOGIN_INFO);
if (!string.IsNullOrEmpty(loginInfo))
{
var sql = $@"
......@@ -495,7 +499,7 @@ namespace Tools
var userName = dt.DefaultView[0]["UserName"].ToString();
var password = dt.DefaultView[0]["Password"].ToString();
//验证密码
var loginVerify = Utils.AppSettings(APP.LOGIN_VERIFY);
var loginVerify = m.LoginVerify; //Utils.AppSettings(APP.LOGIN_VERIFY);
if (loginVerify != password)
{
if (Utils.TipYN("密码已过期,请重新登录!"))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment