PlayerConst.ts 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. import DataMgr from "../mgr/DataMgr";
  2. import StorageMgr from "../mgr/StorageMgr";
  3. import Util from "../util/Util";
  4. import { PROPTYPE } from "./Enum";
  5. const { ccclass, property } = cc._decorator;
  6. @ccclass
  7. export default class PlayerConst extends cc.Component {
  8. //玩家状态信息---------------------------------------------------------------
  9. /**今日是否首次登陆 */
  10. public static ifFirstLoginToday: boolean = false;
  11. /**是否显示了惊喜任务 */
  12. public static ifShowSurpriseTask: boolean = false;
  13. //玩家微信信息---------------------------------------------------------------
  14. /**玩家昵称 */
  15. public static headImgUrl: string = "";
  16. public static nickName: string = "微信未授权";
  17. public static inviteCode: string = "";
  18. //玩家数据信息---------------------------------------------------------------
  19. /**玩家现金数目 */
  20. public static cashNum: number = 0;
  21. /**关卡数 */
  22. public static levelNum: number = 0;
  23. /**体力数量 */
  24. public static energyNum: number = 9;
  25. /**体力更改的时间 */
  26. public static energyChangeTime: number = 0;
  27. /**剩余体力恢复时间 */
  28. public static leftEnergyRecoverTime: number = null;
  29. /**锤子道具数量 */
  30. public static hanmmerPropNum: number = 0;
  31. /**变色道具数量 */
  32. public static changePropNum: number = 0;
  33. /**重设道具数量 */
  34. public static resetPropNum: number = 0;
  35. public passRedPacketCashNum: Number = 0;
  36. /**登陆天数 */
  37. public static loginDay: number = 0;
  38. //Api回传数据-------------------------------------------------------------------
  39. public static videoNum: number = 0;
  40. /**是否巨量激活 */
  41. public static ifJuliangApiApiActivie: boolean = false;
  42. /**是否巨量次留激活 */
  43. public static ifJuliangApiSencondActivie: boolean = false;
  44. //打卡红包相关数据
  45. public static clockInCashInfo: any = null;
  46. //打卡相关数据------------------------------------------------------------------
  47. /**通关红包数 */
  48. public static todayPassRedPacketNum: number = 0;
  49. /**今日目标红包数 */
  50. public static todayTargetRedPacketNum: number = 10;
  51. //平均ecpm----------------------------------------------------------------------
  52. public static average_ecpm: number = 0;
  53. //商城信息-----------------------------------------------------------------------
  54. public static adress: string = "";
  55. /**获取用户detail信息 */
  56. public static getDetailInfo(data: any) {
  57. PlayerConst.cashNum = !!data.amount ? Number(data.amount) : 0;
  58. PlayerConst.levelNum = !!data.cur_pass_no ? Number(data.cur_pass_no) : 0;
  59. PlayerConst.energyNum = !!data.strength ? data.strength : 0;
  60. PlayerConst.shopScoreNum = !!data.score_total ? data.score_total : 0;
  61. //登陆天数
  62. PlayerConst.loginDay = !!data.loginDays ? data.loginDays : 1;
  63. //给Ecpm赋值
  64. if (!!data.adShowConfig) {
  65. if (PlayerConst.ifFirstLoginToday || !PlayerConst.average_ecpm) {
  66. PlayerConst.average_ecpm = data.adShowConfig.average_ecpm;
  67. StorageMgr.Inst.setStorage(DATA_STORAGE_KEY.average_ecpm, PlayerConst.average_ecpm);
  68. mk.console.log("[HttpMgr] detail PlayerConst.average_ecpm 首日赋值", PlayerConst.average_ecpm);
  69. }
  70. mk.console.log("[HttpMgr] detail PlayerConst.average_ecpm", PlayerConst.average_ecpm);
  71. }
  72. //刷新红包数目
  73. DataMgr.Inst.updateMoneyNum(0);
  74. //刷新道具数量
  75. this.getPropNum(data.props_data);
  76. }
  77. /**获取道具数量 */
  78. public static getPropNum(data: any) {
  79. if (data) {
  80. mk.console.log("data", data);
  81. Object.keys(data).forEach((key) => {
  82. let num = Number(data[key]);
  83. let propType = PROPTYPE.Null;
  84. switch (key) {
  85. case PROPTYPE.Hammer:
  86. propType = PROPTYPE.Hammer;
  87. break;
  88. case PROPTYPE.Reset:
  89. propType = PROPTYPE.Reset;
  90. break;
  91. case PROPTYPE.Change:
  92. propType = PROPTYPE.Change;
  93. break;
  94. }
  95. DataMgr.Inst.updatePropNum(0, propType, num);
  96. })
  97. }
  98. }
  99. /** 获取特定类型的道具数量 */
  100. public static getPropNumByType(propType: PROPTYPE): number {
  101. let num: number = 0;
  102. switch (propType) {
  103. case PROPTYPE.Hammer:
  104. num = PlayerConst.hanmmerPropNum;
  105. break;
  106. case PROPTYPE.Reset:
  107. num = PlayerConst.resetPropNum;
  108. break;
  109. case PROPTYPE.Change:
  110. num = PlayerConst.changePropNum;
  111. break;
  112. default:
  113. num = 0;
  114. break;
  115. }
  116. return num;
  117. }
  118. /**检测是否是新授权用户 */
  119. public static cheeckIfNewAuthUser(registerTime: number): boolean {
  120. if (!registerTime) {
  121. return true;
  122. }
  123. let curDate = new Date();
  124. let date_registerTime = new Date(registerTime * 1000);
  125. let day_curDate = Util.parseTimestamp(curDate);
  126. let day_registerTime = Util.parseTimestamp(date_registerTime);
  127. mk.console.log("Util.parseTimestamp(day_curDate)", Util.parseTimestamp(curDate));
  128. mk.console.log("Util.parseTimestamp(day_registerTime)", Util.parseTimestamp(date_registerTime));
  129. if (day_curDate == day_registerTime) {
  130. return true;
  131. }
  132. else {
  133. return false;
  134. }
  135. }
  136. }
  137. export enum DATA_STORAGE_KEY {
  138. /**现金数目 */
  139. cashNum = "cashNum",
  140. /**商城积分数量 */
  141. shopScoreNum = "shopScoreNum",
  142. /**关卡等级 */
  143. levelNum = "levelNum",
  144. /**能量数目 */
  145. energyNum = "energyNum",
  146. /**能量变更时间 */
  147. energyChangeTime = "energyChangeTime",
  148. /**剩余的能量回复时间 */
  149. leftEnergyRecoverTime = "leftEnergyRecoverTime",
  150. /**登陆ticket */
  151. login_ticket = "login_ticket",
  152. /**uin */
  153. uin = "uin",
  154. /**session_key */
  155. session_key = "session_key",
  156. /**是否授权 */
  157. isAuth = "isAuth",
  158. /**昵称 */
  159. nickname = "nickname",
  160. /**今天通关红包数目 */
  161. todayPassRedPacketNum = "todayPassRedPacketNum",
  162. /**今日观看视频数目 */
  163. watchVideoNum = "watchVideoNum",
  164. /**今日在线时长 */
  165. onlineTime = "onlineTime",
  166. /**今日通关数目 */
  167. passNum = "passTime",
  168. /**是否巨量激活 */
  169. ifJuliangApiApiActivie = "ifJuliangApiApiActivie",
  170. /**是否巨量次留激活 */
  171. ifJuliangApiSencondActivie = "ifJuliangApiSencondActivie",
  172. /**地址 */
  173. adress = "adress",
  174. /**平均Ecpm */
  175. average_ecpm = "average_ecpm"
  176. }