export default {
  state: {
    // status用户状态说明：
    // 0-未入驻：没有通过手机号绑定到企业或者运营方账户
    // 10-审核中：绑定的手机号，申请加入企业还未审批通过
    // 已入驻：绑定的手机号，在企业行政列表中可见，又细分下列几种情况：
    //   2-激活：正常状态的账户
    //   3-待激活：企业行政按照手机号批量倒入员工信息，员工未使用对应手机号进行登陆，则为未激活状态
    //   4-冻结：1）由于长期不使用小程序等触发条件，暂时冻结账户，需要用户手动登陆一次以激活。2）部署到新的大楼或企业时，如果原来有其他系统的用户信息，倒入到tenantslink，也作为冻结状态
    //   （比如企办的账户数据）
    //   5-作废：只作为历史记录，不能重新激活。同一手机号再次加入，也算是另一个账户
    status: null,
    token: '',
    projectId: '',
    refreshToken: '',
    userInfo: {
      userId: '602ef709beb64a1f9a4b6af2196d0af7',
      userPhone: 15321277745,
      userName: '陈珍',
      projectId: 'Pj1101080259'
    },
    // 申请id
    applyId: '',
    hasClearToken: false,
    tokenIsValid: true
  },
  mutations: {
    setToken(state, token) {
      state.token = token;
    },
    setRefreshToken(state, refreshToken) {
      state.refreshToken = refreshToken;
    },
    setStatus(state, status) {
      state.status = status;
    },
    setUserInfo(state, userInfo) {
      // state.userInfo = { ...state.userInfo, ...userInfo };
      state.userInfo = {
        userId: '602ef709beb64a1f9a4b6af2196d0af7',
        userPhone: 15321277745,
        userName: '陈珍',
        projectId: 'Pj1101080259'
      }
    },
    setApplyId(state, applyId) {
      state.applyId = applyId
    },
    clearUserInfo(state) {
      // state.userInfo = {};
      state.userInfo = {
        userId: '602ef709beb64a1f9a4b6af2196d0af7',
        userPhone: 15321277745,
        userName: '陈珍',
        projectId: 'Pj1101080259'
      }
    },
    hasClearToken(state, data) {
      state.hasClearToken = data
    },
    setTokenIsValid(state, data) {
      state.tokenIsValid = data
    },
    setProjectId(state, data) {
      state.projectId = data
    }
  },
  actions: {
    setToken({ commit }, data) {
      commit('setToken', data);
    },
    setRefreshToken({ commit }, data) {
      commit('setRefreshToken', data);
    },
    setStatus({ commit }, data) {
      commit('setStatus', data);
    },
    setUserInfo({ commit }, data) {
      commit('setUserInfo', data);
    },
    setApplyId({ commit }, data) {
      commit('setApplyId', data);
    },
    clearUserInfo({ commit }) {
      commit('clearUserInfo');
    },
    hasClearToken({ commit }, data) {
      commit('hasClearToken', data);
    },
    setTokenIsValid({ commit }, data) {
      commit('setTokenIsValid', data);
    },
    setProjectId({ commit }, data) {
      commit('setProjectId', data);
    }
  }
};
