ADUnlockFarmWindow.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { _decorator, Component, Node } 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. const { ccclass, property } = _decorator;
  11. @ccclass('ADUnlockFarmWindow')
  12. export class ADUnlockFarmWindow extends Component {
  13. @property({ type: Http, tooltip: "HTTP请求对象" })
  14. public http: Http = null;
  15. private unlockList = [];
  16. async onClickButton() {
  17. let result = await this.http.send("/api/ad/watchVideoAD");
  18. if (result.code == 0) {
  19. platform.reportThinking("ad_init", JSON.stringify({ ad_id: "buy_field", ad_time: Utils.formatDate(new Date()), id: g.userData.id, role_name: g.userData.nickName, level: g.userData.getLevel() }));
  20. //播放视频
  21. let adData = await g.showRewardVideo();
  22. if (adData) {
  23. this.onVideoOver();
  24. } else {
  25. //视频观看失败
  26. WindowManager.showTips("视频观看时间不足");
  27. }
  28. } else if (result.code == 106) {
  29. WindowManager.showTips("今日视频次数已用完,请明日再继续");
  30. } else if (result.code == HttpErrorCode.VideoADCD) {
  31. WindowManager.showTips("请求频繁,请稍后再试");
  32. } else {
  33. WindowManager.showTips("视频准备中,请稍后再试");
  34. }
  35. }
  36. public onParams(id: number): void {
  37. this.unlockList = [id];
  38. // if (id <= 31005) {
  39. // this.unlockList = [31003, 31004, 31005];
  40. // } else {
  41. // this.unlockList = [31006, 31007, 31008];
  42. // }
  43. }
  44. async onVideoOver() {
  45. let result = await this.http.send("/api/product/unlock", { buildList: this.unlockList, adData: g.adData });
  46. if (result.code == 0) {
  47. platform.reportThinking("ad_end", JSON.stringify({ ad_id: "buy_field", ad_time: Utils.formatDate(new Date()), id: g.userData.id, role_name: g.userData.nickName, level: g.userData.getLevel() }))
  48. for (let i = 0; i < this.unlockList.length; i++) {
  49. g.gameData.setBuildData(this.unlockList[i], 0);
  50. WindowManager.close();
  51. }
  52. } else if (result.code == HttpErrorCode.VideoADCD) {
  53. WindowManager.showTips("请求频繁,请稍后再试");
  54. }
  55. }
  56. }