亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Home WeChat Applet WeChat Development .net WeChat public account development news and events

.net WeChat public account development news and events

Mar 08, 2017 pm 04:12 PM
WeChat development

This article introduces how to handle messages and events in the development of WeChat public accounts, including: (1) Overview of messages (events); (2) Verifying the authenticity of messages; (3) Parsing messages; (4) Passively replying to messages; (5) Send other messages.
1 Message (Event) Overview

When an ordinary WeChat user sends a message to the official account or the WeChat server pushes an event to the official account, the WeChat server will POST the XML data packet of the message (event) to The official account server URL filled in by the developer; the official account server then responds to the message.
1.1 Message flow process
In order to facilitate the distinction, we call the message sent by the WeChat server to the official account server a request message; the message sent by the official account server to the WeChat server is called a response (Response) Message; treat push events as special request messages.
The flow process of request and response messages is shown in the figure below:

.net WeChat public account development news and events

1.2 Request message
There are many kinds of request messages, and we have established corresponding ones one by one. The class, the class hierarchy is as shown in the figure below:

.net WeChat public account development news and events

We can respond to some request messages, and some cannot. See the table below for details:

##Voice×√Video×UnknownCannot receive the video message, I don’t know if I can reply passivelyGeographical location ×√Link×√Subscribe√√Unsubscribe √×Scan the QR code√×Report geographical location√×Click the menu pull Get the message√√Click the menu jump link√×Click the menu to scan the QR code to push√×Click the menu to scan the QR code and wait for the reply√√Click the menu and the system will send Picture√UnknownCannot receive the system picture event; WeChat server will send picture message, you can reply Click the menu to take a photo or send a picture to the album√×The WeChat server will send a picture message, you can replyClick the menu Send pictures on WeChat√×The WeChat server will send picture messages, you can replyClick the menu to select the geographical location√×The WeChat server will send geographical location messages and can replyPush group message results√×Push template message result√×

1.3 Response message
The class hierarchy of the response message is as shown below:

.net WeChat public account development news and events


2 Verify the authenticity of the message
After the official account server receives the request from the WeChat server, the first thing to do is to verify the authenticity of the message.
The Utility.CheckSignature method is used to verify whether the message signature is correct.
Examples are as follows:

/// <summary>
    /// 驗證消息的有效性
    /// </summary>
    /// <param name="context"></param>
    /// <returns>如果消息有效,返回true;否則返回false。</returns>
    private bool Validate(HttpContext context)
    {
        string username = RequestEx.TryGetQueryString("username");  //在接口配置的URL中加入了username參數(shù),表示哪個微信公眾號
        AccountInfo account = AccountInfoCollection.GetAccountInfo(username);
        if (account == null)
            return false;
        string token = account.Token;
        string signature = RequestEx.TryGetQueryString("signature");
        string timestamp = RequestEx.TryGetQueryString("timestamp");
        string nonce = RequestEx.TryGetQueryString("nonce");
        if (string.IsNullOrWhiteSpace(signature) || string.IsNullOrWhiteSpace(timestamp) || string.IsNullOrWhiteSpace(nonce))
            return false;
        return xrwang.weixin.PublicAccount.Utility.CheckSignature(signature, token, timestamp, nonce);
    }

驗證消息真實性

Verify message authenticity

3 Parse message

If the message signature passes verification, We need to parse the message text in XML format into a request message object, and the RequestMessageHelper class is used to complete this work.

RequestMessageHelper helper = new RequestMessageHelper(context.Request);
if(helper.Message != null)
{
    //消息解析成功,對它進行處理
}

After the message is successfully parsed, helper.Message is the message base class RequestBaseMessage. We can determine which message it is based on the attributes MsgType and Event. message (event) and converted to the appropriate subtype. For example:

RequestBaseMessage bm=helper.Message;
switch(bm.MsgType)
{
    case RequestMessageTypeEnum.text:  //文本消息
        HandleTextMessage((RequestTextMessage)bm);
        break;
    case RequestMessageTypeEnum.image: //圖片消息
        HandleImageMessage((RequestImageMessage)bm);
        break;
    //處理其他消息
    case RequestMessageTypeEnum.event:    //事件
        RequestEventMessage ev=(RequestEventMessage)bm;
        switch(ev.Event)
        {
            case RequestEventTypeEnum.subscribe:    //訂閱
                HandleSubscribeMessage((RequestSubscribeMessage)ev);
                break;
            case RequestEventTypeEnum.unsubscribe:    //取消訂閱
                HandleUnsubscribeMessage((RequestUnsubscribeMessage)ev);
                break;
            //處理其他事件
        }
        break;
    default:
        break;
}

For details on parsing messages, please refer to the source code: http://git.oschina.net/xrwang2/xrwang.weixin.PublicAccount/blob/master/PublicAccount /RequestMessage/RequestMessageHelper.cs

4 Passive reply message
After receiving the message (event) from the WeChat server, we can directly (passive) within 5 seconds Reply to the message; you can also directly reply with an empty string first, and then reply to the customer service message within 48 hours.
First initialize ResponseXxxMessage, and then use the ToXml method to get the response message content.
An example of a passive reply message is as follows:

/// <summary>
    /// 處理微信的POST請求
    /// </summary>
    /// <param name="context"></param>
    /// <returns>返回xml響應</returns>
    private string HandlePost(HttpContext context)
    {
        RequestMessageHelper helper = new RequestMessageHelper(context.Request);
        if (helper.Message != null)
        {
            ResponseBaseMessage responseMessage = HandleRequestMessage(helper.Message);
            return responseMessage.ToXml(helper.EncryptType);
        }
        else
            return string.Empty;
    }

    /// <summary>
    /// 處理請求消息,返回響應消息
    /// </summary>
    /// <returns>返回響應消息</returns>
    private ResponseBaseMessage HandleRequestMessage(RequestBaseMessage requestMessage)
    {
        ResponseTextMessage response = new ResponseTextMessage(requestMessage.FromUserName, requestMessage.ToUserName, 
            DateTime.Now, string.Format("自動回復,請求內(nèi)容如下:\r\n{0}", requestMessage));
        return response;
    }


## 5 Send other messages

In addition to passive In addition to replying to messages, we can also send customer service messages, group messages, and template messages. These contents will be discussed one by one in subsequent articles.


Message type Whether the event can passively reply Remarks
Text ×
Picture ×

The above is the detailed content of .net WeChat public account development news and events. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

PHP Tutorial
1488
72
PHP WeChat development: How to implement message encryption and decryption PHP WeChat development: How to implement message encryption and decryption May 13, 2023 am 11:40 AM

PHP is an open source scripting language that is widely used in web development and server-side programming, especially in WeChat development. Today, more and more companies and developers are starting to use PHP for WeChat development because it has become a truly easy-to-learn and easy-to-use development language. In WeChat development, message encryption and decryption are a very important issue because they involve data security. For messages without encryption and decryption methods, hackers can easily obtain the data, posing a threat to users.

PHP WeChat development: How to implement voting function PHP WeChat development: How to implement voting function May 14, 2023 am 11:21 AM

In the development of WeChat public accounts, the voting function is often used. The voting function is a great way for users to quickly participate in interactions, and it is also an important tool for holding events and surveying opinions. This article will introduce you how to use PHP to implement WeChat voting function. Obtain the authorization of the WeChat official account. First, you need to obtain the authorization of the WeChat official account. On the WeChat public platform, you need to configure the API address of the WeChat public account, the official account, and the token corresponding to the public account. In the process of our development using PHP language, we need to use the PH officially provided by WeChat

Using PHP to develop WeChat mass messaging tools Using PHP to develop WeChat mass messaging tools May 13, 2023 pm 05:00 PM

With the popularity of WeChat, more and more companies are beginning to use it as a marketing tool. The WeChat group messaging function is one of the important means for enterprises to conduct WeChat marketing. However, if you only rely on manual sending, it is an extremely time-consuming and laborious task for marketers. Therefore, it is particularly important to develop a WeChat mass messaging tool. This article will introduce how to use PHP to develop WeChat mass messaging tools. 1. Preparation work To develop WeChat mass messaging tools, we need to master the following technical points: Basic knowledge of PHP WeChat public platform development Development tools: Sub

PHP WeChat development: How to implement customer service chat window management PHP WeChat development: How to implement customer service chat window management May 13, 2023 pm 05:51 PM

WeChat is currently one of the social platforms with the largest user base in the world. With the popularity of mobile Internet, more and more companies are beginning to realize the importance of WeChat marketing. When conducting WeChat marketing, customer service is a crucial part. In order to better manage the customer service chat window, we can use PHP language for WeChat development. 1. Introduction to PHP WeChat development PHP is an open source server-side scripting language that is widely used in the field of Web development. Combined with the development interface provided by WeChat public platform, we can use PHP language to conduct WeChat

PHP WeChat development: How to implement user tag management PHP WeChat development: How to implement user tag management May 13, 2023 pm 04:31 PM

In the development of WeChat public accounts, user tag management is a very important function, which allows developers to better understand and manage their users. This article will introduce how to use PHP to implement the WeChat user tag management function. 1. Obtain the openid of the WeChat user. Before using the WeChat user tag management function, we first need to obtain the user's openid. In the development of WeChat public accounts, it is a common practice to obtain openid through user authorization. After the user authorization is completed, we can obtain the user through the following code

PHP WeChat development: How to implement group message sending records PHP WeChat development: How to implement group message sending records May 13, 2023 pm 04:31 PM

As WeChat becomes an increasingly important communication tool in people's lives, its agile messaging function is quickly favored by a large number of enterprises and individuals. For enterprises, developing WeChat into a marketing platform has become a trend, and the importance of WeChat development has gradually become more prominent. Among them, the group sending function is even more widely used. So, as a PHP programmer, how to implement group message sending records? The following will give you a brief introduction. 1. Understand the development knowledge related to WeChat public accounts. Before understanding how to implement group message sending records, I

Steps to implement WeChat public account development using PHP Steps to implement WeChat public account development using PHP Jun 27, 2023 pm 12:26 PM

How to use PHP to develop WeChat public accounts WeChat public accounts have become an important channel for promotion and interaction for many companies, and PHP, as a commonly used Web language, can also be used to develop WeChat public accounts. This article will introduce the specific steps to use PHP to develop WeChat public accounts. Step 1: Obtain the developer account of the WeChat official account. Before starting the development of the WeChat official account, you need to apply for a developer account of the WeChat official account. For the specific registration process, please refer to the official website of WeChat public platform

How to use PHP for WeChat development? How to use PHP for WeChat development? May 21, 2023 am 08:37 AM

With the development of the Internet and mobile smart devices, WeChat has become an indispensable part of the social and marketing fields. In this increasingly digital era, how to use PHP for WeChat development has become the focus of many developers. This article mainly introduces the relevant knowledge points on how to use PHP for WeChat development, as well as some of the tips and precautions. 1. Development environment preparation Before developing WeChat, you first need to prepare the corresponding development environment. Specifically, you need to install the PHP operating environment and the WeChat public platform

See all articles