import config from "config"

/**
 * http请求
 * @author 万世科技
 * @param {Object} params 
 */
function request(params) {
	// console.log(params)
	// const token = uni.getStorageSync('token')
	const token = '237c5a89-2627-48a7-b0b7-49b68af09d3d'
	return new Promise((resolve, reject) => {
		try {
			params.url = config.domain + params.url
			params.method = params.method || 'POST'

			if (params.loadingTip === '' || params.loadingTip) {
				uni.showLoading({
					title: params.loadingTip
				})
			}
			uni.request({
				...params,
				header: {
					"token": token || ''
				},
				success: (res) => {
					// console.log(res)
					// 防止组件那边使用showLoading这里提前关闭
					if(params.loadingTip === '' || params.loadingTip){
						uni.hideLoading()
					}
					// 这里判断code为1，组件那边不需要再判断then回调就是成功
					if (res.statusCode === 200 && res.data.code === 1) {
						resolve(res.data)
					} else if (res.statusCode === 401 || res.data.code === 401) { // 未登录,或登录过期
						// toLogin()
					} else {
						reject(res.data || {})
					}
				},
				fail: (err) => {
					// console.log('失败')
					// console.log(err)
					uni.hideLoading()
					if(err.data.code === 401) {
						// toLogin()
					}
					reject(err || {})
				}
			})
		} catch (err) {
			reject(err)
		}
	})
}

function toLogin(){
	uni.$u.toast('登录过期')
	uni.clearStorageSync();
	setTimeout(()=> {
		uni.reLaunch({
			url: '/pages/login/wechatlogin'
		})
	}, 600)
}

export default request