uniapp unirequest 网络请求封装
import urlConfig from './config.js'
const request = {}
const headers = {}
const PORT1 = '/baseinfo'
request.globalRequest = (url, method, data, power) => {
/* 权限判断 因为有的接口请求头可能需要添加的参数不一样,所以这里做了区分
== 不通过access_token校验的接口
== 文件下载接口列表
== 验证码登录 */
switch (power) {
case 1:
// headers['X-Token'] = ''
break;
case 2:
// headers['X-Token'] = ''
break;
case 3:
responseType = 'blob'
break;
default:
headers['X-Token'] = uni.getStorageSync('token');
break;
}
return uni.request({
url: urlConfig + url,
method,
data: data,
dataType: 'json',
header: headers
}).then(res => {
if (res[1].statusCode == 200 && res[1].data.code == 0) {
return res[1];
} else if (res[1].statusCode == 406 && res[1].data.code == 0) {
//@todo
//未登录
return res[1];
} else {
console.error(res[1].data);
return res[1];
}
}).catch(parmas => {
switch (parmas.code) {
case 401:
uni.clearStorageSync()
break
default:
break
}
})
}
request.globalUploadImg = (url, name, fileType, data, uploadSuccess, uploadMethod) => {
return uni.chooseImage({
success: (chooseImageRes) => {
const token = uni.getStorageSync('token');
const tempFilePaths = chooseImageRes.tempFilePaths;
const uploadTask = uni.uploadFile({
url: urlConfig + url, //仅为示例,非真实的接口地址
filePath: tempFilePaths[0],
name: name,
formData: data,
fileType: fileType,
header: {
'X-Token': token
},
success: (uploadFileRes) => {
// console.log(uploadFileRes.data);
if (uploadSuccess && (typeof uploadSuccess === "function")) {
uploadSuccess(uploadFileRes)
}
}
});
if (uploadMethod && (typeof uploadMethod === "function")) {
uploadMethod(uploadTask);
}
}
});
}
request.globalUploadFile = (url, filePath, name, fileType, data, uploadMethod, uploadSuccess) => {
const token = uni.getStorageSync('token');
return uni.uploadFile({
url: urlConfig + url, //仅为示例,非真实的接口地址
filePath: filePath,
name: name,
formData: data,
fileType: fileType,
header: {
'X-Token': token
},
success: (uploadFileRes) => {
let jsondata = JSON.parse(uploadFileRes.data)
if(jsondata.code==0){
uploadSuccess(jsondata);
}else{
uni.showToast({
title: '网络异常,请稍后重试',
duration: 2000
});
}
}
});
}
export default request
let url_config = ""
if (process.env.NODE_ENV === 'development') {
// 开发环境
url_config = ''
// url_config = ''
} else {
// 生产环境
// url_config = ''
}
export default url_config
import request from '@/common/request.js'
import {
formatGetUri
} from '@/common/util.js'
const api = {}
//微信和成长值组合支付
api.amountAndWXPay = params => request.globalRequest('/index/Pay/amountAndWXPay','Post',params);
export default api
三份代码文件名依次为:request.js config.js api/index.js
使用示例
aDdetail: function() {
const _self = this;
_self.$api.aDdetail({请求参数})
.then(res => {
返回结果
}).catch(res => {
})
},
还没有评论,来说两句吧...