uniapp request请求封装

request.js

let baseUrl = "http://192.168.31.211:10087/"


function setRequest(url, method, data) {
    
    let header={
        "content-type": "application/json",
    }
    if("login"!=url){
        header={
            "content-type": "application/json",
            "token":"123"
        }
    }

    var promise = new Promise((resolve, reject) => {
        var that = this;
        uni.request({
            url: baseUrl + url,
            data,
            method,
            dataType: "json",
            header,
            success: function(res) {
                resolve(res);
            },
            fail:function(e){
                reject("网络出错,连接失败!" + JSON.stringify(e));
            }
        });
    });
    return promise;
}

function getRequest(url, data) {
    return setRequest(url, "GET", data);
}

function postRequest(url, data) {
    return setRequest(url, "POST", data);
}

function putRequest(url, data) {
    return setRequest(url, "PUT", data);
}

function deleteRequest(url, data) {
    return setRequest(url, "DELETE", data);
}

module.exports = {
    get: getRequest,
    post: postRequest,
    put: putRequest,
    delete: deleteRequest,
};

main.js全局挂载

import Vue from 'vue'
import App from './App'
import wLoading from "@/components/w-loading.vue";
import myRequest from '@/common/utils/request.js'
Vue.config.productionTip = false

App.mpType = 'app'
Vue.component('w-loading',wLoading)
Vue.prototype.$http = myRequest

const app = new Vue({
    ...App
})
app.$mount()

使用

methods: {
            login() {
                this.$http.post('test',this.loginForm).then(res=>{
                    // console.log(res);
                })
                this.$refs.loading.open();
                setTimeout(()=>{
                    this.$refs.loading.close()
                },2000)
            }
        }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容