Heim > WeChat-Applet > Mini-Programmentwicklung > Selbststudium des WeChat-Applets von Null auf Eins: HTTP-Anfragekapselung nach der Projekterstellung

Selbststudium des WeChat-Applets von Null auf Eins: HTTP-Anfragekapselung nach der Projekterstellung

hzc
Freigeben: 2020-06-12 10:08:58
nach vorne
2587 Leute haben es durchsucht

1. Neuzusammenstellung des http-Moduls

Warum sollten wir zunächst das WeChat-http-Modul neu verpacken?

rrree

Diese Anforderungsmethode ähnelt unserer alten Jquery-Methode. Diese Methode führt zu unserem Rückruf-Höllenproblem und der Code ist zu umständlich.

Als nächstes werde ich den Code durch Versprechen verpacken und die Anforderungsmethode vereinfachen

1 Projektverzeichnisaufbau

Selbststudium des WeChat-Applets von Null auf Eins: HTTP-Anfragekapselung nach der Projekterstellung

Erstellen Sie die Datei „request.js“ im Verzeichnis „utils“, um die HTTP-Anfrage zu kapseln. Dies ist für uns hilfreich, um Fehler zu behandeln, und wir können auch die Geschäftslogik anzeigen Sehr intuitiv. Der gekapselte Beispielcode lautet wie folgt:

wx.request({
  url: 'test.php', //仅为示例,并非真实的接口地址
  data: {
    x: '',
    y: ''
  },
  header: {    'content-type': 'application/json' // 默认值
  },
  success (res) {
    console.log(res.data)
  }
})
Nach dem Login kopieren

2. Die Verwendung von Anfragen im Projekt

Zunächst stellen wir unser gekapseltes http-Modul vor Verwendungsort

/**
 * 
 * @param {String} url 
 * @param {Object} data 
 * @param {String} method 
 * @param {String} header 
 */
function request(url, data={}, method='GET', header="Content-Type: application/json",) {
    return new Promise(function (resolve, reject) {
        wx.request({
            url: url,
            data: data,
            header: header,
            method: method,
            dataType: 'json',
            responseType: 'text',
            success: (res)=>{
                if(res.statusCode === 200) {
                    if (res.data.code === 200) {
                        resolve(res.data)
                    } else {
                        wx.showToast({
                            title: res.data.msg,
                            icon: 'none',
                            image: '',
                            duration: 1500,
                            mask: false,
                            success: (result)=>{
                                resolve(res.data);
                            },
                        });
                    }
                } else {
                   
                }
            },
            fail: (res)=>{
                // 需要我们加上统一的错误处理代码
                reject(res)
            },
            complete: ()=>{}
        });
    }) 
}

// 封装方法
// 如果对于header有什么特殊的要求,可以在请求参数里面做一些添加,例如后续我们会在headder中加入我们的sessionkey这些内容
// header = {}里面添加header内容
// 这块是一个简版的说明
const header = {
    "Content-Type": "application/json",
    // 这个token是微信登录以后,将token存入在缓存中
    "token": "*****************"
}

const get = function(url, data, header) {
    return request(url, data, 'GET', header);
}

const post = function(url, data, header) {
    return request(url, data, 'POST', header);
}

const del = function(url, data, header) {
    return request(url, data, '', header);
}


module.exports = {
    get,
    post,
    del,
}
Nach dem Login kopieren

Als Nächstes können wir unser gekapseltes Webhttp-Tool verwenden, wodurch die Codemenge im Vergleich zur vorherigen direkten Verwendung der Request-Request-Methode von WeChat reduziert wird. Gleichzeitig wird die Kettenmethode klarer

import webHttp from './utils/request';
Nach dem Login kopieren

Es handelt sich ungefähr um einen Prozess wie diesen. Im tatsächlichen Prozess muss die Kapselung möglicherweise entsprechend der Back-End-Restful-API-Methode weiter verbessert werden. Die Datenparameter der Post-Anfrage werden ebenfalls anders verarbeitet. Dies erfordert entsprechende Anpassungen entsprechend der tatsächlichen Situation. Wenn es einen besseren Weg gibt, können Sie ihn gerne mitteilen

Empfohlenes Tutorial: „WeChat Mini-Programm

Das obige ist der detaillierte Inhalt vonSelbststudium des WeChat-Applets von Null auf Eins: HTTP-Anfragekapselung nach der Projekterstellung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:juejin.cn
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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage