CheckInStore.ts 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import {
  2. APP_CHECK_IN,
  3. APP_CHECK_IN_INFO,
  4. } from '../../api';
  5. import { success } from '@scripts/api/ApiHelper';
  6. import { ApiEnvelope, Http } from '../../request';
  7. import { ICheckInData, ICheckInResponseData } from './data';
  8. import { AppKernel } from '@scripts/app/AppKernel';
  9. class CheckInStore {
  10. private _checkInData = {};
  11. public get checkInData() { return this._checkInData; }
  12. async reqCheckInInfo() {
  13. const res = await Http.call(APP_CHECK_IN_INFO);
  14. if (success(res)) {
  15. this._checkInData = res.data;
  16. AppKernel.events.emit('checkIn:update');
  17. return true;
  18. }
  19. return false;
  20. }
  21. async reqCheckIn(day: number) {
  22. const params = {
  23. day
  24. };
  25. const res = await Http.call(APP_CHECK_IN, params);
  26. if (success(res)) {
  27. this.reqCheckInInfo();
  28. return true;
  29. }
  30. return false;
  31. }
  32. clear() {
  33. this._checkInData = null;
  34. }
  35. }
  36. export const checkInStore = new CheckInStore();