// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from "vue";
import App from "./App";
import router from "./router";
import apis1 from "./util/apis1.js";
import animated from "animate.css";
import store from "./store/store";
import scroll from "vue-seamless-scroll";
import LzEvent from "lz-event-tracking/lib/vue";
import cookie from "js-cookie";
import VueClipBoard from 'vue-clipboard2'
Vue.prototype.Cook = cookie;
// import LzEvent from './util/LzEvent/vue';
// import LzEvent from './util/LzEventOld/vue';
import moment from "moment"; //导入文件
// 引入所有自定义封装的组件
import "./router/GlobalComponents.js";
import {
  getUrlQueryValueByKey,
  prizeTypeCheckPonit,
  taskTypeCheckPonit
} from "./util/tools.js";
import VConsole from "vconsole";

import { Dialog, NoticeBar, Toast, Stepper } from "vant";
import VueAwesomeSwiper from "vue-awesome-swiper";
import Swiper, { Autoplay, Pagination } from "swiper";

console.log(Vue, "Vue");

// import wx from "@weixin-js-sdk";
var wx = require("weixin-js-sdk");
Vue.use(VueClipBoard)
Vue.use(Toast);
Vue.use(Dialog);
Vue.use(NoticeBar);
Vue.use(Stepper);
Vue.prototype.$moment = moment; //赋值使用
//禁止滑动
Vue.prototype.stopScroll = function() {
  var mo = function(e) {
    // 不要捕获即可，不需要禁止默认事件
    // e.preventDefault()
  };
  document.body.style.overflow = "hidden";
  document.addEventListener("touchmove", mo, false);
};
//可以滑动
Vue.prototype.canScroll = function() {
  var mo = function(e) {
    // 不要捕获即可，不需要禁止默认事件
    // e.preventDefault()
  };
  document.body.style.overflow = "";
  document.removeEventListener("touchmove", mo, false);
};

//格式化时间戳
Vue.filter("filterDate", function(value, formatString) {
  formatString = formatString || "YYYY-MM-DD HH:mm:ss";
  // return moment(value).format(formatString); // value可以是普通日期 20170723
  return moment(value).format(formatString); // 这是时间戳转时间
});

// 多个指令引入
Vue.use(Vue => {
  (requireContext => {
    const arr = requireContext.keys().map(requireContext);
    (arr || []).forEach(directive => {
      directive =
        directive.__esModule && directive.default
          ? directive.default
          : directive;
      Object.keys(directive).forEach(key => {
        Vue.directive(key, directive[key]);
      });
    });
  })(require.context("./util/directive", false, /^\.\/.*\.js$/));
});

Swiper.use([Pagination, Autoplay]);
Vue.use(VueAwesomeSwiper /* { default options with global component } */);

Vue.use(scroll);
Vue.use(animated);
Vue.config.productionTip = false;
Vue.prototype.publicData = new Vue();
Vue.prototype.toast = Toast;
Vue.prototype.dialog = Dialog;
// console.log('******', process)

sessionStorage.setItem("isC", "c");
// import basicCom from './components/basicCom/basicMain.vue'
// Vue.component('basicCom',()=>import ('./components/basicCom/basicMain.vue'))
// Vue.use(basicCom)

let cur_url = location.href;
var appName = "";
appName = getUrlQueryValueByKey("prd", cur_url);
// 老版埋点
// Vue.use(LzEvent, {
//     env: process.env.TRACKING, //test 测试 prod生产
//     platform: 'JD', // JD、SUNING、…………
//     sys: 'interaction', // 系统来源，例如：interact - 营销子系统， decoration - 装修子系统，不可以为空
//     appName: appName, // 应用名称：crm - 云鹿， cjwx - 超级无线，不可以为空
//     scrollOnBody: false, // 页面body元素是否可以滚动，可以为空
//     axios, // axios，不可以为空
//     requestType: 1, // 请求使用的类库 1 - axios，可以为空
//     // 以下信息京东数据回流的时候需要使用
//     siteId: 'JA2019_2132395', // 京东侧注册的网站id
//     userPin: store.state.customerId, // 京东用户pin(customerId)
//     shareUserPin: store.state.shareUserPin, // 如果是分享进入的本页面需要分享人的标识
// })

var templatePage = getUrlQueryValueByKey("templatePage", cur_url);

if (templatePage) {
  this.isTemplatePage = true;
} else {
  this.isTemplatePage = false;
}
console.log(this.isTemplatePage, "ccccccccc");
if (this.isTemplatePage) {
} else {
  // 新版埋点
  Vue.use(LzEvent, {
    env: process.env.TRACKING, //test 测试 prod生产
    platform: "JD", // JD、SUNING、…………
    sys: "interaction", // 系统来源，例如：interact - 营销子系统， decoration - 装修子系统，不可以为空
    appName: appName, // 应用名称：crm - 云鹿， cjwx - 超级无线，不可以为空
    scrollOnBody: false, // 页面body元素是否可以滚动，可以为空
    requestType: 1 // 请求使用的类库 1 - axios，可以为空
  });
}

let { getToken, initPage, initPage1, doFrontBuryPoint } = apis1;
Vue.prototype.doFrontBuryPoint = doFrontBuryPoint;
Vue.prototype.prizeTypeCheckPonit = prizeTypeCheckPonit;
Vue.prototype.taskTypeCheckPonit = taskTypeCheckPonit;
// let cur_url = location.href;
// console.log(location.href,"zzzzzzzzzzzzzzzzzzzzzz")
var templatePage = getUrlQueryValueByKey("templatePage", cur_url);
if (templatePage) {
  this.isTemplatePage = true;
} else {
  this.isTemplatePage = false;
}

var first = true;

router.beforeEach((to, from, next) => {
  console.log(to, "to");
  if (this.isTemplatePage && !to.name) {
    next({
      replace: true,
      name: "InitIndex",
      query: to.query
    });
  } else {
    if (store.state.token) {
      // console.log(to, 'to')
      console.log("已经登录成功");
      next();
    } else if (to.name === "index") {
      next({
        replace: true,
        name: "InitIndex",
        query: to.query
      });
    } else if (!to.name) {
      let aa = decodeURIComponent(to.fullPath)
        .split("?")[1]
        .split("&");
      let cc = {};
      for (var i = 0; i < aa.length; i++) {
        let bb = aa[i].split("=");
        cc[bb[0]] = bb[1];
      }

      next({
        replace: true,
        name: "InitIndex",
        query: cc,
        fullPath: "/?" + decodeURIComponent(to.fullPath).split("?")[1]
      });

      //  alert(JSON.stringify(to));
    } else {
      // console.log(to, 'to')
      console.log("已经登录");
      // window.location.href = '/index';
      next(); //新增这一句
    }
  }
});

// let vConsole = new VConsole();
if (getUrlQueryValueByKey("isDebug") === "true") {
  let vConsole = new VConsole();
}
// const createApp = () => {
new Vue({
  router,
  store,
  render: h => h(App),
  mounted: function() {
    this.fetchData();
  },
  methods: {
    fetchData() {
      const that = this;
    }
  }
}).$mount("#appC");
// };

// initPage1(() => {
//   let cur_url = location.href;
//   let index = cur_url.indexOf('?');
//   let paramStr = cur_url.substring(index + 1, cur_url.length);
//   let params = paramStr.split('&');

//   let paramsName = 'activityType' //活动类型
//   let paramsActivityId = 'activityId' //活动id
//   let shareUserId = 'shareUserId' //分享人id
//   let templatePages = 'templatePage' //分享人id
//   // console.log(cur_url.indexOf(templatePages))

//   if (cur_url.indexOf(templatePages) >= 0) {
//     this.isTemplatePage = true;
//   } else {
//     this.isTemplatePage = false;
//   }

//   params.forEach(element => {
//     if (element.indexOf(paramsName) >= 0) {
//       this.activityType = element.substring(element.indexOf('=') + 1, element.length);
//       sessionStorage.setItem('activityType', this.activityType)
//     }
//     if (element.indexOf(paramsActivityId) >= 0) {
//       var activityId = element.substring(element.indexOf('=') + 1, element.length);
//       store.commit('setActivityId', activityId); //1344185866492006402
//     }

//     //判断是否有分享人id shareUserId
//     if (element.indexOf(shareUserId) >= 0) {
//       var shareUserId1 = element.substring(element.indexOf('=') + 1, element.length);
//       store.commit('setShareUserId', shareUserId1); //1344185866492006402
//     } else {
//       store.commit('setShareUserId', ''); //1344185866492006402
//     }

//   });
//   // console.log('this.isTemplatePage', this.isTemplatePage)
//   // console.log(location.origin)

//   // if (this.isTemplatePage) {
//     createApp();
//   // } else {
//   //   if (process.env.NODE_ENV == "development") {
//   //     getToken(() => {
//   //       createApp();
//   //     })
//   //   } else {
//   //     jdLogin(() => {
//   //       getToken(() => {
//   //         createApp();
//   //       })
//   //     });
//   //   }
//   // }

// });
