import Vue from 'vue'
import Router from 'vue-router'
import store from "@/store";
// import { Message,MessageBox } from 'element-ui'
//自定义组件
import login from "../page/logpage/log/login.vue"
import index from "../page/homepage/index.vue"
import home from "../page/homepage/home/home.vue"
import toolmarker from "../page/homepage/tool/toolmarker.vue"
import tooldetails from "../page/homepage/tool/tooldetails.vue"
import crowd from "../page/homepage/crowdsourcing/crowd.vue"
import crowddetails from "../page/homepage/crowdsourcing/crowddetails.vue"
import userhome from "../page/homepage/crowdsourcing/userhome.vue"
import publishtasks from "../page/homepage/crowdsourcing/publishtasks.vue"
import train from "../page/homepage/traininstitute/train.vue"
import teacherSign from "../page/homepage/traininstitute/teacherSign.vue"
import teacherDetail from "../page/homepage/traininstitute/teacherDetail.vue"
import ability from "../page/homepage/personability/ability.vue"
import abilityUser from "../page/homepage/personability/abilityUser.vue"
import abilityUserD from "../page/homepage/personability/abilityUserDetail.vue"
import abilityMore from "../page/homepage/personability/abilityMore.vue"
import abilityMoreDetail from "../page/homepage/personability/abilityMoreDetail.vue"
import abilityApply from "../page/homepage/personability/abilityApply.vue"
import aboutwo from "../page/homepage/aboutus/aboutwo.vue"
import personal from "../page/personalpage/index.vue"
import personalcenter from "../page/personalpage/home/personalcenter.vue"
import resume from "../page/personalpage/home/resume.vue"
import stationmessage from "../page/personalpage/home/stationmessage.vue"
import myorder from "../page/personalpage/testtool/myorder.vue"
import mytask from "../page/personalpage/testmanagement/mytask.vue"
import mytool from "../page/personalpage/testmanagement/mytool.vue"
import myparticipate from "../page/personalpage/testcrowd/myparticipate.vue"
import myrelease from "../page/personalpage/testcrowd/myrelease.vue"
import edittasks from "../page/personalpage/testcrowd/edittasks.vue"
import testKit from "../page/personalpage/testtreasure/testKit.vue"
import demand from "../page/personalpage/demand/index.vue"
import myreview from '../page/personalpage/myreview/index.vue'
import myBm from '../page/personalpage/myBm/index.vue'
import currentcrowd from "../page/personalpage/testcrowd/currentcrowd.vue"

import jobM from '../page/personalpage/jobm/job.vue'
import addJob from '../page/personalpage/jobm/addjob.vue'
import jobUser from '../page/personalpage/jobm/jobuser.vue'
import jobuserDetail from '../page/personalpage/jobm/userdetail.vue'


Vue.use(Router)
//为组件配置路径
const router = new Router({
  mode: 'history', // 去掉url中的#
  // linkActiveClass:'is-active',
  routes: [
    //首页
    {
      path: '', component: index,
      redirect: '/',
      children: [
        { path: '/', component: home, name: 'home', },
        { path: 'login', component: login, name: 'login', },
        { path: 'market', component: toolmarker, name: 'market' },
        { path: 'market/tooldetails', component: tooldetails },
        { path: 'crowdsourcing', component: crowd, name: 'crowd', },
        { path: 'crowdsourcing/crowddetails', component: crowddetails, },
        { path: 'crowdsourcing/userhome', component: userhome, },
        { path: 'crowdsourcing/publishtasks', component: publishtasks, },
        { path: 'college', component: train },
        { path: 'college/teacherSign', component: teacherSign },
        { path: 'college/teacherDetail', component: teacherDetail },
        { path: 'ability', component: ability },
        { path: 'ability/user', component: abilityUser },
        { path: 'ability/detail', component: abilityUserD },
        { path: 'ability/more', component: abilityMore },
        { path: 'ability/more/detail', component: abilityMoreDetail },
        { path: 'ability/apply', component: abilityApply },
        { path: 'about', component: aboutwo },
      ]
    },
    //  登录相关
    // {path:'/login',component:logpage,
    // redirect:'/login',
    // children:[
    //   {path:'login',component:login},
    //   ]
    // },
    // 工具市场： market
    // 众包市场：crowdsourcing
    // 培训学院：college
    // 行业动态：news
    // 关于我们：about

    //个人中心
    {
      path: '/console', component: personal,
      redirect: '/console/myparticipate',
      children: [
        { path: 'profile', component: personalcenter, meta: { title: '个人中心', isAuth: true, type: 1 } },
        { path: 'resume', component: resume, meta: { title: '个人简历', isAuth: true, type: 1 } },
        { path: 'message', component: stationmessage, meta: { title: '站内消息', isAuth: true, type: 1 } },
        { path: 'orders', component: myorder, meta: { title: '我的订单', isAuth: true, type: 2 } },
        { path: 'mytasks', component: mytask, meta: { title: '我的任务', isAuth: true, type: 3 } },
        { path: 'mytools', component: mytool, meta: { title: '我的工具', isAuth: true, type: 3 } },
        { path: 'currentcrowd', component: currentcrowd, meta: { title: '任务详情', isAuth: true, type: 4 } },
        { path: 'myparticipate', component: myparticipate, meta: { title: '我参与的', isAuth: true, type: 4 } },
        { path: 'myrelease', component: myrelease, meta: { title: '我发布的', isAuth: true, type: 4 } },
        { path: 'edittasks', component: edittasks, meta: { title: '重新发布', isAuth: true, type: 4 } },
        { path: 'edittasksFB', component: edittasks, meta: { title: '发布任务', isAuth: true, type: 4 } },
        { path: 'account', component: testKit, meta: { title: '我的测试宝', isAuth: true, type: 5 } },
        { path: 'demand', component: demand, meta: { title: '我要用人', isAuth: true, type: 6 } },
        { path: 'myreview', component: myreview, meta: { title: '我的评价', isAuth: true, type: 5 } },
        { path: 'myBm', component: myBm, meta: { title: '我的培训班', isAuth: true, type: 5 } },
        { path: 'addJob', component: addJob, meta: { title: '招聘管理', isAuth: true, type: 5 } },
        { path: 'jobUser', component: jobUser, meta: { title: '招聘管理', isAuth: true, type: 5 } },
        { path: 'jobuserDetail', component: jobuserDetail, meta: { title: '招聘管理', isAuth: true, type: 5 } },
        { path: 'jobM', component: jobM, meta: { title: '招聘管理', isAuth: true, type: 5 } },

      ]
    },

  ],

})
// 全局路由守卫;
router.beforeEach((to, from, next) => {

  // 百度统计
  const tjarr = ['/market', '/crowdsourcing', '/ability', '/college', '/about']
  if (_hmt) {
    if (tjarr.some(it => it == to.path)) {
      _hmt.push(['_trackPageview', '/' + to.fullPath]);
    }
  }

  // 根据角色控制人才服务
  if (to.path == '/ability') {
    if (store.getters.userinform.companyStatus == 2) {
      next()
    } else {
      next('/ability/user')
    }
  }

  // console.log(store.getters.companyStatus);
  let token = store.getters.token;
  // if(token){
  //   store.dispatch("SET_KEYSAASDICT")
  // }
  // chrome
  document.body.scrollTop = 0
  // firefox
  document.documentElement.scrollTop = 0
  // const meta = to.meta || {}
  // store.dispatch("SET_KEYSAASDICT")


  // let currentdata=Date.parse(new Date()); 
  // let logindate=store.getters.logindate;
  // let timedifference=currentdata-(parseInt(logindate)+604800000);
  // // console.log('当前时间',currentdata,'登录时间',logindate,'时间差',timedifference)
  // // console.log('过期时间',timedifference)
  // if (timedifference>0) {   
  //   MessageBox.confirm('登录状态已过期，请重新登录', '系统提示', {
  //     confirmButtonText: '重新登录',
  //     showCancelButton:false,
  //     showClose:false,
  //     type: 'warning'
  //   }).then(() => {
  //     store.dispatch('LogOut').then(() => {
  //       next({ path: `/login?type=log` })
  //     })
  //   })
  //   // localStorage.removeItem('access_token');
  //   // Message.warning('登录状态已过期，请重新登录')
  //   // store.dispatch('LogOut').then(() => {
  //   //     next({ path: `/login?type=log` })
  //   // })
  //   // next()
  //   // if (meta.isAuth === true) {
  //   //   alert('登录状态失效，请您重新登录')
  //   //   next({ path: `/login?type=log` })
  //   // } else {
  //   //   next()
  //   // }   
  // } else { 
  next()
  // }
})
// 解决这个报错：vue-router.esm.js?ac56:2065 Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location: "/login?type=log".
// 解决ElementUI导航栏中的vue-router在3.0版本以上重复点菜单报错问题
const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
  return originalPush.call(this, location).catch(err => err)
}
export default router;