blob: 891869e50b6f8aaaa22cd960e8acd4c8b9bf7d12 [file] [log] [blame]
liangjiabao5e1dbd32025-06-07 16:28:19 +08001import * as registerApi from '@/api/system/register'
2
3export default {
4 namespace: 'register',
5
6 state: {
7 submitting: false,
8 error: null
9 },
10
11 effects: {
12 *submit({ payload }, { call, put }) {
13 yield put({
14 type: 'changeSubmitting',
15 payload: true
16 })
17
18 try {
19 const response = yield call(registerApi.register, payload)
20
21 if (response.code === 200) {
22 yield put({
23 type: 'registerSuccess'
24 })
25 } else {
26 yield put({
27 type: 'registerFailure',
28 payload: response.msg
29 })
30 }
31 } catch (error) {
32 yield put({
33 type: 'registerFailure',
34 payload: error.response?.data?.msg || '注册失败'
35 })
36 }
37
38 yield put({
39 type: 'changeSubmitting',
40 payload: false
41 })
42 }
43 },
44
45 reducers: {
46 changeSubmitting(state, { payload }) {
47 return {
48 ...state,
49 submitting: payload
50 }
51 },
52 registerSuccess(state) {
53 return {
54 ...state,
55 error: null
56 }
57 },
58 registerFailure(state, { payload }) {
59 return {
60 ...state,
61 error: payload
62 }
63 }
64 }
65}