微信小程序封装http请求

const baseUrl = 'http://localhost:8768/';  //后续可以改为你自己的域名接口地址

const request = (url, options) => {
    return new Promise((resolve, reject) => {
        wx.request({
            url: `${baseUrl}${url}`, //域名接口地址
            method: options.method, //配置method方法
            data: options.method === 'GET' ? options.data : JSON.stringify(options.data), //如果是GET,GET自动让数据成为query String,其他方法需要让options.data转化为字符串
            header: {
                'Content-Type': '',
                'Authorization': wx.getStorageSync('Login')?wx.getStorageSync('Login').token:''
            }, //header中可以添加token值等
            success(request) { //监听成功后的操作
                if (request.statusCode === 200) {
                    resolve(request.data)
                } else {
                    reject(request.data)
                }
                if (request.data.code === 401) {
                    wx.removeStorageSync('Login')//如果返回401,可以做一些操作
                }
            },
            fail(error) { //返回失败也同样传入reject()方法
                reject(error.data)
            }
        })
    })
}

//封装get方法
const get = (url, options = {}) => {
    return request(url, {
        method: 'GET',
        data: options
    })
}
//封装post方法
const post = (url, options) => {
    return request(url, {
        method: 'POST',
        data: options
    })
}
//封装put方法
const put = (url, options) => {
    return request(url, {
        method: 'PUT',
        data: options
    })
}
//封装del方法
const del = (url, options) => {
    return request(url, {
        method: 'DELETE',
        data: options
    })
}

module.exports = {
    get,
    post,
    put,
    del
}

然后在js或者vue代码里面引入

import http from '@/config/httputils'

调用get方法

http.get('你的接口地址',{参数,如果没有就不用传}).then(res => {
         console.log(res) 
})    

  

posted @ 2020-09-29 14:51  一个九零後的程序猿  阅读(574)  评论(0编辑  收藏  举报