Maison Applet WeChat Développement WeChat Delphi intraweb pour le développement WeChat-accès à la plateforme WeChat

Delphi intraweb pour le développement WeChat-accès à la plateforme WeChat

Mar 04, 2017 am 11:28 AM
微信开发

L'exemple de code a été publié ! Veuillez utiliser Delphi intraweb pour le développement WeChat 1 ~ 4 exemples de code à télécharger. Bien qu'il s'agisse d'un exemple de code, il a été déplacé de mon projet. Le package est très complet et convient à l'auto-expansion et à la modification.

iw14.0.50 est là. Ce qui m'attire le plus dans la nouvelle version, c'est l'ajout d'une fonction httphandler complète : enfin vous pouvez saisir directement l'URL dans la barre d'adresse pour ouvrir la page de la fonction iw ; utilisez des frameworks js comme EasyUI ; l'affichage des boîtes de dialogue modales n'est plus gênant ; haha, j'ai l'impression que iw se rapproche pour la première fois des outils de développement web grand public !

Je suis tellement excitée, essayons. En fait, il y a encore de nombreux pièges dans iw. Bien qu'il soit proche du mainstream, nous en reparlerons plus tard...

1 Créez un nouveau projet iw et sélectionnez Stand Alone Server/Service. dans ce mode, c'est le plus idéal. C'est très pratique pour le débogage. Lorsqu'il est officiellement publié, vous pouvez créer un projet de type bibliothèque et le publier sur le serveur .net. (Oui, vous avez bien lu. Désormais, iw s'est séparé du mode isapi et peut être déployé sur IIS tout comme les applications .net mvc4. Comme nous l'expliquerons plus tard, les hôtes virtuels .net peuvent également publier des applications iw ! Une énorme amélioration.)

2. Après avoir enregistré le projet, ajoutez un nouveau fichier d'unité au projet, par exemple, nommé wxapi.pas. Le code de ce fichier sera responsable du travail d'accès à WeChat. Le code est le suivant :

interface

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

tapez        
  ///        
  /// 从TContentBase继承下来的类,就相当于asp.net中的httphandler        
  ///        
  TWxApi = class(TContentBase)        
  protected        
    function Execute(aRequest : THttpRequest; aReply : THttpReply; const aPathname : string; aSession : TIWApplication; aParams : TStrings): booléen ; outrepasser;        
  public        
    constructeur Créer ; outrepasser;        
  fin ;        

implémentation        

utilise        
  ServerController, UserSessionUnit, Crypt.SHA1 ;        

{ TWxApi }        

constructeur TWxApi.Create ;        
commencer        
  hérité ;        
  // ​​文件不需要真实存在        
  FileMustExist := False ;        
fin ;        

function TWxApi.Execute(aRequest: THttpRequest; aReply: THttpReply;        
  const aPathname : string; aSession: TIWApplication;        
  aParams: TStrings): Boolean;        
var        
  signature : chaîne ;        
  horodatage : chaîne ;        
  occasionnel : chaîne ;        
  echostr : chaîne ;        
  strs : TStringList ;        
  tmpStr : chaîne ;        
begin        
  Résultat := Vrai ;        

 signature := aParams.Values['signature'];        
 horodatage := aParams.Values['timestamp'];        
 nonce := aParams.Values['nonce'];        
  echostr := aParams.Values['echostr'];        

  strs := TStringList.Create ;        
  strs.Add('MyTestToken');    // Jeton,要和微信接口配置信息保持一致        
  strs.Add(timestamp);        
  strs.Add(nonce);        
  strs.Tri ;        

  tmpStr := strs[0] strs[1] strs[2] ;        
  tmpStr := SHA1(AnsiString(tmpstr));        

  if tmpStr=signature then        
  start        
    aReply.WriteString(echostr)        
  end sinon begin        
    aReply.WriteString('如果看到这个提示说明此链接地址可作为微信接口地址使用。');        
  fin ;        
  aSession.Terminate ; // 释放会话资源,本handler无需会话        
fin ;        

fin.

如代码所示,TContentBase即iw版httphandler的基础类,如果不需要显示iwForm,从这个类型继承下来即可。如果需要使用iwForm还有个TContentForm基础类可以使用,哇哦,在浏览器地址栏输入url也可以直接打开iwform了哦。TWxApi.Execute中的代码即微信接入的代码,非常简单,不了解的看看微信帮助:微信接入指南。

 

3. Enregistrez ce httphandler dans ServerController et publiez directement le code d'enregistrement de ServerController :
procedure TIWServerController.IWServerControllerBaseConfig(Sender: TObject); event WeChat Handler
// L'événement ServerController.OnConfig n'est exécuté qu'une seule fois dans tout le cycle de vie de l'application
with THandlers.Add('', 'wxapi.php', TWxApi.Create) do
begin
CanStartSession := True ; // Littéralement compris, cela signifie être capable de démarrer une session.                                                                                   .                                 // Nous pouvons accéder à la page /wxapi.php normalement, ce qui n'est évidemment pas ce dont nous avons besoin.
end;
end;

Comme indiqué dans le code, le code rouge THandlers.Add('', 'wxapi.php', TWxApi.Create) termine l'enregistrement de httphandler Enter <.>http://localhost/wxapi.php
dans la barre d'adresse du navigateur pour accéder au contrôleur que vous venez d'enregistrer.

Mais il y a un gros piège dans ce code. Veuillez consulter les commentaires dans mon code pour plus de détails.

Le piège est qu'une fois le gestionnaire enregistré, l'application iw est démarrée, mais au lieu de saisir /$/start dans la barre d'adresse du navigateur pour démarrer le programme, la saisie directe de /wxapi.php ne parvient pas à vérifier le httphandler, et la page accède automatiquement au corps de la fenêtre principale ! Après avoir lu l'aide, j'ai trouvé que TContentBase.RequiresSessionStart:=false doit être défini, sinon l'application iw doit d'abord démarrer une session pour accéder au formulaire principal avant d'utiliser le httphandler. J'ai défini TContentBase.RequiresSessionStart:=false selon l'aide. instructions, bien que la saisie directe de /wxapi.php ne fonctionne pas. Accédez à nouveau au formulaire principal, mais une erreur de code 404 sera demandée. Le suivi en une seule étape a révélé que le code httphandler a effectivement été exécuté, il ne devrait donc pas y avoir de 404. erreur. Une vérification et des expériences multipartites ont révélé que TContentBase.CanStartSession:= True doit être défini, haha, ceci n'est pas mentionné dans l'aide, il s'agit probablement d'un attribut nouvellement ajouté dans la nouvelle version. D'accord, entrez maintenant http://localhost/wxapi.php dans la barre d'adresse et la page pourra être ouverte normalement.

4. Copiez l'application iw compilée sur l'hôte pour les tests et accédez réellement à WeChat

, mais cela indique en fait que la configuration a échoué. ! Que se passe-t-il ? Le code que j'ai utilisé a été copié à partir d'une version Delphi du code de l'interface d'accès WeChat écrite par quelqu'un d'autre. Il n'y avait aucun problème avec le même code dans ce programme. Ma première pensée à l'époque était que l'encodage de la page était incorrect. . D'accord, j'ai modifié l'encodage par défaut du gestionnaire d'iw au format UTF-8, j'ai donc essayé gbk, iso-8859-1 et d'autres formats d'encodage, mais tous ont provoqué l'erreur ci-dessus. Je n'ai pas eu d'autre choix que d'écrire un journal pour voir si le code du gestionnaire a été exécuté. Les résultats ont été choquants. Après l'avoir mis sur le serveur réel, le code du gestionnaire n'a pas été exécuté lors de la vérification de WeChat. navigation sur le navigateur du serveur réel, tout va bien, aucun problème. Quel énorme gouffre. Après plusieurs jours de tests et de modifications divers, j'étais prêt à abandonner Haha, j'ai regardé le propre exemple de httphandler d'iw et j'ai découvert qu'un événement était implémenté dans son ServerController : OnBrowserCheck, alors j'ai essayé d'ajouter le. même code d'événement à mon propre code pour tester, wow, ça marche. . . delphi intraweb进行微信开发-微信平台接入

procedure TIWServerController.IWServerControllerBaseBrowserCheck(
aSession: TIWApplication; var rBrowser: TBrowser);
begin
// Ce code d'événement est très important, je suis bloqué ici depuis plusieurs jours !
//
// Lorsque cet événement n'est pas implémenté, la saisie de /wxapi.php dans n'importe quel navigateur peut répondre avec succès, sauf lorsqu'il s'agit de
// WeChat montre que la configuration a échoué, et plus tard dans le code Après avoir utilisé la sortie du journal, j'ai découvert qu'iw pouvait recevoir des requêtes WeChat, mais
// La méthode TWxApi.Execute n'a pas été exécutée Plus tard, je suis allé sur le site officiel pour lire l'aide correspondante et j'ai découvert qu'iw ne prend en charge que les navigateurs. .
// Navigateurs Ce n'est qu'alors que la sortie peut recevoir une réponse normale, et la requête Web envoyée par WeChat n'appartient évidemment à aucun navigateur connu
si rBrowser est TOther alors commencez
rBrowser.Free rBrowser := TInternetExplorer.Create(8) ; // Afficher le contenu de la page en utilisant la navigation sur les pages compatible IE8
end;

Je pense que la puissance de Delphi est que tous les codes sources sont fournis sauf le compilateur. S'il y a un problème, il peut être résolu en lisant le code source. Cependant, iw l'est aussi. fermé. Peu importe s'il n'y a pas de code source. Aide Je n'arrive pas à suivre. L'aide en ligne est trop faible. Je suggère aux amis qui utilisent iw de combiner l'aide en ligne avec les propres exemples de projets d'iw pour éviter les détours ! Cependant, iw s'est développé à ce jour et est en effet très facile à utiliser. Surtout pour les personnes ayant une formation Delphi, c'est vraiment cool de pouvoir utiliser leur meilleur langage et leurs meilleurs outils de développement pour le développement Web. delphi intraweb进行微信开发-微信平台接入

Pour plus d'articles relatifs au développement WeChat intraweb Delphi - Accès à la plateforme WeChat, veuillez faire attention au site Web PHP chinois !

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Développement PHP WeChat : Comment implémenter le cryptage et le décryptage des messages Développement PHP WeChat : Comment implémenter le cryptage et le décryptage des messages May 13, 2023 am 11:40 AM

PHP est un langage de script open source largement utilisé dans le développement Web et la programmation côté serveur, notamment dans le développement de WeChat. Aujourd'hui, de plus en plus d'entreprises et de développeurs commencent à utiliser PHP pour le développement de WeChat, car il est devenu un langage de développement vraiment facile à apprendre et à utiliser. Dans le développement de WeChat, le cryptage et le décryptage des messages sont une question très importante car ils impliquent la sécurité des données. Pour les messages sans méthodes de cryptage et de décryptage, les pirates peuvent facilement obtenir les données, ce qui constitue une menace pour les utilisateurs.

Utiliser PHP pour développer des outils de messagerie de masse WeChat Utiliser PHP pour développer des outils de messagerie de masse WeChat May 13, 2023 pm 05:00 PM

Avec la popularité de WeChat, de plus en plus d’entreprises commencent à l’utiliser comme outil marketing. La fonction de messagerie de groupe WeChat est l'un des moyens importants permettant aux entreprises de mener du marketing WeChat. Cependant, si vous comptez uniquement sur l’envoi manuel, il s’agit d’une tâche extrêmement longue et laborieuse pour les spécialistes du marketing. Il est donc particulièrement important de développer un outil de messagerie de masse WeChat. Cet article présentera comment utiliser PHP pour développer des outils d'envoi de masse WeChat. 1. Travail de préparation Pour développer les outils d'envoi de masse WeChat, nous devons maîtriser les points techniques suivants : Connaissance de base du développement de la plateforme publique PHP WeChat Outils de développement : Sub

Développement PHP WeChat : Comment implémenter la gestion des balises utilisateur Développement PHP WeChat : Comment implémenter la gestion des balises utilisateur May 13, 2023 pm 04:31 PM

Dans le développement des comptes publics WeChat, la gestion des balises utilisateur est une fonction très importante, qui permet aux développeurs de mieux comprendre et gérer leurs utilisateurs. Cet article explique comment utiliser PHP pour implémenter la fonction de gestion des balises utilisateur WeChat. 1. Obtenez l'openid de l'utilisateur WeChat Avant d'utiliser la fonction de gestion des balises utilisateur WeChat, nous devons d'abord obtenir l'openid de l'utilisateur. Dans le développement des comptes publics WeChat, il est courant d'obtenir l'openid via l'autorisation de l'utilisateur. Une fois l'autorisation de l'utilisateur terminée, nous pouvons obtenir l'utilisateur via le code suivant

Développement PHP WeChat : Comment implémenter des enregistrements d'envoi de messages de groupe Développement PHP WeChat : Comment implémenter des enregistrements d'envoi de messages de groupe May 13, 2023 pm 04:31 PM

Alors que WeChat devient un outil de communication de plus en plus important dans la vie des gens, sa fonction de messagerie agile est rapidement privilégiée par un grand nombre d'entreprises et de particuliers. Pour les entreprises, développer WeChat en une plate-forme marketing est devenu une tendance, et l'importance du développement de WeChat est progressivement devenue plus importante. Parmi eux, la fonction d'envoi de groupe est encore plus largement utilisée. Alors, en tant que programmeur PHP, comment implémenter des enregistrements d'envoi de messages de groupe ? Ce qui suit vous donnera une brève introduction. 1. Comprendre les connaissances en développement liées aux comptes publics WeChat. Avant de comprendre comment mettre en œuvre des enregistrements d'envoi de messages de groupe, je

Développement PHP WeChat : Comment implémenter la gestion des fenêtres de discussion du service client Développement PHP WeChat : Comment implémenter la gestion des fenêtres de discussion du service client May 13, 2023 pm 05:51 PM

WeChat est actuellement l'une des plateformes sociales comptant la plus grande base d'utilisateurs au monde. Avec la popularité de l'Internet mobile, de plus en plus d'entreprises commencent à prendre conscience de l'importance du marketing WeChat. Lors du marketing WeChat, le service client est un élément crucial. Afin de mieux gérer la fenêtre de discussion du service client, nous pouvons utiliser le langage PHP pour le développement de WeChat. 1. Introduction au développement PHP WeChat PHP est un langage de script open source côté serveur largement utilisé dans le domaine du développement Web. En combinaison avec l'interface de développement fournie par la plateforme publique WeChat, nous pouvons utiliser le langage PHP pour mener WeChat

Développement PHP WeChat : Comment implémenter la fonction de vote Développement PHP WeChat : Comment implémenter la fonction de vote May 14, 2023 am 11:21 AM

Dans le développement des comptes publics WeChat, la fonction de vote est souvent utilisée. La fonction de vote est un excellent moyen pour les utilisateurs de participer rapidement aux interactions, et c'est également un outil important pour organiser des événements et recueillir des opinions. Cet article vous présentera comment utiliser PHP pour implémenter la fonction de vote WeChat. Obtenez l'autorisation du compte officiel WeChat. Tout d'abord, vous devez obtenir l'autorisation du compte officiel WeChat. Sur la plateforme publique WeChat, vous devez configurer l'adresse API du compte public WeChat, le compte officiel et le token correspondant au compte public. Dans le processus de développement en langage PHP, nous devons utiliser le PH officiellement fourni par WeChat

Développement PHP WeChat : Comment implémenter la reconnaissance vocale Développement PHP WeChat : Comment implémenter la reconnaissance vocale May 13, 2023 pm 09:31 PM

Avec la popularité de l'Internet mobile, de plus en plus de personnes utilisent WeChat comme logiciel social, et la plateforme ouverte WeChat a également apporté de nombreuses opportunités aux développeurs. Ces dernières années, avec le développement de la technologie de l’intelligence artificielle, la technologie de reconnaissance vocale est progressivement devenue l’une des technologies les plus populaires dans le développement de terminaux mobiles. Dans le développement de WeChat, la manière de mettre en œuvre la reconnaissance vocale est devenue une préoccupation pour de nombreux développeurs. Cet article expliquera comment utiliser PHP pour développer des applications WeChat afin d'implémenter des fonctions de reconnaissance vocale. 1. Principes de la reconnaissance vocale Avant de présenter comment mettre en œuvre la reconnaissance vocale, comprenons d'abord le langage

Comment utiliser PHP pour le développement WeChat ? Comment utiliser PHP pour le développement WeChat ? May 21, 2023 am 08:37 AM

Avec le développement d’Internet et des appareils mobiles intelligents, WeChat est devenu un élément indispensable dans les domaines social et marketing. Dans cette ère de plus en plus numérique, la manière d'utiliser PHP pour le développement de WeChat est devenue la préoccupation de nombreux développeurs. Cet article présente principalement les points de connaissances pertinents sur la façon d'utiliser PHP pour le développement WeChat, ainsi que certains conseils et précautions. 1. Préparation de l'environnement de développement Avant de développer WeChat, vous devez d'abord préparer l'environnement de développement correspondant. Plus précisément, vous devez installer l'environnement d'exploitation PHP et la plateforme publique WeChat

See all articles