import Vue from 'vue'; import Vuex from 'vuex'; import _ from 'lodash'; const jwt = require('jsonwebtoken'); Vue.use(Vuex); const api = { personalInfo: `/api/live/v0/users/personal`, }; const state = () => ({}); const mutations = {}; const actions = { async query({ commit }, { skip = 0, limit, ...info } = {}) { const res = await this.$axios.$get(`${api.personalInfo}`, { skip, limit, ...info, }); return res; }, async create({ commit }, payload) { const res = await this.$axios.$post(`${api.personalInfo}`, payload); return res; }, async fetch({ commit }, payload) { const res = await this.$axios.$get(`${api.personalInfo}/${payload}`); return res; }, async update({ commit }, { id, ...data }) { const res = await this.$axios.$post(`${api.personalInfo}/update/${id}`, data); return res; }, async delete({ commit }, payload) { const res = await this.$axios.$delete(`${api.personalInfo}/${payload}`); return res; }, // 修改密码 async updatePassword({ commit }, { id, ...data }) { const res = await this.$axios.$post(`${api.personalInfo}/password/${id}`, data); return res; }, async perLogin({ commit }, { user }) { const res = await this.$axios.$post(`${api.personalInfo}/login`, user); if (res.errcode === 0) { localStorage.setItem('token', res.data); user = jwt.decode(res.data); commit('setUser', user, { root: true }); } return res; }, async upgradeUser({ commit }, payload) { const res = await this.$axios.$post(`${api.personalInfo}/upgrade`, payload); return res; }, // 批量注册用户 async import({ commit }, payload) { const res = await this.$axios.$post(`${api.personalInfo}/import`, payload); return res; }, async export({ commit }, payload) { const res = await this.$axios.$post(`${api.personalInfo}/export`, payload); return res; }, }; export default { namespaced: true, state, mutations, actions, };