您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

middleware.web.js 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { redirectToStaticPage } from '../app/actions';
  2. import { CONFERENCE_JOINED } from '../base/conference/actionTypes';
  3. import { CONNECTION_FAILED } from '../base/connection';
  4. import { JitsiConnectionErrors } from '../base/lib-jitsi-meet';
  5. import { MiddlewareRegistry } from '../base/redux';
  6. import { SET_DETAILS } from './actionTypes';
  7. import { getCustomerDetails } from './actions';
  8. import { STATUSES } from './constants';
  9. const redirectErrors = [
  10. JitsiConnectionErrors.CONNECTION_DROPPED_ERROR,
  11. JitsiConnectionErrors.PASSWORD_REQUIRED
  12. ];
  13. /**
  14. * The redux middleware for jaas.
  15. *
  16. * @param {Store} store - The redux store.
  17. * @returns {Function}
  18. */
  19. MiddlewareRegistry.register(store => next => async action => {
  20. switch (action.type) {
  21. case CONFERENCE_JOINED: {
  22. store.dispatch(getCustomerDetails());
  23. break;
  24. }
  25. case CONNECTION_FAILED: {
  26. const { error } = action;
  27. if (error && redirectErrors.includes(error.name)) {
  28. store.dispatch(redirectToStaticPage('/static/planLimit.html'));
  29. }
  30. break;
  31. }
  32. case SET_DETAILS: {
  33. const { status } = action.payload;
  34. if (status === STATUSES.BLOCKED) {
  35. store.dispatch(redirectToStaticPage('/static/planLimit.html'));
  36. }
  37. }
  38. }
  39. return next(action);
  40. });