163 lines
3.9 KiB
JavaScript
163 lines
3.9 KiB
JavaScript
|
import store from './../store'
|
|||
|
// import { baseUrl } from './env'
|
|||
|
// 统一错误输出
|
|||
|
const isTest = true // 是否是测试环境 PIP 部署请设置为false
|
|||
|
function showTot(msg) {
|
|||
|
if (isTest) {
|
|||
|
uni.showToast({
|
|||
|
title: msg,
|
|||
|
duration: 3000,
|
|||
|
icon: 'error'
|
|||
|
});
|
|||
|
return
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 参数: url:请求地址 param:请求参数 method:请求方式 callBack:回调函数
|
|||
|
export function request({
|
|||
|
url = '',
|
|||
|
params = {},
|
|||
|
method = 'GET'
|
|||
|
}) {
|
|||
|
// baseUrl改为可配置地址
|
|||
|
if (!uni.getStorageSync('baseUrl')) {
|
|||
|
uni.showToast({
|
|||
|
title: '请先配置,请求Url!',
|
|||
|
duration: 3000,
|
|||
|
icon: 'none'
|
|||
|
});
|
|||
|
uni.setStorageSync('baseUrl',
|
|||
|
'') // 测试环境 'http://slwl-geteway-t.itheima.net/driver' 默认配置地址:http://slwl-geteway.itheima.net/driver
|
|||
|
setTimeout(function() {
|
|||
|
uni.hideLoading();
|
|||
|
}, 500)
|
|||
|
clearTimeout(times)
|
|||
|
}
|
|||
|
let baseUrl = uni.getStorageSync('baseUrl')
|
|||
|
|
|||
|
const storeInfo = store.state
|
|||
|
const token = uni.getStorageSync('token')
|
|||
|
let header = {}
|
|||
|
if (url == '/track/upload') {
|
|||
|
header['Authorization'] = token
|
|||
|
header['Content-Type'] = 'application/x-www-form-urlencoded'
|
|||
|
} else if (url == '/files/imageUpload') {
|
|||
|
header['Content-Type'] = 'multipart/form-data';
|
|||
|
header['Authorization'] = token
|
|||
|
} else {
|
|||
|
header['Content-Type'] = 'application/json;',
|
|||
|
header['Authorization'] = token
|
|||
|
}
|
|||
|
|
|||
|
const requestRes = new Promise((resolve, reject) => {
|
|||
|
console.log(baseUrl + url)
|
|||
|
uni.request({
|
|||
|
url: baseUrl + url,
|
|||
|
data: params,
|
|||
|
header: header,
|
|||
|
method: method,
|
|||
|
}).then((res) => {
|
|||
|
const {
|
|||
|
data
|
|||
|
} = res
|
|||
|
// 清除loading
|
|||
|
const times = setTimeout(function() {
|
|||
|
uni.hideLoading();
|
|||
|
}, 500);
|
|||
|
clearTimeout(times)
|
|||
|
if (res.statusCode == 400) {
|
|||
|
// showTot(data.msg)
|
|||
|
uni.showToast({
|
|||
|
title: '权限不足,无法登录!',
|
|||
|
duration: 3000,
|
|||
|
icon: 'none'
|
|||
|
});
|
|||
|
uni.redirectTo({
|
|||
|
url: '/pages/login/index'
|
|||
|
});
|
|||
|
return false
|
|||
|
}
|
|||
|
if (res.statusCode == 401) {
|
|||
|
// showTot(data.msg)
|
|||
|
uni.showToast({
|
|||
|
title: '登录超时,请重新登录!',
|
|||
|
duration: 3000,
|
|||
|
icon: 'none'
|
|||
|
});
|
|||
|
uni.redirectTo({
|
|||
|
url: '/pages/login/index'
|
|||
|
});
|
|||
|
return false
|
|||
|
}
|
|||
|
if (data.code == 1) {
|
|||
|
showTot(data.msg)
|
|||
|
uni.showToast({
|
|||
|
title: data.msg,
|
|||
|
duration: 2000,
|
|||
|
icon: 'error'
|
|||
|
});
|
|||
|
return false
|
|||
|
}
|
|||
|
if (data.code == 0 || data.code == 200) {
|
|||
|
resolve(res.data)
|
|||
|
} else {
|
|||
|
console.log(5000)
|
|||
|
showTot(data.msg)
|
|||
|
uni.showToast({
|
|||
|
title: '请求出错了',
|
|||
|
duration: 1000,
|
|||
|
icon: 'error'
|
|||
|
});
|
|||
|
}
|
|||
|
}).catch((err) => {
|
|||
|
reject(err)
|
|||
|
});
|
|||
|
})
|
|||
|
return requestRes
|
|||
|
}
|
|||
|
|
|||
|
// 图片上传 参数: url:请求地址 param:请求参数 method:请求方式 callBack:回调函数
|
|||
|
export function requestUpload({
|
|||
|
url = '',
|
|||
|
params = {},
|
|||
|
method = 'post'
|
|||
|
}) {
|
|||
|
// baseUrl改为可配置地址
|
|||
|
if (!uni.getStorageSync('baseUrl')) {
|
|||
|
uni.setStorageSync('baseUrl', 'http://slwl-geteway.itheima.net/driver')
|
|||
|
}
|
|||
|
let baseUrl = uni.getStorageSync('baseUrl')
|
|||
|
|
|||
|
const token = uni.getStorageSync('token')
|
|||
|
let header = {
|
|||
|
'Authorization': token
|
|||
|
}
|
|||
|
const requestRes = new Promise((resolve, reject) => {
|
|||
|
uni.uploadFile({
|
|||
|
url: baseUrl + url,
|
|||
|
// files: file.tempFiles, // 使用files 会将传参的数据改为 name: 文件名 : 二进制文件 - {xxx.png: {二进制文件}} 我们需要的是{file: {二进制文件}}
|
|||
|
filePath: params.tempFilePaths[0],
|
|||
|
name: 'file',
|
|||
|
header: {
|
|||
|
// Content-Type: multipart/form-data; boundary=----WebKitFormBoundarybf5YhYJ8fOBadphN 加上这个 会失败
|
|||
|
'Authorization': uni.getStorageSync('token')
|
|||
|
}
|
|||
|
}).then(res => {
|
|||
|
const data = JSON.parse(res.data)
|
|||
|
if (data.code == 0 || data.code == 200) {
|
|||
|
resolve(data)
|
|||
|
} else {
|
|||
|
showTot(data.msg)
|
|||
|
uni.showToast({
|
|||
|
title: '请求出错了!',
|
|||
|
duration: 1000,
|
|||
|
icon: 'error'
|
|||
|
});
|
|||
|
}
|
|||
|
}).catch((err) => {
|
|||
|
reject(err)
|
|||
|
});
|
|||
|
})
|
|||
|
return requestRes
|
|||
|
}
|