>위챗 애플릿 >위챗 개발 >C# WeChat 포털 및 애플리케이션 개발(3)--문자 메시지 및 그래픽 메시지에 대한 응답

C# WeChat 포털 및 애플리케이션 개발(3)--문자 메시지 및 그래픽 메시지에 대한 응답

高洛峰
高洛峰원래의
2017-02-16 16:32:041556검색

WeChat 애플리케이션이 본격화되고 있으며 많은 기업에서 Information Express에 참여하기를 희망하고 있습니다. 이는 비즈니스 기회이자 기술적인 방향이므로 시간이 있을 때 WeChat 관련 개발에 대해 연구하고 배우는 것이 하나의 방법이 되었습니다. 계획된 준비. 이 시리즈 기사에서는 WeChat의 관련 개발 프로세스와 관련 경험 요약을 단계별 관점에서 포괄적으로 소개하고 모든 사람이 관련 개발 프로세스를 이해할 수 있기를 바랍니다.

이전 두 기사에는 "C#으로 WeChat 포털 및 애플리케이션 개발(1)--WeChat 인터페이스 사용 시작"과 "C#으로 WeChat 포털 및 애플리케이션 개발(2)--처리"라는 두 개의 에세이가 있었습니다. and Responding to WeChat Messages" 여기에서는 WeChat 애플리케이션의 프레임워크 구성을 대략적으로 소개합니다. 이 에세이는 계속해서 이 주제를 소개하고 메시지 응답의 텍스트 응답 및 그래픽 응답 프로세스를 소개합니다.

휴대폰 사용자에게 응답 메시지를 보내는 방법은 문자 메시지 답장, 사진 메시지 답장, 음성 메시지 답장, 영상 메시지 답장, 음악 메시지 답장, 음악 메시지 답장, 아래와 같이 사진, 문자 메시지 등에 답장합니다.

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

그 중 사진, 동영상, 음성은 위챗 서버에 저장된 미디어 정보를 사용자에게 전송하기 위해 위챗 인증이 필요합니다. 일반적으로 일반인은 계정이나 인증을 받지 않습니다. 서비스 계정은 이러한 유형의 콘텐츠를 보낼 수 없습니다.

1. 엔터티 정보 관계 및 정의

WeChat 개발에 대한 지난 에세이에서 메시지 수신 및 응답을 위한 애플리케이션 엔터티 클래스를 보여주었습니다. , 개발 요구 사항에 따라 애플리케이션 수준에서 캡슐화됩니다. 예를 들어 응답 메시지 관계는 다음과 같습니다.

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

메시지 기본 클래스 BaseMessage의 엔터티 클래스 정의는 다음과 같습니다. 이는 날짜에 대한 정수 값을 구성하고 몇 가지 일반적인 속성을 가지며, 또한 중요한 ToXML 메서드는 이러한 XML 데이터를 메서드에 전달하는 데 사용됩니다.

    /// <summary>
    /// 基础消息内容    /// </summary>
    [XmlRoot(ElementName = "xml")]    public class BaseMessage
    {        /// <summary>
        /// 初始化一些内容,如创建时间为整形,        /// </summary>
        public BaseMessage()
        {            this.CreateTime = DateTime.Now.DateTimeToInt();
        }        /// <summary>
        /// 开发者微信号        /// </summary>
        public string ToUserName { get; set; }        /// <summary>
        /// 发送方帐号(一个OpenID)        /// </summary>
        public string FromUserName { get; set; }        /// <summary>
        /// 消息创建时间 (整型)        /// </summary>
        public int CreateTime { get; set; }        /// <summary>
        /// 消息类型        /// </summary>
        public string MsgType { get; set; }        public virtual string ToXml()
        {            this.CreateTime = DateTime.Now.DateTimeToInt();//重新更新
            return MyXmlHelper.ObjectToXml(this);
        }

    }

답장 문자 메시지 엔터티 클래스 코드는 다음과 같이 많은 공통 엔터티 속성을 상속하고 있음을 알 수 있습니다. ToXml의 메서드를 응답 XML로 변환해야 하는 경우 이 메서드를 사용하면 됩니다.

    /// <summary>
    /// 回复文本消息    /// </summary>
    [System.Xml.Serialization.XmlRoot(ElementName = "xml")]    public class ResponseText : BaseMessage
    {        public ResponseText()
        {            this.MsgType = ResponseMsgType.Text.ToString().ToLower();
        }        public ResponseText(BaseMessage info) : this()
        {            this.FromUserName = info.ToUserName;            this.ToUserName = info.FromUserName;
        }        /// <summary>
        /// 内容        /// </summary>        
        public string Content  { get; set; }
    }

그래픽 메시지 객체 클래스 ResponseNews에는 추가 정보 정의가 포함되어 있습니다.

    /// <summary>
    /// 回复图文消息    /// </summary>
    [System.Xml.Serialization.XmlRoot(ElementName = "xml")]    public class ResponseNews : BaseMessage
    {        public ResponseNews()
        {            this.MsgType = ResponseMsgType.News.ToString().ToLower();            this.Articles = new List<ArticleEntity>();
        }        public ResponseNews(BaseMessage info) : this()
        {            this.FromUserName = info.ToUserName;            this.ToUserName = info.FromUserName;
        }        /// <summary>
        /// 图文消息个数,限制为10条以内        /// </summary>
        public int ArticleCount
        {            get
            {                return this.Articles.Count;
            }            set
            {
                ;//增加这个步骤才出来XML内容            }
        }        /// <summary>
        /// 图文列表。        /// 多条图文消息信息,默认第一个item为大图,注意,如果图文数超过10,则将会无响应        /// </summary>
        [System.Xml.Serialization.XmlArrayItem("item")]        public List<ArticleEntity> Articles { get; set; }

    }

이미지 및 텍스트 목록 컬렉션의 개체도 엔터티 유형이며 일부 이미지 및 텍스트 링크, 제목 및 기타 정보를 포함하므로 자세히 설명하지 않습니다.

2. 메시지 답장 처리

문자 메시지의 경우 다음과 같은 방법으로 처리할 수 있습니다.

                ResponseText response = new ResponseText(info);
                response.Content = "抱歉,此功能暂未开通。";
                result = response.ToXml();

그래픽 메시지의 경우 더 나은 결과를 반환하려면 더 많은 메시지를 입력해야 할 수도 있습니다.

사진과 텍스트 정보에 주의하세요. 사진 크기는 공식 규격을 따르는 것이 가장 좋습니다. 그렇지 않으면 공식 규격이 (360,200)로 잘 보이지 않을 것 같습니다. 가로와 세로의 픽셀수

아아아아아

우리 회사 위챗 포털 메뉴를 살펴볼까요, 멋지지 않나요?

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

이 두 가지 유형(문자 메시지와 그래픽 메시지)이 가장 많이 사용됩니다. 많은 WeChat 포털에서 주로 이 두 가지 방법을 사용하여 응답합니다. 물론 고객의 휴대폰에서 제출된 다양한 메시지를 기반으로 다양한 처리를 수행할 수도 있습니다. 이전 에세이에서 아래와 같이 요청 메시지의 유형을 소개했습니다.

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

전체 효과를 이해하기 위해 주의가 필요한 경우 WeChat을 사용하여 QR 코드를 직접 스캔할 수 있습니다.

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

WeChat 포털 및 애플리케이션의 추가 C# 개발 (3)--문자 메시지 및 그래픽 메시지에 대한 응답 관련 기사는 PHP 중국어 웹사이트를 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.