| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- import { login, logout, getInfo, refreshToken ,tokenLogin} from '@/api/login'
- import { getToken, setToken, setExpiresIn, removeToken } from '@/utils/auth'
- import {deptTreeSelect,handsheDeptTreeSelect,businessTreeSelect,wholeTreeSelect} from "@/api/system/public";
- const user = {
- state: {
- token: getToken(),
- name: '',
- userId: '',
- orgId:'',
- avatar: '',
- roles: [],
- roleList:[],
- permissions: [],
- orgName: '',
- orgShortName: '',
- //用户机构树
- orgTree: [],
- //行社机构树
- depTree: [],
- businessTree:[],
- wholeTree:[],
- },
- mutations: {
- SET_USERID: (state, userId) => {
- state.userId = userId
- },
- SET_TOKEN: (state, token) => {
- state.token = token
- },
- SET_EXPIRES_IN: (state, time) => {
- state.expires_in = time
- },
- SET_NAME: (state, name) => {
- state.name = name
- },
- SET_AVATAR: (state, avatar) => {
- state.avatar = avatar
- },
- SET_ROLES: (state, roles) => {
- state.roles = roles
- },
- SET_ROLELIST: (state, roleList) => {
- state.roleList = roleList
- },
- SET_ORG_ID: (state, orgId) => {
- state.orgId = orgId
- },
- SET_ORG_TYPE: (state, orgType) => {
- state.orgType = orgType
- },
- SET_PERMISSIONS: (state, permissions) => {
- state.permissions = permissions
- },
- SET_ORG_NAME: (state, val) => {
- state.orgName = val
- },
- SET_ORG_SHORT_NAME: (state, val) => {
- state.orgShortName = val
- },
- SET_ORGTREE: (state, val) => {
- state.orgTree = val
- },
- SET_DEPTREE: (state, val) => {
- state.depTree = val
- },
- SET_BUSINESSTREE: (state, val) => {
- state.businessTree = val
- },
- SET_WHOLETREE: (state, val) => {
- state.wholeTree = val
- }
- },
- actions: {
- // 登录
- Login({ commit }, userInfo) {
- const username = userInfo.username.trim()
- const password = userInfo.password
- const code = userInfo.code
- const uuid = userInfo.uuid
- return new Promise((resolve, reject) => {
- let data = { username, password, code, uuid }
- login(data).then(res => {
- let data = res.data
- setToken(data.access_token)
- commit('SET_TOKEN', data.access_token)
- setExpiresIn(data.expires_in)
- commit('SET_EXPIRES_IN', data.expires_in)
- resolve()
- }).catch(error => {
- reject(error)
- })
- })
- },
- TokenLogin({ commit }, token) {
- // const username = userInfo.username.trim()
- // const password = userInfo.password
- // const code = userInfo.code
- // const uuid = userInfo.uuid
- return new Promise((resolve, reject) => {
- tokenLogin(token).then(res => {
- let data = res.data
- setToken(data.access_token)
- commit('SET_TOKEN', data.access_token)
- setExpiresIn(data.expires_in)
- commit('SET_EXPIRES_IN', data.expires_in)
- resolve()
- }).catch(error => {
- reject(error)
- })
- })
- },
- // // 获取用户信息
- GetInfo({ commit, state }) {
- return new Promise((resolve, reject) => {
- getInfo().then(res => {
- const user = res.user;
- commit('SET_USERID', user.id)
- const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/u29.svg") : user.avatar;
- if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
- commit('SET_ROLES', res.roles)
- console.log("SET_ROLES",res.roles);
- commit('SET_PERMISSIONS', res.permissions)
- } else {
- commit('SET_ROLES', ['ROLE_DEFAULT'])
- }
- if (res.roleList && res.roleList.length > 0) { // 验证返回的roles是否是一个非空数组
- commit('SET_ROLELIST', res.roleList)
- } else {
- commit('SET_ROLELIST', ['ROLE_DEFAULT'])
- }
- commit('SET_NAME', user.name)
- commit('SET_AVATAR', avatar)
- commit('SET_ORG_ID', user.orgId)
- commit('SET_ORG_NAME', user.orgName)
- commit('SET_ORG_SHORT_NAME', user.orgShortName)
- commit('SET_ORG_TYPE', user.orgType)
- resolve(res)
- }).catch(error => {
- reject(error)
- })
- })
- },
- //获取机构、用户管理机构树
- getOrgTree({ commit, state }){
- return new Promise((resolve, reject) => {
- deptTreeSelect().then(res => {
- commit('SET_ORGTREE', res.data)
- resolve(res)
- }).catch(error => {
- reject(error)
- })
- })
- },
- //获取行社机构树
- getDepTree({ commit, state }){
- return new Promise((resolve, reject) => {
- handsheDeptTreeSelect().then(res => {
- commit('SET_DEPTREE', res.data)
- resolve(res)
- }).catch(error => {
- reject(error)
- })
- })
- },
- //获取业务机构树
- getBusinessTree({ commit, state }){
- return new Promise((resolve, reject) => {
- businessTreeSelect().then(res => {
- commit('SET_BUSINESSTREE', res.data)
- resolve(res)
- }).catch(error => {
- reject(error)
- })
- })
- },
- //获完整路径树(显示登录用户所在机构的所有下级以及直接上级机构)
- getWholeTree({ commit, state }){
- return new Promise((resolve, reject) => {
- wholeTreeSelect().then(res => {
- commit('SET_WHOLETREE', res.data)
- resolve(res)
- }).catch(error => {
- reject(error)
- })
- })
- },
- // 刷新token
- RefreshToken({commit, state}) {
- return new Promise((resolve, reject) => {
- refreshToken(state.token).then(res => {
- setExpiresIn(res.data)
- commit('SET_EXPIRES_IN', res.data)
- resolve()
- }).catch(error => {
- reject(error)
- })
- })
- },
- // 退出系统
- LogOut({ commit, state }) {
- return new Promise((resolve, reject) => {
- logout(state.token).then(() => {
- commit('SET_TOKEN', '')
- commit('SET_ROLES', [])
- commit('SET_PERMISSIONS', [])
- removeToken()
- resolve()
- }).catch(error => {
- reject(error)
- })
- })
- },
- // 前端 登出
- FedLogOut({ commit }) {
- return new Promise(resolve => {
- commit('SET_TOKEN', '')
- removeToken()
- resolve()
- })
- }
- }
- }
- export default user
|