/*
  @description:
  @Modifier:肖文龙
  @routerPath:
  @date: 2020/2/4-17:08
  * */

const app = {
  state: {
    contextPath: '', // 配置环境路径
    device: '', // 终端型号（app 移动端 web 客户端 tool 工具端）
    isTool: null, // 是否为工具
    isIOS: null // 是否为ios
  },
  mutations: {
    // 配置环境路径
    SETCONTEXTPATH: (state) => {
      let pathName = window.location.pathname
      const index = window.location.pathname.indexOf('/')
      pathName = pathName.substring(index, pathName.length - 1)
      state.contextPath = pathName
    },
    // 判断终端型号（app 移动端 web 客户端 tool 工具端）
    SET_DEVICE: (state, device) => {
      if (window.WebKitAppObj) {
        // 工具端
        state.device = 'tool'
      } else {
        const flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)
        if (flag) {
          // 移动端
          state.device = 'app'
        } else {
          // 客户端
          state.device = 'web'
        }
      }
    },
    SET_ISTOOL: (state, isTool) => {
      if (window.WebKitAppObj) {
        // 工具端
        state.isTool = true
      } else {
        // web端
        state.isTool = false
      }
    },
    // 判断是否为 IOS
    SET_IOS: (state, device) => {
      var u = navigator.userAgent
      var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1 // Android
      var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) // ios
      if (isAndroid) {
        state.isIOS = false
      }
      if (isIOS) {
        state.isIOS = true
      }
    }
  },
  actions: {
    //  配置环境路径
    setContextPath({ commit }) {
      commit('SETCONTEXTPATH')
    },
    // 判断终端型号（app 移动端 web 客户端 tool 工具端）
    setDevice({ commit }, device) {
      commit('SET_DEVICE', device)
    },
    setIsTool({ commit }, isTool) {
      commit('SET_ISTOOL', isTool)
    },
    // 判断是否为 IOS
    setIsIOS({ commit }, isIOS) {
      commit('SET_IOS', isIOS)
    }
  }
}

export default app
