.net mvc中微信发送模板信息及获取用户openId代码
深山老妖浏览:11592018-07-06 16:21:30本文累计收益:0我也要赚钱

本文介绍如果在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
立刻购买资源
注:支付完成后请等待支付页面返回下载页面或者刷新此页面进行下载。
评论列表
发表评论
+ 关注