SignData.ts 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /**
  2. * @description 签到数据
  3. * @author 邹勇 薛鸿潇
  4. */
  5. export class SignData {
  6. /** 标志位:是否需要刷新数据 */
  7. public init_data: boolean = false;
  8. /** 配置数据 签到 */
  9. public c_sign = [];
  10. // 服务端数据 上次签到天数
  11. private _sign_last_bar = 3;
  12. set sign_last_bar(value: number) {
  13. this._sign_last_bar = value;
  14. this.init_data = true;
  15. }
  16. get sign_last_bar(): number {
  17. return this._sign_last_bar;
  18. }
  19. // 服务端数据 能够签到
  20. private _sign_can = 1;
  21. set sign_can(value: number) {
  22. this._sign_can = value;
  23. this.init_data = true;
  24. }
  25. get sign_can(): number {
  26. return this._sign_can;
  27. }
  28. /** 签到列表数据 */
  29. public list_data = [];
  30. /** 初始化列表数据 */
  31. public initListData() {
  32. if (!this.c_sign.length) this.c_sign = this.getSignConfig();
  33. let list_data = [];
  34. for (let i = 0; i < 30;) {
  35. let item_data = [];
  36. for (let j = 0; j < 3; j++) {
  37. let data = this.c_sign[i];
  38. item_data.push(data);
  39. i++;
  40. }
  41. list_data.push(item_data);
  42. }
  43. this.list_data = list_data;
  44. }
  45. /** 客户端造的假配置 */
  46. private getSignConfig() {
  47. let c_sign = [];
  48. for (let i = 0; i < 30; i++) {
  49. const id = i + 1;
  50. let data: any = {};
  51. data.id = id;
  52. data.reward_type = i % 3;
  53. data.count = id;
  54. data.login_day = id;
  55. data.video_limit = 0;
  56. c_sign.push(data);
  57. }
  58. return c_sign;
  59. }
  60. /**
  61. * 获取奖励状态
  62. * @param login_day 登陆日
  63. * @returns 状态123
  64. */
  65. public getStateByDay(login_day: number) {
  66. let _state = GEnum.rewardState.none;
  67. if (login_day <= this.sign_last_bar) {
  68. _state = GEnum.rewardState.none;
  69. } else if (login_day == (this.sign_last_bar + 1)) {
  70. if (!this.sign_can) {
  71. _state = GEnum.rewardState.none;
  72. } else {
  73. _state = GEnum.rewardState.unlock;
  74. }
  75. } else {
  76. _state = GEnum.rewardState.lock;
  77. }
  78. return _state;
  79. }
  80. }