2021-10-21 09:21:59 +00:00
|
|
|
|
const domainName = 'https://hm.hmzfyy.cn/api/'//域名配置
|
2021-11-05 08:49:56 +00:00
|
|
|
|
// const domainName = 'https://hengmei1.scdxtc.cn/api/'//测试域名配置
|
2021-10-21 09:21:59 +00:00
|
|
|
|
// 统一给参数
|
|
|
|
|
const dataObj = (url, params) => {
|
|
|
|
|
let options = params
|
|
|
|
|
// #ifdef APP-PLUS
|
|
|
|
|
// DOTO:暂时没处理过,只是放在这里
|
|
|
|
|
let data = null; //业务数据
|
|
|
|
|
let terminal = 1 //终端类型,web:0,app:1
|
|
|
|
|
options = {
|
|
|
|
|
...params,
|
|
|
|
|
data,
|
|
|
|
|
sign,
|
|
|
|
|
terminal
|
|
|
|
|
}
|
|
|
|
|
// #endif
|
|
|
|
|
return options
|
|
|
|
|
}
|
|
|
|
|
const goLogin = () => {
|
|
|
|
|
// uni.clearStorageSync();
|
|
|
|
|
console.log('token失效');
|
|
|
|
|
// uni.reLaunch({
|
|
|
|
|
// url: '/pages/login/Login'
|
|
|
|
|
// }) //未授权,请重新登录(401)
|
|
|
|
|
}
|
|
|
|
|
// 请求错误处理
|
|
|
|
|
const checkError = (e, reject) => {
|
|
|
|
|
// console.error("----接口错误----", e)
|
|
|
|
|
if (e.data) {
|
|
|
|
|
if (e.data.code) {
|
|
|
|
|
switch (Number(e.data.code)) {
|
|
|
|
|
case 4001:
|
|
|
|
|
goLogin()
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
reject(e.data)
|
|
|
|
|
} else reject({msg:'接口错误'})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 封装请求
|
|
|
|
|
const request = (method, url, options) => {
|
|
|
|
|
let methods = '';
|
|
|
|
|
let headers = {};
|
|
|
|
|
switch (method) {
|
|
|
|
|
case 'get':
|
|
|
|
|
methods = 'GET'
|
|
|
|
|
headers = {
|
|
|
|
|
'Content-Type': 'application/json; charset=UTF-8',
|
|
|
|
|
'Authorization': 'Bearer '+uni.getStorageSync('token') || ''
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 'post':
|
|
|
|
|
methods = 'POST'
|
|
|
|
|
headers = {
|
|
|
|
|
'Content-Type': 'application/json; charset=UTF-8',
|
|
|
|
|
'Authorization': 'Bearer '+uni.getStorageSync('token') || ''
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 'postForm':
|
|
|
|
|
methods = 'POST'
|
|
|
|
|
headers = {
|
|
|
|
|
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
|
|
|
|
|
'Authorization': 'Bearer '+uni.getStorageSync('token') || ''
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
let obj = {},
|
|
|
|
|
hideLoading = false,
|
|
|
|
|
loadingText = 'loading...';
|
|
|
|
|
if (options) { //如果有options
|
|
|
|
|
if (options.hideLoading) {
|
|
|
|
|
hideLoading = options.hideLoading
|
|
|
|
|
delete options.hideLoading
|
|
|
|
|
}
|
|
|
|
|
if (options.loadingText) {
|
|
|
|
|
loadingText = options.loadingText
|
|
|
|
|
delete options.loadingText
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
uni.request({
|
|
|
|
|
url: `${domainName}${url}`,
|
|
|
|
|
method: methods,
|
|
|
|
|
data: dataObj(url, options),
|
|
|
|
|
header: headers,
|
|
|
|
|
success: res => {
|
|
|
|
|
// console.log('反的结果===>',res);
|
|
|
|
|
if (res.statusCode == 200) {
|
|
|
|
|
if (res.data.code == 0) {
|
|
|
|
|
resolve(res.data)
|
|
|
|
|
} else {
|
|
|
|
|
resolve(res.data)
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
reject(res.data)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
fail: e => {
|
|
|
|
|
checkError(e, reject)
|
|
|
|
|
},
|
|
|
|
|
complete: () => {
|
|
|
|
|
!hideLoading && uni.hideToast()
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 上传文件 封装请求
|
|
|
|
|
const uploadFile = (url, options) => {
|
|
|
|
|
let tempData = options || {}
|
|
|
|
|
uni.showLoading({title: "上传中..."})
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
uni.uploadFile({
|
|
|
|
|
url: `${domainName}${url}`,
|
|
|
|
|
filePath: tempData.file,
|
|
|
|
|
name: 'image',
|
|
|
|
|
fileType:'image',
|
|
|
|
|
formData: tempData,
|
|
|
|
|
header: {
|
|
|
|
|
'Content-Type': 'multipart/form-data;charset=UTF-8',
|
|
|
|
|
'Authorization': 'Bearer '+uni.getStorageSync('token') || ''
|
|
|
|
|
},
|
|
|
|
|
success: res => {
|
|
|
|
|
if (res.statusCode == 200) {
|
2021-11-06 08:32:54 +00:00
|
|
|
|
let temp = JSON.parse(res.data);
|
2021-10-21 09:21:59 +00:00
|
|
|
|
if (temp.code == 0) {
|
|
|
|
|
resolve(temp)
|
|
|
|
|
} else {
|
|
|
|
|
reject(temp)
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: temp.msg || '接口错误(' + temp.code + ')',
|
|
|
|
|
icon: 'none'
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: `未知错误(${res.statusCode})`,
|
|
|
|
|
icon: 'none'
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
fail(e) {
|
|
|
|
|
// uni.showToast({
|
|
|
|
|
// title: '接口请求超时',
|
|
|
|
|
// icon: 'none'
|
|
|
|
|
// })
|
|
|
|
|
// reject(e.data)
|
|
|
|
|
},
|
|
|
|
|
complete: () => {
|
|
|
|
|
uni.hideLoading()
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
get: (url, options) => {
|
|
|
|
|
return request('get', url, options)
|
|
|
|
|
},
|
|
|
|
|
// JOSN格式
|
|
|
|
|
post: (url, options) => {
|
|
|
|
|
return request('post', url, options)
|
|
|
|
|
},
|
|
|
|
|
// form-data格式
|
|
|
|
|
postForm: (url, options) => {
|
|
|
|
|
return request('postForm', url, options)
|
|
|
|
|
},
|
|
|
|
|
// 上传
|
|
|
|
|
upload: (url, options) => {
|
|
|
|
|
return uploadFile(url, options)
|
|
|
|
|
}
|
|
|
|
|
}
|