/// <summary> /// 网页授权的回调函数 /// </summary> /// <param name="ret">传入的为跳转链接</param> public void Authorize(string ret) { string code = Request.QueryString["code"]; //LogHelper.WriteLog("wechat:" + code + "|" + ret); if (string.IsNullOrEmpty(code)) { Response.Write("未获取到code"); } else { //调用微信API获取当前用户信息 var user = BasicApi.GetUserInfo(code); if (user != null) { LogHelper.WriteLog("wechat openid:" + user.openid + "NickName:" + user.nickname); HttpCookie cookie = new HttpCookie("WeiXinUser"); cookie.Values["UserId"] = "0"; cookie.Values["UserType"] = "0"; cookie.Values["Openid"] = user.openid; cookie.Values["Nickname"] = Server.UrlEncode(user.nickname); cookie.Values["Sex"] = user.sex; cookie.Values["Province"] = Server.UrlEncode(user.province); cookie.Values["City"] = Server.UrlEncode(user.city); cookie.Values["Country"] = Server.UrlEncode(user.country); cookie.Values["Headimgurl"] = user.headimgurl; //把用户的微信信息(openid)存入cookie Response.AppendCookie(cookie); Response.Redirect(ret); } } }
public string SaveWeChatImage(string serverId) { var url = "http://api.weixin.qq.com/cgi-bin/media/get?access_token=" + BasicApi.GetAccessToken() + "&media_id=" + serverId; try { var filename = DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".png"; string uploadPath = System.Web.HttpContext.Current.Server.MapPath("/Upload/WeChatImage"); if (!Directory.Exists(uploadPath)) { Directory.CreateDirectory(uploadPath); } FileStream file = new FileStream(uploadPath + "/" + filename, FileMode.Create, FileAccess.Write);//创建写入文件 file.Close(); var path = uploadPath + "/" + filename; var result = SaveImage(url, path); S3Unit.UploadFile("WeChatImage", path); if (result == "success") { return("/WeChatImage/" + filename); } else { return("Excute Error"); } } catch (Exception ex) { return(ex.Message); } }
public string GetJsapiTicketSignature(string noncestr, string timestamp, string url) { LogHelper.WriteLog("传递过来的参数:" + noncestr + "|" + timestamp + "|" + url); string result = BasicApi.GetJsapiTicketSignature(noncestr, timestamp, url); LogHelper.WriteLog("返回的签名:" + result); return(result); }
/// <summary> /// 发布菜单 /// </summary> /// <param name="MenuJson">配置的菜单json数据</param> /// <param name="AppID">AppID</param> /// <param name="AppSecret">AppSecret</param> /// <returns>返回0成功否则错误码</returns> public string MenuCreate(string MenuJson, string AppID, string AppSecret) { string setMenuUrl = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token={0}"; setMenuUrl = string.Format(setMenuUrl, BasicApi.GetTokenSession(AppID, AppSecret));//获取token、拼凑url string respText = common.CommonMethod.WebRequestPostOrGet(setMenuUrl, MenuJson); Dictionary <string, object> respDic = (Dictionary <string, object>)Jss.DeserializeObject(respText); return(respDic["errcode"].ToString());//返回0发布成功 }
protected override bool AuthorizeCore(HttpContextBase httpContext) { string url = httpContext.Request.Url.ToString().ToLower(); if (httpContext.Request.Cookies["WeiXinUser"] == null) { if (!httpContext.Request.IsLocal) { returnUrl = BasicApi.Authorize(url); } else { HttpCookie cookie = new HttpCookie("WeiXinUser"); //初使化并设置Cookie的名称 DateTime dt = DateTime.Now; TimeSpan ts = new TimeSpan(0, 15, 0, 0, 0); //过期时间为1分钟 cookie.Expires = dt.Add(ts); //设置过期时间 //cookie.Values["UserId"] = "30425"; //cookie.Values["UserType"] = "1"; cookie.Values["UserId"] = "31142"; cookie.Values["UserType"] = "2"; //cookie.Values["PositionId"] = "4"; cookie.Values["Openid"] = "o11Z-jte0u1RkdzEnXJee6OAp_CM";//"o11Z-jqJhjDeu5xjW7dzaBfzloZQ2"; cookie.Values["Nickname"] = httpContext.Server.UrlEncode("小三"); cookie.Values["Sex"] = "1"; cookie.Values["Province"] = httpContext.Server.UrlEncode("山东"); cookie.Values["City"] = httpContext.Server.UrlEncode("烟台"); cookie.Values["Country"] = httpContext.Server.UrlEncode("中国"); cookie.Values["Headimgurl"] = "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46"; httpContext.Response.AppendCookie(cookie); } } else { try { var cookies = httpContext.Request.Cookies["WeiXinUser"]; //CreditSys.Core.Common.LogHelper.WriteLog("UserId:" + cookies["UserId"] + ",UserType:" + cookies["UserType"] + ",Openid:" + cookies["Openid"] + ",Nickname:" + cookies["Nickname"] + ",url:" + url);//日志 //openid丢失 if (string.IsNullOrEmpty(cookies["Openid"])) { returnUrl = BasicApi.Authorize(url); } } catch (Exception e) { LogHelper.WriteLog(e.Message); } } return(true); }
public void Invoke(string signature, string timestamp, string nonce, string echostr) { string token = ConfigurationManager.AppSettings["WeiXinToken"]; LogHelper.WriteLog("post结果:" + echostr); if (BasicApi.CheckSignature(token, signature, timestamp, nonce)) { LogHelper.WriteLog("post结果:" + echostr); if (!string.IsNullOrEmpty(echostr)) { Response.Write(echostr); Response.End(); } } }
public SystemUserController( IMapper map, ISystemUserDAL systemUserDAL, ISugarSystemUserDAL sUser, BasicApi basicApi, RedisManager redisManager, CoreMemoryCache cache ) : base(map) { _user = systemUserDAL; _sUser = sUser; _basicApi = basicApi; //redisManager.DbNum = 2;设置当前页面的默认数据库 _redisManager = redisManager; _cache = cache; }
/// <summary> /// 微信接入的测试 /// </summary> private void ResponseServer() { string myToken = CommonHelper.GetAppValue("myToken"); if (string.IsNullOrEmpty(myToken)) { File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + "error.txt", "token节点没有配置"); } string echoString = HttpContext.Current.Request.QueryString["echoStr"]; string signature = HttpContext.Current.Request.QueryString["signature"]; string timestamp = HttpContext.Current.Request.QueryString["timestamp"]; string nonce = HttpContext.Current.Request.QueryString["nonce"]; if (BasicApi.CheckSignature(myToken, signature, timestamp, nonce)) { if (!string.IsNullOrEmpty(echoString)) { HttpContext.Current.Response.Write(echoString); HttpContext.Current.Response.End(); } } }
public string GetAuthorizeUrl(string ret) { return(BasicApi.Authorize(ret)); }
public string GetAccessToken() { var a = BasicApi.GetAccessToken(); return(a); }
public void Invoke() { BasicApi.ReceviceMain(Request, Response); }
/// <summary> /// 推送消息 /// </summary> /// <param name="msg"></param> /// <param name="openId"></param> /// <returns></returns> public string SendWeChatMsg(string name, string openId) { var json = "{\"touser\":\"" + openId + "\"," + "\"template_id\":\"b0-aVm0y5Urmbup-cnCykHlYWHiuaGYy9DabB-ePetU\"," + "\"url\":\"http://jifenweixin.shinho.net.cn/#/component/recommendstart\"," + "\"data\":{" + "\"first\": {" + "\"value\":\"您推荐的" + name + "已注册成功,并成功为您增加20积分,点击我的账户可查看积分明细。\"," + "\"color\":\"#173177\"" + "}," + "\"keyword1\":{" + "\"value\":\"推荐同行注册\"," + "\"color\":\"#173177\"" + "}," + "\"keyword2\":{" + "\"value\":\"" + DateTime.Now + "\"," + "\"color\":\"#173177\"" + "}," + "\"remark\":{" + "\"value\":\"点击详情,分享给同行好友一起来赚积分吧\"," + "\"color\":\"#173177\"" + "}" + "}" + "}"; PostUrl.PostJson("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + BasicApi.GetAccessToken(), json); return("success"); }
public string GetRecommendPic(int MemberId = 0) { if (MemberId <= 0) { return("-1"); } string appid = ConfigurationManager.AppSettings["WeiXinAppid"]; string secret = ConfigurationManager.AppSettings["WeiXinSecret"]; string postData = "{\"action_name\": \"QR_LIMIT_STR_SCENE\", \"action_info\": {\"scene\": {\"scene_str\": \"A" + MemberId.ToString() + "\"}}}"; string ret = PostUrl.PostJson("https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" + BasicApi.GetAccessToken(), postData); var result = JsonHelper.JsonToObject <QRcode>(ret); return(result.ticket); }
public string CreateCode_Simple(int activityId = 0) { if (activityId <= 0) { return("-1"); } string appid = System.Configuration.ConfigurationManager.AppSettings["WeiXinAppid"]; string secret = System.Configuration.ConfigurationManager.AppSettings["WeiXinSecret"]; string postData = "{\"action_name\": \"QR_LIMIT_SCENE\", \"action_info\": {\"scene\": {\"scene_id\": " + activityId + "}}}"; string ret = PostUrl.PostJson("https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" + BasicApi.GetAccessToken(), postData); var result = JsonHelper.JsonToObject <QRcode>(ret); return(result.ticket); }
public string GetUserInfo() { var user = BasicApi.GetUserInfo("client_credential"); return(JsonConvert.SerializeObject(user)); }
/// <summary> /// Register an invitation delegate to be /// notified when a multiplayer invitation arrives /// </summary> public void RegisterInvitationDelegate(BasicApi.InvitationReceivedDelegate deleg) { mClient.RegisterInvitationDelegate(deleg); }
/// <summary> /// 1注册成功给1发模板消息 /// </summary> /// <param name="Response"></param> /// <param name="msg"></param> public void SendMuBanMsg(string json) { PostJson("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + BasicApi.GetAccessToken(), json); }