var api = require('../config/api.js');
var app = getApp();

function formatTime(date) {
  var year = date.getFullYear()
  var month = date.getMonth() + 1
  var day = date.getDate()

  var hour = date.getHours()
  var minute = date.getMinutes()
  var second = date.getSeconds()


  return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}
function formetdate(date){
  var year = date.getFullYear();
  var month = date.getMonth() + 1;
  var day = date.getDate(); 
  return [year, month, day].map(formatNumber).join('-') ;
}

function formatNumber(n) {
  n = n.toString()
  return n[1] ? n : '0' + n
}

/**
 * 封封微信的的request
 */
function request(url, data = {}, method = "GET") { 
  return new Promise(function(resolve, reject) {
    wx.request({
      url: url,
      data: data,
      method: method,
      header: {
        'Content-Type': 'application/json',
        'X-JZ-Token': wx.getStorageSync('token')
      },
      success: function(res) {

        if (res.statusCode == 200) {

          if (res.data.errno == 501) {
            // 清除登录相关内容
            try {
              wx.removeStorageSync('userInfo');
              wx.removeStorageSync('token');
            } catch (e) {
              // Do something when catch error
            }
            // 切换到登录页面
            wx.navigateTo({
              url: '/pages/auth/login/login'
            });
          } else {
            resolve(res.data);
          }
        } else {
          reject(res.errMsg);
        }

      },
      fail: function(err) {
        reject(err)
      }
    })
  });
}

function redirect(url) {

  //判断页面是否需要登录
  if (false) {
    wx.redirectTo({
      url: '/pages/auth/login/login'
    });
    return false;
  } else {
    wx.redirectTo({
      url: url
    });
  }
}

function showErrorToast(msg) {
  wx.showToast({
    title: msg,
    image: '/static/images/icon_error.png'
  })
}
function formatweek(date){
  let week=date.getDay();
  let weekArr='';
  switch (week){
    case 1:
      weekArr='周一';
      break;
    case 2:
      weekArr='周二';
      break;
   case 3:
        weekArr='周三';
        break;
   case 4:
        weekArr='周四';
        break;
    case 5:
        weekArr='周五';
        break;
    case 6:
          weekArr='周六';
          break;
    case 0:
           weekArr='周日';
            break;
      
  }
  return weekArr;

}
function getDateList(date,interval){
   let dateList=[];
   for(let i=0;i<7;i++){
     let datestamp=new Date(date.getTime()+i*60*60*1000*24*interval);
      let dateItem={
        week:formatweek(datestamp),
        date:formetdate(datestamp),
        id:new Date(datestamp).getDay()
      };
      dateList.push(dateItem);
   }
   return dateList;
}

function dateDifference( end) { 
  // //比较2个日期 
  // console.log(start + ",," + end);
  // var stime = new Date(start).getTime();
  var stime = new Date().getTime();
  console.log(end.replace(/-/g, "/"));
  var etime = new Date(end.replace(/-/g, "/")).getTime();
  var usedTime = etime - stime; //两个时间戳相差的毫秒数

  var days = Math.floor(usedTime / (24 * 3600 * 1000));
  //计算出小时数
  var leave1 = usedTime % (24 * 3600 * 1000); //计算天数后剩余的毫秒数
  var hours = Math.floor(leave1 / (3600 * 1000));
  //计算相差分钟数
  var leave2 = leave1 % (3600 * 1000); //计算小时数后剩余的毫秒数
  var minutes = Math.floor(leave2 / (60 * 1000));
  if (days == 0 && hours == 0) {
    return minutes + "分钟";
  }
  if (days == 0) {
    return hours + "时" + minutes + "分钟";
  }
  var time = days + "天" + hours + "时" + minutes + "分钟";
  // var time = days;
  return time;
}

module.exports = {
  formatTime,
  formetdate,
  request,
  redirect,
  showErrorToast,
  formatweek,
  getDateList,
  dateDifference
}