>  기사  >  백엔드 개발  >  C# WeChat 포털 및 애플리케이션 개발 (3) 문자 메시지 및 이미지 메시지 응답

C# WeChat 포털 및 애플리케이션 개발 (3) 문자 메시지 및 이미지 메시지 응답

黄舟
黄舟원래의
2017-06-18 10:27:541974검색

이 글에서는 주로 WeChat 포털과 애플리케이션의 C# 개발 두 번째 부분을 자세히 소개하고, WeChat 문자 메시지와 그래픽 메시지에 대한 응답을 소개합니다. 관심 있는 친구들이 참고할 수 있습니다.

WeChat 애플리케이션이 활발히 진행되고 있습니다. , 많은 회사가 정보 표현을 얻기를 희망합니다. 이는 비즈니스 기회이자 기술적 방향이므로 시간이 있을 때 WeChat의 발전에 대해 연구하고 배우기 위한 계획 중 하나가 되었습니다. 이 시리즈 기사에서는 WeChat의 관련 개발 프로세스와 관련 경험 요약을 단계별 관점에서 포괄적으로 소개하고 모든 사람이 관련 개발 프로세스를 이해할 수 있기를 바랍니다.

이전 두 편의 에세이 "C#으로 WeChat 포털 및 애플리케이션 개발(1) - WeChat 인터페이스 사용 시작" 및 "C#으로 WeChat 포털 및 애플리케이션 개발(2) - WeChat 메시지 처리 및 응답"에는 일반적인 소개 WeChat 애플리케이션의 프레임워크 아키텍처를 구축한 후 이 에세이는 계속해서 이 주제를 소개하고 메시지 응답의 텍스트 응답 및 그림-텍스트 응답 프로세스를 소개합니다.

휴대폰 사용자에게 응답 메시지를 보내는 방법은 문자 메시지 답장, 사진 메시지 답장, 음성 메시지 답장, 영상 메시지 답장, 음악 메시지 답장, 사진 메시지 답장, 사진 메시지 답장 등 여러 가지 방법으로 나눌 수 있다는 것을 알고 있습니다. 아래와 같이 문자 메시지 등이 표시됩니다.

사진, 동영상, 음성 3가지 방법 중 위챗 인증을 활성화해야 위챗 서버에 저장된 미디어 정보를 사용자에게 보낼 수 있습니다. 일반적으로 인증된 공개 계정이 없으면 이러한 미디어 정보를 보낼 수 없습니다. 또는 서비스 계정 종류.

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

WeChat 개발에 대한 지난 에세이에서 메시지 수신에 대한 애플리케이션 엔터티 클래스는 내 요구 사항과 개발 요구 사항을 기반으로 합니다. 예를 들어 응답 메시지 관계는 다음과 같습니다.

메시지 기본 클래스 BaseMessage의 엔터티 클래스 정의는 다음과 같습니다. 이는 날짜에 대한 정수 값을 구성하고 일부 일반 속성을 포함하며 이러한 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)픽셀이고, height


 /// <summary>
    /// 订阅或者显示公司信息
    /// </summary>
    /// <param name="info"></param>
    /// <returns></returns>
    private string ShowCompanyInfo(BaseMessage info)
    {
      string result = "";
      //使用在微信平台上的图文信息(单图文信息)
      ResponseNews response = new ResponseNews(info);
      ArticleEntity entity = new ArticleEntity();
      entity.Title = "广州爱奇迪软件科技有限公司";
      entity.Description = "欢迎关注广州爱奇迪软件--专业的单位信息化软件和软件开发框架提供商,我们立志于为客户提供最好的软件及服务。\r\n";
      entity.Description += "我们是一家极富创新性的软件科技公司,从事研究、开发并销售最可靠的、安全易用的技术产品及优质专业的服务,帮助全球客户和合作伙伴取得成功。\r\n......(此处省略1000字,哈哈)";
      entity.PicUrl = "http://www.iqidi.com/WeixinImage/company.png";
      entity.Url = "http://www.iqidi.com";

      response.Articles.Add(entity);
      result = response.ToXml();

      return result;
    }

나 좀 보자 회사 위챗 포털 메뉴 멋지지 않나요?

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

전반적인 효과를 이해하려면 주의가 필요합니다. WeChat을 사용하여 QR 코드를 직접 스캔할 수 있습니다.

위 내용은 C# WeChat 포털 및 애플리케이션 개발 (3) 문자 메시지 및 이미지 메시지 응답의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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