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 算力,解读结果公开显示在下面。

还没有人解读过这个文件。