private string WxVoiceAnalytical(WxXmlModel wxXmlModel, string token, string wxToken) { Console.WriteLine("WxVoiceAnalytical_Recognition>>" + wxXmlModel.Recognition); // string url = string.Format(WechatGetMediaUrl, wxToken, wxXmlModel.MediaId); if (string.IsNullOrEmpty(wxXmlModel.Recognition)) { wxXmlModel.Content = "无法识别您说的话哦,请在说一遍"; } else if (wxXmlModel.Recognition.Contains("是什么垃圾")) { string rubbishName = DisposeName(wxXmlModel.Recognition, "是什么垃圾"); wxXmlModel.Content = RubbishDispose(rubbishName); } else if (IsAddRubbishType(wxXmlModel.Recognition)) { wxXmlModel.Content = AddRubbish(wxXmlModel.Recognition); } else { if (!LoveLan.IsWXLoveLan(ref wxXmlModel)) { wxXmlModel.Content = UNIT.GetResponseMessage(wxXmlModel.Recognition, wxXmlModel.FromUserName, token); } } return(WeChatXml.ResponseXML(wxXmlModel)); }
public async Task <string> ReviceMessag(string sMsgSignature, string sTimeStamp, string sNonce, string sPostData, string baiduAiToken, string baiduImagetoken, string weixinToken) { string encryptMsg = ""; _context.WxOfficialPlatformLoginRecord.Add(new WxOfficialPlatformLoginRecord() { CreateTime = DateTime.Now, Nonce = sNonce, Timestamp = sTimeStamp, Signature = sMsgSignature, PostData = sPostData }); _context.SaveChanges(); Tencent.WXBizMsgCrypt wxcpt = new Tencent.WXBizMsgCrypt(sToken, sEncodingAESKey, sAppID); // int ret = 0; string sMsg = sPostData; //解析之后的明文 //ret = wxcpt.DecryptMsg(sMsgSignature, sTimeStamp, sNonce, sPostData, ref sMsg); Console.WriteLine("sMsg:" + sMsg); if (!string.IsNullOrEmpty(sMsg)) { //封装请求类 WxXmlModel wxXmlModel = WeChatXml.LoadXmlModel(sMsg); Console.WriteLine(wxXmlModel); switch (wxXmlModel.MsgType) { case "text": //文本 encryptMsg = WxTextAnalytical(wxXmlModel, baiduAiToken); break; case "image": //图片 encryptMsg = WxImageAnalytical(wxXmlModel, baiduImagetoken, weixinToken); break; case "voice": encryptMsg = WxVoiceAnalytical(wxXmlModel, baiduAiToken, null); break; default: break; } } //try //{ // //加密回复消息 // wxcpt.EncryptMsg(respMessage, sTimeStamp, sNonce,ref encryptMsg); // Console.WriteLine("encryptMsg:" + encryptMsg); //} //catch (Exception e) //{ // _logger.LogError(e, ""); //} return(encryptMsg); }
public string WxImageAnalytical(WxXmlModel wxXmlModel, string token, string wxToken) { string url = string.Format(WechatGetMediaUrl, wxToken, wxXmlModel.MediaId); byte[] data = NetHelper.HttpGetByte(url); wxXmlModel.Content = UNIT.GetImageDisposeStr(data, token); wxXmlModel.MsgType = "text"; return(WeChatXml.ResponseXML(wxXmlModel)); }
/// <summary> /// 发送消息测试 /// </summary> public static void SendMessage() { WeixinAuthResult token = WeixinAuth.GetToken(); string host = @"https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" + token.access_token; WxXmlModel wxXmlModel = new WxXmlModel() { FromUserName = "******", Content = "测试", }; string ss = WeChatXml.ResponseXML(wxXmlModel);//回复消息 NetHelper.HttpPost(host, ss); }
private string WxTextAnalytical(WxXmlModel wxXmlModel, string token) { Console.WriteLine("WxTextAnalytical_Content>>" + wxXmlModel.Content); if (!string.IsNullOrEmpty(wxXmlModel.Content)) { if (!LoveLan.IsWXLoveLan(ref wxXmlModel)) { if (wxXmlModel.Content.Contains("是什么垃圾")) { string rubbishName = DisposeName(wxXmlModel.Content, "是什么垃圾"); wxXmlModel.Content = RubbishDispose(rubbishName); } else if (IsAddRubbishType(wxXmlModel.Content)) { wxXmlModel.Content = AddRubbish(wxXmlModel.Content); } else { wxXmlModel.Content = UNIT.GetResponseMessage(wxXmlModel.Content, wxXmlModel.FromUserName, token); } } } return(WeChatXml.ResponseXML(wxXmlModel)); }