import uc from '@/api/uc.js' import store from '@/store/login' import Vue from 'vue' const state = { currentUserDetail: null, pwdStrategy: {}, //默认密码策略 dialogVisible: false, showDialog: false, fileList: [], } const getters = {} const actions = { // 加载当前用户详情 loadCurrentUserDetail({commit, state}) { if (!state.currentUserDetail) { const currentUser = store.state.currentUser if (currentUser && currentUser.account) { return new Promise((resolve, reject) => { uc.getUserByAccount(currentUser.account, (resp) => { resolve(resp) commit('setCurrentUserDetail', resp) }) }) } } }, //获取默认密码策略 getDefPwdStrategy({commit, state}) { return new Promise((resolve, reject) => { uc.getDefPwdStrategy((response) => { commit('setPwdStrategy', response) resolve(response) }) }) }, } const mutations = { setCurrentUserDetail(state, data) { if (data && data.role && data.role.roleName) { data.role = data.role.roleName.split('|') } state.currentUserDetail = data }, setPwdStrategy(state, pwdStrategy) { state.pwdStrategy = pwdStrategy }, setDialogVisible(state, data) { state.dialogVisible = data }, setshowDialog(state, data) { state.showDialog = data }, setFileList(state, data) { state.fileList = data }, addFiles(state, data) { state.fileList = [...data, ...state.fileList] if (state.fileList.length >= 99) { state.fileList.splice(99, state.fileList.length - 99) } }, setFile(state, {index, column, value}) { if (state.fileList[index]) { state.fileList[index][column] = value } }, } export default { namespaced: true, state, getters, actions, mutations, }