ReservePopup.ts 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /*
  2. * @Author: mojunshou 1637302775@qq.com
  3. * @Date: 2025-04-19 11:04:19
  4. * @LastEditors: mojunshou 1637302775@qq.com
  5. * @LastEditTime: 2025-04-28 16:32:06
  6. * @Description:
  7. */
  8. import { _decorator } from 'cc';
  9. import { oops } from 'db://oops-framework/core/Oops';
  10. import VMParent from 'db://oops-framework/libs/model-view/VMParent';
  11. import { UIID } from '../../common/config/GameUIConfig';
  12. import { DeviceUtil } from 'db://oops-framework/core/utils/DeviceUtil';
  13. import { smc } from '../../common/SingletonModuleComp';
  14. import { Format } from '../../utils/Format';
  15. import { DCHandler } from '../../common/manager/DCHandler';
  16. import { ServerHandler } from '../../common/manager/ServerHandler';
  17. import { GameEvent } from '../../common/config/GameEvent';
  18. const { ccclass, property } = _decorator;
  19. @ccclass('ReservePopup')
  20. export class ReservePopup extends VMParent {
  21. data: any = {
  22. nickName: "小白",
  23. time: "2025-04-28",
  24. money: 1000,
  25. goldNum: 1
  26. }
  27. start() {
  28. DCHandler.inst.reportData(3000200);
  29. this.setButton();
  30. this.updateData();
  31. oops.message.dispatchEvent(GameEvent.updateGameState, "paused");
  32. }
  33. //更新数据
  34. updateData() {
  35. if (DeviceUtil.isAndroid && DeviceUtil.isNative) {
  36. let name = smc.account.AccountModel.accountName
  37. //超过五位数就用***代替
  38. this.data.nickName = Format.truncateCustom(name);
  39. this.data.money = Format.formatWxCoin(smc.account.AccountModel.wxCoin);
  40. //当前时间的后三天,只要年月日
  41. this.data.time = this.getThreeDaysLater();
  42. }
  43. }
  44. async btn_confirm() {
  45. //加载微信转账中
  46. oops.gui.remove(UIID.ReservePopup);
  47. this.updateState();
  48. }
  49. updateState() {
  50. ServerHandler.inst.updatePopupState({
  51. level: smc.account.AccountModel.curLevel,
  52. type: smc.game.GameModel.popupType
  53. })
  54. }
  55. // 获取当前日期后三天的日期(格式:YYYY-MM-DD)
  56. getThreeDaysLater(): string {
  57. const date = new Date();
  58. date.setDate(date.getDate() + 3); // 自动处理跨月/年逻辑[5](@ref)
  59. // 补零处理
  60. const year = date.getFullYear();
  61. const month = (date.getMonth() + 1).toString().padStart(2, '0'); // 月份从0开始需+1[4](@ref)
  62. const day = date.getDate().toString().padStart(2, '0'); // 日期补零[2](@ref)
  63. return `${year}-${month}-${day}`;
  64. }
  65. }