微信响应文本消息

using System;
using System.Collections.Generic;
using System.Web;
using YTO.WeiXin.BLL;
using YTO.WeiXin.BLL.Interface;
using YTO.WeiXin.Core;
using YTO.WeiXin.Model;

namespace YTO.WeiXin.Process
{
    public class TextProcess : IProcess
    {
        IAuthorizationBiz AuthorizationBiz { get; set; }
        IContactBiz ContactBiz { get; set; }
        public void Process()
        {
            HttpContext context = HttpContext.Current;
            string paramXML = context.Items["XML"].ToString();
            //Logger.Write("paramXML:" + paramXML);
            TextInfo Info = XmlHelper.XmlDeserialize<TextInfo>(paramXML);

            AuthorizationInfo authInfo = new AuthorizationInfo { OpenId = Info.FromUserName };
            IList<AuthorizationInfo> authList = AuthorizationBiz.Query(authInfo);
            string reccontent = Info.Content;
            string[] str = reccontent.Split(‘ ‘);
            TextSendInfo SendInfo = new TextSendInfo();
            SendInfo.ToUserName = Info.FromUserName;
            SendInfo.FromUserName = Info.ToUserName;
            SendInfo.CreateTime = DateTime.Now.ToString();
            SendInfo.MsgType = MsgTypeEnum.text.ToString();
            if (authList.Count > 0 && authList[0].Status == "已授权")
            {
                if (str.Length > 1 && !string.IsNullOrEmpty(str[1]))//如果格式正确
                {
                    //Logger.Write("str[1]:" + str[1]);
                    ContactInfo contactInfo = new ContactInfo { CenterName = str[1].Trim() };
                    IList<ContactInfo> list = ContactBiz.Query(contactInfo);
                    if (list.Count > 0)//数据库中有相关信息
                    {
                        string content = string.Format(JobBase.GetConfParamValue(ParamEnum.CenterQueryResponse), list[0].CenterName, list[0].Name, list[0].PhoneNumber, list[0].Address);
                        SendInfo.Content = content;
                    }
                    else//未查询到相关信息
                    {
                        SendInfo.Content = JobBase.GetConfParamValue(ParamEnum.CenterNotExist);//"该中心不存在,请重新输入。如有问题,请联系021-69777911";
                    }
                }
                else//格式不正确
                {
                    SendInfo.Content = JobBase.GetConfParamValue(ParamEnum.CenterFormatError);//"请确认输入信息格式正确后,重新输入。如有问题,请联系021-69777911";
                }
            }
            else
            {
                SendInfo.Content = JobBase.GetConfParamValue(ParamEnum.AuthWarning);//"请先在授权页面申请授权,再使用该功能!";
            }
            string xml = XmlHelper.CustomXMLSerialize<TextSendInfo>(SendInfo, string.Empty);
            //Logger.Write("xml:" + xml);
            ResponseHelper.Success(xml);
        }
    }
}
时间: 2024-10-11 08:11:32

微信响应文本消息的相关文章

微信回复文本消息和图文消息

微信自动回复,我的理解,大体可以分为: 1.关注平台后自动回复. 2.用户推送了文本,我们回复消息.包括文本消息,单图文消息和多图文消息等等. 3.click事件,响应事件后回复消息. 我们先写一个判断类型的函数: public function responseMsg() { $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; if (!empty($postStr)){ $postObj = simplexml_load_string($postS

微信公号开发之文本消息技巧:长度限制、换行和表情

微信公众账号文本消息的内容长度限制揭秘 相信不少朋友都遇到过这样的问题:当发送的文本消息内容过长时,微信将不做任何响应.那么到底微信允许的文本消息的最大长度是多少呢?我们又该如何计算文本的长度呢?为什么还有些人反应微信好像支持的文本消息最大长度在1300多呢?这篇文章会彻底解除大家的疑问. 接口文档中对消息长度限制为2048: 可以看到,接口文档中写的很明确:回复的消息内容长度不超过2048字节.那为什么很多人测试反应消息内容长度在1300多字节时,微信就不响应了呢?我想这问题应该在这部分人没有

微信公众号消息回复

参照https://www.kancloud.cn/digest/wechat-java/123962 写了servlet并处理后,发现在服务器的 tomcat/logs/localhost_access.txt的日志里面 总是接收不到 微信端发送的post的请求,因为 微信的 文本消息回复原理是,用户发送消息给微信,微信把这些消息以及用户信息通过post请求发送给服务器.服务器提供post接口的URL,这个URL就是在开发者文档里配置的URL.如下所示 ,而自己为什么没有收到那? 最后发现是没

微信公众平台API测试——接收文本消息

一.简介 当普通微信用户向公众账号发消息时,微信服务器将用户发送的消息封装成XML数据包,通过POST消息发送到开发者的URL上.      微信服务器在五秒内收不到服务器的响应会断掉连接,并且重新发起请求,总共重试三次.关于重试的消息排重,推荐使用msgid排重.      假如服务器无法保证在五秒内处理并回复,可以直接回复空串,微信服务器不会对此作任何处理,并且不会发起重试. 当前支持如下的普通消息: 1 文本消息 2 图片消息 3 语音消息 4 视频消息 5 地理位置消息 6 链接消息 二

微信主动推送文本消息C#

1. 登陆,根据用户名和密码登陆到微信公众平台管理页面,获取token,模拟登陆请求地址:http://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN,2. 登陆后,获取用户所有的信息,地址:https://mp.weixin.qq.com/cgi-bin/contactmanage?t=user/index&token=,根据前面的token.3. 发送消息,地址:https://mp.weixin.qq.com/cgi-bin/singlesend?t=a

C#-MVC开发微信应用(3)--文本消息和图文消息的应答

最近咨询微信的人很多,感觉这块也是一块商机,也为了演示SNF快速开发平台的优势,就用SNF快速开发平台开发出一套微信应用程序.使用<SNF.CodeGenerator>代码生成工具可以节省大量时间. 在前面两篇两篇随笔<C#-MVC开发微信应用(1)--开始使用微信接口>和<C#-MVC开发微信应用(2)--开始使用微信接口>里面,大致介绍了我微信应用的框架构建,本随笔继续介绍这一主题,介绍消息应答里面的文本应答和图文应答的过程. 我们知道,给手机用户发送响应消息,它可

(6)微信二次开发 之 微信文本消息接口实现

p.p1 { margin: 13.0px 0.0px 13.0px 0.0px; text-align: justify; font: 16.0px SimSun } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 10.5px SimSun } span.s1 { font: 16.0px Cambria } span.s2 { font: 16.0px "Times New Roman" } s

C#开发微信门户及应用(19)-微信企业号的消息发送(文本、图片、文件、语音、视频、图文消息等)

我们知道,企业号主要是面向企业需求而生的,因此内部消息的交流显得非常重要,而且发送.回复消息数量应该很可观,对于大企业尤其如此,因此可以结合企业号实现内部消息的交流.企业号具有关注安全.消息无限制等特点,很适合企业内部的环境.本文主要介绍如何利用企业号实现文本.图片.文件.语音.视频.图文消息等消息的发送操作. 1.企业号特点 对于企业号,有以下一些特点: 1)关注更安全 –只有企业通讯录的成员才能关注企业号,分级管理员.保密消息等各种特性确保企业内部信息的安全. 企业可以设置自行验证关注者身份

C#开发微信门户及应用(3)--文本消息和图文消息的应答

C#开发微信门户及应用(3)--文本消息和图文消息的应答 微信应用如火如荼,很多公司都希望搭上信息快车,这个是一个商机,也是一个技术的方向,因此,有空研究下.学习下微信的相关开发,也就成为计划的安排事情之一了.本系列文章希望从一个循序渐进的角度上,全面介绍微信的相关开发过程和相关经验总结,希望给大家了解一下相关的开发历程. 在前面两篇两篇随笔<C#开发微信门户及应用(1)--开始使用微信接口>和<C#开发微信门户及应用(2)--微信消息的处理和应答>里面,大致介绍了我微信应用的框架