import {
    basePath,
} from '@/common/tool.js';
function post(url, data) {
    return new Promise((resolve, reject) => {
        if (data && data.loading !== false) {
            uni.showLoading({
                title: '加载中'
            });
        }
        uni.request({
            url: basePath + url,
            data: {
                ...data
            },
            method: 'POST',
            header: {
                'Content-type': 'application/x-www-form-urlencoded'
            },
            success: (res) => {
				if (res.statusCode != 200){
				    uni.showToast({
				        title: '网络错误请重试,' +res.statusCode,
				        icon: 'error',
				        duration: 2000
				    });
				}
                if (data && data.loading !== false) {
                    uni.hideLoading();
                }
                if (res.data.result === 'success') {
                    resolve(res.data)
                } else {
                    uni.showToast({
                        title: res.data.msg || '系统开小差了',
                        icon: 'none',
                        duration: 2000
                    });
                    reject(res.data)
                }
            },
            fail: (err) => {
                if (data && data.loading !== false) {
                    uni.hideLoading();
                }
                uni.showToast({
                    title: '网络错误请重试',
                    icon: 'none',
                    duration: 2000
                });
                reject(err)
            }
        });
    })
}

function upload(url, data) {
    return new Promise((resolve, reject) => {
        if (data && data.loading !== false) {
            uni.showLoading({
                title: '加载中'
            });
        }
        uni.uploadFile({
            url: basePath + url,
            filePath: data.filePath,
            name: data.name || 'file',
            formData: data.formData || {},
            success: (res) => {
                uni.hideLoading();
                if (JSON.parse(res.data).result === 'success') {
                    resolve(JSON.parse(res.data))
                } else {
                    uni.showToast({
                        title: JSON.parse(res.data).msg || '系统开小差了',
                        icon: 'none',
                        duration: 2000
                    });
                    reject(JSON.parse(res.data))
                }
            },
            fail: (err) => {
                uni.hideLoading();
                uni.showToast({
                    title: '网络错误请重试',
                    icon: 'none',
                    duration: 2000
                });
                reject(err)
            }
        });
    })
}

function uploads(url, data) {
    return new Promise((resolve, reject) => {
        if (data && data.loading !== false) {
            uni.showLoading({
                title: '加载中'
            });
        }
        uni.uploadFile({
            url: basePath + url,
            files: data.files,
            formData: data.formData || {},
            success: (res) => {
                uni.hideLoading();
                if (JSON.parse(res.data).result === 'success') {
                    resolve(JSON.parse(res.data))
                } else {
                    uni.showToast({
                        title: JSON.parse(res.data).msg || '系统开小差了',
                        icon: 'none',
                        duration: 2000
                    });
                    reject(JSON.parse(res.data))
                }
            },
            fail: (err) => {
                uni.hideLoading();
                uni.showToast({
                    title: '网络错误请重试',
                    icon: 'none',
                    duration: 2000
                });
                reject(err)
            }
        });
    })
}


export {post, upload, uploads}
