1.快手登录修改

This commit is contained in:
老道 2022-11-01 00:18:32 +08:00
parent 4051dc6b52
commit 6964db17cf
6 changed files with 61 additions and 18 deletions

View File

@ -420,7 +420,7 @@ namespace FLSystem.Forms
private void barButtonItem46_ItemClick(object sender, ItemClickEventArgs e) private void barButtonItem46_ItemClick(object sender, ItemClickEventArgs e)
{ {
//TODO 快手 //TODO 快手
return; //return;
LoginCps(CpsType.); LoginCps(CpsType.);
} }

View File

@ -1383,7 +1383,7 @@ namespace FLSystem.Forms
case "快手订单管理": case "快手订单管理":
{ {
//TODO 快手 //TODO 快手
throw new Exception("该功能尚未开发完成,请等待更新!"); //throw new Exception("该功能尚未开发完成,请等待更新!");
control = new cps_order_kuaishou(username); control = new cps_order_kuaishou(username);
break; break;
} }
@ -2623,7 +2623,7 @@ namespace FLSystem.Forms
private void barButtonItem108_ItemClick(object sender, ItemClickEventArgs e) private void barButtonItem108_ItemClick(object sender, ItemClickEventArgs e)
{ {
//TODO 快手 //TODO 快手
return; //return;
if (LoginCps(CpsType.) != null) if (LoginCps(CpsType.) != null)
ItemClick(btn_cps_manage, e); ItemClick(btn_cps_manage, e);
} }

View File

@ -684,7 +684,7 @@ namespace Api.Framework.Cps
} }
catch (Exception ex) catch (Exception ex)
{ {
var appId = Token.appid; var appId = Token?.appid;
#if DEBUG #if DEBUG
appId = "33951412"; appId = "33951412";

View File

@ -52,6 +52,7 @@ namespace Api.Framework.Cps
var result = SendServer("get_token", new { username = Member.username, enc_result = true }); var result = SendServer("get_token", new { username = Member.username, enc_result = true });
if (result != null) if (result != null)
{ {
LogHelper.GetSingleObj().Debug("新token", $"{Member.cpstype.ToString()} {Member.usernick}({Member.username})" + " " + JsonConvert.SerializeObject(result));
if (result.ok) if (result.ok)
{ {
return HttpHelper.JsonToObject<CpsToken>(result.message.ToString()) as CpsToken; return HttpHelper.JsonToObject<CpsToken>(result.message.ToString()) as CpsToken;
@ -166,6 +167,7 @@ namespace Api.Framework.Cps
string key = $"{Member.username}_{(int)Member.cpstype}"; string key = $"{Member.username}_{(int)Member.cpstype}";
if (Tokens.ContainsKey(key)) _token = Tokens[key]; if (Tokens.ContainsKey(key)) _token = Tokens[key];
else RefToken(); else RefToken();
} }
return _token; return _token;
} }
@ -226,12 +228,17 @@ namespace Api.Framework.Cps
} }
catch (Exception ex) catch (Exception ex)
{ {
LogHelper.GetSingleObj().Error("cps请求异常", ex.Message + $"{result?.message} => {JsonConvert.SerializeObject(end)}"); LogHelper.GetSingleObj().Error("cps请求异常",
ex.Message + $"{result?.message}");
if (ex.Message == "未将对象引用设置到对象的实例。") if (ex.Message == "未将对象引用设置到对象的实例。")
return null; return null;
else else
throw ex; throw ex;
} }
finally
{
//LogHelper.GetSingleObj().Error("cps请求异常..", $"{result?.message} => {JsonConvert.SerializeObject(end)}");
}
} }
/// <summary> /// <summary>

View File

@ -53,9 +53,10 @@ namespace Api.Framework.Cps
} }
#region #region
private string AppKey = "ks679199118973905155"; //private string AppKey = "ks679199118973905155";
//private string Token = "ChFvYXV0aC5hY2Nlc3NUb2tlbhJAq13iHqm2rYA2FPaq_m0RU87-oshvTLzbFJXSnJMC0znK7kwq29tUnRKVow6LFrdSZ8mTRmrQvIWQxVL0FKTqCBoSbRuEMdwtT-6YPlmXD2hUvaWiIiBf7afrOrF3qxUPgNXpAg_nT6OrwDx27hZpMeG8P7OimigFMAE"; ////private string Token = "ChFvYXV0aC5hY2Nlc3NUb2tlbhJAq13iHqm2rYA2FPaq_m0RU87-oshvTLzbFJXSnJMC0znK7kwq29tUnRKVow6LFrdSZ8mTRmrQvIWQxVL0FKTqCBoSbRuEMdwtT-6YPlmXD2hUvaWiIiBf7afrOrF3qxUPgNXpAg_nT6OrwDx27hZpMeG8P7OimigFMAE";
private string SignSecret = "910631f39a61e70f0b2c85a97ad4477e"; //private string SignSecret = "910631f39a61e70f0b2c85a97ad4477e";
private string SignSecret = "71cc2e4896d2d035a1b9e556438cf746";
private JToken SendServer(string api, object data) private JToken SendServer(string api, object data)
{ {
@ -116,7 +117,8 @@ namespace Api.Framework.Cps
{ {
Dictionary<string, string> param = new Dictionary<string, string>(); Dictionary<string, string> param = new Dictionary<string, string>();
param["appkey"] = AppKey; //param["appkey"] = AppKey;
param["appkey"] = Token.appid;
param["version"] = "1"; param["version"] = "1";
param["method"] = api; param["method"] = api;
//param["signMethod"] = "HMAC_SHA256"; //param["signMethod"] = "HMAC_SHA256";

View File

@ -27,7 +27,10 @@ namespace Api.Framework.Cps
internal fl_cps_member member { get; private set; } internal fl_cps_member member { get; private set; }
//private string url = "https://cps.api.52cmg.cn/api/kuaishou.asmx/login"; //private string url = "https://cps.api.52cmg.cn/api/kuaishou.asmx/login";
private string url => $"{ApiClient.Setting.SystemConfig.cps_server_api}api/kuaishou.asmx/login"; //private string url => $"{ApiClient.Setting.SystemConfig.cps_server_api}api/kuaishou.asmx/login";
//https://cps.api.52cmg.cn/api/auth/login?type=1&state=yyyy
private string url => $"{ApiClient.Setting.SystemConfig.cps_server_api}api/auth/login?type=4&state=";
private void kuaishou_form_login_Load(object sender, EventArgs e) private void kuaishou_form_login_Load(object sender, EventArgs e)
{ {
@ -40,7 +43,7 @@ namespace Api.Framework.Cps
EO.Base.Runtime.Exception += Runtime_Exception; EO.Base.Runtime.Exception += Runtime_Exception;
//加载url //加载url
webControl1.WebView.LoadUrl(url); webControl1.WebView.LoadUrl(url + Math.Abs(Guid.NewGuid().GetHashCode()));
webControl1.WebView.LoadCompleted += WebView_LoadCompleted; webControl1.WebView.LoadCompleted += WebView_LoadCompleted;
webControl1.WebView.NewWindow += WebView_NewWindow; webControl1.WebView.NewWindow += WebView_NewWindow;
//webControl.WebView.UrlChanged += WebView_UrlChanged; //webControl.WebView.UrlChanged += WebView_UrlChanged;
@ -63,14 +66,15 @@ namespace Api.Framework.Cps
private void WebView_LoadCompleted(object sender, LoadCompletedEventArgs e) private void WebView_LoadCompleted(object sender, LoadCompletedEventArgs e)
{ {
//Console.WriteLine($"### {e.Url}"); Console.WriteLine($"### {e.Url}");
if (Regex.IsMatch(e.Url, @"https://login\.kwaixiaodian\.com/\?redirect_url=", RegexOptions.IgnoreCase)) if (Regex.IsMatch(e.Url, @"https://login\.kwaixiaodian\.com/\?redirect_url=", RegexOptions.IgnoreCase))
{ {
webControl1.WebView.EvalScript("document.getElementsByClassName('account-type__item')[0].click()", false); webControl1.WebView.EvalScript("document.getElementsByClassName('account-type__item')[0].click()", false);
} }
//else if (e.Url.StartsWith("http://cps.api.52cmg.cn/api/kuaishou.asmx/login_result")) //else if (e.Url.StartsWith("http://cps.api.52cmg.cn/api/kuaishou.asmx/login_result"))
else if (e.Url.StartsWith($"{ApiClient.Setting.SystemConfig.cps_server_api}api/kuaishou.asmx/login_result")) //else if (e.Url.StartsWith($"{ApiClient.Setting.SystemConfig.cps_server_api}api/kuaishou.asmx/login_result"))
{ else if (e.Url.Contains($"{ApiClient.Setting.SystemConfig.cps_server_api.Replace("https", "").Replace("http", "")}api/auth/callback4?code="))
{//https://cps.api.52cmg.cn/api/auth/callback4?code=c041fa95a93aa4434335c4d3e9a1773dec35a0d6c65b965a7259e5958b856992f2587f5a&state=
var text = webControl1.WebView.GetText(); var text = webControl1.WebView.GetText();
CheckJson(text); CheckJson(text);
} }
@ -88,11 +92,40 @@ namespace Api.Framework.Cps
EventClient.OnEvent(this, "登陆快手失败:" + html); EventClient.OnEvent(this, "登陆快手失败:" + html);
ShowError("登录失败,请查看页面具体错误!"); ShowError("登录失败,请查看页面具体错误!");
} }
else if (json["ok"].ToString().ToLower() == "false") //else if (json["ok"].ToString().ToLower() == "false")
ShowError(json["message"].ToString()); // ShowError(json["message"].ToString());
//else
//{
// var open_id = json["message"]?["open_id"]?.ToString();
// member = CpsClient.Members.FirstOrDefault(f => f.username == open_id && f.cpstype == CpsType.快手联盟);
// if (member == null)
// {
// member = new fl_cps_member() { username = open_id, cpstype = CpsType.快手联盟 };
// CpsClient.Members.Add(member);
// }
// //member.usernick = "";//TODO 这里获取用户页面上输入的账号,这里开发者写固定了,发布的时候修改
// if (string.IsNullOrWhiteSpace(member.usernick))
// {
// var wphUserNickForm = new kuaishou_form_usernick();
// if (wphUserNickForm.ShowDialog() == DialogResult.OK)
// member.usernick = wphUserNickForm.usernick;
// else
// {
// ShowError("未设置快手授权账号昵称,登录终止");
// return;
// }
// }
// member.logintime = DateTime.Now;
// member.cookies = cookie;
// member.is_valid = true;
// this.Close();
//}
else if (json["IsOk"].ToString().ToLower() == "false")
ShowError(json["ErrorMsg"].ToString());
else else
{ {
var open_id = json["message"]?["open_id"]?.ToString(); var open_id = json["Data"]?["UserName"]?.ToString();
member = CpsClient.Members.FirstOrDefault(f => f.username == open_id && f.cpstype == CpsType.); member = CpsClient.Members.FirstOrDefault(f => f.username == open_id && f.cpstype == CpsType.);
if (member == null) if (member == null)
{ {
@ -116,6 +149,7 @@ namespace Api.Framework.Cps
member.is_valid = true; member.is_valid = true;
this.Close(); this.Close();
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -127,7 +161,7 @@ namespace Api.Framework.Cps
{ {
try try
{ {
Clipboard.SetDataObject(url); Clipboard.SetDataObject(url + Guid.NewGuid().GetHashCode());
BaseForm.ShowSuccessAutoClose("复制成功,请粘贴到任意电脑的浏览器!\r\n注意如果页面显示空白请换个浏览器不要用系统自带的IE浏览器"); BaseForm.ShowSuccessAutoClose("复制成功,请粘贴到任意电脑的浏览器!\r\n注意如果页面显示空白请换个浏览器不要用系统自带的IE浏览器");
} }
catch (Exception ex) catch (Exception ex)