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

做项目的时候,请求的时候都得调用一次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)
    }
)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容