public string GetOpenId(string code) { string url = AuthorizeUrl.GetUserTokenUrl(code); var token = NetHelper.HttpGet <WeiXinUserToken>(url, SerializationType.Json); if (token.errcode == 0) { return(token.openid); } return(string.Empty); }
public WeiXinUser GetUserInfo(string code) { string url = AuthorizeUrl.GetUserTokenUrl(code); var token = NetHelper.HttpGet <WeiXinUserToken>(url, SerializationType.Json); if (token.errcode == 0) { //成功 url = AuthorizeUrl.GetUserInfoUrl(token.access_token, token.openid); var user = NetHelper.HttpGet <WeiXinUser>(url, SerializationType.Json); if (user.errcode == 0) { return(user); } } return(null); }
/// <summary> /// 获取JsApiTicket /// </summary> /// <returns></returns> //private string GetJsApiTicket() //{ // string ticket = string.Empty; // var cacheKey = "TCWIRELESS.OPERATION.WeiXin.JsApiTicket"; // //先从缓存取,并判断是否过期 // var cacheValue = CacheHelper.GetValue<WXTokenModel>(cacheKey); // if (cacheValue != null // && DateTime.Now < cacheValue.OverTime) // { // return cacheValue.Ticket; // } // var token = GetAccessToken(); // var now = DateTime.Now; // var url = string.Format(TicketUrl, token); // var request = new TCHttpRequest(url); // var result = request.PostDataToServer(HttpRequestMethod.Get, "utf-8"); // var model = JsonConvert.DeserializeObject<WXTokenModel>(result); // model.OverTime = now.AddSeconds(model.Expires_In); // CacheHelper.Set(cacheKey, model, TimeSpan.FromSeconds(model.Expires_In)); // ticket = model.Ticket; // return ticket; //} /// <summary> /// 获取JsApi配置信息 /// </summary> /// <param name="url"></param> /// <returns></returns> //public virtual WXJsApiTicketModel GetWXJsApiConfig(string url) //{ // var model = new WXJsApiTicketModel // { // AppId = AppId, // TimeStamp = DateTime.Now.ToTimeStamp(),//1414587457, // NonceStr = Guid.NewGuid().ToString("N")//"Wm3WZYTPz0wzccnW" // }; // var ticket = GetJsApiTicket();//"sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg"; // //组装 // var sigStr = string.Format("jsapi_ticket={0}&noncestr={1}×tamp={2}&url={3}", ticket, model.NonceStr, // model.TimeStamp, url); // //sha1加密 // model.Signature = FormsAuthentication.HashPasswordForStoringInConfigFile(sigStr, "SHA1").ToLower();//f4d90daf4b3bca3078ab155816175ba34c443a7b // return model; //} #endregion #region 发送消息 public static void SendMsg(WeiXinMsg msg) { string token = GetExistAccessToken(); string url = AuthorizeUrl.GetMsgSendUrl(token); var result = NetHelper.HttpPost(url, msg, SerializationType.Json); }
public static void SendTemplateMsg(object msg) { string token = GetExistAccessToken(); string url = AuthorizeUrl.GetTemplateSendUrl(token); var result = NetHelper.HttpPost(url, msg, SerializationType.Json); }
private static SysAccessToken GetAccessToken() { string url = AuthorizeUrl.GetTokenUrl(); return(NetHelper.HttpGet <SysAccessToken>(url, SerializationType.Json)); }