import http from '@/services/http.instence.js'

// 土司提示
const toast = (message) => {
    uni.showToast({
        icon: 'none',
        mask: true,
        title: message
    })
}

http.interceptors.request.use((config) => {
    uni.showLoading({
        mask: true,
        title: config.custom.loading
    })
    // 可使用async await 做异步操作
    config.header = {
        ...config.header,
    }
    /**
    // 如果token不存在，return Promise.reject(config) 会取消本次请求
    if (!token) { 
       return Promise.reject(config)
    }
     **/
    return config
}, config => { // 可使用async await 做异步操作
    return Promise.reject(config)
})

http.interceptors.response.use((response) => {
    uni.hideLoading()
    /* 对响应成功做点什么 可使用async await 做异步操作*/
    const code = response.data.code
    // 未登录
    if (code === -99) {
        console.log('未登录/登录已失效')
        return Promise.reject(response)
    }

    // 服务端返回的状态码不等于-1，则reject()
    if (code != 0) {
        toast(response.data.msg || '网络异常')
        return Promise.reject(response.data)
    }
    console.log(response.data)
    return Promise.resolve(response.data)
}, (response) => {
    /*  对响应错误做点什么 （statusCode !== 200）*/
    console.log(response)
    return Promise.reject(response)
})


export default http
