console.log('translation-rocket ^_^ ')
// background.js

// chrome.contextMenus.create({
//   title: '使用度娘搜索:%s', // %s表示选中的文字
//   contexts: ['selection'], // 只有当选中文字时才会出现此右键菜单
//   onclick: function (params) {
//     // 注意不能使用location.href,因为location是属于background的window对象
//     chrome.tabs.create({
//       url:
//         'https://www.baidu.com/s?ie=utf-8&wd=' +
//         encodeURI(params.selectionText),
//     })
//   },
// })

// 获取当前选项卡ID
function getCurrentTabId(callback) {
  chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) {
    if (callback) callback(tabs.length ? tabs[0].id : null)
  })
}

// 当前标签打开某个链接
function openUrlCurrentTab(url) {
  getCurrentTabId((tabId) => {
    chrome.tabs.update(tabId, { url: url })
  })
}

function handleStateChange() {}

if (chrome.contextMenus) {
  chrome.contextMenus.create({
    title: '发射选择的单词:%s', // %s表示选中的文字
    contexts: ['selection'], // 只有当选中文字时才会出现此右键菜单
    onclick: function (params) {
      chrome.browserAction.setBadgeText({ text: 'new' })
      chrome.browserAction.setBadgeBackgroundColor({ color: [255, 0, 0, 255] })

      let ajax = httpHelp
      let url = 'http://localhost:8000/Translate/Rocket'
      ajax.post(
        url,
        {},
        // { text: encodeURI(params.selectionText) },
        { text: params.selectionText },
        (res) => {
          console.log(res)
        },
        (e) => {
          console.log(e)
        },
      )
    },
  })
}

// 常用工具函数
var httpHelp = {
  /* ajax请求get
   * @param url     string   请求的路径
   * @param query   object   请求的参数query
   * @param successFunc  function 请求成功之后的回调
   * @param failFunc  function 请求失败的回调
   * @param isJson  boolean  true： 解析json  false：文本请求  默认值true
   */
  get: function (url, headers, successFunc, failFunc) {
    // 拼接url加query
    // if (query) {
    //   var params = tools.formatParams(query)
    //   url += '?' + params
    //   // console.log('-------------',url);
    // }

    // 1、创建对象
    var xhr = new XMLHttpRequest()
    // 2、建立连接
    // true:请求为异步  false:同步
    xhr.open('GET', url, true)
    if (headers) {
      for (var key in Object.keys(headers)) {
        xhr.setRequestHeader(key, headers[key])
      }
    }
    // ajax.setRequestHeader("Origin",STATIC_PATH);

    // ajax.setRequestHeader("Access-Control-Allow-Origin","*");
    // // 响应类型
    // ajax.setRequestHeader('Access-Control-Allow-Methods', '*');
    // // 响应头设置
    // ajax.setRequestHeader('Access-Control-Allow-Headers', 'x-requested-with,content-type');
    // ajax.withCredentials = true;
    // 3、发送请求
    xhr.send()

    // 4、监听状态的改变
    xhr.onreadystatechange = function () {
      if (xhr.readyState === 4) {
        if (xhr.status === 200) {
          // 用户传了回调才执行
          successFunc && successFunc(JSON.parse(xhr.responseText))
        } else {
          // 请求失败
          failFunc && failFunc()
        }
      }
    }
  },

  /* ajax请求post
   * @param url     string   请求的路径
   * @param data   object   请求的参数query
   * @param successFunc  function 请求成功之后的回调
   * @param failFunc  function 请求失败的回调
   * @param isJson  boolean  true： 解析json  false：文本请求  默认值true
   */
  post: function (url, headers, data, successFunc, failFunc) {
    // var formData = new FormData()
    // for (var i in data) {
    //   formData.append(i, data[i])
    // }
    //得到xhr对象
    var xhr = null
    if (XMLHttpRequest) {
      xhr = new XMLHttpRequest()
    } else {
      xhr = new ActiveXObject('Microsoft.XMLHTTP')
    }

    xhr.open('post', url, true)
    // 设置请求头  需在open后send前
    // 这里的CSRF需自己取后端获取，下面给出获取代码
    // xhr.setRequestHeader('X-CSRFToken', CSRF)
    if (headers) {
      for (var key in Object.keys(headers)) {
        xhr.setRequestHeader(key, headers[key])
      }
    }

    // set `Content-Type` header
    xhr.setRequestHeader('Content-Type', 'application/json')
    // send rquest with JSON payload
    xhr.send(JSON.stringify(data))
    // xhr.send(formData)

    xhr.onreadystatechange = function () {
      if (xhr.readyState === 4) {
        if (xhr.status === 200) {
          successFunc && successFunc(JSON.parse(xhr.responseText))
        } else {
          // 请求失败
          failFunc && failFunc()
        }
      }
    }
  },
}

// // 调用
// // 接口地址
// let url = ""
// // 传输数据 为object
// let data = {}

// tools.ajaxGet(url, data, function(res){
// 	console.log('返回的数据:',res)
// 	// ....
// })
