types.ts 808 B

123456789101112131415161718192021222324252627282930313233
  1. import { FormInstance } from 'antd';
  2. import { LoginApiParams } from '@/apis';
  3. interface CaptchaData{
  4. uuid: string,
  5. img: string,
  6. };
  7. // 定义状态
  8. export type State = {
  9. buttonLoading: boolean,
  10. captchaData:CaptchaData
  11. tenantEnabled?: boolean,
  12. tenantEnabledList?: any[],
  13. };
  14. // 只读状态
  15. export type ReadonlyState = Readonly<State>;
  16. // 修改状态
  17. export type StateAction = {
  18. setButtonLoading: (loading: State['buttonLoading']) => void,
  19. setCaptchaData: (data: any) => void,
  20. setTenantEnabled: (data: any) => void,
  21. };
  22. // 仓库类型
  23. export type LoginStore = {
  24. state: ReadonlyState,
  25. onClickLogin: (data: LoginApiParams, remember: boolean) => Promise<any>,
  26. onCaptchaImage: () => Promise<any>,
  27. init: (form: FormInstance) => void,
  28. reset: () => void,
  29. };