【修改】idm系统单点登录

This commit is contained in:
fengachen
2022-04-06 10:45:27 +08:00
parent 3f541f5174
commit 8def8862c4
3 changed files with 41 additions and 4 deletions
+4 -1
View File
@@ -2,6 +2,8 @@ import { getAction, deleteAction,putAction, postAction, httpAction } from '@/api
import Vue from 'vue'
import {UI_CACHE_DB_DICT_DATA } from '@/store/mutation-types'
// idm 系统单点登录 获取用户信息
const loginIdmPlatform = (params) => getAction('',params)
//角色管理
const addRole = (params)=>postAction('/sys/role/add',params)
const editRole = (params)=>postAction('/sys/role/edit',params)
@@ -180,7 +182,8 @@ export {
getContactsById,
getFileInfo,
getKeyIv,
getContactsByCompanyNoLimit
getContactsByCompanyNoLimit,
loginIdmPlatform
}
+23 -2
View File
@@ -4,15 +4,18 @@ import store from './store'
import NProgress from 'nprogress' // progress bar
import 'nprogress/nprogress.css' // progress bar style
// import notification from 'ant-design-vue/es/notification'
import { ACCESS_TOKEN, INDEX_MAIN_PAGE_PATH } from '@/store/mutation-types'
import { ACCESS_TOKEN, INDEX_MAIN_PAGE_PATH,USER_INFO } from '@/store/mutation-types'
import { generateIndexRouter } from '@/utils/util'
import {loginIdmPlatform} from '@api/api'
import {notification} from 'ant-design-vue'
NProgress.configure({ showSpinner: false }) // NProgress Configuration
// ,'/signupentrance','/signUpPage'
const whiteList = ['/user/login', '/user/register', '/user/register-result', '/user/alteration'] // no redirect whitelist
router.beforeEach((to, from, next) => {
router.beforeEach(async (to, from, next) => {
// 会员系统的单点登录
if (to.query.token) {
Vue.ls.set(ACCESS_TOKEN, to.query.token, 7 * 24 * 60 * 60 * 1000)
store.commit('SET_TOKEN', to.query.token)
@@ -21,6 +24,24 @@ router.beforeEach((to, from, next) => {
store.commit('SET_SYSTEM', to.query.system)
}
}
// idm系统单点登录
if(to.path === '/user/login' && to.query.v){
let result = await loginIdmPlatform({uuid:to.query.v})
if(result.success){
Vue.ls.set(USER_INFO, result.result.userInfo, 7 * 24 * 60 * 60 * 1000)
Vue.ls.set(ACCESS_TOKEN, result.result.token, 7 * 24 * 60 * 60 * 1000)
}else {
notification['error']({
message: '登录失败',
description: result.message,
duration: 4,
})
Vue.ls.remove(ACCESS_TOKEN)
Vue.ls.remove(USER_INFO)
next({ path: '/user/login' })
return
}
}
NProgress.start() // start progress bar
+14 -1
View File
@@ -28,6 +28,12 @@
:readOnly="!!model.id" :disabled="disableSubmit || disabledEdit"/>
</a-form-item>
<a-form-item label="员工号" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入员工号" @change="event => event.target.value = event.target.value.trim()"
:maxLength="50" v-decorator.trim="[ 'userNo', validatorRules.userNo]"
:disabled="disableSubmit"/>
</a-form-item>
<template v-if="!model.id">
<a-form-item label="登录密码" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input-password type="password" placeholder="请输入登录密码" :maxLength="50" autocomplete='new-password'
@@ -228,6 +234,13 @@ export default {
}],
validateTrigger: 'blur'
},
userNo: {
rules: [{
required: true,
message: '请输入员工号'
}],
validateTrigger: 'blur'
},
emailPassword: {
rules: [{
required: false,
@@ -408,7 +421,7 @@ export default {
}
that.$nextTick(() => {
that.form.setFieldsValue(pick(this.model, 'username', 'realname', 'email', 'phone', 'post', 'selecteddeparts', 'emailPassword'))
that.form.setFieldsValue(pick(this.model, 'username','userNo', 'realname', 'email', 'phone', 'post', 'selecteddeparts', 'emailPassword'))
})
//身份为上级显示负责部门,否则不显示
if (this.model.userIdentity == '2') {