import Toast from '@vant/weapp/toast/toast';
const { loginURL, registerURL } = require('../API/appraise')
const baseURL = "http://124.222.126.172:8084";//后台服务提供的地址
const wsConnectURL = "ws://124.222.126.172:8084";//websocket连接地址
const uploadUrl = "/pic/upload";
const formatTime = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hour = date.getHours()
  const minute = date.getMinutes()
  const second = date.getSeconds()

  return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}`
}

const messageMap = new Map();


const formatNumber = n => {
  n = n.toString()
  return n[1] ? n : `0${n}`
}



function http(url, option) {
    return new Promise ((resolve, reject) => {
        wx.request({
		  url: baseURL + url,
		  header:{
            "Authorization": (url!=loginURL && url!=registerURL) ? wx.getStorageSync('token') : '',
            "content-type":"application/x-www-form-urlencoded"
		  },
		  ...option,

          success(res) {
				const {data,code,message} = res.data;
			  if(code == 200){
				// resolve(data);
				resolve(res);
			  }else if(code == 500){
				reject(res);
			  }else{
				  reject(res);
			  }
          },
          fail(err) {
            console.log(err);
            reject(err);
          },
          //数据加载完毕关闭loading
          complete: () => {
            wx.hideLoading()
          }
        })
    })
}

function ws(url , option) {
	return new Promise((resolve,reject) => {
		wx.connectSocket({
		  url: wsConnectURL+url,
		  ...option,
		})
		// 监听websocket连接打开
		wx.onSocketOpen((result) => {
			console.log("websocket连接已打开");
		})
		// 失败监控
		wx.onSocketError((result) => {
			console.log("websocket连接失败", result);

		})

	})
}

function upLoad(filePath) {
	return new Promise((resolve,reject) => {
		wx.uploadFile({
		  filePath: filePath,
		  name: 'pic',
		  url: baseURL+uploadUrl,

		  success: (res) => {
			const {data,code,message} = JSON.parse(res.data);
			if(code == 200){
				resolve(data);
			}else{
				Toast.fail(message);
				reject();
			}
		  },
		  fail: (err) => {
			console.log();
			Toast.fail('上传失败');
			console.log(err);
        	reject(err);
		  }
		})
	}

	)
}

function chooseImage(){
	return new Promise((resolve,reject) => {
		wx.chooseImage({
			count: 1,//可选择图片数量
			sizeType: ['original'],//原图
			sourceType: ['album','camera'],//来源
			success: (res)=>{
				resolve(res);
			}
		})
	})
}

module.exports = {
    formatTime: formatTime,
	http,
	ws,
	upLoad,
	chooseImage,
	messageMap
  }