import { message } from 'antd';

// ====页面动态加载C-Lodop云打印必须的文件CLodopfuncs.js====

const head = document.head || document.getElementsByTagName('head')[0] || document.documentElement;

// // 让其它电脑的浏览器通过本机打印（仅适用C-Lodop自带的例子）：
// let oscript = document.createElement('script')
// oscript.src = '/CLodopfuncs.js'
// head.insertBefore(oscript, head.firstChild)

// 让本机的浏览器打印(更优先一点)：
let oscript = document.createElement('script');
oscript.src = 'http://localhost:8001/CLodopfuncs.js?priority=2';
head.insertBefore(oscript, head.firstChild);

// 加载双端口(8000和18000）避免其中某个端口被占用：
oscript = document.createElement('script');
oscript.src = 'http://localhost:8000/CLodopfuncs.js?priority=1';
head.insertBefore(oscript, head.firstChild);

const needCLodop = () => {
  // try {
  //   let ua = navigator.userAgent
  //   if (ua.match(/Windows\sPhone/i) !== null) return true
  //   if (ua.match(/iPhone|iPod/i) !== null) return true
  //   if (ua.match(/Android/i) !== null) return true
  //   if (ua.match(/Edge\D?\d+/i) !== null) return true
  //   if (ua.match(/QQBrowser/i) !== null) return false
  //   const verTrident = ua.match(/Trident\D?\d+/i)
  //   const verIE = ua.match(/MSIE\D?\d+/i)
  //   let verOPR = ua.match(/OPR\D?\d+/i)
  //   let verFF = ua.match(/Firefox\D?\d+/i)
  //   const x64 = ua.match(/x64/i)
  //   if ((verTrident === null) && (verIE === null) && (x64 !== null)) {
  //     return true
  //   } else if (verFF !== null) {
  //     verFF = verFF[0].match(/\d+/)
  //     if (verFF[0] >= 42) return true
  //   } else if (verOPR !== null) {
  //     verOPR = verOPR[0].match(/\d+/)
  //     if (verOPR[0] >= 32) return true
  //   } else if ((verTrident === null) && (verIE === null)) {
  //     let verChrome = ua.match(/Chrome\D?\d+/i)
  //     if (verChrome !== null) {
  //       verChrome = verChrome[0].match(/\d+/)
  //       if (verChrome[0] >= 42) return true
  //     }
  //   }
  //   return false
  // } catch (err) {
  //   return true
  // }
  return true;
};

// ====获取LODOP对象的主过程：====
const getLodop = (oOBJECT, oEMBED) => {
  let LODOP = {};
  if (needCLodop()) {
    try {
      try {
        LODOP = getCLodop();
        // console.log(LODOP);
      } catch (err) {
        message.warn('请确认打印控件安装正确!可从页面右上角进入帮助页面。');
        console.log(err);
      }

      if (!LODOP && document.readyState !== 'complete') {
        message.warn('C-Lodop没准备好，请稍后再试！');
        return 0;
      }

      // 清理原例子内的object或embed元素，避免乱提示：
      if (oEMBED && oEMBED.parentNode) { oEMBED.parentNode.removeChild(oEMBED); }
      if (oOBJECT && oOBJECT.parentNode) { oOBJECT.parentNode.removeChild(oOBJECT); }

      // ===如下空白位置适合调用统一功能(如注册语句、语言选择等):===
      LODOP.SET_LICENSES('上海埃林哲软件系统股份有限公司', 'B42F561B0585DBFBF9FFB7F5C37710CB', '上海埃林哲軟件系統股份有限公司', '594A63FE714C01347B7CC8ADC5F26306');
      LODOP.SET_LICENSES('THIRD LICENSE', '', 'Shanghai Elitesland Software System of Limited by Share Ltd', 'CF2EF16F1866B3DC21CB3B811E36A8E0');

      return LODOP;
    } catch (err) {
      console.log(`getLodop出错:${err}`);
    }
  } else {
    console.log('need C lodop');
  }
};

export default {
  getLodop,
};
