Maison  >  Article  >  Applet WeChat  >  requête http pour le développement d'applets WeChat

requête http pour le développement d'applets WeChat

高洛峰
高洛峰original
2017-02-10 13:12:381681parcourir

La communication réseau dans l'applet WeChat ne peut communiquer qu'avec le nom de domaine spécifié. L'applet WeChat comprend quatre types de requêtes réseau : les requêtes HTTPS ordinaires (wx.request), les fichiers de téléchargement (wx.uploadFile) et les fichiers de téléchargement (wx. .downloadFile), communication WebSocket (wx.connectSocket). Ici, nous introduisons principalement trois requêtes réseau : wx.request, wx.uploadFile et wx.dowloadFile.

Pour la communication réseau dans l'applet WeChat, vous ne pouvez communiquer qu'avec le nom de domaine spécifié. L'applet WeChat comprend quatre types de requêtes réseau.

  • Demande HTTPS normale (wx.request)

  • Télécharger le fichier (wx.uploadFile)

  • Télécharger le fichier (wx.downloadFile)

  • Communication WebSocket (wx.connectSocket)

Nous présentons ici wx.request, wx.uploadFile, wx.dowloadFile utilise principalement trois types de requêtes réseau.

Définir le nom de domaine

Pour que l'applet WeChat communique en ligne, vous devez d'abord définir le nom de domaine, sinon une erreur se produira :

Le nom de domaine URL est illégal, veuillez réessayer après la configuration en arrière-plan mp

Vous devez définir le nom de domaine dans le mini programme de la plateforme publique WeChat.

Vous pouvez voir les options de configuration dans l'interface de configuration de l'applet WeChat :

requête http pour le développement dapplets WeChat

Sélectionnez les paramètres de développement :


.requête http pour le développement dapplets WeChat

Vous pouvez voir les paramètres du serveur :

requête http pour le développement dapplets WeChat

Ici, vous pouvez définir les noms de domaine correspondant à quatre types de réseau accès, chaque type La requête réseau doit définir un nom de domaine Notez que si le nom de domaine est défini sur http://www.php.cn/, alors http://www.php.cn/ ne peut pas être appelé et doit. être suivi de /.

Requête http

Utilisez wx.request pour lancer une requête http Une applet WeChat est limitée à seulement 5 requêtes réseau en même temps.

function queryRequest(data){         wx.request({         url:"https://example.com/api/",         data:data,         header:{            // "Content-Type":"application/json"         },         success:function(res){             console.log(res.data)         },         fail:function(err){             console.log(err)         }      })  }

Le code ci-dessus enverra une requête http get puis imprimera le résultat renvoyé. Les paramètres sont également relativement faciles à comprendre.

  • url L'adresse url du serveur

  • data Les paramètres demandés peuvent être sous forme de String data : "xxx=xxx&xxx=xxx " ou Données d'objet :{"userId":1} sous la forme

  • en-tête définit l'en-tête de la requête

  • rappel de succès de l'interface de succès

  • Rappel d'échec de l'interface Fail

Il y a aussi deux paramètres qui ne sont pas dans le code :

  • méthode http méthode , la valeur par défaut est GET request

  • rappel complet après avoir appelé l'interface Quel que soit le succès ou l'échec, l'interface sera appelée

<.>télécharger L'API du fichier

pour télécharger des fichiers est wx.uploadFile, qui lancera une demande de publication http, et le type de contenu est multipart/form-data. Le serveur doit recevoir les fichiers en fonction du type de type de contenu. Exemple de code :

function uploadFile(file,data) {     wx.uploadFile({         url: 'http://example.com/upload',         filePath: file,         name: 'file',         formData:data,         success:function(res){             console.log(res.data)         },         fail:function(err){             console.log(err)         }      })      }
L'URL, l'en-tête, le succès, l'échec et la fin sont les mêmes que les requêtes http ordinaires.

Les différents paramètres ici sont :

  • La clé correspondant au nom du fichier Le serveur doit obtenir le fichier via le paramètre nom

    <.>
  • Autres paramètres pouvant être utilisés dans le formulaireRequête http de données
Télécharger le fichier

L'API pour télécharger des fichiers est wx. downloadFile, qui lancera une requête http get et renvoie le chemin temporaire du fichier une fois le téléchargement réussi. Exemple de code :

Les paramètres de l'url, de l'en-tête, de l'échec, de la fin et de wx.uploadFile. sont cohérents, mais il y a des différences. Les paramètres sont :
function downloadFile(url,typ,success){     wx.downloadFile({         url:url,         type:typ,         success:function(res){             if(success){                 success(res.tempFilePath)             }         },         fail:function(err){             console.log(err)         }     }) }

    type : le type de ressource téléchargée, utilisé pour l'identification automatique par le client. Les paramètres pouvant être utilisés sont image/audio. /video
  • success : Le rappel après le téléchargement est réussi, renvoie le répertoire temporaire du fichier avec le paramètre tempFilePath : res={tempFilePath:'File Path'}
  • Une fois le téléchargement réussi, il s'agit d'un fichier temporaire, uniquement. Il sera disponible pendant l'exécution en cours du programme. Si vous devez le sauvegarder définitivement, vous devez appeler la méthode wx.saveFile. pour conserver activement le fichier. Exemple de code :

Utilisez wx.saveFile pour enregistrer le fichier temporaire localement, à condition d'être utilisé au prochain démarrage de l'applet. Les paramètres sont :
function svaeFile(tempFile,success){     wx.saveFile({         tempFilePath:tempFile,         success:function(res){             var svaedFile=res.savedFilePath             if(success){                 success(svaeFile)             }         }     }) }

<.>

tempFilePath Le chemin du fichier qui doit être enregistré
  • success Le rappel pour un enregistrement réussi, Renvoie le chemin enregistré avec succès Vous pouvez utiliser res.savedFilePath pour obtenir le. chemin enregistré avec succès
  • échec du rappel
  • rappel terminé
  • Paramètre du délai d'expiration

在微信小程序开发:MINA中已经提到了在app.js中设置networkTimeout可以设置四种类型网络访问的超时时间:

"networkTimeout":{    "request": 10000,    "connectSocket": 10000,    "uploadFile": 10000,    "downloadFile": 10000 }

这里设置的超时时间对应着四种类型的网络请求。

更多requête http pour le développement dapplets WeChat相关文章请关注PHP中文网!        

Déclaration:
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