1. 程式人生 > 實用技巧 >微信小程式 請求封裝

微信小程式 請求封裝

請求封裝

Created: Sep 12, 2020 4:22 PM
分類: request
檔案路徑: request/index.js

使用的時候需要注意.路徑必須寫到index,小程式不會自動補全

let ajaxTimes = 0
export const request = (params) => {
    // 每傳送一次請求,讓計數器++
    ajaxTimes++
    // url中是否帶有 /my/ 請求   如果有是私有的路徑   帶上header token
    let header = {...params.header}
    if (params.url.includes('/my/')) {
        header["Authorization"] = wx.getStorageSync('token')
    }
    wx.showLoading({
        title: "載入中",
        mask: true
    })

    // 定義基本url
    const baseUrl = "https://api-hmugo-web.itheima.net/api/public/v1";
    return new Promise((resolve, reject) => {
        wx.request({
            ...params,
            header: header,
            url: baseUrl + params.url,
            success: (result) => {
                resolve(result.data.message)
            },
            fail: (err) => {
                reject(err)
            },
            complete: () => {
                // 完成請求-1
                ajaxTimes--
                // 當等於0時,管理載入彈框
                // 應對同時傳送多個請求
                if (ajaxTimes == 0) {
                    // 關閉正在載入圖示
                    wx.hideLoading()
                }
            }
        })
    })

}