diff --git a/BiliAccount.Geetest.Controls/BiliAccount.Geetest.Controls.csproj b/BiliAccount.Geetest.Controls/BiliAccount.Geetest.Controls.csproj
index 7b3606c..cad9ff7 100644
--- a/BiliAccount.Geetest.Controls/BiliAccount.Geetest.Controls.csproj
+++ b/BiliAccount.Geetest.Controls/BiliAccount.Geetest.Controls.csproj
@@ -105,8 +105,8 @@
- none
- false
+ portable
+ true
Auto
diff --git a/BiliAccount/BiliAccount.csproj b/BiliAccount/BiliAccount.csproj
index cc7ed15..072531e 100644
--- a/BiliAccount/BiliAccount.csproj
+++ b/BiliAccount/BiliAccount.csproj
@@ -6,12 +6,12 @@
BiliAccount
true
BiliAccount
- 2.5.4.26
+ 2.5.5.27
LeoChen
zhangbudademao.com
BiliAccount
用于处理B站账号类的操作
- Copyright © 2020 zhangbudademao.com, all rights reserved.
+ Copyright © 2022 zhangbudademao.com, all rights reserved.
MIT
https://github.com/LeoChen98/BiliAccount
https://github.com/LeoChen98/BiliAccount
@@ -19,8 +19,10 @@
bilibili bililive bililogin biliaccount
favicon_4.png
- fixes:
- 1. 修复了由于破站改接口导致无法通过密码登录的问题。
+ adds:
+ 1. 新增 `Linq.ByQRCode.LoginByQrCodeUrl`。
+ enhancements:
+ 1. 更新引用库版本。
true
snupkg
@@ -114,9 +116,9 @@
-
+
-
+
diff --git a/BiliAccount/Core/ByPassword.cs b/BiliAccount/Core/ByPassword.cs
index 9d43e66..d4e23d6 100644
--- a/BiliAccount/Core/ByPassword.cs
+++ b/BiliAccount/Core/ByPassword.cs
@@ -395,7 +395,8 @@ private static void LoginSuccess(DoLogin_DataTemplete obj, ref Account account)
account.LoginStatus = Account.LoginStatusEnum.NeedTelVerify;
break;
- case 3://设备登录验证
+ case 2://设备登录验证
+ case 3:
account.Url = obj.data.url;
account.LoginStatus = Account.LoginStatusEnum.NeedSafeVerify;
break;
diff --git a/BiliAccount/Core/ByQRCode.cs b/BiliAccount/Core/ByQRCode.cs
index 56ba52a..d78b01f 100644
--- a/BiliAccount/Core/ByQRCode.cs
+++ b/BiliAccount/Core/ByQRCode.cs
@@ -49,6 +49,42 @@ public static void CancelLogin()
Refresher.Dispose();
}
+ ///
+ /// 获取二维码要包含的登录url
+ ///
+ /// 二维码要包含的登录url
+ public static string GetQrcodeUrl()
+ {
+ return Http.GetBody("https://passport.bilibili.com/qrcode/getLoginUrl", null, "https://passport.bilibili.com/login", $"BiliAccount/{Config.Dll_Version}");
+ }
+
+ ///
+ /// 获取二维码(只返回登录url)
+ ///
+ /// 登录url
+ public static string GetQrcode()
+ {
+ re:
+ string str = GetQrcodeUrl();
+ if (!string.IsNullOrEmpty(str))
+ {
+#if NETSTANDARD2_0 || NETCORE3_0
+ GetQrcode_DataTemplete obj = JsonConvert.DeserializeObject(str);
+#else
+ GetQrcode_DataTemplete obj = (new JavaScriptSerializer()).Deserialize(str);
+#endif
+
+ if (obj.code == 0)
+ {
+ Monitor = new Timer(MonitorCallback, obj.data.oauthKey, 1000, 1000);
+ Refresher = new Timer(RefresherCallback, null, 180000, Timeout.Infinite);
+ }
+ }
+ else goto re;
+
+ return str;
+ }
+
///
/// 获取二维码
///
@@ -60,8 +96,7 @@ public static Bitmap GetQrcode(Color Foreground,Color Background,bool IsBorderVi
{
Bitmap qrCodeImage = null;
re:
- //获取二维码要包含的url
- string str = Http.GetBody("https://passport.bilibili.com/qrcode/getLoginUrl", null, "https://passport.bilibili.com/login",$"BiliAccount/{Config.Dll_Version}");
+ string str = GetQrcodeUrl();
if (!string.IsNullOrEmpty(str))
{
#if NETSTANDARD2_0 || NETCORE3_0
@@ -201,7 +236,10 @@ private static void MonitorCallback(object o)
///
private static void RefresherCallback(object state)
{
- Linq.ByQRCode.RaiseQrCodeRefresh(GetQrcode((Color)((List