.net mvc中微信发送模板信息及获取用户openId代码
本文介绍如果在asp.net中开发微信发送模板消息代码,模板代码发送适用于微信支付成功后通知收款员钱已到账,在获取到用户openId的情况下可以主动给微信用户发送消息,效果图如下:
具体代码如下:
public static class SendTemplateMessage { public static string SendMessage(string openId, string title, string serviceName, string muneyStr, string buyDate) { try { //var toUserId = "oPCLNv43iPAPJleI3pfg0lEZC6sU"; var toUserId = openId; var data = new TemplateModel(title, serviceName, muneyStr, buyDate, "感谢您的使用!"); data.touser = toUserId; data.template_id = "312vCmw5UD0Tit11YPpXjeCrENgK7UyMMFceWEbuYqM"; data.url = "http://www.hayimom.com.cn"; data.topcolor = "#FF0000"; string jsonStr = JsonConvert.SerializeObject(data); AccessToken token = AccessToken.Get("gh_3f2d577e607aTmp"); //string url = string.Format("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0}", token.access_token); SendTemplateMsg(token.access_token, jsonStr); return "Success"; } catch (Exception e) { return "Error"; } } /// <summary> /// 发送模板消息 /// </summary> /// <param name="accessToken">AccessToken</param> /// <param name="data">发送的模板数据</param> /// <returns></returns> public static string SendTemplateMsg(string accessToken, string data) { string url = string.Format("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0}", accessToken); HttpWebRequest hwr = WebRequest.Create(url) as HttpWebRequest; hwr.Method = "POST"; hwr.ContentType = "application/x-www-form-urlencoded"; byte[] payload; payload = System.Text.Encoding.UTF8.GetBytes(data); //通过UTF-8编码 hwr.ContentLength = payload.Length; Stream writer = hwr.GetRequestStream(); writer.Write(payload, 0, payload.Length); writer.Close(); var result = hwr.GetResponse() as HttpWebResponse; //此句是获得上面URl返回的数据 string strMsg = WebResponseGet(result); return strMsg; } public static string WebResponseGet(HttpWebResponse webResponse) { StreamReader responseReader = null; string responseData = ""; try { responseReader = new StreamReader(webResponse.GetResponseStream()); responseData = responseReader.ReadToEnd(); } catch { throw; } finally { webResponse.GetResponseStream().Close(); responseReader.Close(); responseReader = null; } return responseData; } #region 模板消息类 public class TemplateModel { public string touser { get; set; } public string template_id { get; set; } public string url { get; set; } public string topcolor { get; set; } public TemplateData data { get; set; } public TemplateModel(string hello, string state, string reason, string date, string last) { data = new TemplateData() { first = new TempItem(hello), keyword1 = new TempItem(state), keyword2 = new TempItem(reason), keyword3 = new TempItem(date), remark = new TempItem(last) }; } } public class TemplateData { public TempItem first { get; set; } public TempItem keyword1 { get; set; } public TempItem keyword2 { get; set; } public TempItem keyword3 { get; set; } public TempItem remark { get; set; } } public class TempItem { public TempItem(string v, string c = "#173177") { value = v; color = c; } public string value { get; set; } public string color { get; set; } } public class OpenApiResult { public int error_code { get; set; } public string error_msg { get; set; } public string msg_id { get; set; } } #endregion }
附:获取用户OpenID代码:
public ActionResult GetOpenId() { JsApiPay jsApiPay = new JsApiPay(); try { //调用【网页授权获取用户信息】接口获取用户的openid和access_token jsApiPay.GetOpenidAndAccessToken(); //获取微信支付者公共id string openId = jsApiPay.openid; return Content("<span style='color:#FF0000;font-size:3rem'>您的openId是:" + openId + "</span>"); } catch (Exception ex) { return Content("<span style='color:#FF0000;font-size:3rem'>" + "页面加载出错,请重试" + "</span>"); } }
本文附件(20180706162130WeiXinTemplateMessage.zip)价格:¥5元
立刻购买资源
注:支付完成后请等待支付页面返回下载页面或者刷新此页面进行下载。
评论列表
发表评论
文章分类
文章归档
阅读排行
- 1. Windows Server 2008 R2永久激活及Chew-WGA v0.9下载(12640)
- 2.Visual Studio 2017中安装visualSVN及使用详解(4836)
- 3.完美解决iis下JWplayer提示Error loading media: File could not be played错误(3699)
- 4.asp.net mvc+jquery easyui开发基础(一)模块首页及增加、修改、删除模块实现(2923)
- 5.Android avax.net.ssl.SSLPeerUnverifiedException: No peer certificate 解决方法(httpClient支持HTTPS的访问方式)(2791)
- 6..Net Mvc中使用Jquery EasyUI控件讲解(一)表格控件datagrid使用介绍(2631)
- 7.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(三)登录模块开发(2577)
- 8.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(七)权限管理模块之系统菜单动态生成(2540)
- 9. asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(六)权限管理模块之初始数据准备(2191)
- 10.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(八)权限管理模块之权限管理实现(2158)