diff --git a/B3WeChat/BO/ScanLoginRequest.cs b/B3WeChat/BO/ScanLoginRequest.cs
index bc19656..67cafdf 100644
--- a/B3WeChat/BO/ScanLoginRequest.cs
+++ b/B3WeChat/BO/ScanLoginRequest.cs
@@ -26,5 +26,7 @@ namespace BWP.B3WeChat.BO
public bool Confirmed { get; set; }
public string CustomerUsername { get; set; }
+
+ public string VerifyCode { get; set; }
}
}
diff --git a/B3WeChat/Rpcs/ClientRpc.cs b/B3WeChat/Rpcs/ClientRpc.cs
index dd3baeb..aa98b1e 100644
--- a/B3WeChat/Rpcs/ClientRpc.cs
+++ b/B3WeChat/Rpcs/ClientRpc.cs
@@ -3,6 +3,7 @@ using Bwp.MainSystem.BO;
using BWP.B3WeChat.BO;
using BWP.B3WeChat.BO.NamedValueTemplate;
using BWP.B3WeChat.Utils;
+using BWP.Web.Utils;
using Forks.EnterpriseServices.BusinessInterfaces;
using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
@@ -154,6 +155,65 @@ namespace BWP.B3WeChat.Rpcs
}
+ ///
+ /// 请求登录验证码
+ ///
+ ///
+ ///
+ [Rpc(RpcFlags.SkipAuth)]
+ public static void SendLoginVerifyCode(long requestID,string username)
+ {
+ var request = WebBLUtil.GetSingleDmo(new Tuple("ID", requestID));
+
+ if (request == null || request.Confirmed)
+ {
+ throw new Exception("请求已失效");
+ }
+
+ var openID = WebBLUtil.GetDmoProperty("OpenID",
+ new Tuple("CustomerCode", request.CustomerCode),
+ new Tuple("CustomerUsername", username));
+
+ if (string.IsNullOrEmpty(openID))
+ {
+ throw new Exception("未能发现匹配的用户");
+ }
+
+ request.VerifyCode = StringUtil.CreateRandomString("0123456789", 6);
+
+ using (var context = new TransactionContext())
+ {
+ context.Session.Update(request);
+ context.Commit();
+ }
+
+ SendMessageUtil.SendSystemMessage(openID, request.CustomerUsername, "您请求登录系统的验证码是:" + request.VerifyCode);
+
+ }
+
+ [Rpc(RpcFlags.SkipAuth)]
+ public static void VerifyCodeLogin(long requestID, string username, string verifyCode)
+ {
+ var request = WebBLUtil.GetSingleDmo(new Tuple("ID", requestID));
+
+ if (request == null || request.Confirmed)
+ {
+ throw new Exception("请求已失效");
+ }
+
+ if (request.VerifyCode == verifyCode)
+ {
+ request.Confirmed = true;
+
+ using (var context = new TransactionContext())
+ {
+ context.Session.Update(request);
+ context.Commit();
+ }
+
+ }
+ }
+
///
/// 浏览器查询是否已扫码登录
///