DTcms.API/DTcms.API.Weixin.Handler/CustomMessageHandler.cs
(开头部分) 7KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using DTcms.API.Weixin.Common;
using DTcms.BLL;
using Senparc.Weixin.MP.Entities;
using Senparc.Weixin.MP.MessageHandlers;
using System;
using System.IO;
namespace DTcms.API.Weixin.Handler
{
public class CustomMessageHandler : MessageHandler<CustomMessageContext>
{
public CustomMessageHandler(System.IO.Stream inputStream, int maxRecordCount = 0) : base(inputStream, maxRecordCount)
{
base.WeixinContext.ExpireMinutes = 10.0;
base.WeixinContext.MaxRecordCount = 1000;
}
public override void OnExecuting()
{
if (base.CurrentMessageContext.StorageData == null)
{
base.CurrentMessageContext.StorageData = 0;
}
base.OnExecuting();
}
public override void OnExecuted()
{
base.OnExecuted();
base.CurrentMessageContext.StorageData = (int)base.CurrentMessageContext.StorageData + 1;
}
public override IResponseMessageBase OnTextRequest(RequestMessageText requestMessage)
{
IResponseMessageBase IR = null;
MessageFunction cmfun = new MessageFunction();
weixin_request_rule ruleBLL = new weixin_request_rule();
IResponseMessageBase result;
try
{
string keywords = requestMessage.Content;
int accountId = cmfun.GetAccountId();
if (!cmfun.ExistsOriginalId(accountId, requestMessage.ToUserName))
{
new weixin_response_content().Add(accountId, requestMessage.FromUserName, requestMessage.MsgType.ToString(), requestMessage.Content, "none", "验证微帐号与微信原始帐号id不一致,说明【1】配置错误,【2】数据来源有问题", requestMessage.ToUserName);
result = cmfun.GetResponseMessageTxtByContent(requestMessage, "验证微帐号与微信原始帐号id不一致,可能原因【1】系统配置错误,【2】非法的数据来源", accountId);
return result;
}
int responseType = 0;
int ruleId = ruleBLL.GetKeywordsRuleId(accountId, keywords, out responseType);
if (ruleId <= 0 || responseType <= 0)
{
new weixin_response_content().Add(accountId, requestMessage.FromUserName, requestMessage.MsgType.ToString(), requestMessage.Content, "none", "未取到关键词对应的数据", requestMessage.ToUserName);
result = cmfun.GetResponseMessageTxtByContent(requestMessage, "未找到匹配的关键词", accountId);
return result;
}
switch (responseType)
{
case 1:
IR = cmfun.GetResponseMessageTxt(requestMessage, ruleId, accountId);
后面还有 140 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。