From 133405966a658805a431e90050cf9debb016ffe9 Mon Sep 17 00:00:00 2001 From: "[zhengchao]" <[623591417@qq.com]> Date: Tue, 13 Sep 2016 10:19:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- B3WeChat.Web/Pages/WeChatReceive.cs | 5 ++++- B3WeChat/Rpcs/ClientRpc.cs | 9 ++++++++- B3WeChat/Utils/InOutMessageUtil.cs | 20 +++++++++++++++----- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/B3WeChat.Web/Pages/WeChatReceive.cs b/B3WeChat.Web/Pages/WeChatReceive.cs index ce57102..c950ac9 100644 --- a/B3WeChat.Web/Pages/WeChatReceive.cs +++ b/B3WeChat.Web/Pages/WeChatReceive.cs @@ -12,6 +12,7 @@ namespace BWP.Web.Pages { class WeChatReceive : IHttpHandler { + static Forks.Utils.Logger logger = new Forks.Utils.Logger("InOutMessageUtil"); string echoStr { get @@ -64,9 +65,11 @@ namespace BWP.Web.Pages } } else if (result is QRCodeMessage) - { + { QRCodeMessage msg = result as QRCodeMessage; + logger.Info("EventKey:" + msg.EventKey + ",FromUserName:" + msg.FromUserName); UpdateQRCode(msg.EventKey, msg.FromUserName); + logger.Info("关联成功"); } } static void UpdateQRCode(string sceneId, string OppenId) diff --git a/B3WeChat/Rpcs/ClientRpc.cs b/B3WeChat/Rpcs/ClientRpc.cs index 3c397ca..8fb6f68 100644 --- a/B3WeChat/Rpcs/ClientRpc.cs +++ b/B3WeChat/Rpcs/ClientRpc.cs @@ -18,6 +18,9 @@ namespace BWP.B3WeChat.Rpcs [Rpc] public static class ClientRpc { + + static Logger logger = new Logger("ClientRpc"); + static string GetDeviceNumber() { var user = BLContext.User; @@ -62,12 +65,14 @@ namespace BWP.B3WeChat.Rpcs { string url = string.Empty; string customer = GetDeviceNumber(); + logger.Info("customer:" + customer + ",username:" + username); int sceneId = GetSceneId(customer, username); string ticket = InOutMessageUtil.GenerateEQCode(30, sceneId); url = string.Format("https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket={0}", ticket); + logger.Info("ticket:" + ticket + ",url:" + url); return url; } - + static int GetSceneId(string customer, string username) { var query = new DQueryDom(new JoinAlias(typeof(QRCodeScene))); @@ -76,6 +81,7 @@ namespace BWP.B3WeChat.Rpcs query.Where.Conditions.Add(DQCondition.EQ("UserId", username)); query.Range = SelectRange.Top(1); var sceneId = query.EExecuteScalar(); + logger.Info("sceneId:" + sceneId); if (!sceneId.HasValue) { using (var session = Dmo.NewSession()) @@ -88,6 +94,7 @@ namespace BWP.B3WeChat.Rpcs session.Insert(newSence); session.Commit(); sceneId = newSence.ID; + logger.Info("newSenceID:" + sceneId); } } return sceneId.Value; diff --git a/B3WeChat/Utils/InOutMessageUtil.cs b/B3WeChat/Utils/InOutMessageUtil.cs index e796070..741e7d0 100644 --- a/B3WeChat/Utils/InOutMessageUtil.cs +++ b/B3WeChat/Utils/InOutMessageUtil.cs @@ -1,5 +1,6 @@ using BWP.B3WeChat; using BWP.B3WeChat.Entities; +using Forks.Utils; using System; using System.Collections.Generic; using System.IO; @@ -14,6 +15,9 @@ namespace BWP.B3WeChat.Utils { public static class InOutMessageUtil { + + static Logger logger = new Logger("InOutMessageUtil"); + static string token; static string TOKEN @@ -36,12 +40,13 @@ namespace BWP.B3WeChat.Utils string uriStr = string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", config.AppID, config.AppSecret); WebClient client = new WebClient(); - + string responseBody = string.Empty; + logger.Info("GetToken_uriStr:" + uriStr); try { byte[] bytes = client.DownloadData(uriStr); - string responseBody = Encoding.UTF8.GetString(bytes); - JavaScriptSerializer jsonHelper = new JavaScriptSerializer(); + responseBody = Encoding.UTF8.GetString(bytes); + JavaScriptSerializer jsonHelper = new JavaScriptSerializer(); logger.Info("GetToken_responseBody:" + responseBody); TokenObject obj = jsonHelper.Deserialize(responseBody); if (obj != null) { @@ -50,6 +55,7 @@ namespace BWP.B3WeChat.Utils } catch (Exception e) { + logger.Info("GetToken_ERROR:" + responseBody); throw e; } return token; @@ -167,6 +173,7 @@ namespace BWP.B3WeChat.Utils { StreamReader reader = new StreamReader(request.InputStream); String xmlData = reader.ReadToEnd(); + logger.Info("GetMessage_xmlData:" + xmlData); object obj = null; MessageType type = XmlUtil.Deserialize(xmlData); if (type.MsgType == MsgType.文本) @@ -239,9 +246,11 @@ namespace BWP.B3WeChat.Utils } }; string postData = jsonHelper.Serialize(body); + logger.Info("GenerateEQCode_body:" + body); string data = string.Empty; try { + logger.Info("GenerateEQCode_uriStr:" + uriStr); byte[] byteArray = Encoding.UTF8.GetBytes(postData); HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(new Uri(uriStr)); webRequest.Method = "post"; @@ -251,11 +260,12 @@ namespace BWP.B3WeChat.Utils newStream.Write(byteArray, 0, byteArray.Length); newStream.Close(); HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse(); - data = new System.IO.StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8")).ReadToEnd(); - result = jsonHelper.Deserialize(data); + data = new System.IO.StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8")).ReadToEnd();logger.Info("GenerateEQCode_data:" + data); + result = jsonHelper.Deserialize(data); } catch (Exception e) { + logger.Info("GenerateEQCode_ERROR:" + data); throw e; } if (result != null && !string.IsNullOrEmpty(result.ticket))