File size: 1,925 Bytes
04aba1b 88e5a61 6b8fc2c 04aba1b 362ec6c 6b8fc2c 362ec6c fad2ec7 362ec6c 6b8fc2c 362ec6c 6b8fc2c 04d557b 6b8fc2c af3ef26 04aba1b 6b8fc2c 88e5a61 6b8fc2c 04aba1b 6b8fc2c 04aba1b 6b8fc2c 362ec6c 6b8fc2c 04d557b 04aba1b 04d557b 6b8fc2c 88e5a61 6b8fc2c 362ec6c 04aba1b 04d557b 88e5a61 04d557b 04aba1b 6b8fc2c 362ec6c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
import { Authorization } from '@/constants/authorization';
import i18n from '@/locales/config';
import userService from '@/services/userService';
import authorizationUtil from '@/utils/authorizationUtil';
import { message } from 'antd';
import { DvaModel } from 'umi';
export interface LoginModelState {
list: any[];
info: any;
visible: boolean;
}
const model: DvaModel<LoginModelState> = {
namespace: 'loginModel',
state: {
list: [],
info: {},
visible: false,
},
reducers: {
updateState(state, { payload }) {
return {
...state,
...payload,
};
},
},
effects: {
*login({ payload = {} }, { call }) {
const { data, response } = yield call(userService.login, payload);
const { retcode, data: res } = data;
const authorization = response.headers.get(Authorization);
if (retcode === 0) {
message.success(i18n.t('message.logged'));
const token = res.access_token;
const userInfo = {
avatar: res.avatar,
name: res.nickname,
email: res.email,
};
authorizationUtil.setItems({
Authorization: authorization,
userInfo: JSON.stringify(userInfo),
Token: token,
});
}
return retcode;
},
*register({ payload = {} }, { call }) {
const { data } = yield call(userService.register, payload);
console.log();
const { retcode } = data;
if (retcode === 0) {
message.success(i18n.t('message.registered'));
}
return retcode;
},
*logout({ payload = {} }, { call }) {
const { data } = yield call(userService.logout, payload);
const { retcode } = data;
if (retcode === 0) {
message.success(i18n.t('message.logout'));
}
return retcode;
},
},
};
export default model;
|