国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點 > 微信 > 正文

C#微信小程序服務端獲取用戶解密信息實例代碼

2024-07-22 01:16:54
字體:
來源:轉載
供稿:網友

 C#微信小程序服務端獲取用戶解密信息實例代碼

實現代碼:

using AIOWeb.Models; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web;  namespace AIOWeb {   /// <summary>   /// wxapi 的摘要說明   /// </summary>   public class wxapi : IHttpHandler   {     public void ProcessRequest(HttpContext context)     {       context.Response.ContentType = "text/plain";        string code = "";       string iv = "";       string encryptedData = "";       try       {         code = HttpContext.Current.Request.QueryString["code"].ToString();         iv = HttpContext.Current.Request.QueryString["iv"].ToString();         encryptedData = HttpContext.Current.Request.QueryString["encryptedData"].ToString();       }       catch (Exception ex)       {         context.Response.Write(ex.ToString());       }        string Appid = "wxdb2641f85b04f1b3";       string Secret = "8591d8cd7197b9197e17b3275329a1e7";       string grant_type = "authorization_code";        //向微信服務端 使用登錄憑證 code 獲取 session_key 和 openid        string url = "https://api.weixin.qq.com/sns/jscode2session?appid=" + Appid + "&secret=" + Secret + "&js_code=" + code + "&grant_type=" + grant_type;       string type = "utf-8";        AIOWeb.Models.GetUsersHelper GetUsersHelper = new AIOWeb.Models.GetUsersHelper();       string j = GetUsersHelper.GetUrltoHtml(url, type);//獲取微信服務器返回字符串        //將字符串轉換為json格式       JObject jo = (JObject)JsonConvert.DeserializeObject(j);        result res = new result();       try       {         //微信服務器驗證成功         res.openid = jo["openid"].ToString();         res.session_key = jo["session_key"].ToString();       }       catch (Exception)       {         //微信服務器驗證失敗         res.errcode = jo["errcode"].ToString();         res.errmsg = jo["errmsg"].ToString();       }       if (!string.IsNullOrEmpty(res.openid))       {         //用戶數據解密         GetUsersHelper.AesIV = iv;         GetUsersHelper.AesKey = res.session_key;          string result = GetUsersHelper.AESDecrypt(encryptedData);           //存儲用戶數據         JObject _usrInfo = (JObject)JsonConvert.DeserializeObject(result);          userInfo userInfo = new userInfo();         userInfo.openId = _usrInfo["openId"].ToString();          try //部分驗證返回值中沒有unionId         {           userInfo.unionId = _usrInfo["unionId"].ToString();         }         catch (Exception)         {           userInfo.unionId = "unionId";         }                  userInfo.nickName = _usrInfo["nickName"].ToString();         userInfo.gender = _usrInfo["gender"].ToString();         userInfo.city = _usrInfo["city"].ToString();         userInfo.province = _usrInfo["province"].ToString();         userInfo.country = _usrInfo["country"].ToString();         userInfo.avatarUrl = _usrInfo["avatarUrl"].ToString();          object watermark = _usrInfo["watermark"].ToString();         object appid = _usrInfo["watermark"]["appid"].ToString();         object timestamp = _usrInfo["watermark"]["timestamp"].ToString();           #region           //創建連接池對象(與數據庫服務器進行連接)         SqlConnection conn = new SqlConnection("server=127.0.0.1;database=Test;uid=sa;pwd=1");         //打開連接池         conn.Open();         //創建命令對象         string Qrystr = "SELECT * FROM WeChatUsers WHERE openId='" + userInfo.openId + "'";         SqlCommand cmdQry = new SqlCommand(Qrystr, conn);         object obj = cmdQry.ExecuteScalar();         if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))         {           string str = "INSERT INTO WeChatUsers ([UnionId] ,[OpenId],[NickName],[Gender],[City],[Province],[Country],[AvatarUrl],[Appid],1567758886,[Memo],[counts])VALUES('" + userInfo.unionId + "','" + userInfo.openId + "','" + userInfo.nickName + "','" + userInfo.gender + "','" + userInfo.city + "','" + userInfo.province + "','" + userInfo.country + "','" + userInfo.avatarUrl + "','" + appid.ToString() + "','" + timestamp.ToString() + "','來自微信小程序','1')";            SqlCommand cmdUp = new SqlCommand(str, conn);           // 執行操作           try           {             int row = cmdUp.ExecuteNonQuery();           }           catch (Exception ex)           {             context.Response.Write(ex.ToString());           }         }         else         {           //多次訪問,記錄訪問次數counts  更新unionId是預防最初沒有,后期關聯后卻仍未記錄           string str = "UPDATE dbo.WeChatUsers SET counts = counts+1,UnionId = '" + userInfo.unionId + "' WHERE OpenId='" + userInfo.openId + "'";           SqlCommand cmdUp = new SqlCommand(str, conn);           int row = cmdUp.ExecuteNonQuery();         }                  //關閉連接池         conn.Close();         #endregion          //返回解密后的用戶數據         context.Response.Write(result);       }       else       {         context.Response.Write(j);       }     }      public bool IsReusable     {       get       {         return false;       }     }   } }             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 琼中| 友谊县| 商城县| 堆龙德庆县| 青冈县| 达拉特旗| 称多县| 阳原县| 甘南县| 财经| 宜州市| 龙岩市| 南和县| 通江县| 舞阳县| 迁西县| 永州市| 文化| 辽宁省| 綦江县| 定结县| 平顺县| 汝城县| 五华县| 澎湖县| 巢湖市| 会昌县| 章丘市| 江源县| 扬中市| 凤台县| 德钦县| 通渭县| 来宾市| 长宁区| 元江| 贡山| 湖州市| 西平县| 徐水县| 休宁县|