uni-app 请求封装

1.创建一个http.js 

​
const baseUrl = 'http://192.168.1.188:8080';  
const httpRequest = (opts, data) => {
    let httpDefaultOpts = {
        url: baseUrl+opts.url,
        data: data,
        method: opts.method,
        header: opts.method == 'get' ? {
        'X-Requested-With': 'XMLHttpRequest',
        "Accept": "application/json",
        "Content-Type": "application/json; charset=UTF-8"
    } : {
        'X-Requested-With': 'XMLHttpRequest',
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
    },
        dataType: 'json',
    }
    let promise = new Promise(function(resolve, reject) {
        uni.request(httpDefaultOpts).then(
            (res) => {
                resolve(res[1])
            }
        ).catch(
            (response) => {
                reject(response)
            }
        )
    })
    return promise
};
//带Token请求
const httpTokenRequest = (opts, data) => {
	let token = "";
	uni.getStorage({
		key: 'token',
		success: function(ress) {
			token = ress.data
		}
	});
    let httpDefaultOpts = {
        url: baseUrl+opts.url,
        data: data,
        method: opts.method,
        header: opts.method == 'get' ? {
		'Token': token,
        'X-Requested-With': 'XMLHttpRequest',
        "Accept": "application/json",
        "Content-Type": "application/json; charset=UTF-8"
    } : {
		'Token': token,
        'X-Requested-With': 'XMLHttpRequest',
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
    },
        dataType: 'json',
    }
    let promise = new Promise(function(resolve, reject) {
        uni.request(httpDefaultOpts).then(
            (res) => {
                resolve(res[1])
            }
        ).catch(
            (response) => {
                reject(response)
            }
        )
    })
    return promise
};

export default {
	    baseUrl,
		httpRequest,
		httpTokenRequest					
}

​

2.将http.js引入

import http from '@/components/utils/http.js';

                    let opts={
                        url: '/api/device/add',
                        method: 'post'
                    };
                    let param={
                        deviceId:this.deviceCode,
                        deviceName:this.deviceName
                    };
                    http.httpTokenRequest(opts, param).then(res => {
                        console.log(res.data);
                        if(res.data.code==0){    
                            uni.navigateTo({
                                url:"../add/addSucceed?name="+this.deviceName
                            });
                        }else{
                            uni.showToast({
                                title: res.data.msg,
                                icon: 'none',
                                duration: 2000
                            });
                            
                        }
                        this.deviceName="";
                        this.deviceCode="";    
                    },error => {console.log(error);})    

猜你喜欢

转载自blog.csdn.net/Skyline_ding/article/details/90770577