Commit 493b2b9a authored by rainbowmorel@163.com's avatar rainbowmorel@163.com

添加 Logout func

parent fa2e3e9f
...@@ -97,7 +97,7 @@ export function render(oldRender: Function) { ...@@ -97,7 +97,7 @@ export function render(oldRender: Function) {
isAuthenticated() isAuthenticated()
setAuthInfo() setAuthInfo()
.finally(() => {
const { pathname } = history.location const { pathname } = history.location
// 白名单页面不进行权限校验 // 白名单页面不进行权限校验
...@@ -135,6 +135,9 @@ export function render(oldRender: Function) { ...@@ -135,6 +135,9 @@ export function render(oldRender: Function) {
removeEnableMultiTenancy() removeEnableMultiTenancy()
oldRender() oldRender()
} }
})
}) })
......
...@@ -8,6 +8,7 @@ import { removeAuth, removeRouters, getAuth } from '@/utils/auth'; ...@@ -8,6 +8,7 @@ import { removeAuth, removeRouters, getAuth } from '@/utils/auth';
import { inject, observer } from 'mobx-react' import { inject, observer } from 'mobx-react'
import Icon from '@ant-design/icons'; import Icon from '@ant-design/icons';
import { ReactComponent as DefaultAvatar } from '@/assets/imgs/default_avatar.svg'; import { ReactComponent as DefaultAvatar } from '@/assets/imgs/default_avatar.svg';
import { SpaLogout } from '@/utils/keycloak-js';
const AvatarDropdown = (props) => { const AvatarDropdown = (props) => {
...@@ -16,11 +17,12 @@ const AvatarDropdown = (props) => { ...@@ -16,11 +17,12 @@ const AvatarDropdown = (props) => {
const logout = () => { const logout = () => {
removeAuth() removeAuth()
removeRouters() removeRouters()
SpaLogout()
history.replace('/user/login') history.replace('/user/login')
} }
const currentUser = { const currentUser = {
name: userAuth.name || userAuth?.company || intl.formatMessage({id: 'common.weizhiyonghu'}), name: userAuth.name || userAuth?.company || intl.formatMessage({ id: 'common.weizhiyonghu' }),
avatar: props.UserStore.avatar || '', avatar: props.UserStore.avatar || '',
} }
...@@ -36,11 +38,11 @@ const AvatarDropdown = (props) => { ...@@ -36,11 +38,11 @@ const AvatarDropdown = (props) => {
</Menu.Item> </Menu.Item>
<Menu.Divider /> */} <Menu.Divider /> */}
<Menu.Item key="changePwd"> <Menu.Item key="changePwd">
<Link to="/memberCenter/systemSetting/accountSetting"><LockOutlined />{intl.formatMessage({id: 'common.xiugaimima'})}</Link> <Link to="/memberCenter/systemSetting/accountSetting"><LockOutlined />{intl.formatMessage({ id: 'common.xiugaimima' })}</Link>
</Menu.Item> </Menu.Item>
<Menu.Item onClick={logout} key="logout"> <Menu.Item onClick={logout} key="logout">
<LogoutOutlined /> <LogoutOutlined />
{intl.formatMessage({id: 'common.tuichudenglu'})} {intl.formatMessage({ id: 'common.tuichudenglu' })}
</Menu.Item> </Menu.Item>
</Menu> </Menu>
) )
......
import { getMemberInReturnForToken } from '@/services/MemberV2Api'; import { getMemberInReturnForToken } from '@/services/MemberV2Api';
import { message } from 'antd';
import Keycloak from 'keycloak-js'; import Keycloak from 'keycloak-js';
let _keycloak = null; let _keycloak = null;
...@@ -35,17 +36,28 @@ export function getKeycloakToken(): string { ...@@ -35,17 +36,28 @@ export function getKeycloakToken(): string {
return getKeycloak().token return getKeycloak().token
} }
export function setAuthInfo() { export function setAuthInfo(): Promise<any> {
getMemberInReturnForToken({}, { return getMemberInReturnForToken({}, {
headers: { headers: {
keycloakToken: getKeycloakToken() keycloakToken: getKeycloakToken()
} }
}).then(res => res.data) }).then(res => {
.then(res => { if (res.code !== 1000) {
message.error(res.message);
return
}
return res.data;
}).then(res => {
if (undefined != res) {
localStorage.setItem('AUTH', JSON.stringify(res)) localStorage.setItem('AUTH', JSON.stringify(res))
}
}) })
} }
export function SpaLogin() { export function SpaLogin() {
getKeycloak().login({ redirectUri: window.location.origin }) getKeycloak().login({ redirectUri: window.location.origin })
} }
export function SpaLogout() {
getKeycloak().logout()
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment