Heim  >  Artikel  >  WeChat-Applet  >  Detaillierte Grafik- und Texterklärung der WeChat-Applet-HTTP-Anfrage

Detaillierte Grafik- und Texterklärung der WeChat-Applet-HTTP-Anfrage

高洛峰
高洛峰Original
2017-03-13 11:08:181599Durchsuche

Dieser Artikel stellt hauptsächlich die relevanten Informationen zur detaillierten Erklärung von Bildern und Texten in der HTTP-Anfrage des WeChat-Applets vor.

Für die Netzwerkkommunikation im WeChat-Applet können Sie darauf zurückgreifen Kommunizieren Sie nur mit dem angegebenen Domänennamen. Das WeChat-Applet umfasst vier Arten von Netzwerkanfragen.

  1. Normale HTTPS-Anfrage (wx.request)

  2. Datei hochladen (wx.uploadFile)

  3. Datei herunterladen (wx.downloadFile)

  4. WebSocket-Kommunikation (wx.connectSocket)

Hier stellen wir wx.request, wx vor .uploadFile, wx.dowloadFile sind die drei wichtigsten Arten von Netzwerkanfragen

Legen Sie den Domänennamen fest

Wenn Sie möchten, dass das WeChat-Applet im Netzwerk kommuniziert , Sie müssen zuerst den Domänennamen festlegen, andernfalls ist ein Fehler aufgetreten:

Der URL-Domänenname ist illegal, bitte versuchen Sie es nach der MP-Hintergrundkonfiguration erneut

Sie müssen den Domainnamen im Miniprogramm der öffentlichen WeChat-Plattform festlegen.
Sie können die Einstellungsoptionen in der Einstellungsoberfläche des WeChat-Applets sehen:

Detaillierte Grafik- und Texterklärung der WeChat-Applet-HTTP-Anfrage

Einstellungen

Entwicklungseinstellungen auswählen:

Detaillierte Grafik- und Texterklärung der WeChat-Applet-HTTP-Anfrage

Entwicklungseinstellungen

Sie können die Servereinstellungen sehen:

Detaillierte Grafik- und Texterklärung der WeChat-Applet-HTTP-Anfrage

Servereinstellungen

Hier können Sie Domänennamen festlegen, die vier Arten von Netzwerkzugriffen entsprechen. Beachten Sie, dass für jede Art von Netzwerkanforderung ein Domänenname festgelegt werden muss .com/api/, dann kann https ://example.com/api nicht aufgerufen werden und muss von / gefolgt werden.

http-Anfrage

Verwenden Sie wx.request, um eine http-Anfrage zu initiieren. Es sind nur 5 gleichzeitig möglich Zeit Netzwerkanfrage.

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

  })

}

Der obige Code sendet eine HTTP-Get-Anfrage und druckt dann das zurückgegebene Ergebnis aus. Auch die Parameter sind relativ einfach zu verstehen.

  1. url Die URL-Adresse des Servers

  2. Daten Die angeforderten Parameter können StringDaten sein: „xxx=xxx&xxx =xxx " oder Object data:{"userId":1} in der Form

  3. header legt den Anforderungsheader fest

  4. Erfolg SchnittstelleErfolgsrückruf

  5. fail Schnittstellenfehler-Rückruf

Es gibt auch zwei Parameter Nicht in Der Code:

Methode http-Methode, standardmäßig GET-Anfrage

Vollständiger Rückruf nach dem Aufruf der Schnittstelle, egal ob erfolgreich oder fehlgeschlagen, die Schnittstelle wird

Dateien hochladen

Die API zum Hochladen von Dateien ist wx.uploadFile, die eine http-

Post-Anfrage initiiert, bei der der Inhaltstyp mehrteilig ist /form-data. Der Server muss Dateien entsprechend dem Inhaltstyptyp empfangen:

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

  })

}
URL, Header, Erfolg, Fehler und Abschluss sind die gleichen wie bei normalen HTTP-Anfragen.

Die verschiedenen Parameter hier sind:

Schlüssel, der der Namensdatei entspricht. Der Server muss die Datei über den Namensparameter abrufen HTTP-Anfrage kann Andere verwendete Parameter sein

Datei herunterladen

Die API zum Herunterladen der Datei ist wx.downloadFile, die einen http-Abruf initiiert Anfrage und Nach erfolgreichem Download wird der temporäre Pfad der Datei zurückgegeben:

Die Parameter von URL, Header, Fail, Complete und wx.uploadFile sind konsistent Unterschiedlich sind:

Typ: Der Typ der heruntergeladenen Ressource, der für die automatische Identifizierung durch den Client verwendet wird. Die Parameter, die verwendet werden können, sind Bild/Audio/Video
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)
    }
  })
}

Erfolg: der Rückruf nach erfolgreichem Download, Rückgabe der Datei mit dem tempFilePath-Parameter Temporäres Verzeichnis: res={tempFilePath:'File path'}


Nach erfolgreichem Download handelt es sich um eine temporäre Datei, die nur sein kann Wird während der aktuellen Ausführung des Programms verwendet. Wenn Sie es dauerhaft speichern müssen, müssen Sie die Methode wx.saveFile aufrufen, um Dateien aktiv beizubehalten, Beispielcode:


Verwenden Sie wx.saveFile, um temporäre Dateien lokal zu speichern und sie für die Verwendung beim nächsten Start des Applets bereitzustellen. Die Parameter:

function svaeFile(tempFile,success){
 wx.saveFile({
   tempFilePath:tempFile,
   success:function(res){
     var svaedFile=res.savedFilePath
     if(success){
       success(svaeFile)
     }
   }
 })
}

tempFilePath Der Pfad der Datei, die gespeichert werden muss

  1. success Der Rückruf des erfolgreichen Speicherns gibt den Pfad des erfolgreichen Speicherns zurück. Mit „resedFilePath“ können Sie den Pfad des erfolgreichen Speicherns abrufen

  2. fail callback

  3. vollständiger Rückruf

超时的设置

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


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

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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Das obige ist der detaillierte Inhalt vonDetaillierte Grafik- und Texterklärung der WeChat-Applet-HTTP-Anfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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