private bool verificationLoad(string userName,string userPassword, string clientSessionid)
{
//clientSessionid 这是判断能否登录的id
if (clientSessionid != null)
{
// 验证sessionid方式 判断登陆 添加参数
if (!IsLoad(clientSessionid))
{
//ReadLocalSessionId() 读取本地记录的登录信息.避免多次登录
clientSessionid = ReadLocalSessionId();
if (IsLoad(clientSessionid))
{
return true;
}
if (userPassword != null)
{
//自动登录
UserLoagForm userLoagForm = new UserLoagForm();
string LoginResultInfo = userLoagForm.Login(userName, userPassword);
UserInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<UserInfo>(LoginResultInfo);
if (string.IsNullOrEmpty(UserInfo.ErrorMsg))
{
return true;
}
}
else
{
//弹出登录窗口
UserLoagForm userLoagForm = new UserLoagForm();
var loagResulet = userLoagForm.ShowDialog();
if (loagResulet != DialogResult.Cancel && string.IsNullOrEmpty(userLoagForm.loginInfo.ErrorMsg))
{
return true;
}
}
}
else
{
return true;
}
}
else if (userPassword == null)
{
clientSessionid = ReadLocalSessionId();
if (IsLoad(clientSessionid))
{
return true;
}
//弹出登录窗口
UserLoagForm userLoagForm = new UserLoagForm();
var loagResulet = userLoagForm.ShowDialog();
if (loagResulet != DialogResult.Cancel && string.IsNullOrEmpty(userLoagForm.loginInfo.ErrorMsg))
{
return true;
}
}
else
{
//自动登录
UserLoagForm userLoagForm = new UserLoagForm();
string LoginResultInfo = userLoagForm.Login(userName, userPassword);
UserInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<UserInfo>(LoginResultInfo);
if (string.IsNullOrEmpty(UserInfo.ErrorMsg))
{
return true;
}
}
return false;
}
这个 方法本人觉得很不对劲. 虽然功能上没有问题,但是看起来非常杂乱.应该是有方法可以让这个看起来不是那么复杂的.本人转不过弯弯来.. 在此求帮助.忘高手指点.
{
//clientSessionid 这是判断能否登录的id
if (clientSessionid != null)
{
// 验证sessionid方式 判断登陆 添加参数
if (!IsLoad(clientSessionid))
{
//ReadLocalSessionId() 读取本地记录的登录信息.避免多次登录
clientSessionid = ReadLocalSessionId();
if (IsLoad(clientSessionid))
{
return true;
}
if (userPassword != null)
{
//自动登录
UserLoagForm userLoagForm = new UserLoagForm();
string LoginResultInfo = userLoagForm.Login(userName, userPassword);
UserInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<UserInfo>(LoginResultInfo);
if (string.IsNullOrEmpty(UserInfo.ErrorMsg))
{
return true;
}
}
else
{
//弹出登录窗口
UserLoagForm userLoagForm = new UserLoagForm();
var loagResulet = userLoagForm.ShowDialog();
if (loagResulet != DialogResult.Cancel && string.IsNullOrEmpty(userLoagForm.loginInfo.ErrorMsg))
{
return true;
}
}
}
else
{
return true;
}
}
else if (userPassword == null)
{
clientSessionid = ReadLocalSessionId();
if (IsLoad(clientSessionid))
{
return true;
}
//弹出登录窗口
UserLoagForm userLoagForm = new UserLoagForm();
var loagResulet = userLoagForm.ShowDialog();
if (loagResulet != DialogResult.Cancel && string.IsNullOrEmpty(userLoagForm.loginInfo.ErrorMsg))
{
return true;
}
}
else
{
//自动登录
UserLoagForm userLoagForm = new UserLoagForm();
string LoginResultInfo = userLoagForm.Login(userName, userPassword);
UserInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<UserInfo>(LoginResultInfo);
if (string.IsNullOrEmpty(UserInfo.ErrorMsg))
{
return true;
}
}
return false;
}
这个 方法本人觉得很不对劲. 虽然功能上没有问题,但是看起来非常杂乱.应该是有方法可以让这个看起来不是那么复杂的.本人转不过弯弯来.. 在此求帮助.忘高手指点.
解决方案
60
本人做的身份证验证部分就这么干了,本来也是if嵌套了5层吧
5
一个语句的if,把花括号去掉,看上去好很多。
5
封装好你的方法,然后在一个if里面去判断喽至于是if(a&&b)还是if(a或b)这个具体看你后面的需求了
10