using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WindowsFormsApp1.entity.tb;
|
|
namespace WindowsFormsApp1.utils.tb
|
{
|
class TBCookieUtil
|
{
|
//解析账号
|
public static TBAccountLogin parseAccount(String cookie) {
|
TBAccountLogin account = new TBAccountLogin();
|
string[] condition = { "," };
|
String[] sts = cookie.Split(';');
|
string[] conditions = { "=" };
|
Dictionary<String, String> param = new Dictionary<String, String>();
|
foreach (String st in sts) {
|
String[] values = st.Split('=');
|
param.Add(values[0].Trim(), values[1].Trim());
|
}
|
|
foreach (String key in param.Keys) {
|
Console.WriteLine(key);
|
}
|
|
if (param.Keys.Contains("lid")) {
|
account.NickName = Uri.UnescapeDataString(param["lid"]);
|
}
|
|
if (param.Keys.Contains("unb"))
|
{
|
account.TbUid = param["unb"];
|
}
|
|
if (param.Keys.Contains("login"))
|
{
|
account.Login = Convert.ToBoolean(param["login"]);
|
}
|
account.Cookie = cookie;
|
return account;
|
}
|
|
//登录失效
|
public static void InvalidLogin(int position) {
|
if (Constant.tbAccountMap.ContainsKey(position) && Constant.tbAccountMap[position].Login) {
|
Constant.tbAccountMap[position].Login = false;
|
Constant.tbAccountMap[position].UpdateTime = new DateTime();
|
}
|
}
|
|
//登录是否有效
|
public static bool IsLoginValid(int position){
|
return Constant.tbAccountMap.ContainsKey(position) && Constant.tbAccountMap[position].Login;
|
}
|
|
public static bool updateCookie(int position, String cookies) {
|
TBAccountLogin login = parseAccount(cookies);
|
if (login != null && login.Login)
|
{
|
//登录成功
|
if (WindowsFormsApp1.utils.Constant.tbAccountMap.ContainsKey(position))
|
{
|
WindowsFormsApp1.utils.Constant.tbAccountMap.Remove(position);
|
}
|
WindowsFormsApp1.utils.Constant.tbAccountMap.Add(position, login);
|
//上传Cookie
|
ApiUtil.uploadCookie( cookies, null);
|
return true;
|
}
|
|
return false;
|
}
|
|
|
|
|
|
}
|
}
|