Delphi implements WeChat development
General idea:
1. The user sends a message to the service account, (this can be a menu item or a keyword, such as: registered member.)
2.kbmmw The web server receives the message, generates a graphic message to WeChat, and prepares its own URL in the graphic message. In the URL, the openid brought by the first step of the message can be written into the parameter table of the URL.
3. The user clicks on this graphic message
4. The web server receives the url of this graphic message and generates a web page for WeChat based on this url. The key here is to write the openid Go to the webpage
5. The user fills in the webpage and submits (openid is also submitted back when submitting)
6.Ok, now I get the content I want, what I need most openid. It was submitted by that user, and it was submitted back.
7. Implement business logic based on the content returned in 6.
openid: As a WeChat user, the unique value generated when you follow a service account. From the perspective of the service account, this is the follower of your service account. If you want to send messages to your WeChat users, you can only enter development through this openid.
:
First, here, you can apply for a test account for development. The process is very simple, just use your mobile phone number to apply, send a verification code to your mobile phone, and it’s activated!
Then, you also need a static IP and port 80. In theory, a dynamic domain name can also be used. Bind to your development account.
Next, you need to familiarize yourself with WeChat’s API and understand some basic concepts.
Now, you can develop with delphi!
First, you need to study the access information. Here, because the principles are all there, you must read it carefully. Then, use Delphi to implement a corresponding function, and then apply for a WeChat public platform interface test account.
function CheckSignature(const signature, timestamp, nonce, token: string): boolean;
var
strs: TStringList;
tmpStr: string;
begin
strs : = TStringList.Create;
try
strs.Add(token);
strs.Add(timestamp);
strs.Add(nonce);
strs.Sort;
tmpStr := strs[0] + strs[1] + strs[2];
tmpStr := SHA1(tmpStr);
if tmpStr = signature then
Result := True
else
Result := False;
finally
FreeAndNil(strs);
end;
end;
When the return result of the function is true, it means the access is successful! For this function, refer to the example uploaded by csdn friends, thank you. In this example, a unit of the SHA1 function is provided, so you need to download it back.
After preparing this function, next, how to use this function?
Because the WeChat server sends a Get request to the connected web server, we need to call this CheckSignature in the PerformGet method of the kbmMW web server implemented by ourselves.
function TDJ_FrmPhoneHTTPService.PerformGet(ClientIdent: TkbmMWClientIdentity; const AURL: string;
const Args: array of Variant): Variant;
var
FuncName: string;
qv: TkbmMWHttpQueryValues ;//Process the parameters passed by the Get request.
begin
if Length(Args) < 1 then
kbmMWRaiseException(KBMMW_ERR_SERVICE_HTTP_URLMISSING, 'Missing URL.')
else
begin
FuncName := UpperCase(copy(Args[0], 2, Length(Args[0]) - 1));
if FuncName.Equals('WECHAT.HTML') then
begin
// Transfer to WeChat interface
qv := TkbmMWHttpQueryValues.Create;
qv.AsString:= Args[2];//Get the parameters passed by the get request.
try
Access
ValueByName['echostr'] “ '; CheckSignature
(qv.ValueByName['id'], qv. ], qv.ValueByName['nonce']) then
Result := qv.ValueByName['echostr'];
//If the verification is successful, return echostr to inform the WeChat server that the verification is successful. , SetResponseMimeType('text/HTML'); /End this response to Get. end;....Omit the following implementation
In the actual project, I implemented it like this, implementing the WeChat interface code In a unit wechatImpl, implement a DataModule to further encapsulate the wechatImpl method. When encapsulating, implement the operation of the database. Let’s take verification as an example and see how it is implemented in DataModule?
function tdmwx.CheckSignature(id, signature, timestamp, nonce: string): Boolean;
begin
result:=False;
if not qWXFWH.Active then
qWXFWH. Open;
if qWXFWH.Locate('fid', VarArrayOf([id]), []) then//Query the service number table to see if there is a corresponding id record
begin
if wechatImpl.CheckSignature( signature, timestamp, nonce, qWXFWH.FieldByName('FToken').AsString)//If it exists, take the token value defined in the table and call the verification function.
then
Result := true;
end;
end;
Among them, qWXFWH is a kbmMWuniDACQuery object, used to save a table of WeChat service accounts. The table structure is as follows:
CREATE TABLE WX_FWH (
FID INTEGER,//The id of a service account, reaching The purpose of managing multiple service accounts.
FTOKEN VarChar(32),//The token value of each service number
FAPPID VarChar(16),
FAPPSECRET varchar(16),
FACCESSTOKEN VARCHAR ( 512),
FEXPIRESIN INTEGER,
FGETDATE DATETIME);
When registering the server, you must first add registration information to this table, for example: id=1, token=kbmmwtoken1
corresponding registration content For:
url=www.test.cc/wechat.html?id=1
token=kbmmwtoken1
In this way, when the WeChat server sends a verification request, the id will be passed as a parameter. , the CheckSignature method of datamodule will obtain the token value defined in the data table based on the value of id, and then call the verification method of the WeChat interface.
To summarize the above content, in order to achieve WeChat access, I divided the implemented code into three layers:
1. Call the verification function of the database layer in the get method of kbmmw web server
2. Implement the verification function in the database layer, obtain the predefined WeChat related information, such as id and token, from the table, and then call the specific WeChat interface
3. Implement the specific WeChat interface for the database layer to call.
The plan is to share it with friends after the implementation of the WeChat interface is completed. Unfortunately, time is tight recently and there are many chores, so it will take some time. Let me first share the ideas for implementation.
Verification of the URL address connected to the web server is the first step in providing WeChat services. Therefore, the above related content must be understood before proceeding.
It’s actually like this:
WeChat users who follow your service account send messages to your service account, and the WeChat platform will forward them to the URL you verified, which is equivalent to the WeChat users of your WeChat service account , send a message to your Web server. The purpose of the Web server you develop is to respond to these messages and interact with followers of your WeChat service account!
For more Delphi implementation of WeChat development related articles, please pay attention to the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











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.

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

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

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

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

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

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

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
