You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
408 lines
8.8 KiB
408 lines
8.8 KiB
import {
|
|
apiBaseUrl
|
|
} from './config.js';
|
|
import mallplusCopyright from '@/components/mall-copyright/mallplusCopyright.vue';
|
|
import Api from '@/common/api';
|
|
import * as common from './common.js' //引入common
|
|
import * as db from './db.js' //引入common
|
|
// 需要登陆的,都写到这里,否则就是不需要登陆的接口
|
|
const methodsToken = [
|
|
'user.info',
|
|
'user.editinfo',
|
|
'user.changeavatar',
|
|
'user.logout',
|
|
'user.addgoodsbrowsing',
|
|
'user.delgoodsbrowsing',
|
|
'user.goodsbrowsing',
|
|
'user.goodscollection',
|
|
'user.goodscollectionlist',
|
|
'user.vuesaveusership',
|
|
'user.saveusership',
|
|
'user.getshipdetail',
|
|
'user.setdefship',
|
|
'user.editship',
|
|
'user.removeship',
|
|
'user.getusership',
|
|
'user.pay',
|
|
'user.orderevaluate',
|
|
'user.getuserdefaultship',
|
|
'user.issign',
|
|
'user.sign',
|
|
'user.mypoint',
|
|
'user.userpointlog',
|
|
'user.getbankcardlist',
|
|
'user.getdefaultbankcard',
|
|
'user.addbankcard',
|
|
'user.removebankcard',
|
|
'user.setdefaultbankcard',
|
|
'user.getbankcardinfo',
|
|
'user.editpwd',
|
|
'user.forgotpwd',
|
|
'user.recommend',
|
|
'user.balancelist',
|
|
'user.sharecode',
|
|
'user.cash',
|
|
'user.cashlist',
|
|
'user.myinvite',
|
|
'user.activationinvite',
|
|
'coupon.getcoupon',
|
|
'coupon.usercoupon',
|
|
'cart.add',
|
|
'cart.del',
|
|
'cart.getlist',
|
|
'cart.setnums',
|
|
'cart.getnumber',
|
|
'order.cancel',
|
|
'order.del',
|
|
'order.details',
|
|
'order.confirm',
|
|
'order.getlist',
|
|
'order.create',
|
|
'order.getship',
|
|
'order.getorderlist',
|
|
'order.getorderstatusnum',
|
|
'order.aftersaleslist',
|
|
'order.aftersalesinfo',
|
|
'order.aftersalesstatus',
|
|
'order.addaftersales',
|
|
'order.sendreship',
|
|
'order.iscomment',
|
|
'payments.getinfo',
|
|
'user.getuserpoint',
|
|
'coupon.getcouponkey',
|
|
'store.isclerk',
|
|
'store.storeladinglist',
|
|
'store.ladinginfo',
|
|
'store.lading',
|
|
'store.ladingdel',
|
|
'distribution_center-api-info',
|
|
'distribution_center-api-applydistribution',
|
|
'distribution_center-api-setstore',
|
|
'distribution_center-api-myorder',
|
|
'pintuan.pintuanteam',
|
|
'lottery-api-getLotteryConfig',
|
|
'lottery-api-lottery',
|
|
'lottery-api-lotteryLog'
|
|
];
|
|
|
|
const post = (method, data, callback) => {
|
|
uni.showLoading({
|
|
title: '加载中'
|
|
});
|
|
|
|
// 判断token是否存在
|
|
if (methodsToken.indexOf(method) >= 0) {
|
|
// 获取用户token
|
|
let userToken = db.get("userToken");
|
|
if (!userToken) {
|
|
common.jumpToLogin();
|
|
return false;
|
|
} else {
|
|
data.token = userToken;
|
|
}
|
|
}
|
|
|
|
data.method = method;
|
|
|
|
uni.request({
|
|
url: apiBaseUrl + 'api.html',
|
|
data: data,
|
|
header: {
|
|
'Accept': 'application/json',
|
|
'Content-Type': 'application/json',
|
|
// 'Content-Type': 'application/x-www-form-urlencoded', //自定义请求头信息
|
|
},
|
|
method: 'POST',
|
|
success: (response) => {
|
|
uni.hideLoading();
|
|
const result = response.data
|
|
if (!result.status) {
|
|
// 登录信息过期或者未登录
|
|
if (result.data === 14007 || result.data === 14006) {
|
|
db.del("userToken");
|
|
uni.showToast({
|
|
title: result.msg,
|
|
icon: 'none',
|
|
duration: 1000,
|
|
complete: function() {
|
|
setTimeout(function() {
|
|
uni.hideToast();
|
|
// #ifdef H5 || APP-PLUS
|
|
uni.navigateTo({
|
|
url: '/pages/login/login/index1'
|
|
})
|
|
// #endif
|
|
// #ifdef MP-WEIXIN || MP-ALIPAY
|
|
uni.navigateTo({
|
|
url: '/pages/login/choose/index',
|
|
animationType: 'pop-in',
|
|
animationDuration: 200
|
|
});
|
|
// #endif
|
|
}, 1000)
|
|
}
|
|
});
|
|
}
|
|
}
|
|
callback(result);
|
|
},
|
|
complete: () => {
|
|
uni.hideLoading();
|
|
},
|
|
fail: (error) => {
|
|
uni.hideLoading();
|
|
if (error && error.response) {
|
|
showError(error.response);
|
|
}
|
|
},
|
|
});
|
|
|
|
}
|
|
|
|
//插件post
|
|
const pluginsPost = (method, data, callback) => {
|
|
uni.showLoading({
|
|
title: '加载中'
|
|
});
|
|
|
|
// 判断token是否存在
|
|
if (methodsToken.indexOf(method) >= 0) {
|
|
// 获取用户token
|
|
let userToken = db.get("userToken");
|
|
if (!userToken) {
|
|
common.jumpToLogin();
|
|
return false;
|
|
} else {
|
|
data.token = userToken;
|
|
}
|
|
}
|
|
uni.request({
|
|
url: apiBaseUrl + 'plugins/' + method + '.html',
|
|
data: data,
|
|
header: {
|
|
'Accept': 'application/json',
|
|
'Content-Type': 'application/json',
|
|
// 'Content-Type': 'application/x-www-form-urlencoded', //自定义请求头信息
|
|
},
|
|
method: 'POST',
|
|
success: (response) => {
|
|
uni.hideLoading();
|
|
const result = response.data
|
|
if (!result.status) {
|
|
// 登录信息过期或者未登录
|
|
if (result.data === 14007 || result.data === 14006) {
|
|
db.del("userToken");
|
|
uni.showToast({
|
|
title: result.msg,
|
|
icon: 'none',
|
|
duration: 1000,
|
|
complete: function() {
|
|
setTimeout(function() {
|
|
uni.hideToast();
|
|
// #ifdef H5 || APP-PLUS
|
|
uni.navigateTo({
|
|
url: '/pages/login/login/index1'
|
|
})
|
|
// #endif
|
|
// #ifdef MP-WEIXIN || MP-ALIPAY
|
|
uni.navigateTo({
|
|
url: '/pages/login/choose/index',
|
|
animationType: 'pop-in',
|
|
animationDuration: 200
|
|
});
|
|
// #endif
|
|
}, 1000);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
callback(result);
|
|
},
|
|
fail: (error) => {
|
|
uni.hideLoading();
|
|
if (error && error.response) {
|
|
showError(error.response);
|
|
}
|
|
},
|
|
complete: () => {
|
|
setTimeout(function() {
|
|
uni.hideLoading();
|
|
}, 250);
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
const get = (url, callback) => {
|
|
uni.showLoading({
|
|
title: '加载中'
|
|
});
|
|
uni.request({
|
|
url: url,
|
|
header: {
|
|
'Accept': 'application/json',
|
|
'Content-Type': 'application/x-www-form-urlencoded', //自定义请求头信息
|
|
},
|
|
method: 'GET',
|
|
success: (response) => {
|
|
uni.hideLoading();
|
|
callback(response.data);
|
|
},
|
|
fail: (error) => {
|
|
uni.hideLoading();
|
|
if (error && error.response) {
|
|
showError(error.response);
|
|
}
|
|
},
|
|
complete: () => {
|
|
setTimeout(function() {
|
|
uni.hideLoading();
|
|
}, 250);
|
|
}
|
|
});
|
|
}
|
|
|
|
const showError = error => {
|
|
let errorMsg = ''
|
|
switch (error.status) {
|
|
case 400:
|
|
errorMsg = '请求参数错误'
|
|
break
|
|
case 401:
|
|
errorMsg = '未授权,请登录'
|
|
break
|
|
case 403:
|
|
errorMsg = '跨域拒绝访问'
|
|
break
|
|
case 404:
|
|
errorMsg = `请求地址出错: ${error.config.url}`
|
|
break
|
|
case 408:
|
|
errorMsg = '请求超时'
|
|
break
|
|
case 500:
|
|
errorMsg = '服务器内部错误'
|
|
break
|
|
case 501:
|
|
errorMsg = '服务未实现'
|
|
break
|
|
case 502:
|
|
errorMsg = '网关错误'
|
|
break
|
|
case 503:
|
|
errorMsg = '服务不可用'
|
|
break
|
|
case 504:
|
|
errorMsg = '网关超时'
|
|
break
|
|
case 505:
|
|
errorMsg = 'HTTP版本不受支持'
|
|
break
|
|
default:
|
|
errorMsg = error.msg
|
|
break
|
|
}
|
|
|
|
uni.showToast({
|
|
title: errorMsg,
|
|
icon: 'none',
|
|
duration: 1000,
|
|
complete: function() {
|
|
setTimeout(function() {
|
|
uni.hideToast();
|
|
}, 1000);
|
|
}
|
|
});
|
|
}
|
|
|
|
// 文件上传
|
|
export const uploadFiles = (callback) => {
|
|
uni.chooseImage({
|
|
success: (chooseImageRes) => {
|
|
uni.showLoading({
|
|
title: '上传中...'
|
|
});
|
|
const tempFilePaths = chooseImageRes.tempFilePaths;
|
|
const uploadTask = uni.uploadFile({
|
|
url: Api.BASEURI +'upload', //仅为示例,非真实的接口地址
|
|
filePath: tempFilePaths[0],
|
|
fileType: 'image',
|
|
name: 'file',
|
|
headers: {
|
|
'Accept': 'application/json',
|
|
'Content-Type': 'multipart/form-data',
|
|
},
|
|
formData: {
|
|
'method': 'images.upload',
|
|
'upfile': tempFilePaths[0]
|
|
},
|
|
success: (uploadFileRes) => {
|
|
callback(JSON.parse(uploadFileRes.data));
|
|
},
|
|
fail: (error) => {
|
|
if (error && error.response) {
|
|
showError(error.response);
|
|
}
|
|
},
|
|
complete: () => {
|
|
setTimeout(function() {
|
|
uni.hideLoading();
|
|
}, 250);
|
|
}
|
|
});
|
|
// uploadTask.onProgressUpdate((res) => {
|
|
// console.log('上传进度' + res.progress);
|
|
// console.log('已经上传的数据长度' + res.totalBytesSent);
|
|
// console.log('预期需要上传的数据总长度' + res.totalBytesExpectedToSend);
|
|
//
|
|
// // 测试条件,取消上传任务。
|
|
// if (res.progress > 50) {
|
|
// uploadTask.abort();
|
|
// }
|
|
// });
|
|
}
|
|
});
|
|
}
|
|
|
|
// 上传图片
|
|
export const uploadImage = (num, callback) => {
|
|
uni.chooseImage({
|
|
count: num,
|
|
success: (res) => {
|
|
uni.showLoading({
|
|
title: '上传中...'
|
|
});
|
|
let tempFilePaths = res.tempFilePaths
|
|
for (var i = 0; i < tempFilePaths.length; i++) {
|
|
uni.uploadFile({
|
|
url: apiBaseUrl + 'api.html',
|
|
filePath: tempFilePaths[i],
|
|
fileType: 'image',
|
|
name: 'file',
|
|
headers: {
|
|
'Accept': 'application/json',
|
|
'Content-Type': 'multipart/form-data',
|
|
},
|
|
formData: {
|
|
'method': 'images.upload',
|
|
'upfile': tempFilePaths[i]
|
|
},
|
|
success: (uploadFileRes) => {
|
|
callback(JSON.parse(uploadFileRes.data));
|
|
},
|
|
fail: (error) => {
|
|
if (error && error.response) {
|
|
showError(error.response);
|
|
}
|
|
},
|
|
complete: () => {
|
|
setTimeout(function() {
|
|
uni.hideLoading();
|
|
}, 250);
|
|
},
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
|