agentSlice.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. import {createSlice} from "@reduxjs/toolkit";
  2. import {REQ_STATUS} from "@api/config";
  3. import {buildReqReducer, reqAgentCheck, reqAgentGet, reqAgentHistory} from "@features/api";
  4. import {getHttpMsg} from "@utils/helpers";
  5. import {toast} from "react-toastify";
  6. const i18n=global.i18n;
  7. const reducerAgentCheck=(state,action,arg)=>{
  8. let payload=action.payload;
  9. if (payload&&payload.code===200){
  10. let data=payload.data;
  11. if (data){
  12. if (data.info)state.info=data.info;
  13. if (data.subs)state.subs=data.subs;
  14. if (data.levels)state.levels=data.levels;
  15. if (data.history)state.bonusList=data.history;
  16. state.isInit=true;
  17. // state.subs=[
  18. // {
  19. // NickName:"xdh123dfasdfasdfa",
  20. // SubTotal:10000,
  21. // bonus:40
  22. // },
  23. // {
  24. // NickName:"xdh123",
  25. // SubTotal:10000,
  26. // bonus:40
  27. // },
  28. // {
  29. // NickName:"xdh123",
  30. // SubTotal:10000,
  31. // bonus:40
  32. // }
  33. // ]
  34. }
  35. }
  36. }
  37. const agentCheckStatus=(state,status,arg)=>{
  38. state.status.AgentCheck=status;
  39. }
  40. const reducerAgentGet=(state,action,arg)=>{
  41. let payload=action.payload;
  42. let msg=getHttpMsg(payload);
  43. if (payload&&payload.code===200){
  44. let bonusList=state.bonusList;
  45. if (bonusList){
  46. for (let i = 0; i < bonusList.length; i++) {
  47. let item=bonusList[i];
  48. if (item.ID===arg){
  49. bonusList.splice(i,1);
  50. break;
  51. }
  52. }
  53. }
  54. state.bonusList=bonusList;
  55. // if(msg!=="")toast.success(msg);
  56. // else toast.success(i18n.t("agent.get_success"));
  57. toast.success(i18n.t("agent.get_success"));
  58. }
  59. else
  60. {
  61. if(msg!=="")toast.error(msg);
  62. else toast.error(i18n.t("agent.get_error"))
  63. }
  64. }
  65. const agentGetStatus=(state,status,arg)=>{
  66. state.status.AgentGet[arg]=status;
  67. }
  68. const reducerAgentHistory=(state,action,arg)=>{
  69. let payload=action.payload;
  70. if (payload&&payload.code===200){
  71. let data=payload.data;
  72. if (data&&data.history){
  73. state.history=data.history;
  74. }
  75. }
  76. }
  77. const agentHistoryStatus=(state,status,arg)=>{
  78. state.status.AgentHistory=status;
  79. }
  80. export const AgentSlice = createSlice({
  81. name: "agent",
  82. initialState: {
  83. status:{
  84. AgentCheck:REQ_STATUS.NONE,
  85. AgentGet:{
  86. },
  87. AgentHistory:REQ_STATUS.NONE
  88. },
  89. isInit:false,
  90. info: {},
  91. subs:[],
  92. levels:{},
  93. bonusList:[],
  94. history:[]
  95. },
  96. reducers:{
  97. },
  98. extraReducers: (builder) => {
  99. buildReqReducer(builder,reqAgentCheck,reducerAgentCheck,agentCheckStatus);
  100. buildReqReducer(builder,reqAgentGet,reducerAgentGet,agentGetStatus);
  101. buildReqReducer(builder,reqAgentHistory,reducerAgentHistory,agentHistoryStatus);
  102. }
  103. })
  104. export const {}=AgentSlice.actions;
  105. export const getAgentInfo=(state)=>{
  106. return state.agent.info;
  107. }
  108. export const getAgentSubs=(state)=>{
  109. return state.agent.subs;
  110. }
  111. export const getAgentLevels=(state)=>{
  112. return state.agent.levels;
  113. }
  114. export const getBonusList=(state)=>{
  115. return state.agent.bonusList;
  116. }
  117. export const getAgentGetStatus=(state)=>{
  118. return state.agent.status.AgentGet;
  119. }
  120. export const getAgentHistoryStatus=(state)=>{
  121. return state.agent.status.AgentHistory;
  122. }
  123. export const getAgentHistory=(state)=>{
  124. return state.agent.history;
  125. }
  126. export const getAgentStatus=(state)=>{
  127. return state.agent.status.AgentCheck;
  128. }
  129. export const getIsInit=(state)=>{
  130. return state.agent.isInit;
  131. }
  132. export default AgentSlice.reducer;