AddDiamond.ts 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import { _decorator, Component, Node, Button } from 'cc';
  2. import { Http } from '../core/net/Http';
  3. import { OpenWindow } from '../core/ui/window/OpenWindow';
  4. import { WindowManager } from '../core/ui/window/WindowManager';
  5. import { WindowOpenMode } from '../core/ui/window/WindowOpenMode';
  6. import { Utils } from '../core/utils/Utils';
  7. import { g } from '../Data/g';
  8. import { HttpErrorCode } from '../Data/HttpErrorCode';
  9. import { platform } from '../Data/platform';
  10. import { GetType } from '../UI/GetWindow/GetType';
  11. const { ccclass, property } = _decorator;
  12. @ccclass('AddDiamond')
  13. export class AddDiamond extends Component {
  14. @property({ type: Http, tooltip: "HTTP请求对象" })
  15. public http: Http = null;
  16. // @property({ type: OpenWindow, tooltip: "打开窗口的对象" })
  17. // public openWindow: OpenWindow = null;
  18. /**
  19. * 当按钮点击时
  20. */
  21. async onClickButton() {
  22. let result = await this.http.send("/api/ad/watchVideoAD");
  23. if (result.code == 0) {
  24. platform.reportThinking("ad_init", JSON.stringify({ ad_id: "diamond_get", ad_time: Utils.formatDate(new Date()), id: g.userData.id, role_name: g.userData.nickName, level: g.userData.getLevel() }));
  25. //播放视频
  26. let adData = await g.showRewardVideo();
  27. if(adData){
  28. this.onVideoOver();
  29. }else {
  30. //视频观看失败
  31. WindowManager.showTips("视频观看时间不足");
  32. }
  33. } else if (result.code == 106) {
  34. WindowManager.showTips("今日视频次数已用完,请明日再继续");
  35. } else if (result.code == HttpErrorCode.VideoADCD) {
  36. WindowManager.showTips("请求频繁,请稍后再试");
  37. } else {
  38. WindowManager.showTips("视频准备中,请稍后再试");
  39. }
  40. }
  41. async onVideoOver() {
  42. let result = await this.http.send("/api/user/getDiamond", { adData: g.adData });
  43. if (result.code == 0) {
  44. platform.reportThinking("ad_end", JSON.stringify({ ad_id: "diamond_get", ad_time: Utils.formatDate(new Date()), id: g.userData.id, role_name: g.userData.nickName, level: g.userData.getLevel(), award: result.data }));
  45. platform.reportThinking("diamond_increase", JSON.stringify({ previous_number: g.userData.diamond, increase_number: result.data, current_number: g.userData.diamond + result.data, reasons: "addDiamond" }));
  46. WindowManager.open("Prefabs/GetWindow", WindowOpenMode.CloseAndAdd, [{ count: result.data, type: GetType.Diamond, needBezierEffect: true }]);
  47. } else if (result.code == HttpErrorCode.VideoADCD) {
  48. WindowManager.showTips("请求频繁,请稍后再试");
  49. }
  50. }
  51. }