time.tsx 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import { createSlice, PayloadAction } from '@reduxjs/toolkit';
  2. import Taro from '@tarojs/taro';
  3. interface TimeState {
  4. scenario: string | null;
  5. status: string | null;
  6. fast: any | null;
  7. sleep: any | null;
  8. last_real_check_time: number | null;
  9. }
  10. const initialState: TimeState = {
  11. fast: null,
  12. sleep: null,
  13. scenario: '',
  14. status: '',
  15. last_real_check_time:null
  16. }
  17. const timeSlice = createSlice({
  18. name: 'time',
  19. initialState,
  20. reducers: {
  21. updateScenario(state, action: PayloadAction<any>) {
  22. const { fast, sleep, status, scenario,last_real_check_time } = action.payload;
  23. state.fast = fast
  24. state.sleep = sleep
  25. state.status = status
  26. state.scenario = scenario
  27. state.last_real_check_time = last_real_check_time
  28. },
  29. fastStartSuccess(state, action: PayloadAction<any>) {
  30. const { fast, sleep, status, scenario,last_real_check_time } = action.payload;
  31. state.fast = fast
  32. state.sleep = sleep
  33. state.status = status
  34. state.scenario = scenario
  35. state.last_real_check_time = last_real_check_time
  36. },
  37. fastEndSuccess(state, action: PayloadAction<any>) {
  38. const { fast, sleep, status, scenario,last_real_check_time } = action.payload;
  39. state.fast = fast
  40. state.sleep = sleep
  41. state.status = status
  42. state.scenario = scenario
  43. state.last_real_check_time = last_real_check_time
  44. },
  45. sleepStartSuccess(state, action: PayloadAction<any>) {
  46. const { fast, sleep, status, scenario,last_real_check_time } = action.payload;
  47. state.fast = fast
  48. state.sleep = sleep
  49. state.status = status
  50. state.scenario = scenario
  51. state.last_real_check_time = last_real_check_time
  52. },
  53. sleepEndSuccess(state, action: PayloadAction<any>) {
  54. const { fast, sleep, status, scenario,last_real_check_time } = action.payload;
  55. state.fast = fast
  56. state.sleep = sleep
  57. state.status = status
  58. state.scenario = scenario
  59. state.last_real_check_time = last_real_check_time
  60. },
  61. },
  62. });
  63. export const { fastStartSuccess, fastEndSuccess, sleepStartSuccess, sleepEndSuccess, updateScenario } = timeSlice.actions;
  64. export default timeSlice.reducer;