ReportThinking.ts 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. import { sp } from "cc";
  2. import { DataSystem } from "./core/data/DataSystem";
  3. import { HttpSystem } from "./core/net/HttpSystem";
  4. import { Utils } from "./core/utils/Utils";
  5. import { platform } from "./data/jsb/platform";
  6. import { UserData } from "./data/UserData";
  7. import { GodTowerData } from "./godTower/GodTowerData";
  8. import { UserHeroData } from "./hero/UserHeroData";
  9. import { PVPCardData } from "./pvp/PVP";
  10. import { TaskData } from "./task/TaskData";
  11. /**
  12. * 数数事件上报
  13. ** @author 孙雄
  14. */
  15. export class ReportThinking {
  16. public static userData(): UserData {
  17. return DataSystem.getData(UserData);
  18. }
  19. /**点击激励视频广告按钮 */
  20. public static ad_init(id: string) {
  21. platform.reportThinking('ad_init',
  22. JSON.stringify({
  23. ad_id: id,
  24. ad_time: Utils.formatDate(new Date(HttpSystem.serverTime)),
  25. id: DataSystem.getData(UserData).id,
  26. role_name: DataSystem.getData(UserData).nickName,
  27. stage: DataSystem.getData(UserData).level
  28. }));
  29. }
  30. /**激励视频广告观看完成 */
  31. public static ad_end(id: string, num: number = 0) {
  32. platform.reportThinking('ad_end',
  33. JSON.stringify({
  34. ad_id: id,
  35. ad_time: Utils.formatDate(new Date(HttpSystem.serverTime)),
  36. id: DataSystem.getData(UserData).id,
  37. role_name: DataSystem.getData(UserData).nickName,
  38. stage: DataSystem.getData(UserData).level,
  39. award: num
  40. }));
  41. }
  42. /**武将激活 */
  43. public static hero_activate(hero_name: string, hero_get: string) {
  44. platform.reportThinking("hero_activate",
  45. JSON.stringify({
  46. hero_name: hero_name,
  47. id: DataSystem.getData(UserData).id,
  48. stage: DataSystem.getData(UserData).level,
  49. role_name: DataSystem.getData(UserData).nickName,
  50. activate_time: Utils.formatDate(new Date(HttpSystem.serverTime)),
  51. remain_amount: DataSystem.getData(UserHeroData).notHavetHeros.length,
  52. hero_get: hero_get
  53. }));
  54. }
  55. /**
  56. * *武将升星
  57. * @param hero_name 武将名称
  58. * @param chip_consume 消耗碎片数量
  59. * @param hero_level 武将星级
  60. * @param chip_amount 剩余碎片数量
  61. * @param previous_level 升级前星级
  62. * @param increase_level 升级后星级
  63. */
  64. public static hero_levelup(hero_name: string, chip_consume: number, hero_level: number, chip_amount: number, previous_level: number, increase_level: number) {
  65. platform.reportThinking('hero_levelup',
  66. JSON.stringify({
  67. hero_name: hero_name,
  68. id: DataSystem.getData(UserData).id,
  69. stage: DataSystem.getData(UserData).level,
  70. role_name: DataSystem.getData(UserData).nickName,
  71. levelup_time: Utils.formatDate(new Date(HttpSystem.serverTime)),
  72. chip_consume: DataSystem.getData(UserHeroData).notHavetHeros.length,
  73. hero_level: hero_level,
  74. chip_amount: chip_amount,
  75. previous_level: previous_level,
  76. increase_level: increase_level
  77. }));
  78. }
  79. /**
  80. * 货币增加
  81. * @param currencyType
  82. * @param previous_number 之前的数量
  83. * @param increase_number 增加的数量
  84. * @param current_number 当前的数量
  85. * @param reasons 变化原因
  86. */
  87. public static currency_increase(currencyName: string, previous_number: number, increase_number: number, current_number: number, reasons: string) {
  88. let eventName = '';
  89. switch (currencyName) {
  90. case "money": eventName = 'prop_increase'; break;
  91. case "diamond": eventName = 'diamond_increase'; break;
  92. case "bonus": eventName = 'envelope_increase'; break;
  93. case "prestige": eventName = 'stone_increase'; break;
  94. }
  95. platform.reportThinking(eventName,
  96. JSON.stringify({
  97. previous_number: previous_number,
  98. increase_number: increase_number,
  99. current_number: current_number,
  100. role_name: reasons,
  101. }));
  102. }
  103. /**
  104. * 货币减少
  105. * @param currencyType
  106. * @param previous_number 之前的数量
  107. * @param increase_number 减少的数量
  108. * @param current_number 当前的数量
  109. * @param reasons 变化原因
  110. */
  111. public static currency_decrease(currencyName: string, previous_number: number, increase_number: number, current_number: number, reasons: string) {
  112. let eventName = '';
  113. switch (currencyName) {
  114. case "money": eventName = 'prop_decrease'; break;
  115. case "diamond": eventName = 'diamond_decrease'; break;
  116. case "bonus": eventName = 'envelope_decrease'; break;
  117. case "prestige": eventName = 'stone_decrease'; break;
  118. }
  119. platform.reportThinking(eventName,
  120. JSON.stringify({
  121. field_time: Utils.formatDate(new Date(HttpSystem.serverTime)),
  122. previous_number: previous_number,
  123. increase_number: increase_number,
  124. current_number: current_number,
  125. role_name: reasons,
  126. }));
  127. }
  128. /**
  129. * *武将训练
  130. */
  131. public static train(hero_name: string, train_level: number, prop_consume: number = 500) {
  132. platform.reportThinking('train',
  133. JSON.stringify({
  134. hero_name: hero_name,
  135. id: DataSystem.getData(UserData).id,
  136. stage: DataSystem.getData(UserData).level,
  137. role_name: DataSystem.getData(UserData).nickName,
  138. prop_consume: prop_consume,
  139. prop_amount: DataSystem.getData(UserData).money,
  140. train_level: train_level
  141. }));
  142. }
  143. /**
  144. * *征粮
  145. */
  146. public static field() {
  147. let is_first;
  148. if (localStorage.getItem("field_is_first")) {
  149. is_first = false;
  150. } else {
  151. localStorage.setItem("field_is_first", '1');
  152. is_first = true;
  153. }
  154. platform.reportThinking('field',
  155. JSON.stringify({
  156. is_first: is_first,
  157. field_time: Utils.formatDate(new Date(HttpSystem.serverTime)),
  158. id: DataSystem.getData(UserData).id,
  159. stage: DataSystem.getData(UserData).level,
  160. role_name: DataSystem.getData(UserData).nickName,
  161. }));
  162. }
  163. /**
  164. * 战斗PVP
  165. * @param currencyType
  166. * @param previous_number 之前的数量
  167. * @param increase_number 减少的数量
  168. * @param current_number 当前的数量
  169. * @param reasons 变化原因
  170. */
  171. public static fight_pvp(hero_list: Array<PVPCardData>, is_win: boolean) {
  172. let arr = '';
  173. for (let i = 0; i < hero_list.length; i++) {
  174. arr += hero_list[i].id + ',';
  175. }
  176. platform.reportThinking('fight',
  177. JSON.stringify({
  178. hero_list: arr,
  179. id: DataSystem.getData(UserData).id,
  180. stage: DataSystem.getData(UserData).level,
  181. role_name: DataSystem.getData(UserData).nickName,
  182. is_win: is_win,
  183. fight_start_time: HttpSystem.serverTime
  184. }));
  185. }
  186. /**
  187. * 转盘
  188. */
  189. public static turn(award_id: string, award_no: number) {
  190. let is_first;
  191. if (localStorage.getItem("turn_is_first")) {
  192. is_first = false;
  193. } else {
  194. localStorage.setItem("turn_is_first", '1');
  195. is_first = true;
  196. }
  197. platform.reportThinking('turn',
  198. JSON.stringify({
  199. is_first: is_first,
  200. award_id: award_id,
  201. award_no: award_no,
  202. id: DataSystem.getData(UserData).id,
  203. stage: DataSystem.getData(UserData).level,
  204. role_name: DataSystem.getData(UserData).nickName,
  205. turn_time: Utils.formatDate(new Date(HttpSystem.serverTime))
  206. }));
  207. }
  208. /**
  209. * 任务
  210. * @param task_name 任务名
  211. */
  212. public static task(task_name: string) {
  213. platform.reportThinking('task',
  214. JSON.stringify({
  215. task_name: task_name,
  216. id: DataSystem.getData(UserData).id,
  217. stage: DataSystem.getData(UserData).level,
  218. role_name: DataSystem.getData(UserData).nickName,
  219. task_time: Utils.formatDate(new Date(HttpSystem.serverTime))
  220. }));
  221. }
  222. /**
  223. * 活跃度
  224. * @param task_name 活跃度
  225. */
  226. public static activity(award_id: number, award_no: number) {
  227. platform.reportThinking('activity',
  228. JSON.stringify({
  229. activity_amount: DataSystem.getData(TaskData).activityNum,
  230. id: DataSystem.getData(UserData).id,
  231. stage: DataSystem.getData(UserData).level,
  232. role_name: DataSystem.getData(UserData).nickName,
  233. activity_time: Utils.formatDate(new Date(HttpSystem.serverTime)),
  234. award_id: award_id,
  235. award_no: award_no
  236. }));
  237. }
  238. /**
  239. *兵营升级
  240. */
  241. public static base_levelup(stone_consume: number) {
  242. platform.reportThinking('activity',
  243. JSON.stringify({
  244. id: DataSystem.getData(UserData).id,
  245. stage: DataSystem.getData(UserData).level,
  246. role_name: DataSystem.getData(UserData).nickName,
  247. stone_consume: stone_consume,
  248. stone_amount: DataSystem.getData(UserData).prestige,
  249. base_level: DataSystem.getData(UserData).campLv
  250. }));
  251. }
  252. /**
  253. *邀请玩家
  254. */
  255. public static invite() {
  256. platform.reportThinking("invite", JSON.stringify({
  257. upper_class: DataSystem.getData(GodTowerData).parentUin
  258. }));
  259. }
  260. /**
  261. *邀请玩家
  262. */
  263. public static invite_get(newAmount: number) {
  264. platform.reportThinking("invite", JSON.stringify({
  265. current_amount: DataSystem.getData(UserData).contribution,
  266. after_amount: newAmount
  267. }));
  268. }
  269. }