/// <summary> /// 执行获取微信接口调用凭证 /// </summary> /// <param name="request"></param> /// <returns></returns> public T Execute <T>(WeChatModel Model) { sRequestUrl = string.Format(sRequestUrl, Model.sAppId, Model.sAppSecret); string result = WeChatHttpHelper.HttpGet(sRequestUrl); T Respone = JsonHelper.Deserialize <T>(result); return(Respone); }
/// <summary> /// 执行创建自定义菜单的请求 /// </summary> /// <param name="request"></param> /// <returns></returns> public T Execute <T>(WeChatModel Model) { CreateAutoMenuModel model = Model as CreateAutoMenuModel; sRequestUrl = string.Format(sRequestUrl, model.sAccessToken); string result = WeChatHttpHelper.HttpPost(sRequestUrl, model.sBody); T Respone = JsonHelper.Deserialize <T>(result); return(Respone); }
/// <summary> /// 执行获取微信用户信息的请求 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="model"></param> /// <returns></returns> public T Execute <T>(WeChatModel Model) { GetWeChatUserInfoModel model = Model as GetWeChatUserInfoModel; sRequestUrl = string.Format(sRequestUrl, model.sAccessToken, model.sOpenId); string result = WeChatHttpHelper.HttpGet(sRequestUrl); T respone = JsonHelper.Deserialize <T>(result); return(respone); }
/// <summary> /// 执行获取调用JS接口的凭证的请求 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="model"></param> /// <returns></returns> public T Execute <T>(WeChatModel Model) { GetJsApiAccessTokenModel model = Model as GetJsApiAccessTokenModel; sRequestUrl = string.Format(sRequestUrl, model.sAccessToken); string result = WeChatHttpHelper.HttpGet(sRequestUrl); T Respone = JsonHelper.Deserialize <T>(result); return(Respone); }
/// <summary> /// 执行获取微信用户OpenId的请求 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="model"></param> /// <returns></returns> public T Execute <T>(WeChatModel Model) { GetOpenIdByPageAuthorizeModel model = Model as GetOpenIdByPageAuthorizeModel; sRequestUrl = string.Format(sRequestUrl, model.sAppId, model.sAppSecret, model.sCode); string result = WeChatHttpHelper.HttpGet(sRequestUrl); T respone = JsonHelper.Deserialize <T>(result); return(respone); }
public static string SelectClassTableImg(UserRequest userrequest) { string path = root + BufferSubdirectory.ClassTable + "/" + userrequest.FromUserName; if (System.IO.File.Exists(path)) { ClassTableDrawer drawer = new ClassTableDrawer(); Stream stream = drawer.DrawClassTableInStream(userrequest.FromUserName); WeChatHttpHelper.GetToken(); return(userrequest.Get_Img(WeChatHttpHelper.GetMediaID(stream))); } else { return(userrequest.Get_Reply(isnotexist(userrequest.FromUserName))); } }
/// <summary> /// 执行通过网页授权获取微信用户信息的请求 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="model"></param> /// <returns></returns> public T Execute <T>(WeChatModel Model) { GetWeChatUserInfoByPageAuthorizeModel model = Model as GetWeChatUserInfoByPageAuthorizeModel; //第一步 获取openid和access_token IWeChatRequest request = new GetOpenIdByPageAuthorizeRequest(); GetOpenIdByPageAuthorizeModel obj = new GetOpenIdByPageAuthorizeModel() { sAppId = model.sAppId, sAppSecret = model.sAppSecret, sCode = model.sCode }; GetOpenIdByPageAuthorizeRespone res = request.Execute <GetOpenIdByPageAuthorizeRespone>(obj); //第二步 拉取用户信息 sRequestUrl = string.Format(sRequestUrl, res.access_token, res.openid); string result = WeChatHttpHelper.HttpGet(sRequestUrl); T respone = JsonHelper.Deserialize <T>(result); return(respone); }
/// <summary> /// 执行发送模板消息的请求 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="model"></param> /// <returns></returns> public T Execute <T>(WeChatModel Model) { SendTemplateInfoModel model = Model as SendTemplateInfoModel; sRequestUrl = string.Format(sRequestUrl, model.sAccessToken); var Data = new { touser = model.sOpenId, template_id = model.sTemplateId, url = model.sUrl, data = model.sBody }; string DataString = JsonHelper.ToJsonString(Data); string result = WeChatHttpHelper.HttpPost(sRequestUrl, DataString); T Respone = JsonHelper.Deserialize <T>(result); return(Respone); }
}//信息来源是腾讯才会返回true private void task_voicemanager() { try { string path = @"C:\Users\Administrator\Desktop\ElearnOralResult\" + WechatRequest.FromUserName; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } WeChatHttpHelper.GetToken(); var bytelist = WeChatHttpHelper.DownloadMedia(WechatRequest.MediaId); using (FileStream fs = new FileStream(path + @"\0.amr", FileMode.Create, FileAccess.Write)) { foreach (var abyte in bytelist) { fs.WriteByte(abyte); } fs.Flush(); } ISEServerAgent.ConvertVideo(path + @"\0.amr"); using (FileStream fs = new FileStream(path + @"\0.wav", FileMode.Open, FileAccess.Read)) using (ISEServerAgent agent = new ISEServerAgent()) { agent.Login(System.Web.Configuration.WebConfigurationManager.AppSettings["iflytekKey"]); if (agent.errorCode != (int)ErrorCode.MSP_SUCCESS) { WechatRequest.Save_log("\r\n" + agent.errorCode); return; } agent.TextPut("[content]\r\nIt was two weeks before the Spring Festival.\r\n"); agent.AudioWrite(fs); agent.GetAndSaveRemark(path + "\\result.txt"); } } catch (Exception e) { WechatRequest.Save_log(e.ToString()); } }
// GET: WeChat public string Index() //回复全都是xml格式的string { if (IsFromTencent("961016") && Request.HttpMethod == "GET") { return(Request["echostr"]); } if (IsFromTencent("961016") && Request.HttpMethod == "POST") { WechatRequest = new WechatRequest(Request.InputStream); #region wechatpost if (WechatRequest.IsClick()) { #region ButtonEvent switch (WechatRequest.EventKey) { case "elearning_wordlearn": return(WechatRequest.Get_Reply(WechatRequest.elearning_wordlearn)); case "elearning_textlearn": return(WechatRequest.Get_Reply(WechatRequest.elearning_textlearn)); case "elearning_nextword": string nextword = DataBaseController.GetNextWord(WechatRequest.FromUserName); if (nextword != null) { return(WechatRequest.Get_Reply(nextword)); } else { return(WechatRequest.Get_Reply("当前未设立测试范围或已经学习完全部内容")); } case "elearning_oraltrain": return(WechatRequest.Get_Reply("It was two weeks before the Spring Festival.")); default: return(WechatRequest.Get_Reply("功能还在开发中,敬请期待")); } #endregion } else if (WechatRequest.IsSubscribe()) { #region FollowEvent DataBaseController.AddIntoWechatIds(WechatRequest.FromUserName); return(WechatRequest.Get_Reply(WechatRequest.elearn_welcome)); #endregion } else if (WechatRequest.IsVoice()) { #region VoiceEvent Thread t = new Thread(new ThreadStart(task_voicemanager)); t.Start(); return(WechatRequest.Get_Reply("提交成功,请等待一段时间后输入Get查看结果!")); #endregion } else { #region MessageEvent string message = WechatRequest.Content; if (Regex.IsMatch(message, "^xh.+")) { DataBaseController.UpdateStudents(WechatRequest.FromUserName, message.Substring(2), null); return(WechatRequest.Get_Reply("学号已修改,现在您绑定的学号为:" + message.Substring(2) + "请输入jwc + 您的教务处密码来绑定,如jwc123456")); } else if (Regex.IsMatch(message, "^jwc.+")) { string studentnum = DataBaseController.GetStudentNum(WechatRequest.FromUserName); string jwcpassword = message.Substring(3); if (JWCHttpHelper.isPasswordTrue(studentnum, jwcpassword)) { DataBaseController.UpdateStudents(WechatRequest.FromUserName, studentnum, jwcpassword); return(WechatRequest.Get_Reply("验证成功!")); } else { return(WechatRequest.Get_Reply($"输入的密码{ jwcpassword }不正确")); } } else { if (Regex.IsMatch(message, "\\d{4,4}")) { if (message.Substring(0, 1) == "0") { if (DataBaseController.tryUpdateProcesses(WechatRequest.FromUserName, message)) { return(WechatRequest.Get_Reply("选择成功!按next开始学习")); } else { return(WechatRequest.Get_Reply("选择失败,请确认是否绑定学号及输入代码是否正确")); } } else if (message.Substring(0, 1) == "2") { return(WechatRequest.Get_ImgText()); } } if (!DataBaseController.HaveBinding(WechatRequest.FromUserName)) { return(WechatRequest.Get_Reply(WechatRequest.elearn_welcome)); } switch (message) { case "001": return(WechatRequest.Get_Reply(WechatRequest.elearning_testmsg1)); case "201": return(WechatRequest.Get_Reply(WechatRequest.elearning_testmsg2)); case "speak": string word = DataBaseController.GetNowWord(WechatRequest.FromUserName); if (word == null) { return(WechatRequest.Get_Reply("请先选择学习内容")); } WeChatHttpHelper.GetToken(); string mediaid = WeChatHttpHelper.GetMediaID(SpeecherController.mytts("读音:" + word), "voice"); return(WechatRequest.Get_Voice(mediaid)); case "Get": string path = $@"C:\Users\Administrator\Desktop\ElearnOralResult\{WechatRequest.FromUserName}\result.txt"; using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read)) { StreamReader sr = new StreamReader(fs); return(WechatRequest.Get_Reply(sr.ReadToEnd())); } default: return(WechatRequest.Get_Reply("识别错误,请重试")); } } #endregion } #endregion } else//不是腾讯发来的post { return("Do not touch this server,guy!"); } }