public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            var responseSubscribe = base.CreateResponseMessage <ResponseMessageText>();

            responseSubscribe.Content = "欢迎订阅,张辉欢迎您。";
            return(responseSubscribe);
        }
Example #2
0
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            Task.Run(() =>
            {
                string openId = requestMessage.FromUserName;
                var replyItem = MpEventBll.GetByKey("ych_subscribe");
                if (replyItem != null)
                {
                    switch (replyItem.ReplyType)
                    {
                    case "text":
                        CustomApi.SendText(BaseClass.AppId, openId, EConvert.ConvertEmojiHtml(Senparc.Weixin.HttpUtility.RequestUtility.UrlDecode(replyItem.ReplyContent)));
                        break;

                    case "img":
                        CustomApi.SendImage(BaseClass.AppId, openId, replyItem.ReplyContent);
                        break;
                    }
                }
            });
            //将消息转发到客服
            var responseMessage = new SuccessResponseMessage();

            return(responseMessage);
        }
Example #3
0
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            var responseMessage = ResponseMessageBase.CreateFromRequestMessage <ResponseMessageText>(requestMessage);

            responseMessage.Content = "欢迎欢迎";
            var message = db.GetSingleRobotMessageForWelcome();

            if (message != null)
            {
                responseMessage.Content = message.Answer;
            }

            if (responseMessage.Content.Contains("[nickname]"))
            {
                var accessToken = GetAccessToken();
                var userInfo    = Senparc.Weixin.MP.CommonAPIs.CommonApi.GetUserInfo(accessToken, requestMessage.FromUserName);
                responseMessage.Content = responseMessage.Content.Replace("[nickname]", userInfo.nickname);
            }

            //if (!string.IsNullOrEmpty(requestMessage.EventKey))
            //{
            //    responseMessage.Content += "\r\n============\r\n场景值:" + requestMessage.EventKey;
            //}

            return(responseMessage);
        }
Example #4
0
        protected override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            var responseMessage = CreateResponseMessage <ResponseMessageText>();

            responseMessage.Content = @"文俊豪 男 应用1班 20150301123 身高170 体重60kg";
            return(responseMessage);
        }
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            var accessToken = Senparc.Weixin.MP.Containers.AccessTokenContainer.TryGetAccessToken(appId, appSecret);
            var openId      = requestMessage.FromUserName;//获取OpenId
            var userInfo    = Senparc.Weixin.MP.AdvancedAPIs.UserApi.Info(appId, openId, Language.zh_CN);
            var temp        = wx_userService.LoadEntities(u => u.gzh_openid == openId).FirstOrDefault();

            if (temp != null)
            {
                temp.state    = (int)WXUserState.已关注;
                temp.add_time = DateTime.Now;
                wx_userService.EditEntity(temp);
            }
            else
            {
                //新用户
                var user = new user();
                user.pid   = 0;
                user.name  = userInfo.nickname;
                user.sex   = userInfo.sex;
                user.state = (int)User_state.正常;
                user.isbuy = (int)Isbuy.未购买;
                //首次关注赠送积分
                var config_ruleItem = Config_ruleService.LoadEntities(n => n.name == "首次关注" && n.state == (int)State.可用).FirstOrDefault();
                if (config_ruleItem != null)
                {
                    var usr = new user_score_record();
                    usr.id    = Guid.NewGuid();
                    usr.score = config_ruleItem.value != null?Convert.ToDecimal(config_ruleItem.value) : 0;

                    usr.type           = (int)Score_type.收益;
                    usr.state          = (int)User_score_record_state.已完成;
                    usr.source_name    = "首次关注系统赠送";
                    usr.add_time       = DateTime.Now;
                    usr.remark         = ((int)Score_source_remark.系统赠送).ToString();
                    user.total_score  += usr.score;
                    user.usable_score += user.total_score;
                    user.user_score_record.Add(usr);
                }
                var newUser = new wx_user()
                {
                    city             = userInfo.city,
                    country          = userInfo.country,
                    wx_head_protrait = userInfo.headimgurl,
                    nickname         = userInfo.nickname,
                    gzh_openid       = userInfo.openid,
                    province         = userInfo.province,
                    sex      = userInfo.sex,
                    add_time = DateTime.Now,
                    unionid  = userInfo.unionid,
                    state    = (int)WXUserState.已关注,                 //已关注
                    user     = user,
                };
                wx_userService.AddEntity(newUser);
            }
            var responseMessage = base.CreateResponseMessage <ResponseMessageText>();

            responseMessage.Content = userInfo.nickname + ",欢迎您关注我们~";
            return(responseMessage);
        }
Example #6
0
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            var accessToken = AccessTokenContainer.TryGetAccessToken(AppId, AppSecret);


            var responseMessage = ResponseMessageBase.CreateFromRequestMessage <ResponseMessageText>(requestMessage);

            string result = string.Format("欢迎关注唐门年华公众号!");


            //            string redirectUrl = AgentUrl + "/WeiXin/OAuth";
            //            string oAuthUrl = OAuthApi.GetAuthorizeUrl(AppId,
            //                     redirectUrl,
            //                      "123", OAuthScope.snsapi_base);


            UserInfoJson userInfo = UserApi.Info(accessToken, requestMessage.FromUserName);

            int isOk = SaveUser(userInfo);

            Log.Debug("订阅事件,保存用户", isOk > 0 ? requestMessage.FromUserName + "保存成功" : "保存失败", null);

            responseMessage.Content = result;

            if (!string.IsNullOrEmpty(requestMessage.EventKey))
            {
                responseMessage.Content += "\r\n============\r\n场景值:" + requestMessage.EventKey;
            }

            return(responseMessage);
        }
Example #7
0
        /// <summary>
        /// 订阅事件
        /// </summary>
        /// <param name="requestMessage"></param>
        /// <returns></returns>
        public override Task <IResponseMessageBase> OnEvent_SubscribeRequestAsync(RequestMessageEvent_Subscribe requestMessage)
        {
            var responseMessage = base.CreateResponseMessage <ResponseMessageText>();

            responseMessage.Content = "欢迎订阅TechViews,我们会与您分享最新科技资讯和科技观点!";
            return(base.OnEvent_SubscribeRequestAsync(requestMessage));
        }
Example #8
0
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            try
            {
                LogHelper.LogInfo(string.Format("订阅(关注)事件【FromUserName:{0}, Event:{1}, EventKey:{2}, Ticket:{3}】", requestMessage.FromUserName, requestMessage.Event, requestMessage.EventKey, requestMessage.Ticket));
                var tbevent = new data.tbevent();
                tbevent.ticket        = requestMessage.Ticket;
                tbevent.@event        = requestMessage.Event.ToString();
                tbevent.from_username = requestMessage.FromUserName;
                tbevent.to_username   = requestMessage.ToUserName;
                tbevent.msg_type      = requestMessage.MsgType.ToString();
                tbevent.create_time   = DateTime.Now.Ticks;
                tbevent.event_key     = requestMessage.EventKey;
                using (var db = data.Entities.NewInstance)
                {
                    db.tbevents.Add(tbevent);
                    db.SaveChanges();
                }
            }
            catch (Exception es)
            {
                LogHelper.LogError(es);
            }

            var responseMessage = CreateResponseMessage <ResponseMessageText>();

            responseMessage.Content = string.Format("您好{0},欢迎关注我的公众号!", responseMessage.FromUserName);
            return(responseMessage);
        }
Example #9
0
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            var    responseMessage = CreateResponseMessage <ResponseMessageNews>();
            string name            = string.Empty;

            try
            {
                var accessToken = AccessTokenContainer.TryGetAccessToken("wxd4d7bd7f8fdc8156", "0482ace1cf1b9dcf702ba4366be65db8");


                var _userInfo = UserApi.Info(accessToken, requestMessage.FromUserName);
                name = _userInfo.nickname;
            }
            catch (Exception err)
            {
                name = err.Message;
            }

            responseMessage.Articles.Add(new Article()
            {
                Title       = name + ",算算连云港装修多少钱",
                Description = name + ",算算连云港装修多少钱",
                PicUrl      = "http://jx.51czb.com/Images/bg.png",
                Url         = "http://m.to8to.com/yezhu/zxbj.php?to8to_from=wechat_price&utm_pos=wbcdl"
            });
            return(responseMessage);
        }
Example #10
0
 /// <summary>
 /// 订阅(关注)事件
 /// </summary>
 public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
 {
     try
     {
         if (MessageInfo == null)
         {
             return(new SuccessResponseMessage());
         }
         var sinfo = GetWechatSubscribe();
         if (sinfo != null)
         {
             if (sinfo.MsgType == WechatEnums.MsgTypeEnum.文字消息)
             {
                 var responseMessage = ResponseMessageBase.CreateFromRequestMessage <ResponseMessageText>(requestMessage);
                 responseMessage.Content = MessageInfo.SubscribeMsg;
                 Subscribe(requestMessage);
                 return(responseMessage);
             }
             else
             {
                 var responseMessagePic = ResponseMessageBase.CreateFromRequestMessage <ResponseMessageNews>(requestMessage);
                 responseMessagePic.ArticleCount = 1;
                 responseMessagePic.Articles.Add(GetPicSubscribe());
                 Subscribe(requestMessage);
                 return(responseMessagePic);
             }
         }
         return(new SuccessResponseMessage());
     }
     catch (Exception ex)
     {
         Logger.ErrorFormat("微信关注推送消息失败 error:{0} Exception:{1}", ex.Message, ex);
         return(new SuccessResponseMessage());
     }
 }
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            var responseMessage = CreateResponseMessage <ResponseMessageNews>();

            responseMessage.Articles.Add(new Article()
            {
                Title       = "欢迎关注【Ai我家】",
                Description = "欢迎关注【Ai我家】,让他为您提供全方位的物业家庭服务。",
                Url         = "http://v.homekeeper.com.cn/WeixinProduct/Index/",
                PicUrl      = "http://v.homekeeper.com.cn/Images/Weixin/welcome.png"
            });
            responseMessage.Articles.Add(new Article()
            {
                Title       = "绑定小区获得更多功能",
                Description = "通过绑定小区可以获得更多功能。点击链接进行小区绑定",
                Url         = "http://v.homekeeper.com.cn/WeixinIdentityBind/Index/",
                PicUrl      = "http://v.homekeeper.com.cn/Images/Weixin/bangdin_place.png"
            });
            responseMessage.Articles.Add(new Article()
            {
                Title       = "分享二维码给好友邻居,关注【Ai我家】微信公众号",
                Description = "分享二维码给好友邻居,关注【Ai我家】微信公众号。",
                Url         = "http://v.homekeeper.com.cn/WeixinProduct/QrCodeShare/",
                PicUrl      = "http://v.homekeeper.com.cn/Images/Weixin/share_qr.png"
            });
            return(responseMessage);
        }
Example #12
0
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            //var responseMessage = ResponseMessageBase.CreateFromRequestMessage<ResponseMessageText>(requestMessage);
            //responseMessage.Content = GetWelcomeInfo();
            string DayLifeUrl    = WebConfigurationManager.AppSettings["DayLifeUrl"] == null ? "" : WebConfigurationManager.AppSettings["DayLifeBakUrl"];                            //日常地址
            string DayLifeBakUrl = WebConfigurationManager.AppSettings["DayLifeBakUrl"] == null ? "http://59.61.72.34:8025/" : WebConfigurationManager.AppSettings["DayLifeBakUrl"]; //日常地址

            var responseMessage = CreateResponseMessage <ResponseMessageNews>();

            responseMessage.Articles.Add(new Article()
            {
                Title       = "我的任务日常",
                Description = "模拟我的地下城日常",
                PicUrl      = string.Format("{0}/Content/flat-ui/img/icons/png/Retina-Ready.png", DayLifeUrl),
                Url         = string.Format("{0}/LifeDay/NoLifeNoGame?weixin={1}&missionType=0", DayLifeUrl, requestMessage.FromUserName)
            });
            responseMessage.Articles.Add(new Article()
            {
                Title       = "我的任务日常_备用地址",
                Description = "模拟我的life日常",
                PicUrl      = string.Format("{0}/Content/flat-ui/img/icons/png/Retina-Ready.png", DayLifeBakUrl),
                Url         = string.Format("{0}/LifeDay/NoLifeNoGame?weixin={1}&missionType=0", DayLifeBakUrl, requestMessage.FromUserName)
            });

            return(responseMessage);
        }
Example #13
0
        protected override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            var responseMessage = CreateResponseMessage <ResponseMessageText>();

            responseMessage.Content = @"作者姓名:施锋  性别:男  班级:2班  学号:20150301208  爱好:乒乓球。";
            return(responseMessage);
        }
Example #14
0
        protected override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            var responseMessage = CreateResponseMessage <ResponseMessageText>();

            responseMessage.Content = @"李胜涛 男 应用2班 20150301215 爱好吃饭";
            return(responseMessage);
        }
Example #15
0
        public override RequestMessageBase GetRequestEntityMappingResult(RequestMsgType requestMsgType, XDocument doc = null)
        {
            RequestMessageBase requestMessage;

            switch (requestMsgType)
            {
            case RequestMsgType.Text:
                requestMessage = new RequestMessageText();    //借用MP的对象,也可以在单元测试中新建类
                break;

            case RequestMsgType.Event:
                //判断Event类型
                switch (doc.Root.Element("Event").Value.ToUpper())
                {
                case "SUBSCRIBE":        //订阅(关注)
                    requestMessage = new RequestMessageEvent_Subscribe();
                    break;

                default:
                    requestMessage = new RequestMessageUnknownType();
                    break;
                }
                break;

            default:
                throw new Exception("未定义此类型:" + requestMsgType);
            }

            return(requestMessage);
        }
Example #16
0
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            #region
            //var responseMessage = ResponseMessageBase.CreateFromRequestMessage<ResponseMessageText>(requestMessage);
            //responseMessage.Content = GetWelcomeInfo();
            //return responseMessage;
            //BLL.BUser Subuser = new BLL.BUser();
            //UserInfoJson uij = Subuser.GetUserInfo(requestMessage.FromUserName);
            #endregion
            MCComm.FileHelper.WriteLog("OnEvent_SubscribeRequest", requestMessage.EventKey);
            var responseMessage = ResponseMessageBase.CreateFromRequestMessage <ResponseMessageNews>(requestMessage);

            responseMessage.Articles.Add(new Article
            {
                Title       = "欢迎关注{0}公众平台".FormatWith(MPBasicSetting.WeChatTitleName),
                Description = "轻松赚钱 改变生活",
                PicUrl      = "http://" + MPBasicSetting.wxUrl + "/Images/welcome.jpg"
                              //Url = "http://" + MPBasicSetting.wxUrl + "/Account/UserBing?openid=" + responseMessage.ToUserName + "&IsSkip=1"
            });
            //responseMessage.Articles.Add(new Article
            //{
            //    Title = "点击此处获取航运通+V3.0下载地址",
            //    Description = "www.sunnysoft.com.cn/HangyuntongV3.aspx",
            //    PicUrl = "http://" + MPBasicSetting.wxUrl + "/Images/downloadURL.png",
            //    Url = "http://" + MPBasicSetting.wxUrl + "/Account/DownURL"
            //});

            return(responseMessage);
        }
Example #17
0
        /// <summary>
        /// 关注后事件
        /// </summary>
        /// <param name="requestMessage"></param>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            //如果关注前是通过访问某个页面进来,则重定向至此页
            if (TemplateMessageCollection.ContainsKey(requestMessage.FromUserName))
            {
                var url = TemplateMessageCollection[requestMessage.FromUserName];

                var responseMessage = CreateResponseMessage <ResponseMessageNews>();

                responseMessage.Articles.Add(new Article()
                {
                    Title       = "欢迎关注模来模往",
                    Description = GetDescriptionFromUrl(url),
                    Url         = url
                });
                TemplateMessageCollection.Remove(requestMessage.FromUserName);
                return(responseMessage);
            }
            else
            {
                var responseMessage = ResponseMessageBase.CreateFromRequestMessage <ResponseMessageText>(requestMessage);
                responseMessage.Content = "欢迎关注模来模往。";
                return(responseMessage);
            }
        }
Example #18
0
        /// 订阅(关注)事件
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            var responseMessage = ResponseMessageBase.CreateFromRequestMessage <ResponseMessageText>(requestMessage);

            responseMessage.Content += LogInvite(requestMessage.EventKey, requestMessage.FromUserName, "Scan");
            return(responseMessage);
        }
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            var responseMessage = ResponseMessageBase.CreateFromRequestMessage <ResponseMessageText>(requestMessage);

            responseMessage.Content = GetWelcomeInfo();
            if (!string.IsNullOrEmpty(requestMessage.EventKey))
            {
                responseMessage.Content += "\r\n============\r\n场景值:" + requestMessage.EventKey;
            }

            //推送消息
            //下载文档
            if (requestMessage.EventKey.StartsWith("qrscene_"))
            {
                var sceneId = long.Parse(requestMessage.EventKey.Replace("qrscene_", ""));
                //var configHelper = new ConfigHelper(new HttpContextWrapper(HttpContext.Current));
                var codeRecord =
                    ConfigHelper.CodeCollection.Values.FirstOrDefault(z => z.QrCodeTicket != null && z.QrCodeId == sceneId);

                if (codeRecord != null)
                {
                    //确认可以下载
                    codeRecord.AllowDownload = true;
                    AdvancedAPIs.CustomApi.SendText(null, WeixinOpenId, GetDownloadInfo(codeRecord));
                }
            }


            return(responseMessage);
        }
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            //关注时回复
            AutoRlyInfo autoRly = SinGooCMS.BLL.AutoRly.GetFocusRly();

            switch (autoRly.MsgType)
            {
            case WeixinMsgType.Text:
                var responseMessageText = ResponseMessageBase.CreateFromRequestMessage <ResponseMessageText>(requestMessage);
                responseMessageText.Content = autoRly.MsgText;
                return(responseMessageText);

            case WeixinMsgType.Image:
            {
                var responseMessageNews = CreateResponseMessage <ResponseMessageNews>();
                responseMessageNews.Articles.Add(new Article()
                    {
                        Title       = autoRly.MsgText,
                        Description = autoRly.Description,
                        PicUrl      = Utils.GetUrlWithDomain(autoRly.MediaPath),
                        Url         = autoRly.LinkUrl
                    });

                return(responseMessageNews);
            }
            }

            return(null);
        }
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            ResponseMessageText expr_06 = ResponseMessageBase.CreateFromRequestMessage <ResponseMessageText>(requestMessage);

            expr_06.Content = "欢迎关注漫游上海公众平台。或许每一间旧商铺,旧名居,旧街道还在吧,城市的肌理她一直在那里,让我们去漫游上海吧! 用户可以直接输入地址或专有地名进行搜索,鉴于平台数据仍在完善未能搜索到结果情况请见谅";
            return(expr_06);
        }
Example #22
0
        //订阅事件方法
        protected override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            var responseMessage = CreateResponseMessage <ResponseMessageText>();

            responseMessage.Content = @"欢迎关注!【班级:计算机应用技术二班】\n【姓名:梁阔雄】\n【学号:20150301241】\n【性别:男】";
            return(responseMessage);
        }
Example #23
0
        ///// <summary>
        ///// Event事件类型请求之subscribe
        ///// </summary>
        ///// <param name="requestMessage"></param>
        ///// <returns></returns>
        //public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        //{
        //    var responseMessage = this.CreateResponseMessage<ResponseMessageText>();
        //    responseMessage.Content = "欢迎关注-DSX用于测试的消息";
        //    return responseMessage;
        //}

        /// <summary>
        /// Event事件类型请求之subscribe
        /// </summary>
        /// <param name="requestMessage"></param>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            if (_wechatConfig == null)
            {
                string orgId = ConfigHelper.GetValue("OrgId");
                _wechatConfig = wechatConfigBll.GetEntityByOrgId(orgId);
            }

            if (_wechatConfig != null)
            {
                var    responseMessage = this.CreateResponseMessage <ResponseMessageNews>();
                string regUrl          = string.Format("{0}/base_info", _wechatConfig.WxDomainUrl);

                var container = new MessageContainer <Article>
                {
                    new Article()
                    {
                        Title       = "感谢您的关注",
                        Description = "绑定帐号后即可享受健康信息推送服务",
                        Url         = regUrl,
                        PicUrl      = string.Format("{0}/static/img/register.png", _wechatConfig.WxDomainUrl)
                    }
                };
                responseMessage.Articles = container;
                return(responseMessage);
            }
            else
            {
                var responseMessage = this.CreateResponseMessage <ResponseMessageText>();
                responseMessage.Content = "感谢您的关注!";
                return(responseMessage);
            }
        }
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            var responseMessage = ResponseMessageBase.CreateFromRequestMessage <ResponseMessageText>(requestMessage);

            responseMessage.Content = "你好,欢迎关注美雀公众号!";
            return(responseMessage);
        }
Example #25
0
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            var responseMessage = base.CreateResponseMessage <ResponseMessageText>();

            responseMessage.Content = "欢迎关注零度云平台微信公众号。";
            return(responseMessage);
        }
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            AppCtx ctx = AppCtx.Current;

            ctx.SetContextHandler(this);
            return(ctx.GetHandler().SubscribeRequest(ctx, requestMessage));
        }
Example #27
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="requestMessage"></param>
        /// <returns></returns>
        public IResponseMessageBase GetResponseMessage(RequestMessageEvent_Subscribe requestMessage)
        {
            var responseMessage = CustomResponseMessage.TextMessage(requestMessage);

            responseMessage.Content = GetWelcomeInfo();
            return(responseMessage);
        }
Example #28
0
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            var responseMessage = ResponseMessageBase.CreateFromRequestMessage <ResponseMessageText>(requestMessage);

            //获取Senparc.Weixin.MP.dll版本信息
            var fileVersionInfo = FileVersionInfo.GetVersionInfo(HttpContext.Current.Server.MapPath("~/bin/Senparc.Weixin.MP.dll"));

            //var version = fileVersionInfo.FileVersion;

            try
            {
                bool blAddUser = false;
                blAddUser = UAMS_UserManager.AddUser(requestMessage.FromUserName);
                if (!blAddUser)
                {
                    Log.WriteLog(LogFile.Trace, "添加用户:" + requestMessage.FromUserName);
                }
                else
                {
                    Log.WriteLog(LogFile.Trace, "用户已存在:" + requestMessage.FromUserName);
                }
            }
            catch (System.Exception ex)
            {
                Log.WriteLog(LogFile.Error, "发生了一些不必要的错误:" + ex.ToString());
            }

            responseMessage.Content = string.Format("【美天网络】统一帐号管理系统\r\n请输入命令编号或命令进行操作:\r\n1.【激活】\r\n2.【登录】");
            return(responseMessage);
        }
Example #29
0
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            var responseMessage = ResponseMessageBase.CreateFromRequestMessage <ResponseMessageText>(requestMessage);

            responseMessage.Content = "";//"感谢亲的关注!首次关注,亲可以输入“我要红包”获得1-10元不等的关注红包哦!";//GetWelcomeInfo();
            return(responseMessage);
        }
Example #30
0
        /// <summary>
        /// 订阅、关注事件
        /// </summary>
        /// <param name="requestMessage"></param>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            var responseMessage = ResponseMessageBase.CreateFromRequestMessage <ResponseMessageText>(requestMessage);

            responseMessage.Content = GetWelcomeInfo();
            return(responseMessage);
        }
Example #31
0
        //<?xml version="1.0" encoding="utf-8"?>
        //<xml>
        //  <ToUserName><![CDATA[gh_a96a4a619366]]></ToUserName>
        //  <FromUserName><![CDATA[olPjZjsXuQPJoV0HlruZkNzKc91E]]></FromUserName>
        //  <CreateTime>1357986928</CreateTime>
        //  <MsgType><![CDATA[text]]></MsgType>
        //  <Content><![CDATA[中文]]></Content>
        //  <MsgId>5832509444155992350</MsgId>
        //</xml>
        /// <summary>
        /// 获取XDocument转换后的IRequestMessageBase实例。
        /// 如果MsgType不存在,抛出UnknownRequestMsgTypeException异常
        /// </summary>
        /// <returns></returns>
        public static IRequestMessageBase GetRequestEntity(XDocument doc)
        {
            RequestMessageBase requestMessage = null;
            RequestMsgType msgType;
            try
            {
                msgType = MsgTypeHelper.GetRequestMsgType(doc);
                switch (msgType)
                {
                    case RequestMsgType.Text:
                        requestMessage = new RequestMessageText();
                        break;

                    case RequestMsgType.Location:
                        requestMessage = new RequestMessageLocation();
                        break;

                    case RequestMsgType.Image:
                        requestMessage = new RequestMessageImage();
                        break;

                    case RequestMsgType.Voice:
                        requestMessage = new RequestMessageVoice();
                        break;

                    case RequestMsgType.Video:
                        requestMessage = new RequestMessageVideo();
                        break;

                    case RequestMsgType.Link:
                        requestMessage = new RequestMessageLink();
                        break;

                    case RequestMsgType.ShortVideo:
                        requestMessage = new RequestMessageShortVideo();
                        break;

                    case RequestMsgType.Event:
                        //判断Event类型
                        switch (doc.Root.Element("Event").Value.ToUpper())
                        {
                            case "ENTER"://进入会话
                                requestMessage = new RequestMessageEvent_Enter();
                                break;

                            case "LOCATION"://地理位置
                                requestMessage = new RequestMessageEvent_Location();
                                break;

                            case "SUBSCRIBE"://订阅(关注)
                                requestMessage = new RequestMessageEvent_Subscribe();
                                break;

                            case "UNSUBSCRIBE"://取消订阅(关注)
                                requestMessage = new RequestMessageEvent_Unsubscribe();
                                break;

                            case "CLICK"://菜单点击
                                requestMessage = new RequestMessageEvent_Click();
                                break;

                            case "SCAN"://二维码扫描
                                requestMessage = new RequestMessageEvent_Scan();
                                break;

                            case "VIEW"://URL跳转
                                requestMessage = new RequestMessageEvent_View();
                                break;

                            case "MASSSENDJOBFINISH": //事件推送群发
                                requestMessage = new RequestMessageEvent_MassSendJobFinish();
                                break;

                            case "TEMPLATESENDJOBFINISH"://模板信息
                                requestMessage = new RequestMessageEvent_TemplateSendJobFinish();
                                break;

                            case "SCANCODE_PUSH"://扫码推事件(scancode_push)
                                requestMessage = new RequestMessageEvent_Scancode_Push();
                                break;

                            case "SCANCODE_WAITMSG"://扫码推事件且弹出“消息接收中”提示框(scancode_waitmsg)
                                requestMessage = new RequestMessageEvent_Scancode_Waitmsg();
                                break;

                            default://其他意外类型(也可以选择抛出异常)
                                requestMessage = new RequestMessageEventBase();
                                break;
                        }
                        break;

                    default:
                        throw new UnknownRequestMsgTypeException(string.Format("MsgType:{0} 在RequestMessageFactory中没有对应的处理程序!", msgType), new ArgumentOutOfRangeException());//为了能够对类型变动最大程度容错(如微信目前还可以对公众账号suscribe等未知类型,但API没有开放),建议在使用的时候catch这个异常
                }
                EntityHelper.FillEntityWithXml(requestMessage, doc);
            }
            catch (ArgumentException ex)
            {
                throw new WeixinException(string.Format("RequestMessage转换出错!可能是MsgType不存在!,XML:{0}", doc.ToString()), ex);
            }
            return requestMessage;
        }
        /// <summary>
        /// 订阅(关注)事件
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
        {
            //TODO:订阅红包被注释了

            //int apiid = wxcomm.getApiid();
            ////------印美图接口 begin------
            ////threeInterface.weipaiInterface wxcf = new threeInterface.weipaiInterface();

            ////wxcf.weipaiSubscribe(requestMessage.FromUserName, apiid);
            ////------印美图接口 end------
            //XjHongBao xjMgr = new XjHongBao();
            //xjMgr.SubscribeHongBao(requestMessage.FromUserName, apiid);
            //return EventProcess(6, requestMessage);

            return null;
        }