Exemplo n.º 1
0
        /// <summary>
        /// 发送模板消息
        /// </summary>
        /// <param name="message">The message.</param>
        /// <returns></returns>
        public WxError SendTemplateMessage(WxTemplateMessage message)
        {
            string api    = string.Format(TEMPLATE_MESSAGE_API, accessTokenSvc.GetToken());
            var    result = WxHelper.Send <WxError>(api, message);

            return(result);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 发送模板消息
        /// </summary>
        /// <param name="message">The message.</param>
        /// <returns></returns>
        public async Task <WxError> SendTemplateMessage(WxTemplateMessage message)
        {
            string token = await accessTokenService.GetToken();

            string api    = string.Format(TEMPLATE_MESSAGE_API, token);
            var    result = await wxHelper.Send <WxError>(api, message);

            return(result);
        }
Exemplo n.º 3
0
        public async Task SendPaySuccessMsgAsync(Order order)
        {
            if (string.IsNullOrEmpty(order.PrepayId))
            {
                return;
            }
            var business = await GetAsync <Business>(order.BusinessId.Value);

            if (string.IsNullOrEmpty(business.TemplateNotifyId))
            {
                return;
            }
            var openId = order.OpenId;

            if (string.IsNullOrEmpty(openId))
            {
                openId = (await GetAsync <User>(order.UserId.Value)).OpenId;
            }

            var msg = new WxTemplateMessage
            {
                emphasis_keyword = "keyword2.DATA",
                template_id      = business.TemplateNotifyId,
                touser           = openId,
                form_id          = order.PrepayId,
                page             = "pages/order/orderInfo/orderInfo?id=" + order.ID
            };
            var token = await GetTokenAsync(business.AppId, business.Secret);

            msg.access_token = token;
            msg.data         = new
            {
                keyword1 = new { value = order.OrderCode },
                keyword2 = new { value = order.Price + "元" },
                keyword3 = new { value = order.PayTime.Value.ToString("yyyy-MM-dd HH:mm:ss") },
                keyword4 = new { value = order.ReceiverAddress },
                keyword5 = new { value = order.GetUserCall() },
                keyword6 = new { value = order.Phone }
            };
            var result = await WxHelper.SendTemplateMessageAsync(msg);

            var ret = JsonConvert.DeserializeObject <WxMessageReturn>(result);

            if (ret.errcode != 0)
            {
                Log.Info($"小程序模版通知消息失败:[消息_{JsonConvert.SerializeObject(msg)},结果_{result}]");
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 发送模版消息
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        public static async Task <string> SendTemplateMessageAsync(WxTemplateMessage msg)
        {
            var body = JsonConvert.SerializeObject(msg);
            var url  = $"https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token={msg.access_token}";

            using (var client = new HttpClient())
            {
                var post = new StringContent(body);
                post.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                var result = await client.PostAsync(url, post);

                var content = await result.Content.ReadAsStringAsync();

                return(content);
            }
        }