Home WeChat Applet WeChat Development delphi+intraweb for WeChat development-WeChat platform access

delphi+intraweb for WeChat development-WeChat platform access

Mar 04, 2017 am 11:28 AM
WeChat development

The sample code has been released! Please move on to use delphi+intraweb for WeChat development 1~4 code examples to download. Although it is a sample code, it was moved from my project. The package is complete and suitable for self-expansion and modification.

iw14.0.50 is here. What attracts me most in the new version is the addition of a complete httphandler function: finally, you can directly enter the URL in the address bar to open the iw function page; you can freely use js frameworks such as EasyUI. The display of modal dialog boxes is no longer annoying. Haha, I feel that iw is close to the mainstream web development tools for the first time!

I'm so excited, let's try it. In fact, there are still many pitfalls in iw. Although it is close to the mainstream, we will talk about it later...

1. Create a new iw project, select Stand Alone Server/Service, and develop in this mode. It is the most ideal. It is very convenient for debugging. When it is officially released, you can create a library-type project and publish it to the .net server. (Yes, you read that correctly. Now iw has broken away from isapi mode and can be deployed on IIS just like .net mvc4 applications. As will be explained later, .net virtual hosts can also publish iw applications! A huge improvement.)

2. After saving the project, add a new unit file to the project, for example, named wxapi.pas. The code in this file will be responsible for WeChat access work. code show as below:

interface

uses
Classes, IW.Content.Base, System.SysUtils,HTTPApp, IWApplication,
IW.HTTP.Request, IW.HTTP.Reply;

type      
///

       
  /// The class inherited from TContentBase is equivalent to the httphandler in asp.net          
  ///                                            class(TContentBase)
protected
function Execute(aRequest: THttpRequest; aReply: THttpReply; const aPathname: string; aSession: TIWApplication; aParams: TStrings): Boolean; over; ride
public  
  constructor Create; override;        
end; or TWxApi. Create;
begin
inherited;
// The file does not need to exist ply : THttpReply;
const aPathname: string; aSession: TIWApplication;
aParams: TStrings): Boolean;
signature: string;
stringtamp: string​
nonce: string;
echostr: string;
strs: TStringList;
tmpStr: string;
begin
Result := True;

signature := aParams.Values['signature'] ;      
timestamp := aParams.Values['timestamp']; ## strs := TStringList.Create;
strs.Add('MyTestToken'); // Token must be consistent with the WeChat interface configuration information
strs.Add(timestamp);
strs.Add( nonce);            
strs.Sort;
# if tmpStr=signature then
begin
aReply.WriteString(echostr)
end else begin
aReply.WriteString('If you see this prompt, this link address can be used as the WeChat interface address use. '); ; That is the basic class of the iw version of httphandler. If you do not need to display iwForm, just inherit from this type. If you need to use iwForm, there is also a TContentForm basic class that you can use. Wow, you can also directly open iwform by entering the url in the browser address bar. The code in TWxApi.Execute is the code for WeChat access. It is very simple. If you don’t understand, please see WeChat Help: WeChat Access Guide.


3. Register this httphandler in ServerController and directly post the ServerController registration code:
procedure TIWServerController.IWServerControllerBaseConfig(Sender: TObject);
begin
// Register our definition in the ServerController.OnConfig event WeChat Handler
// ServerController.OnConfig event is only run once in the entire application life cycle
with THandlers.Add('', 'wxapi.php', TWxApi.Create) do
begin
CanStartSession := True; // Literally understood, it means that the session can be started. Will be redirected to the main form
// We can access the /wxapi.php page normally. This is obviously not what we need. .
end; Enter
http://localhost/wxapi.php
in the browser address bar to access the controller you just registered.

But there is a big pitfall in this code. Please see the comments in my code for details.

This pitfall is that after the handler is registered, the iw application is started, but instead of entering /$/start in the browser address bar to start the program, directly entering /wxapi.php fails to verify the httphandler, and the page automatically navigates to the main window. body! After reading the help, I found that TContentBase.RequiresSessionStart:=false needs to be set, otherwise the iw application must first start a session to access the main form before using the httphandler. I set TContentBase.RequiresSessionStart:=false according to the help instructions, although entering /wxapi.php directly does not work. Navigate to the main form again, but a 404 code error will be prompted. Single-step tracking found that the httphandler code has indeed been executed, so there should not be a 404 error. Multi-party verification and experiments found that TContentBase.CanStartSession:= True needs to be set, haha, This is not mentioned in the help, it is probably a newly added attribute in the new version. Okay, now enter http://localhost/wxapi.php

in the address bar and the page can be opened normally.

4. Copy the compiled iw application to the host for testing. In the actual WeChat access

delphi+intraweb进行微信开发-微信平台接入 , it actually prompts that the configuration failed! What's going on? The code I used was copied from a Delphi version of the WeChat access interface code written by someone else. There was no problem with the same code in that program. My first thought at the time was that the page encoding was incorrect. Okay, I changed the default encoding of iw's handler to UTF-8 format, so I tried gbk, iso-8859-1 and other encoding formats, but all of them prompted the above error. I had no choice but to write a log to see if the handler code was executed. The results were shocking. After putting it on the real server, the handler code was not executed during WeChat verification. However, when debugging on my local machine and browsing on the browser of the real server, All good no issues. What a huge pit. After several days of various tests and modifications, I was ready to give up. Haha, I looked at iw's own httphandler example and found that an event was implemented in its ServerController: OnBrowserCheck, so I tried to I added the same event code to my own code for testing, wow, it works. . .

procedure TIWServerController.IWServerControllerBaseBrowserCheck(        
  aSession: TIWApplication;   var   rBrowser: TBrowser);        
begin    
// This event code is very important, I have been stuck here for several days!
//
// When this event is not implemented, entering /wxapi.php in any browser can respond successfully, except when it comes to
// The configuration failure is displayed in WeChat, and later in the code After using log output, I found that iw could receive WeChat requests, but
// the TWxApi.Execute method was not executed. Later, I went to the official website to read the relevant help, and found that iw only supports browsers
// Only then can the output be responded to normally, and the web request sent by WeChat obviously does not belong to any known browser
if rBrowser is TOther then begin
rBrowser.Free;
rBrowser:= TInternetExplorer.Create(8) ; // Output the page content using IE8-compatible page browsing.
end; iw can finally be used for WeChat development.

delphi+intraweb进行微信开发-微信平台接入 I think the power of Delphi is that all source codes are provided except the compiler. If there is a problem, it can be solved by reading the source code. However, iw is too closed. It’s okay if there is no source code. Help I can't keep up. The online help is too weak. I suggest friends who use iw to combine the online help with iw's own sample projects to avoid detours! However, iw has developed to this day and is indeed very easy to use. Especially for people who have a Delphi background, it is really cool to be able to use their best language and development tools for web development.

More delphi+intraweb for WeChat development - WeChat platform access For related articles, please pay attention to 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

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.

Undress AI Tool

Undress AI Tool

Undress images for free

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)

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.

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 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

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 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

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