import { createStore } from 'vuex'
// import { reportVisitPage } from '@/api.js'

// const loginStatusEnum = {
//   notLogin: 'not-login',
//   visitor: 'visitor',
//   wxUser: 'wxUser',
// }

export default createStore({
  state: {
    // loginStatus: loginStatusEnum.notLogin,
    // token: '',
    // userInfo: {
    //   userName: '',
    //   userId: null,
    // },
    // pageVisitRecord: {},
  },
  getters: {
    // loginStatusEnum() {
    //   return loginStatusEnum
    // }
  },
  mutations: {
    // setLoginStatus(state, value) {
    //   state.loginStatus = value
    // },
    // setUserName(state, value) {
    //   state.userInfo.userName = value
    // },
    // setToken(state, value) {
    //   state.token = value
    //   localStorage.setItem('token', value)
    // },
    // setUserInfo(state, value) {
    //   state.userInfo = value
    //   localStorage.setItem('userInfo', JSON.stringify(value))
    //   if (state.userInfo.score === null) {
    //     state.userInfo.score = 0
    //   }
    // },
    // logoutCallback(state) {
    //   state.loginStatus = loginStatusEnum.notLogin
    //   state.token = ''
    //   localStorage.removeItem('token')
    //   state.userInfo = {}
    //   localStorage.removeItem('userInfo')
    // },
    // getPageVisitRecordFromStorage(state) {
    //   let pageVisitRecordStr = localStorage.getItem('pageVisitRecord')
    //   if (pageVisitRecordStr) {
    //     state.pageVisitRecord = JSON.parse(pageVisitRecordStr)
    //   }
    // },
    // setPageVisitRecord(state, value) {
    //   state.pageVisitRecord = value
    // }
  },
  actions: {
    // recordPageVisitIfNeeded({ state, commit }, { pageId }) {
    //   let needUpdateStorage = false

    //   let userId = undefined
    //   if (state.loginStatus !== loginStatusEnum.wxLogin) {
    //     userId = 'visitor'
    //   } else {
    //     userId = state.userInfo.userId
    //   }

    //   if (!state.pageVisitRecord[userId]) {
    //     state.pageVisitRecord[userId] = {}
    //     needUpdateStorage = true
    //   }

    //   let lastVisitTime = undefined
    //   lastVisitTime = state.pageVisitRecord[userId][pageId]
    //   if (lastVisitTime === undefined) {
    //     state.pageVisitRecord[userId][pageId] = 0
    //     needUpdateStorage = true
    //   }

    //   let lastVisitTimeObj = new Date(lastVisitTime)
    //   let thisVisitTimeObj = new Date()
    //   if (!(lastVisitTimeObj.getFullYear() === thisVisitTimeObj.getFullYear() && lastVisitTimeObj.getMonth() === thisVisitTimeObj.getMonth() && lastVisitTimeObj.getDay() === thisVisitTimeObj.getDay())) {
    //     state.pageVisitRecord[userId][pageId] = thisVisitTimeObj.getTime()
    //     needUpdateStorage = true
    //     reportVisitPage(pageId)
    //   }

    //   if (needUpdateStorage) {
    //     localStorage.setItem('pageVisitRecord', JSON.stringify(state.pageVisitRecord))
    //   }
    // }
  },
  modules: {
  }
})