예제 #1
0
파일: JsApiPay.cs 프로젝트: iteming/CHIHC
        /// <summary>
        /// 发送模板消息
        /// </summary>
        /// <param name="UserOpenid"></param>
        /// <param name="MsgTemplate"></param>
        /// <param name="Data"></param>
        /// <param name="ReturnUrl"></param>
        public static void SendMsg(string UserOpenid, string MsgTemplate, object Data, string ReturnUrl = "")
        {
            try
            {
                string url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="
                             + WxPayConfig.APPID + "&secret=" + WxPayConfig.APPSECRET;
                //请求url以获取数据
                string resultStr = HttpService.Get(url);

                //保存access_token,用于收货地址获取
                LitJson.JsonData jd = LitJson.JsonMapper.ToObject(resultStr);
                if (((System.Collections.IDictionary)jd).Contains("access_token"))
                {
                    //判断是否有key
                    var      access_token = (string)jd["access_token"];
                    MsgModel msgData      = new MsgModel()
                    {
                        template_id = MsgTemplate,
                        touser      = UserOpenid,
                        url         = ReturnUrl,
                        data        = Data
                    };
                    // 发送模板消息
                    SendMsgPoth(JsonHelper.SerializeObject(msgData), access_token);
                }
                else
                {
                    MYLog.Debug("发送消息通知:" + SessionTools.UserName, "获取AccessToken结果:" + resultStr);
                }
            }
            catch (Exception ex)
            {
                MYLog.Error("发送消息通知:" + SessionTools.UserName, ex.ToString());
            }
        }