import game_store from '../store/game'
import {gameAddLine, gameEnd} from "../requests/game";

// // 往后端推送一次定时数据
// export function post_data($big_data) {
//   wx.showLoading({
//     title: "正在结束上一个游戏",
//     mask: true
//   })
//   var $this = this
//   //判断数据长度大于理想状态 需要对数组进行切割 逐个提交数据
//   let $len = 300
//   console.log($big_data.attList.length, '结束游戏提交的数据量')
//   if ($big_data.attList.length > $len) {
//     let $count = Math.ceil($big_data.attList.length / $len)
//
//     let index = 0
//     let inter = setInterval(() => {
//       if (index < $count) {
//         let $params = {
//           game_record_id: game_store.getters.getGameRecordId(),
//           //数据段长度大于65 多个提交
//           line: $big_data.attList.slice(index * $len, (index + 1) * $len),
//           line_med: $big_data.medList.slice(index * $len, (index + 1) * $len)
//         }
//         gameAddLine($params).then((res) => {
//           let $data = res.data
//           if ($data.code == 0) {
//             console.log('ok', $params['line'])
//           }
//         })
//       }
//       index++
//       if (index == $count) {
//         clearInterval(inter)
//         game_over()
//       }
//     }, 200)
//     return $count * 500
//   } else {
//     let $params = {
//       game_record_id: game_store.getters.getGameRecordId(),
//       //数据段长度小于65 单个提交
//       line: $big_data.attList,
//       line_med: $big_data.medList
//     }
//
//     if (!$params.line) {
//       return false
//     }
//     gameAddLine($params).then((res) => {
//       let $data = res.data
//       if ($data.code == 0) {
//       }
//       setTimeout(() => {
//         game_over()
//       }, 800)
//     })
//     return 800
//   }
// }
//
// //  结束游戏
// function game_over() {
//   let $params = {
//     game_record_id: game_store.getters.getGameRecordId(),
//     type: game_store.getters.getMode(),
//     play_time: game_store.getters.getPlayTime() - Math.abs(game_store.getters.getPlayedTime())
//   }
//   //
//   gameEnd($params).then((res) => {
//     let $data = res.data
//     to_report()
//   })
// }


function to_report() {
  mpvue.navigateTo({
    url: "/pages/report/main?id=" + game_store.getters.getGameRecordId(),
    success() {
      wx.hideLoading()
      //设置游戏状态为 停止游戏
      game_store.setters.setGameStatus(0)
      //游戏结束重置游戏时间
      wx.removeStorageSync('play_time')
      //删除游戏专注数据
      game_store.remover.rmGameAttMedDatas()
      //游戏结束重置游戏模式
      game_store.setters.setMode(0)
      // //删除游戏得id
      // game_store.setters.removeToyHex()
      //删除隐藏时间
      game_store.remover.rmHideTime()
    }
  })
}

/**
 * 游玩时间倒计时
 * @param value
 * @returns {string}
 */
export function formatPlaySeconds(value) {
  // 字符串转数字
  var secondTime = parseInt(value); // 秒
  var minuteTime = 0; // 分
  if (secondTime > 60) {
    //如果秒数大于60,将秒数转换成整数
    //获取分钟,除以60取整数,得到整数分钟
    minuteTime = parseInt(secondTime / 60);
    //获取秒数,秒数取佘,得到整数秒数
    secondTime = parseInt(secondTime % 60);
    //如果分钟大于60,将分钟转换成小时
  }
  var result = "" + parseInt(secondTime);

  if (minuteTime > 0) {
    if (result.length == 1) {
      result = "0" + result;
    }
    if (parseInt(minuteTime).toString().length == 1) {
      minuteTime = "0" + parseInt(minuteTime);
    }
    result = "" + minuteTime + ":" + result;
  } else {
    result = "00:" + result;
  }
  return result;
}


/**
 *  获取大包数据进行绘制图表
 */
export function get_big_data(hex) {
  let hexAry = []
  for (let i = 0; i < hex.length; i += 2) {
    hexAry.push(hex.substring(i, i+2))
  }
  //专注度数据
  let $att = parseInt(hexAry[6], 16)
  //放松度数据
  let $med = parseInt(hexAry[8], 16)

  let idx = 0
  let dataIndex = ['delta', 'theta', "low_alpha", "high_alpha", "low_beta", "high_beta", "low_gamma", "middle_gamma"]
  let datas = []
  hexAry.pop()
  for (let i = 11; i < hexAry.length; i += 3) {
    let num_1 = parseInt(hexAry[i], 16)
    let num_2 = parseInt(hexAry[i + 1], 16)
    let num_3 = parseInt(hexAry[i + 2], 16)
    let show_value = num_1 + num_2 + num_3;
    let basic_value = parseInt("0x" + hexAry[i] << 16 | "0x" + hexAry[i + 1] << 8 | "0x" + hexAry[i + 2], 16)
    datas[dataIndex[idx]] = show_value
    datas[`${dataIndex[idx]}_basic`] = basic_value
    idx += 1;
  }
  datas['att'] = $att;
  datas['med'] = $med;
  return datas
}