|
|
@@ -1,11 +1,13 @@
|
|
|
-import { getTokenid, removeTokenId, saveTokenId } from '@/basic/utils/common'
|
|
|
import consts from '@/consts'
|
|
|
import { apiLogin } from '@/services/login'
|
|
|
import { apiCurrent, apiGetRoles } from '@/services/user'
|
|
|
+import { clearAuthCache, getToken, setAuthCache } from '@/utils/auth'
|
|
|
import { getPageQuery } from '@/utils/utils'
|
|
|
import { message } from 'antd'
|
|
|
import { stringify } from 'qs'
|
|
|
import { history } from 'umi'
|
|
|
+import { TOKEN_KEY } from '@/utils/cache/cacheEnum'
|
|
|
+import { setAuthority } from '@/utils/auth/authority'
|
|
|
|
|
|
const UserModel = {
|
|
|
namespace: 'user',
|
|
|
@@ -26,7 +28,7 @@ const UserModel = {
|
|
|
}
|
|
|
if (response?.code === consts.RET_CODE.SUCCESS) {
|
|
|
// Login successfully
|
|
|
- saveTokenId(response.data.token)
|
|
|
+ setAuthCache(TOKEN_KEY, response.data.token)
|
|
|
const { data: currentAuthority = [] } = yield call(apiGetRoles)
|
|
|
yield put({
|
|
|
type: 'changeLoginStatus',
|
|
|
@@ -36,7 +38,6 @@ const UserModel = {
|
|
|
const params = getPageQuery()
|
|
|
message.success('🎉 🎉 🎉 登录成功')
|
|
|
let { redirect } = params
|
|
|
-
|
|
|
if (redirect) {
|
|
|
const redirectUrlParams = new URL(redirect)
|
|
|
if (redirectUrlParams.origin === urlParams.origin) {
|
|
|
@@ -57,7 +58,7 @@ const UserModel = {
|
|
|
logout() {
|
|
|
const { redirect } = getPageQuery() // Note: There may be security issues, please note
|
|
|
if (window.location.pathname !== '/user/login' && !redirect) {
|
|
|
- removeTokenId()
|
|
|
+ clearAuthCache()
|
|
|
history.replace({
|
|
|
pathname: '/user/login',
|
|
|
search: stringify({
|
|
|
@@ -71,7 +72,7 @@ const UserModel = {
|
|
|
if (window.location.pathname === '/user/login') {
|
|
|
return
|
|
|
}
|
|
|
- const token = getTokenid()
|
|
|
+ const token = getToken()
|
|
|
if (!token) {
|
|
|
history.replace('/user/login')
|
|
|
return
|
|
|
@@ -82,26 +83,18 @@ const UserModel = {
|
|
|
type: 'saveCurrentUser',
|
|
|
payload: response.data
|
|
|
})
|
|
|
- // const { loginStatus } = yield select(state => state.user)
|
|
|
- // if (!loginStatus) {
|
|
|
- // const { data: currentAuthority = [] } = yield call(apiGetRoles)
|
|
|
- // yield put({
|
|
|
- // type: 'changeLoginStatus',
|
|
|
- // payload: { status: consts.RET_CODE.SUCCESS, currentAuthority }
|
|
|
- // })
|
|
|
- // }
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
reducers: {
|
|
|
saveCurrentUser(state, action) {
|
|
|
return { ...state, currentUser: action.payload || {} }
|
|
|
- }
|
|
|
+ },
|
|
|
|
|
|
- // changeLoginStatus(state, { payload }) {
|
|
|
- // setAuthority(payload.currentAuthority)
|
|
|
- // return { ...state, loginStatus: payload.status }
|
|
|
- // }
|
|
|
+ changeLoginStatus(state, { payload }) {
|
|
|
+ setAuthority(payload.currentAuthority)
|
|
|
+ return { ...state, loginStatus: payload.status }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
export default UserModel
|