SuLei.API/Weixin/Handler/CustomMessageHandler_Events.cs

(开头部分) 10KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Diagnostics;
using System.Web;
using Senparc.Weixin.MP.Agent;
using Senparc.Weixin.MP.Entities;
using Senparc.Weixin.MP.Helpers;
using Senparc.Weixin.MP.MessageHandlers;

namespace SuLei.API.Weixin.Handler
{
    /// <summary>
    /// 自定义MessageHandler
    /// </summary>
    public partial class CustomMessageHandler
    {
        /// <summary>
        /// 菜单点击事件
        /// </summary>
        public override IResponseMessageBase OnEvent_ClickRequest(RequestMessageEvent_Click requestMessage)
        {
            IResponseMessageBase reponseMessage = null;
            Common.MessageFunction cmfun = new Common.MessageFunction();

            string keywords = requestMessage.EventKey; //查询关健字
            int accountId = cmfun.GetAccountId(); //公众账户ID

            string EventName = "";
            if (requestMessage.Event.ToString().Trim() != "")
            {
                EventName = requestMessage.Event.ToString();
            }
            else if (requestMessage.EventKey != null)
            {
                EventName += requestMessage.EventKey.ToString();
            }

            if (!cmfun.ExistsOriginalId(accountId, requestMessage.ToUserName))
            {  //验证接收方是否为我们系统配置的帐号,即验证微帐号与微信原始帐号id是否一致,如果不一致,说明【1】配置错误,【2】数据来源有问题
                new BLL.weixin_response_content().Add(accountId, requestMessage.FromUserName, requestMessage.MsgType.ToString(), EventName, "none", "未取到关键词对应的数据", requestMessage.ToUserName);
                return cmfun.GetResponseMessageTxtByContent(requestMessage, "验证微帐号与微信原始帐号id不一致,可能原因【1】系统配置错误,【2】非法的数据来源有问题", accountId);
            }

            int responseType = 0; //回复类型
            int ruleId = new BLL.weixin_request_rule().GetKeywordsRuleId(accountId, requestMessage.EventKey, out responseType);
            if (ruleId == 0)
            {
                new BLL.weixin_response_content().Add(accountId, requestMessage.FromUserName, requestMessage.MsgType.ToString(), EventName, "none", "未取到关键词对应的数据", requestMessage.ToUserName);
                return cmfun.GetResponseMessageTxtByContent(requestMessage, "", accountId);
            }
            switch (responseType)
            {
                case 1:
                    //发送纯文字
                    reponseMessage = cmfun.GetResponseMessageTxt(requestMessage, ruleId, accountId);
                    break;
                case 2:
                    //发送多图文
                    reponseMessage = cmfun.GetResponseMessageNews(requestMessage, ruleId, accountId);
                    break;
                case 3:
后面还有 156 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

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