// import Vue from 'vue'
// import { login, getInfo, logout } from '@/api/login'
// import { ACCESS_TOKEN, ROLE_PERMISSIONS, MENU_PERMISSIONS, USER_INFO } from '@/store/mutation-types'
// import { welcome } from '@/utils/util'
//
// const user-back = {
//   state: {
//     token: '',
//     name: '',
//     welcome: '',
//     avatar: '',
//     roles: [],
//     permissions: [],
//     info: {}
//   },
//
//   mutations: {
//     SET_TOKEN: (state, token) => {
//       state.token = token
//     },
//     SET_NAME: (state, { name, welcome }) => {
//       state.name = name
//       state.welcome = welcome
//     },
//     SET_AVATAR: (state, avatar) => {
//       state.avatar = avatar
//     },
//     SET_USER_ROLES: (state, roles) => {
//       state.roles = roles
//     },
//     SET_INFO: (state, info) => {
//       state.info = info
//     }
//   },
//
//   actions: {
//     // 登录
//     Login ({ commit }, userInfo) {
//       return new Promise((resolve, reject) => {
//         login(userInfo).then(response => {
//           const result = response.data
//           if (result) {
//             const accessToken = result.access_token
//             Vue.ls.set(ACCESS_TOKEN, accessToken, 7 * 24 * 60 * 60 * 1000)
//             commit('SET_TOKEN', accessToken)
//           }
//           resolve()
//         }).catch(error => {
//           reject(error)
//         })
//       })
//     },
//
//     // 获取用户信息
//     GetInfo ({ commit }) {
//       return new Promise((resolve, reject) => {
//         getInfo().then(response => {
//           const result = response.data
//           if (result && result.permissions && result.permissions.length > 0) {
//             // 菜单权限
//             let menuPermissions = []
//             result.permissions.map(per => {
//               menuPermissions = [...menuPermissions, ...per.split(',')]
//             })
//             console.log(menuPermissions)
//             Vue.ls.set(MENU_PERMISSIONS, menuPermissions)
//           }
//           if (result && result.roles && result.roles.length > 0) {
//             // 菜单权限
//             let rolePermissions = []
//             result.roles.map(per => {
//               rolePermissions = [...rolePermissions, ...per.split(',')]
//             })
//             Vue.ls.set(ROLE_PERMISSIONS, rolePermissions)
//           }
//           Vue.ls.set(USER_INFO, result.userInfo)
//           commit('SET_USER_ROLES', result.roles)
//           commit('SET_INFO', result.userInfo)
//           commit('SET_NAME', { name: result.userInfo.realName, welcome: welcome() })
//           commit('SET_AVATAR', 'https://gw.alipayobjects.com/zos/rmsportal/jZUIxmJycoymBprLOUbT.png')
//
//           resolve(response)
//         }).catch(error => {
//           reject(error)
//         })
//       })
//     },
//
//     // 登出
//     Logout ({ commit, state }) {
//       return new Promise((resolve) => {
//         logout(state.token).then(() => {
//           resolve()
//         }).catch(() => {
//           resolve()
//         }).finally(() => {
//           commit('SET_TOKEN', '')
//           commit('SET_USER_ROLES', [])
//           Vue.ls.remove(ACCESS_TOKEN)
//         })
//       })
//     }
//
//   }
// }
//
// export default user-back