muiuni-app

uni-app封装 uni.request,附带简单的拦截功能

2019-08-17  本文已影响0人  Rogi

做项目的时候,请求的时候都得调用一次uni.request,而且每次都要验证返回过来的code码 === 200。
最最最最最最最最最最最最最重要!!!每次都得添加头部设置code: uni.getStorageSync("sessionid")。

header: {
    'content-type': 'application/json',
    'cookie': uni.getStorageSync("sessionid")
}

由于本人经常忘记加,经常会麻烦后端小哥帮我看接口是不是有问题(还好后端小哥没有捶死我。
以下是封装的request

// 参数: url:请求地址
// param:请求参数
// way:请求方式
// res:回调函数
function urlRequest(url, param, way, res) {
    // 获取自定义的code
    let code = uni.getStorageSync('code')
    // 进行请求
    uni.request({
        url: url,
        data: JSON.stringify(Object.assign(param)),
        header: {
            'code': code || '你个臭猪,又忘记设置code啦!!!!!',
            'Accept': 'application/json',
            'Content-Type': 'application/json',
        },
        // 获取设置请求方式
        method: way,
        success: (data) => {
            if (data.data.code === 200) {
                // 设置返回的数据
                res(data.data)
            } else {
                // 干一些事情
            }
        }
    });
}
 
export default {
    urlRequest: function(url, param, way, res) {
        // 把函数放回出去
        return urlRequest(url, param, way, res);
    }
}

调用

import request from '@/api/index.js'
request.urlRequest(
    '请求地址',
    {},
    'POST',
    function (res) {
        console.log(res)
    }
)
上一篇 下一篇

猜你喜欢

热点阅读