PlayerConst.ts 7.1 KB

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