xuefei
2023-07-03 9ca5d844e24a9d72307f17f6d81eac0f843ec9e2
请求过滤null
1个文件已修改
148 ■■■■■ 已修改文件
api/request.js 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/request.js
@@ -1,13 +1,35 @@
import {
    globalApi
} from '@/api/globalApi.js';
import {
    apiLoginPassword
} from './publicInterface';
// 成功
const responseOK = (response) => {
    const {
        data
    } = response;
    test(data);
    return data;
}
const test = (obj) => {
    if (obj instanceof Array) {
        obj.forEach(e => {
            test(e);
        })
    } else if (obj instanceof Object) {
        for (let key in obj) {
            if (obj[key] == null) {
                obj[key] = "";
            } else {
                if (obj[key] instanceof Array || obj[key] instanceof Object) {
                    test(obj[key])
                }
            }
        }
    }
}
// 响应失败的依赖性
@@ -81,8 +103,8 @@
// const BaseUrl = "http://192.168.31.18:9997"
// const webSocketUrl = "ws://192.168.31.18:9997/wrzs/ws/info"
const BaseUrl = "http://192.168.31.14:9997";
const webSocketUrl = "ws://192.168.31.14:9997/wrzs/ws/info"
const BaseUrl = "http://localhost:9997";
const webSocketUrl = "ws://localhost:9997/wrzs/ws/info"
export const onlineurl = "https://mx.jzeg.cn:9095";
// const BaseUrl = "http://192.168.0.100:9997";
// const webSocketUrl = "ws://192.168.0.100:9997/wrzs/ws/info"
@@ -96,68 +118,76 @@
// 请求拦截
const fetch = (url, opt) => {
    // 查找对应地址
    let urls = (globalApi[opt.url]?.url || globalApi[url]?.url);
    let params = opt.params ? ('?' + Object.keys(opt.params).map(key => key + '=' + opt.params[key]).join('&')) :
        '';
    opt.url = BaseUrl + urls + params
    opt.method = opt.method || "GET";
    var header = {}
    if (uni.getStorageSync('token')) {
        header = {
            "Authorization": "Bearer" + ' ' + uni.getStorageSync('token'),
            "CLIENT_TOC": "Y",
        }
    }
    opt.header = {
        ...opt.header,
        ...header
    }
    opt.data = opt.data || {};
    return new Promise((resolve, reject) => {
        let options = {}
        Object.keys(opt).map(key => {
            if (key !== "params") {
                return options[key] = opt[key]
        // 查找对应地址
        let urls = (globalApi[opt.url]?.url || globalApi[url]?.url);
        let params = opt.params ? ('?' + Object.keys(opt.params).map(key => key + '=' + opt.params[key]).join('&')) :
            '';
        opt.url = BaseUrl + urls + params
        opt.method = opt.method || "GET";
        var header = {}
        if (uni.getStorageSync('token')) {
            header = {
                "Authorization": "Bearer" + ' ' + uni.getStorageSync('token'),
                "CLIENT_TOC": "Y",
            }
        })
        }
        uni.request(options)
            .then(res => interceptorsRes(res, resolve, reject))
            .catch(err => interceptorsErr(err, reject))
    })
}
        opt.header = {
            ...opt.header,
            ...header
        }
        opt.data = opt.data || {};
        return new Promise((resolve, reject) => {
                let options = {}
                if (opt.data) {
                    Object.keys(opt.data).map(key => {
                            if (opt.data[key] == '' || opt.data[key] == "") {
                                opt.data[key] = null;
                            }
                        });
                    }
                    Object.keys(opt).map(key => {
                        if (key !== "params") {
                            return options[key] = opt[key]
                        }
                    })
                    uni.request(options)
                        .then(res => interceptorsRes(res, resolve, reject))
                        .catch(err => interceptorsErr(err, reject))
                })
        }
// 响应拦截
const interceptorsRes = ([err, resp], resolve, reject) => {
    const {
        statusCode,
        data
    } = resp;
    // 验证http状态码
    const handlerHTTPStatus = handlerCode[statusCode];
        // 响应拦截
        const interceptorsRes = ([err, resp], resolve, reject) => {
            const {
                statusCode,
                data
            } = resp;
            // 验证http状态码
            const handlerHTTPStatus = handlerCode[statusCode];
    // 没有找到相应状态操作直接返回
    if (!handlerHTTPStatus) return resolve(resp);
    if (!handlerHTTPStatus(resp, true)) return reject(false);
    resolve(resp.data)
}
            // 没有找到相应状态操作直接返回
            if (!handlerHTTPStatus) return resolve(resp);
            if (!handlerHTTPStatus(resp, true)) return reject(false);
            resolve(resp.data)
        }
// 异常处理
const interceptorsErr = (err, reject) => {
    console.log("网络异常", err)
    reject(err)
}
        // 异常处理
        const interceptorsErr = (err, reject) => {
            console.log("网络异常", err)
            reject(err)
        }
export {
    fetch,
    BaseUrl,
    webSocketUrl
}
        export {
            fetch,
            BaseUrl,
            webSocketUrl
        }