美文网首页
uniapp 封装的网络请求

uniapp 封装的网络请求

作者: 神一样的队友 | 来源:发表于2020-11-11 14:21 被阅读0次

    Vue.prototype.baseUrl =‘’

    let baseUrl_ = ''

    let api = ''

    Vue.prototype.userloginUrl = baseUrl_ + api + ''

    //网络请求封装

    Vue.prototype.request = fetch

    function clear(str) {

    str = str.replace(/,/g, ""); //取消字符串中出现的所有逗号

    return str;

    }

    function fetch({

    url,

    method = 'POST',

    data,

    isSign = false,

    showLoading = true,

    isUploadPic = false,

    pic = '',

    header = {

    'accept': 'application/json',

    'authorization':'Bearer ' + management.refreshToken

    },

    }) {

    if (showLoading) {

    uni.showLoading({

    mask: true

    });

    }

    if (method.toLowerCase() == 'post') {

    header['content-type'] = 'application/x-www-form-urlencoded'

    }

    if (isSign) {

    let timestamp = Math.round(new Date().getTime() / 1000).toString();

    data.timestamp = timestamp

    var dataStr = []

    for (var key in data) {

    let data_ = key + data[key]

    dataStr.push(data_)

    }

    let sign = dataStr.sort();

    var signStr = clear('weichuang!@#2020' + sign + 'weichuang!@#2020');

    var signMd5 = this.Md5(signStr).toUpperCase().substring(0, 32).toLowerCase();

    data.sign = signMd5

    console.log(signStr, signMd5, 112);

    }

    return new Promise((resolve, reject) => {

    if (!isUploadPic) {

    uni.request({

    url, //仅为示例,并非真实接口地址。

    header,

    data,

    method,

    success: (res) => {

    if (showLoading) {

    uni.hideLoading();

    }

    if (res.data.code == 1) {

    resolve(res.data.data)

    } else {

    if(res.data.msg != '请登录'){

    uni.showToast({

    title: res.data.msg,

    icon: 'none'

    })

    }

    reject(res.data)

    // console.log(res.data);

    }

    },

    fail(err) {

    reject(err)

    if (showLoading) {

    uni.hideLoading();

    }

    }

    });

    } else {

    uni.uploadFile({

    url,

    filePath: pic,

    name: 'file',

    success: (res) => {

    if (showLoading) {

    uni.hideLoading();

    }

    var data = JSON.parse(res.data);

    uni.showToast({

    title: data.msg,

    icon: 'none'

    })

    if (data.code == 1) {

    resolve(data.data.pic)

    } else {}

    },

    fail(err) {

    console.log(err, 888);

    reject(err)

    if (showLoading) {

    uni.hideLoading();

    }

    }

    })

    }

    })

    }

    相关文章

      网友评论

          本文标题:uniapp 封装的网络请求

          本文链接:https://www.haomeiwen.com/subject/wrvebktx.html