parent
4a2b5826b0
commit
8596133f25
|
@ -574,16 +574,17 @@ namespace FLSystem.Forms
|
|||
|
||||
//#endregion
|
||||
|
||||
System.Timers.Timer timer = new System.Timers.Timer();
|
||||
timer.Elapsed += Timer_Elapsed;
|
||||
timer.Interval = 60 * 60 * 1000 * 5;
|
||||
//timer.Interval = 1000 * 10;
|
||||
timer.Start();
|
||||
//更新头像
|
||||
//System.Timers.Timer timer = new System.Timers.Timer();
|
||||
//timer.Elapsed += Timer_Elapsed;
|
||||
//timer.Interval = 60 * 60 * 1000 * 5;
|
||||
////timer.Interval = 1000 * 10;
|
||||
//timer.Start();
|
||||
|
||||
//下载黑名单
|
||||
timerBlackUser = new System.Timers.Timer(1000);
|
||||
timerBlackUser.Elapsed += Timer_ElapsedBlackUser;
|
||||
timer.Interval = 1000;
|
||||
//timerBlackUser.Interval = 1000;
|
||||
timerBlackUser.Start();
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
|
@ -64,51 +64,81 @@ namespace Api.Framework.Cps
|
|||
try
|
||||
{
|
||||
var jObj = JObject.Parse(html);
|
||||
if (jObj != null && jObj["code"] != null)
|
||||
if (jObj["code"] == null || jObj["code"].Value<int>() != 0)
|
||||
{
|
||||
if (jObj["msg"]?.Value<string>() == "Something went wrong, please refresh")
|
||||
{
|
||||
throw new Exception("账号尚未开通商品分享功能");
|
||||
}
|
||||
throw new Exception(html);
|
||||
}
|
||||
|
||||
var db = ApiClient.GetSession();
|
||||
var code = jObj["code"].ToString();
|
||||
if (code == "0")
|
||||
{
|
||||
#region 获取用户信息
|
||||
|
||||
var shop_id = jObj["data"]["shop_id"].ToString();
|
||||
if (shop_id == "0")
|
||||
throw new Exception($@"该账号未开通商品分享功能,请开通后重试
|
||||
|
||||
注:开通电商权限,需要同时满足以下4个条件
|
||||
①、账号实名认证
|
||||
②、个人主页视频数(公开且审核通过)≥ 10 条
|
||||
③、账号粉丝量(绑定第三方粉丝量不计数)≥ 1000
|
||||
④、商品分享保证金 ¥500立即充值");
|
||||
|
||||
var uname = jObj["data"]["buyin_account_id"].ToString();
|
||||
|
||||
var m = db.Queryable<fl_cps_member>().First(f => f.cpstype == CpsType.抖音联盟 && f.username == uname);
|
||||
var username = jObj["data"]?["outer_id"]?.ToString();
|
||||
var m = db.Queryable<fl_cps_member>().First(f => f.cpstype == CpsType.抖音联盟 && f.username == username);
|
||||
if (m == null)
|
||||
{
|
||||
m = new fl_cps_member();
|
||||
}
|
||||
|
||||
m.cookies = ck;
|
||||
m.usernick = jObj["data"]["shop_name"].ToString();
|
||||
//LoginUserId = jObj["data"]["user_id"].ToString();
|
||||
m.username = uname;
|
||||
m.usernick = jObj["data"]?["nickname"]?.ToString() ?? string.Empty;
|
||||
m.username = username;
|
||||
m.logintime = DateTime.Now;
|
||||
|
||||
m.online = true;
|
||||
m.is_valid = true;
|
||||
m.cpstype = CpsType.抖音联盟;
|
||||
return m;
|
||||
#endregion
|
||||
}
|
||||
else if (code == "401")
|
||||
{
|
||||
if (jObj["msg"].ToString() == "请重新登录")
|
||||
{
|
||||
throw new Exception("填写的Cookice无效,请填写有效的cookice");
|
||||
}
|
||||
}
|
||||
else
|
||||
throw new Exception($"其他:{jObj["msg"].ToString()}");
|
||||
}
|
||||
|
||||
|
||||
|
||||
// var jObj = JObject.Parse(html);
|
||||
// if (jObj != null && jObj["code"] != null)
|
||||
// {
|
||||
// var db = ApiClient.GetSession();
|
||||
// var code = jObj["code"].ToString();
|
||||
// if (code == "0")
|
||||
// {
|
||||
// #region 获取用户信息
|
||||
|
||||
// var shop_id = jObj["data"]["shop_id"].ToString();
|
||||
// if (shop_id == "0")
|
||||
// throw new Exception($@"该账号未开通商品分享功能,请开通后重试
|
||||
|
||||
//注:开通电商权限,需要同时满足以下4个条件
|
||||
//①、账号实名认证
|
||||
//②、个人主页视频数(公开且审核通过)≥ 10 条
|
||||
//③、账号粉丝量(绑定第三方粉丝量不计数)≥ 1000
|
||||
//④、商品分享保证金 ¥500立即充值");
|
||||
|
||||
// var uname = jObj["data"]["buyin_account_id"].ToString();
|
||||
|
||||
// var m = db.Queryable<fl_cps_member>().First(f => f.cpstype == CpsType.抖音联盟 && f.username == uname);
|
||||
// if (m == null)
|
||||
// m = new fl_cps_member();
|
||||
// m.cookies = ck;
|
||||
// m.usernick = jObj["data"]["shop_name"].ToString();
|
||||
// //LoginUserId = jObj["data"]["user_id"].ToString();
|
||||
// m.username = uname;
|
||||
// m.logintime = DateTime.Now;
|
||||
|
||||
// m.online = true;
|
||||
// m.is_valid = true;
|
||||
// m.cpstype = CpsType.抖音联盟;
|
||||
// return m;
|
||||
// #endregion
|
||||
// }
|
||||
// else if (code == "401")
|
||||
// {
|
||||
// if (jObj["msg"].ToString() == "请重新登录")
|
||||
// {
|
||||
// throw new Exception("填写的Cookice无效,请填写有效的cookice");
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// throw new Exception($"其他:{jObj["msg"].ToString()}");
|
||||
// }
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -1283,62 +1313,98 @@ html = {html}");
|
|||
|
||||
public static string GetLoginUserInfo(string cookies, string UserAgent)
|
||||
{
|
||||
try
|
||||
{
|
||||
//var sign = GetSign("", UserAgent);
|
||||
var param = string.Empty;
|
||||
var param = $"PIGEON_BIZ_TYPE=5";
|
||||
|
||||
//if (!string.IsNullOrWhiteSpace(sign))
|
||||
// param = $"_signature={sign}";
|
||||
var sign = GetSign(param, UserAgent);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(sign))
|
||||
param = $"{param}&_signature={sign}";
|
||||
|
||||
var xb = GetXbogus(param, UserAgent);
|
||||
|
||||
var http = new HttpHelper();
|
||||
var item = new HttpItem()
|
||||
|
||||
HttpHelper http = new HttpHelper();
|
||||
HttpItem item = new HttpItem()
|
||||
{
|
||||
URL = $"https://buyin.jinritemai.com/index/getUser?X-Bogus={xb}",
|
||||
URL = $"https://darenim.jinritemai.com/chat/api/sd/by/account?{param}&X-Bogus={xb}",
|
||||
Method = "GET",
|
||||
Timeout = 100000,
|
||||
ReadWriteTimeout = 30000,
|
||||
Timeout = 5000,
|
||||
ReadWriteTimeout = 5000 * 2,
|
||||
IsToLower = false,
|
||||
Cookie = cookies,
|
||||
UserAgent = UserAgent,
|
||||
Accept = "text/html, application/xhtml+xml, */*",
|
||||
ContentType = "application/json",
|
||||
Referer = "https://buyin.jinritemai.com/dashboard?new_enter_from=",
|
||||
ContentType = "text/html",
|
||||
Referer = "",
|
||||
Allowautoredirect = false,
|
||||
AutoRedirectCookie = false,
|
||||
Postdata = "",
|
||||
ResultType = ResultType.String,
|
||||
ResultType = ResultType.String
|
||||
};
|
||||
|
||||
var json = string.Empty;
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
var data = http.GetHtml(item);
|
||||
json = data.Html;
|
||||
var jObj = JObject.Parse(json);
|
||||
if (jObj != null && jObj["code"] != null)
|
||||
{
|
||||
if ((int)jObj["code"] != 0)
|
||||
{
|
||||
Thread.Sleep(500);
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
item.Header.Add("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2");
|
||||
item.Header.Add("Accept-Encoding", "deflate");
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(json))
|
||||
{
|
||||
return json;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.GetSingleObj().Error("获取抖音用户信息异常", ex.Message);
|
||||
}
|
||||
return string.Empty;
|
||||
HttpResult result = http.GetHtml(item);
|
||||
string html = result.Html;
|
||||
|
||||
return html;
|
||||
|
||||
//try
|
||||
//{
|
||||
// //var sign = GetSign("", UserAgent);
|
||||
// var param = string.Empty;
|
||||
|
||||
// //if (!string.IsNullOrWhiteSpace(sign))
|
||||
// // param = $"_signature={sign}";
|
||||
|
||||
// var xb = GetXbogus(param, UserAgent);
|
||||
|
||||
// var http = new HttpHelper();
|
||||
// var item = new HttpItem()
|
||||
// {
|
||||
// URL = $"https://buyin.jinritemai.com/index/getUser?X-Bogus={xb}",
|
||||
// Method = "GET",
|
||||
// Timeout = 100000,
|
||||
// ReadWriteTimeout = 30000,
|
||||
// IsToLower = false,
|
||||
// Cookie = cookies,
|
||||
// UserAgent = UserAgent,
|
||||
// Accept = "text/html, application/xhtml+xml, */*",
|
||||
// ContentType = "application/json",
|
||||
// Referer = "https://buyin.jinritemai.com/dashboard?new_enter_from=",
|
||||
// Allowautoredirect = false,
|
||||
// AutoRedirectCookie = false,
|
||||
// Postdata = "",
|
||||
// ResultType = ResultType.String,
|
||||
// };
|
||||
|
||||
// var json = string.Empty;
|
||||
// for (int i = 0; i < 5; i++)
|
||||
// {
|
||||
// var data = http.GetHtml(item);
|
||||
// json = data.Html;
|
||||
// var jObj = JObject.Parse(json);
|
||||
// if (jObj != null && jObj["code"] != null)
|
||||
// {
|
||||
// if ((int)jObj["code"] != 0)
|
||||
// {
|
||||
// Thread.Sleep(500);
|
||||
// continue;
|
||||
// }
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
// if (!string.IsNullOrWhiteSpace(json))
|
||||
// {
|
||||
// return json;
|
||||
// }
|
||||
//}
|
||||
//catch (Exception ex)
|
||||
//{
|
||||
// LogHelper.GetSingleObj().Error("获取抖音用户信息异常", ex.Message);
|
||||
//}
|
||||
//return string.Empty;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -70,9 +70,9 @@ namespace Api.Framework.Cps
|
|||
//webControl1.WebView.TitleChanged += WebView_TitleChanged;
|
||||
webControl1.WebView.LoadCompleted += WebView_LoadCompleted;
|
||||
webControl1.WebView.NewWindow += WebView_NewWindow;
|
||||
var sHandler = new SampleHandler();
|
||||
sHandler.JsonAction += SHandler_JsonAction;
|
||||
webControl1.WebView.RegisterResourceHandler(sHandler);//注册自定义资源处理程序
|
||||
//var sHandler = new SampleHandler();
|
||||
//sHandler.JsonAction += SHandler_JsonAction;
|
||||
//webControl1.WebView.RegisterResourceHandler(sHandler);//注册自定义资源处理程序
|
||||
}
|
||||
|
||||
private void WebView1_CertificateError(object sender, CertificateErrorEventArgs e)
|
||||
|
@ -133,21 +133,14 @@ namespace Api.Framework.Cps
|
|||
{
|
||||
webControl1.WebView.Engine.CookieManager.GetCookies("http://buyin.jinritemai.com", true).ToString();
|
||||
webControl1.WebView.EvalScript("function getck() {return document.cookie}", false);
|
||||
var ck = string.Empty;
|
||||
if (string.IsNullOrWhiteSpace(CK))
|
||||
{
|
||||
ck = webControl1.WebView.InvokeFunction("getck")?.ToString();
|
||||
LogHelper.GetSingleObj().Info("抖音登录获取到ck", ck?.ToString());
|
||||
}
|
||||
var json = DouyinApi.GetLoginUserInfo(CK ?? ck, UserAgent);
|
||||
CK = webControl1.WebView.InvokeFunction("getck")?.ToString();
|
||||
|
||||
var json = DouyinApi.GetLoginUserInfo(CK, UserAgent);
|
||||
LogHelper.GetSingleObj().Info("抖音登录获取到用户数据", json);
|
||||
CheckLoginCk(json, CK ?? ck, UserAgent);
|
||||
//EventClient.OnEvent("抖音登录", "抖音登录授权跳转2");
|
||||
//webControl1.WebView.LoadUrl(AuthorizeLoginUrl);
|
||||
CheckLoginCk(json, CK, UserAgent);
|
||||
|
||||
if (!IsJumpAuthorizationUrl)
|
||||
{
|
||||
//EventClient.OnEvent("抖音登录", "抖音登录授权跳转1");
|
||||
Task.Run(() =>
|
||||
{
|
||||
int num = 0;
|
||||
|
@ -174,33 +167,6 @@ namespace Api.Framework.Cps
|
|||
|
||||
private string CK = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 订单响应数据
|
||||
/// </summary>
|
||||
/// <param name="url">拦截的url</param>
|
||||
/// <param name="json">拦截的数据</param>
|
||||
private void SHandler_JsonAction(string url, string cookice, string json, string ua)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (url.ToLower().Contains("buyin.jinritemai.com/index/getUser".ToLower()) || url.ToLower()
|
||||
.Contains("buyin.jinritemai.com/dashboard/dataCenter/order".ToLower()))
|
||||
{
|
||||
//EventClient.OnEvent("抖音登录", "抖音登录授权跳转3");
|
||||
//webControl1.WebView.LoadUrl(AuthorizeLoginUrl);
|
||||
CK = cookice;
|
||||
//if (url.ToLower().Contains("buyin.jinritemai.com/index/getUser".ToLower()))
|
||||
//{
|
||||
// CheckLoginCk(json, CK, UserAgent);
|
||||
//}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ShowErrorAutoClose(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void WebView_NewWindow(object sender, NewWindowEventArgs e)
|
||||
{
|
||||
webControl1.WebView.LoadUrl(e.TargetUrl);
|
||||
|
@ -291,101 +257,6 @@ namespace Api.Framework.Cps
|
|||
return false;
|
||||
}
|
||||
|
||||
#region 自定义响应Response 20210321
|
||||
|
||||
internal class SampleHandler : ResourceHandler
|
||||
{
|
||||
private static int num = 1;
|
||||
private static bool IsRun = false;
|
||||
|
||||
public event Action<string, string, string, string> JsonAction;
|
||||
|
||||
//如果使用此方式,将完全转移嫁接,包括真实请求,需要自己模拟请求,
|
||||
public const string SampleUrlPrefix = "sample://";
|
||||
|
||||
public const string EmbeddedPageUrl = "sample://embedded_page";
|
||||
|
||||
//此方法判断是否自定义处理响应
|
||||
public override bool Match(Request request)
|
||||
{
|
||||
var cookies = Regex.Replace(request.Cookies.ToString(), "path=/", "").Replace("\r\n", "");
|
||||
//Debug.WriteLine("!!!!!!!!!!! = " + request.Url);
|
||||
|
||||
if (request.Url.Contains("buyin.jinritemai.com/index/getUser") || request.Url.Contains("buyin.jinritemai.com/dashboard/dataCenter/order"))
|
||||
{
|
||||
//if (!IsRun)
|
||||
//num++;
|
||||
JsonAction?.Invoke(request.Url, cookies, "", "");
|
||||
//return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//如果自定义响应,则在这里处理请求,并返回要显示的信息
|
||||
public override void ProcessRequest(Request request, EO.WebBrowser.Response response)
|
||||
{
|
||||
try
|
||||
{
|
||||
EventClient.OnEvent("抖音登录", "抖音获取登录信息中...");
|
||||
IsRun = true;
|
||||
var UserAgent = string.Empty;
|
||||
var cookies = Regex.Replace(request.Cookies.ToString(), "path=/", "").Replace("\r\n", "");
|
||||
//if (request.Url.Contains("buyin.jinritemai.com/index/getUser") || request.Url.Contains("buyin.jinritemai.com/dashboard/dataCenter/order"))
|
||||
//{
|
||||
//Console.WriteLine(request.Headers[1]);
|
||||
if (request.Headers.AllKeys.Contains("User-Agent"))
|
||||
UserAgent = request.Headers["User-Agent"];
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
|
||||
|
||||
//}
|
||||
|
||||
//var http = new HttpHelper();
|
||||
//var data = http.GetHtml(request.Url, cookies, "");
|
||||
|
||||
var http = new HttpHelper();
|
||||
var item = new HttpItem()
|
||||
{
|
||||
URL = request.Url,
|
||||
Method = "GET",
|
||||
Timeout = 100000,
|
||||
ReadWriteTimeout = 30000,
|
||||
IsToLower = false,
|
||||
Cookie = cookies,
|
||||
UserAgent = UserAgent,
|
||||
Accept = "text/html, application/xhtml+xml, */*",
|
||||
ContentType = "application/json",
|
||||
Referer = "https://buyin.jinritemai.com/dashboard",
|
||||
Allowautoredirect = false,
|
||||
AutoRedirectCookie = false,
|
||||
Postdata = "",
|
||||
ResultType = ResultType.String,
|
||||
};
|
||||
var data = http.GetHtml(item);
|
||||
|
||||
var json = data.Html;
|
||||
if (!string.IsNullOrWhiteSpace(json))
|
||||
{
|
||||
if (cookies.Contains("buyin_app_id=1128;") || cookies.Contains("buyin_shop_type=24;"))
|
||||
JsonAction?.Invoke(request.Url, cookies, json, UserAgent);
|
||||
|
||||
response.ContentType = "application/json";//必须设置,否则会弹出对话框并无法显示在EO.Web控件上
|
||||
response.ContentEncoding = "UTF-8";//必须设置,否则中文显示乱码
|
||||
byte[] be = Encoding.UTF8.GetBytes(json);
|
||||
response.OutputStream.Write(be, 0, be.Length);
|
||||
response.OutputStream.Close();
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{ }
|
||||
base.ProcessRequest(request, response);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
private void douyin_form_login_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
try
|
||||
|
@ -414,30 +285,6 @@ namespace Api.Framework.Cps
|
|||
webControl1.WebView.Reload();
|
||||
}
|
||||
|
||||
private void simpleButton2_Click(object sender, EventArgs e)
|
||||
{
|
||||
//try
|
||||
//{
|
||||
// var ck = memoEdit2.Text.Trim();
|
||||
|
||||
// if (string.IsNullOrWhiteSpace(ck))
|
||||
// throw new Exception("请填写cookie");
|
||||
|
||||
// LogHelper.GetSingleObj().Info("抖音登录获取到ck", ck?.ToString());
|
||||
// var json = DouyinApi.GetLoginUserInfo(ck.ToString(), UserAgent);
|
||||
// LogHelper.GetSingleObj().Info("抖音登录获取到用户数据", json);
|
||||
// CheckLoginCk(json, ck.ToString(), UserAgent);
|
||||
// if (Member != null)
|
||||
// {
|
||||
// AuthorizeLoginUrl
|
||||
// }
|
||||
//}
|
||||
//catch (Exception ex)
|
||||
//{
|
||||
// ShowErrorAutoClose(ex);
|
||||
//}
|
||||
}
|
||||
|
||||
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
try
|
||||
|
|
|
@ -713,7 +713,7 @@ namespace Chat.Framework.WXSdk.Implement
|
|||
try
|
||||
{
|
||||
var checkUrl = rst as CheckUrl;
|
||||
return (checkUrl != null && checkUrl.Status == 0);
|
||||
return (checkUrl != null && (checkUrl.Status == 0 || checkUrl.Status == -1));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue