国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Heim WeChat-Applet WeChat-Entwicklung Delphi realisiert die WeChat-Entwicklung und den Zugriff auf die ?ffentliche WeChat-Kontoplattform

Delphi realisiert die WeChat-Entwicklung und den Zugriff auf die ?ffentliche WeChat-Kontoplattform

Mar 03, 2017 am 09:42 AM

Zuerst müssen Sie die Zugangsinformationen unter http://mp.weixin.qq.com/wiki/home/index.html studieren, da dort alle Grunds?tze aufgeführt sind. Seien Sie also sicher Um es sorgf?ltig zu lesen, implementieren Sie dann mit Delphi eine entsprechende Funktion und beantragen Sie dann ein Testkonto für die ?ffentliche WeChat-Plattform. http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

function CheckSignature(const signatur, 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 = Signatur then
Ergebnis := True
else
Ergebnis := False;
schlie?lich
FreeAndNil(strs);
end;
end;
Wenn das Rückgabeergebnis der Funktion wahr ist, bedeutet dies, dass der Zugriff erfolgreich war! Beziehen Sie sich für diese Funktion auf das von csdn-Freunden hochgeladene Beispiel. Vielen Dank. In diesem Beispiel wird eine Einheit der SHA1-Funktion bereitgestellt, daher müssen Sie sie erneut herunterladen.

Wie verwende ich diese Funktion nach der Vorbereitung dieser Funktion?
Da der WeChat-Server eine Get-Anfrage an den verbundenen Webserver sendet, müssen wir diese CheckSignature in der von uns implementierten PerformGet-Methode des kbmMW-Webservers aufrufen.

function TDJ_FrmPhoneHTTPService.PerformGet(ClientIdent: TkbmMWClientIdentity; const AURL: string;
const Args: array of Variant): Variant;
var
FuncName: string;
qv: TkbmMWHttpQueryValues ;//Verarbeiten Sie die von der Get-Anfrage übergebenen Parameter.
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
// Zur WeChat-Schnittstelle übertragen
qv := TkbmMWHttpQueryValues.Create;
qv.AsString := Args[2];//Die von der Get-Anfrage übergebenen Parameter abrufen.
try
// Verifizierungszugriff
if qv.ValueByName['echostr'] <> '' then//Wenn echostr nicht leer ist, zeigt dies eine Verifizierungsanforderung an
begin
Ergebnis := '';
if dmwx.CheckSignature(qv.ValueByName['id'], qv.ValueByName['signature'],
?????????? qv.ValueByName['timestamp'], qv.ValueByName['nonce']) then
Ergebnis := qv.ValueByName['echostr'];//Wenn die überprüfung erfolgreich ist, geben Sie echostr zurück, um den WeChat-Server darüber zu informieren, dass die überprüfung erfolgreich war ');
schlie?lich
FreeAndnil(qv);
end;
exit;//Diese Antwort auf Get beenden.
end;
....Die folgende Implementierung weglassen

Im eigentlichen Projekt habe ich es so implementiert Implementierte den WeChat-Schnittstellencode in einer Einheit wechatImpl und implementierte dann ein DataModule, um die wechatImpl-Methode beim Kapseln weiter zu kapseln und Operationen in der Datenbank zu implementieren.

Nehmen wir die Verifizierung als Beispiel und sehen, wie sie in DataModule implementiert ist.

function tdmwx.CheckSignature(id, Signatur, timestamp, nonce: string): Boolean;
begin
result:=False;
if not qWXFWH.Active then
qWXFWH. Open;
if qWXFWH.Locate('fid', VarArrayOf([id]), []) then//Fragen Sie die Servicenummerntabelle ab, um zu sehen, ob ein entsprechender ID-Datensatz vorhanden ist
begin
if wechatImpl .CheckSignature( Signatur, Zeitstempel, Nonce, qWXFWH.FieldByName('FToken').AsString)//Wenn vorhanden, nehmen Sie den in der Tabelle definierten Token-Wert und rufen Sie die überprüfungsfunktion auf.
dann
Ergebnis := true;
end;
end;
Unter diesen ist qWXFWH ein kbmMWuniDACQuery-Objekt, das zum Speichern einer Tabelle mit WeChat-Dienstnummern verwendet wird:
CREATE TABLE WX_FWH (
FID INTEGER,//A Die ID des Dienstkontos wird zur Verwaltung mehrerer Dienstkonten verwendet
FTOKEN VarChar(32), //Token-Wert jedes Dienstkontos
FAPPID VarChar(16),
FAPPSECRET varchar(16),
FACCESSTOKEN VARCHAR (512),
FEXPIRESIN INTEGER,
FGETDATE DATETIME);
Bei der Registrierung des Servers müssen Sie dieser Tabelle zun?chst Registrierungsinformationen hinzufügen, wie zum Beispiel: id =1,token=kbmmwtoken1
Der entsprechende Registrierungsinhalt lautet:
url=www.test.cc/wechat.html?id=1
token=kbmmwtoken1
Auf diese Weise lautet die ID, wenn der WeChat-Server eine Best?tigungsanfrage sendet Wird als Parameter verwendet und zusammen übergeben, ruft die CheckSignature-Methode des Datenmoduls den in der Datentabelle definierten Tokenwert basierend auf dem Wert der ID ab und ruft dann die Verifizierungsmethode der WeChat-Schnittstelle auf.

Um den obigen Inhalt zusammenzufassen: Um den WeChat-Zugriff zu erreichen, habe ich den implementierten Code in drei Schichten unterteilt:
1 Rufen Sie die überprüfungsfunktion der Datenbankschicht in der get-Methode des kbmmw-Webservers auf
2. Implementieren Sie die Verifizierungsfunktion in der Datenbankschicht, rufen Sie die vordefinierten WeChat-bezogenen Informationen wie ID und Token aus der Tabelle ab und rufen Sie dann die spezifische WeChat-Schnittstelle auf
3. Implementieren Sie die spezifische WeChat-Schnittstelle für die Datenbank Ebene aufzurufen.

Der Plan ist, es mit Freunden zu teilen, nachdem die Implementierung der WeChat-Schnittstelle abgeschlossen ist. Leider ist die Zeit in letzter Zeit knapp und es gibt viele Aufgaben, sodass es einige Zeit dauern wird. Lassen Sie mich zun?chst die Ideen zur Umsetzung mitteilen.

Die überprüfung der mit dem Webserver verbundenen URL-Adresse ist der erste Schritt bei der Bereitstellung von WeChat-Diensten. Daher müssen die oben genannten zugeh?rigen Inhalte verstanden werden, bevor Sie fortfahren.
Dies ist tats?chlich der Fall:
WeChat-Benutzer, die Ihrem Dienstkonto folgen, senden Nachrichten an Ihr Dienstkonto, und die WeChat-Plattform leitet sie an die von Ihnen verifizierte URL weiter, die den WeChat-Benutzern Ihres WeChat-Dienstes entspricht Konto, senden Sie eine Nachricht an Ihren Webserver. Der Zweck des von Ihnen entwickelten Webservers besteht darin, auf diese Nachrichten zu antworten und mit den Followern Ihres WeChat-Dienstkontos zu interagieren!

Weitere Artikel im Zusammenhang mit Delphis Realisierung der WeChat-Entwicklung und dem Zugriff auf die WeChat-Plattform für ?ffentliche Konten finden Sie auf der chinesischen PHP-Website!

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276