DailyCashData.ts 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. import Main from "../Main"
  2. import AdM from "../manager/AdM"
  3. import GameM from "../manager/GameM"
  4. import UiM from "../manager/UiM"
  5. import EffectNode from "../ui/EffectNode"
  6. import RedPackageNode from "../ui/RedPackageNode"
  7. import LogUtil from "../utils/LogUtil"
  8. import { HTTP_TYPE } from "./CommonData"
  9. import UsualCaidanData from "./UsualCaidanData"
  10. /** 每日提现数据类 */
  11. export default class DailyCashData {
  12. private static instance: DailyCashData = null
  13. static get Instance(): DailyCashData {
  14. if (!DailyCashData.instance) {
  15. DailyCashData.instance = new DailyCashData()
  16. }
  17. return DailyCashData.instance
  18. }
  19. /** 每日提现条件表 */
  20. dailyCashStatus = []
  21. /** 每日提现提现表 */
  22. dailyCashApplyCfg = null
  23. needShowUsualCaidan = false
  24. //服务器字段
  25. userDailyCashInfo = null
  26. /** 提现返回 */
  27. resultDailyCash(data, param) {
  28. this.dailyCashStatus = data.CashStatusList
  29. GameM.commonData.getAdShowConfig()
  30. GameM.commonData.checkCanShowSplash()
  31. UsualCaidanData.Instance.getUsualEggData(true)
  32. //获取当前提现金额
  33. let tmoney = 0
  34. for (var i = 0; i < this.dailyCashStatus.length; i++) {
  35. if (this.dailyCashStatus[i].index == param.index) {
  36. tmoney = this.dailyCashStatus[i].amount * 0.01
  37. break
  38. }
  39. }
  40. GameM.commonData.redMoney -= (tmoney * 10000)
  41. let paramT = {}
  42. paramT['totalNumber'] = GameM.commonData.redMoney
  43. GameM.commonData.resultRedMoney(null, paramT)
  44. AdM.setTAEventUser(1, 'dailyCashTime_total', 1)
  45. AdM.setTAEventUser(1, 'dailyCashMoney_total', tmoney)
  46. AdM.onSendEvent(`dailyCash_${param.index}`, `第${param.index}个每日提现成功`, 'dailyCash')
  47. UiM.Instance.hallNode.getComponent(Main).resetFillRange()
  48. UiM.Instance.redPackageNode.tiXianSuccess(data.CashMode != 2)
  49. GameM.commonData.richbank_noSave = 2
  50. this.needShowUsualCaidan = true
  51. GameM.httpM.sendDatas(HTTP_TYPE.bankCashRecord, null, GameM.commonData.updateBankPacket.bind(GameM.commonData))
  52. }
  53. resultDailyCashFail(errmsg) {
  54. EffectNode.instance.PlayTip(errmsg)
  55. if (UiM.Instance.redPackageNode) {
  56. UiM.Instance.redPackageNode.getComponent(RedPackageNode).tixianFail()
  57. }
  58. }
  59. /** 获取今日提现条件配置 */
  60. getTodayDailyCash() {
  61. for (var i = 0; i < this.dailyCashApplyCfg.length; i++) {
  62. if (GameM.commonData.roleData.dailyFinishIndex + 1 == this.dailyCashApplyCfg[i].index) {
  63. return this.dailyCashApplyCfg[i]
  64. }
  65. }
  66. return null
  67. }
  68. /** 提前获取每日提现金额 */
  69. getDailyCashMoney() {
  70. // return
  71. let cfg = this.getTodayDailyCash()
  72. let data = {
  73. 'index': cfg.index
  74. }
  75. GameM.httpM.sendDatas(HTTP_TYPE.getDailyCashMoney, data, this.getDailyCashMoneyBack.bind(this))
  76. LogUtil.logV('dailyCash getDailyCashMoney ', data)
  77. }
  78. getDailyCashMoneyBack(data) {
  79. LogUtil.logV('dailyCash getDailyCashMoneyBack ', data)
  80. UiM.Instance.redPackageNode.getComponent(RedPackageNode).freshDailyCashMoney(data.cashMoney)
  81. }
  82. /** 获取每日提现需买车次数 */
  83. getDailyCashBuyTime() {
  84. // return
  85. let cfg = this.getTodayDailyCash()
  86. let data = {
  87. 'index': cfg.index
  88. }
  89. GameM.httpM.sendDatas(HTTP_TYPE.getDailyCashBuyTime, data, DailyCashData.Instance.getDailyCashBuyTimeBack.bind(this))
  90. LogUtil.logV('dailyCash getDailyCashBuyTime ', data)
  91. }
  92. getDailyCashBuyTimeBack(data) {
  93. if (!cc.isValid(this.userDailyCashInfo)) {
  94. this.userDailyCashInfo = {}
  95. }
  96. this.userDailyCashInfo.buyTime = data.buyTime
  97. LogUtil.logV('dailyCash getDailyCashBuyTimeBack ', data)
  98. UiM.Instance.redPackageNode.getComponent(RedPackageNode).freshNeedBuyTimes()
  99. UiM.Instance.hallNode.getComponent(Main).freshDailyPro()
  100. }
  101. }