blob: 891869e50b6f8aaaa22cd960e8acd4c8b9bf7d12 [file] [log] [blame]
import * as registerApi from '@/api/system/register'
export default {
namespace: 'register',
state: {
submitting: false,
error: null
},
effects: {
*submit({ payload }, { call, put }) {
yield put({
type: 'changeSubmitting',
payload: true
})
try {
const response = yield call(registerApi.register, payload)
if (response.code === 200) {
yield put({
type: 'registerSuccess'
})
} else {
yield put({
type: 'registerFailure',
payload: response.msg
})
}
} catch (error) {
yield put({
type: 'registerFailure',
payload: error.response?.data?.msg || '注册失败'
})
}
yield put({
type: 'changeSubmitting',
payload: false
})
}
},
reducers: {
changeSubmitting(state, { payload }) {
return {
...state,
submitting: payload
}
},
registerSuccess(state) {
return {
...state,
error: null
}
},
registerFailure(state, { payload }) {
return {
...state,
error: payload
}
}
}
}