SeasonPassPurchase.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { _decorator, Button, Color, EditBox, instantiate, Label, Node, RichText, Sprite, SpriteFrame, UITransform } from 'cc';
  2. import { UIViewID } from '@scripts/define/UIDefine';
  3. import { UICloseReason } from '@scripts/framework/ui/UILayer';
  4. import { addBtnClick } from '@scripts/utils/UIHelper';
  5. import { AppKernel } from '@scripts/app/AppKernel';
  6. import { SelectBox } from '@scripts/components/selectBox/SelectBox';
  7. import { UIPopup } from '@scripts/framework/ui/UIPopup';
  8. const { ccclass, property } = _decorator;
  9. @ccclass('SeasonPassPurchase')
  10. export class SeasonPassPurchase extends UIPopup {
  11. readonly viewId = UIViewID.SeasonPassPurchase;
  12. @property(Node)
  13. private btn_close: Node = null;
  14. @property(Node)
  15. private btn_buy: Node = null;
  16. private _gear: any = {};
  17. protected onOpen(_params): void | Promise<void> {
  18. this._gear = _params;
  19. }
  20. protected onCreate(): void | Promise<void> {
  21. addBtnClick(this.btn_close, this.onBtnCloseClick, this);
  22. addBtnClick(this.btn_buy, this.onBtnBuyClick, this);
  23. }
  24. private onBtnCloseClick() {
  25. AppKernel.ui.close(this.viewId);
  26. }
  27. private onBtnBuyClick() {
  28. const payServices = AppKernel.services.paymentServices;
  29. const formatGear = this.formatGoods(this._gear);
  30. payServices.startPayment(formatGear, 0);
  31. }
  32. private formatGoods(goods: any) {
  33. goods.gears = JSON.parse(goods.gear);
  34. goods.cp = Number(goods.cp);
  35. goods.cp_reward = Number(goods.cp_reward);
  36. goods.cp_reward_display_percent = Number(goods.cp_reward_display_percent);
  37. goods.gc = Number(goods.gc);
  38. goods.gc_reward = Number(goods.gc_reward);
  39. goods.gc_reward_display_percent = Number(goods.gc_reward_display_percent);
  40. goods.gc_vip_reward = Number(goods.gc_vip_reward);
  41. goods.gc_vip_reward_display_percent = Number(goods.gc_vip_reward_display_percent);
  42. goods.sc = Number(goods.sc);
  43. goods.sc_reward = Number(goods.sc_reward);
  44. goods.sc_reward_display_percent = Number(goods.sc_reward_display_percent);
  45. return goods;
  46. }
  47. }