/// <summary> /// 使用微信模板发送固定消息 /// </summary> /// <param name="accessToken"></param> /// <param name="openId">接收信息者的微信openId</param> /// <param name="templateId">选择模板</param> /// <param name="data"> /// new /// { /// first = new { color = "#f0f0f1", value = "first" }, /// reason = new { color = "#0fe123", value = "reason" }, /// refund = new { color = "#c321f0", value = 0.101 }, /// Remark = new { color = "#3f333", value = "备注" } /// } /// </param> /// <param name="url">微信链接地址</param> /// <returns>返回参数</returns> public static WeiXinResult SendTemplateMessage(string accessToken, string openId, string templateId, object data, string url = "") { var result = new WeiXinResult(); try { Log4Helper.WriteErrLog(String.Format("微信模板发送 WeiXin准备发送:openId:{0},templateId{1},data:{2}", openId, templateId, data.ToJson()), null); var template = TemplateApi.SendTemplateMessage(accessToken, openId, templateId, url, data); result.ErrCode = template.errcode.ToString(); result.ErrMsg = template.errmsg; } catch (ErrorJsonResultException ex) { result.IsErr = true; result.ErrCode = ex.JsonResult.errcode.ToString(); result.ErrMsg = ex.JsonResult.errmsg; Log4Helper.WriteErrLog("微信模板发送 发送异常", ex); } catch (Exception ex) { result.IsErr = true; result.ErrMsg = ex.Message; Log4Helper.WriteErrLog("微信模板发送 发送异常", ex); } return(result); }
/// <summary> /// 接管系统异常,自定义处理程序 /// </summary> /// <param name="exceptionContext">异常内容</param> protected override void OnException(ExceptionContext exceptionContext) { exceptionContext.ExceptionHandled = true; var result = new JResult() { Status = false }; var ex = exceptionContext.Exception; //记录日志 try { LogApp.Instance.Error(new LogRequest() { Source = LogEnum.Source.前台, Message = "系统日志", Exception = ex }); } catch (Exception e) { Log4Helper.WriteErrLog("BaseController->OnException日志记录失败", e); } }
/// <summary> /// 全局错误定位 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Application_Error(object sender, EventArgs e) { Log4Helper.WriteErrLog("EC.H5 项目启动异常", Server.GetLastError().GetBaseException()); }