| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- import md5 from 'js-md5'
- // import { encrypt, decrypt } from '@/utils/jsencrypt'
- import { login, Dinglogin, OAlogin, getInfo, getMenus } from '@/api/login'
- import { getToken, setToken, removeToken } from '@/utils/auth'
- import { Message } from 'element-ui'
- const publicKey = ''
- const privateKey = ''
- const user = {
- state: {
- token: getToken(),
- name: '', // 用户名
- location: '',
- usercode: '', // 用户编号
- userRole: '', // 用户的角色权限
- userid: '', // 用户的 id
- extension: '', // 分机号
- avatar: '', // 用户头像
- seatflag: 1, // 坐席标志
- menus: [], // 菜单数据
- mobile: '', // 手机
- teamName: '', // 部门名称
- teamId: '',
- allowdept: ''
- },
- mutations: {
- SET_TOKEN: (state, token) => {
- state.token = token
- },
- SET_NAME: (state, name) => {
- state.name = name // 用户名
- },
- SET_CODE: (state, usercode) => {
- state.usercode = usercode // 用户编号
- },
- SET_LOCATION: (state, location) => {
- state.location = location // 部门id
- },
- SET_ROLE: (state, userRole) => {
- state.userRole = userRole // 用户的角色权限
- },
- SET_UID: (state, userid) => {
- state.userid = userid // 用户的 id
- },
- SET_EXT: (state, extension) => {
- state.extension = extension // 分机号
- },
- SET_AVATAR: (state, avatar) => {
- state.avatar = avatar // 用户头像
- },
- SET_SEATFLAG: (state, seatflag) => {
- state.seatflag = seatflag // 坐席标志
- },
- SET_MENUS: (state, menus) => {
- state.menus = menus // 菜单数据
- },
- SET_MOBILE: (state, mobile) => {
- state.mobile = mobile // 手机
- },
- SET_TEAMNAME: (state, teamName) => {
- state.teamName = teamName // 部门名称
- },
- SET_TEAMID: (state, teamId) => {
- state.teamId = teamId // 部门id
- },
- SET_ALLOWDEPT: (state, allowdept) => {
- state.allowdept = allowdept // 允用科室
- }
- },
- actions: {
- // 登录
- Login({ commit }, userInfo) {
- const username = userInfo.username.trim()
- const password = userInfo.jiamiword
- // const password = md5(userInfo.password)
- // const passwordEncrypt = encrypt(password)
- // const passwordDecryptt = decrypt(passwordEncrypt);
- window.localStorage.setItem('ext', userInfo.extension)
- return new Promise((resolve, reject) => {
- login(username, password)
- .then(response => {
- setToken(response.data)
- commit('SET_TOKEN', response.data)
- resolve()
- })
- .catch(error => {
- reject(error)
- })
- })
- },
- Dinglogin({ commit }, userInfo) {
- const code = userInfo.code.trim()
- // const passwordDecryptt = decrypt(passwordEncrypt);
- window.localStorage.setItem('ext', userInfo.extension)
- return new Promise((resolve, reject) => {
- Dinglogin(code)
- .then(response => {
- setToken(response.data)
- commit('SET_TOKEN', response.data)
- resolve()
- })
- .catch(error => {
- reject(error)
- })
- })
- },
- OAlogin({ commit }, userInfo) {
- const loginid = userInfo.loginid
- const oploginid = userInfo.oploginid
- return new Promise((resolve, reject) => {
- OAlogin(loginid, oploginid)
- .then(response => {
- setToken(response.data)
- commit('SET_TOKEN', response.data)
- resolve(response)
- })
- .catch(error => {
- reject(error)
- })
- })
- },
- // 获取用户信息
- GetInfo({ commit }) {
- return new Promise((resolve, reject) => {
- getInfo()
- .then(response => {
- console.log(response)
- const data = response.data
- // 用户信息
- commit('SET_SEATFLAG', data.User.F_SeatFlag) // 坐席标志 data.User.F_SeatFlag
- commit('SET_NAME', data.User.F_UserName) // 用户名
- commit('SET_UID', data.User.F_UserId) // 用户的 id
- commit('SET_CODE', data.User.F_UserCode) // 用户编号
- commit('SET_MOBILE', data.User.F_Telephone) // 手机
- commit('SET_LOCATION', data.Dept.F_Location) // 科室位置
- commit('SET_EXT', window.localStorage.getItem('ext')) // 分机号ssss
- commit('SET_ALLOWDEPT', data.User.F_AllowDepartment) // 允用科室
- window.localStorage.setItem('deptCode', data.Dept.F_DeptCode)
- window.localStorage.setItem(
- 'deptCode',
- data.Dept && data.Dept.F_DeptCode
- )
- window.localStorage.setItem(
- 'storageUsercode',
- data.User.F_UserCode
- )
- window.localStorage.setItem(
- 'storageUserphone',
- data.User.F_Telephone
- )
- window.localStorage.setItem('storageUsertx', data.User.F_See)
- window.localStorage.setItem('storageUserid', data.User.F_UserId)
- window.localStorage.setItem(
- 'storageUsername',
- data.User.F_UserName
- )
- window.localStorage.setItem('storageUserpwd', data.User.F_Password)
- window.localStorage.setItem('storageAllowUserDept', data.User.F_AllowDepartment)
- if (data.User.F_ZXZCode) {
- window.localStorage.setItem('groupCode', data.User.F_ZXZCode) // 用户的坐席组code
- } else {
- window.localStorage.setItem('groupCode', '364') // 用户的坐席组code
- }
- // commit('SET_AVATAR', data.F_HeadImg) // 用户头像
- // 角色信息
- commit('SET_ROLE', data.Role.F_RoleName) // 用户的角色权限
- window.localStorage.setItem('roleName', data.Role.F_RoleName) // 用户的坐席组code
- window.localStorage.setItem('roleCode', data.Role.F_RoleCode) // 用户的坐席组code
- // 部门信息
- commit('SET_TEAMNAME', data.Dept && data.Dept.F_DeptName) // 部门名称
- commit('SET_TEAMID', data.Dept && data.Dept.F_DeptId) // 部门id
- window.localStorage.setItem(
- 'deptId',
- data.Dept && data.Dept.F_DeptId
- ) // 用户的坐席组code
- resolve(response)
- })
- .catch(error => {
- reject(error)
- })
- })
- },
- // 获取菜单信息
- GetMenus({ commit, state }) {
- return new Promise((resolve, reject) => {
- getMenus()
- .then(response => {
- const menusdata = response.data
- if (menusdata && menusdata.length > 0) {
- // 验证返回的menusdata是否是一个非空数组
- commit('SET_MENUS', menusdata) // 菜单数据
- } else {
- removeToken()
- Message.error('获取菜单权限失败,请联系管理员分配菜单权限!')
- reject('getMneus: 菜单、按钮获取出错!')
- }
- resolve(response)
- })
- .catch(error => {
- reject(error)
- })
- })
- },
- // 前端 登出
- FedLogOut({ commit }) {
- return new Promise(resolve => {
- commit('SET_TOKEN', '')
- commit('SET_EXT', '')
- removeToken()
- window.localStorage.removeItem('ext') // 分机号
- window.sessionStorage.removeItem('telIsLogin') // 签入状态
- resolve()
- })
- },
- // 修改用户头像
- SetAvatar({ commit }, msg) {
- commit('SET_AVATAR', msg) // 用户头像
- }
- }
- }
- export default user
|