溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Request網(wǎng)絡(luò)請求如何封裝

發(fā)布時(shí)間:2022-10-17 13:59:17 來源:億速云 閱讀:202 作者:iii 欄目:編程語言

本文小編為大家詳細(xì)介紹“Request網(wǎng)絡(luò)請求如何封裝”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Request網(wǎng)絡(luò)請求如何封裝”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

一、微信小程序

首先我們來看一下官方文檔中介紹的wx.request()Request網(wǎng)絡(luò)請求如何封裝

默認(rèn)使用方式

wx.request({
  url: 'test.php', //僅為示例,并非真實(shí)的接口地址
  data: {},
  header: {
      'content-type': 'application/json' // 默認(rèn)值
  },
  success: function(res) {
    console.log(res.data)
  }
})

二、Request.js封裝

Request.js是基于WX API的封裝只有一個(gè)文件

const URL = 'http://love520.com'
 
module.exports = {
   //封裝request方法,第一個(gè)參數(shù)請求地址,第二個(gè)參數(shù)傳遞參數(shù),第三個(gè)參數(shù)請求方式
    request:function(url,data={},method){
       //返回promise對象  resolve 成功的回調(diào)方法 reject失敗的回調(diào)方法 一旦發(fā)生就不會改變
        return new Promise((resolve, reject)=>{
            wx.request({
                url: URL + url,
                data,
                method,
                header:{
                    'token':wx.getStorageSync('token')
                },
                success:(res)=>{
                    if(res.statusCode === 200 && res.data.code === 200){
                        resolve(res.data)
                        wx.hideLoading()
                    } else {
                        wx.showToast({
                            icon:'error',
                            title: res.Msg,
                        })
                        reject(res.Msg)
                    }
                },
                fail:(err)=>{
                    wx.showToast({
                        icon:'error',
                        title: '接口無響應(yīng)',
                    })
                    reject('接口無響應(yīng)')
                }
            })
        })
    }
}

三、Route.js封裝

Route.js主要是區(qū)分業(yè)務(wù)的怎刪改查根據(jù)領(lǐng)域模型劃分多個(gè)業(yè)務(wù)體系

const { request } = require('./request.js')
//restful類型接口
module.exports = {
  GetUsers:(data) => request('/api/identity/users/{id}',{},'GET'),
  PostUsers:(data) => request('/api/identity/users/{id}',data,'POST'),
  PutUsers:(data) => request('/api/identity/users/{id}',data,'PUT'),
  DeleteUsers:(data) => request('/api/identity/users/{id}',{},'DELETE'),
}

Request網(wǎng)絡(luò)請求如何封裝

四、使用

import { GetUsers,PostUsers,PutUsers,DeleteUsers} from "../../utils/route"
GetUsers(id,{}).then((res)=>{
    this.setData({
        list: res.data
    })
})
PostUsers(id,data).then((res)=>{
    wx.showToast({
        icon:'none',
        title: res.Msg,
    })
})
PutUsers(id,data).then((res)=>{
    wx.showToast({
        icon:'none',
        title: res.Msg,
    })
})
DeleteUsers(id,{}).then((res)=>{
    wx.showToast({
        icon:'none',
        title: res.Msg,
    })
})

讀到這里,這篇“Request網(wǎng)絡(luò)請求如何封裝”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI