uniapp网络请求封装

2022-09-19  本文已影响0人  冰点雨

封装

export default{
    common:{
        baseUrl:"http://xxx:xxx/api",
        data:{},
        header:{
            "content-Type":"pplication/json",
            "content-Type":"application/x-www-form-urlencoded",
        },
        method:"GET",
        dataType:"json"
    },
    request(options={}){
        options.url = this.common.baseUrl + options.url;
        options.data = options.data || this.common.data;
        options.header = options.header || this.common.header;
        options.method = options.method || this.common.method;
        options.dataType = options.dataType || this.common.dataType;
        
        // 判断是否传入了header头的token,进行用户登录验证
        if(options.header.token){
            options.header.token = 'token值';
            if(!options.header.token){
                uni.showToast({
                    title:'请先登录',
                    icon:"none"
                })
                return uni.navigateTo({
                    url:'/pages/login/login'
                })
            }
        }
        
        uni.showLoading({
            title: '加载中'
        });
        return new Promise((res,rej)=>{
            uni.request({
                ...options,
                success:(result)=>{
                    uni.hideLoading();
                    if(result.statusCode != 200){
                        return rej();
                    }
                    let data = result.data.data;
                    res(data);
                }
            })
        })
    }
}

使用

Http.request({
                    url:'/index_list/data',
                }).then((res)=>{
        
                }).catch(()=>{
                    uni.showToast({
                        title:"请求失败"
                    })
                })
上一篇下一篇

猜你喜欢

热点阅读