GameManager.ts 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. import { _decorator, Component, Node, SpriteFrame, sys } from 'cc';
  2. import { config } from './config';
  3. import { settingData } from './data';
  4. import { http } from './http';
  5. import { imageCacheManager } from './manager/imageCacheManager';
  6. import { userDataManager } from './manager/userDataManager';
  7. import { SdkUtil } from './sdkUtil';
  8. import { uiManager } from './manager/uiManager';
  9. const { ccclass, property } = _decorator;
  10. @ccclass('GameManager')
  11. export class GameManager extends Component {
  12. public static openId:string = 'asd'
  13. public static settingData:settingData = null
  14. // 设置
  15. public static getUserDefaultCarSf():SpriteFrame {
  16. let sf = imageCacheManager.getHomeCarImageById(userDataManager.user_car_list.default_car_id)
  17. return sf
  18. }
  19. public static getSettingData():settingData {
  20. if(GameManager.settingData!=null) {
  21. return GameManager.settingData
  22. }
  23. let str = sys.localStorage.getItem(config.SETTING_DATA)
  24. let data = new settingData
  25. if(str==undefined||str==""||str==null){
  26. data.isOpenYinYue = true
  27. data.isOpenYinXiao = true
  28. data.isOpenZhendong = true
  29. } else {
  30. data = JSON.parse(str)
  31. GameManager.settingData = data
  32. }
  33. return data;
  34. }
  35. public static saveSettingData(data:settingData) {
  36. sys.localStorage.setItem(config.SETTING_DATA, JSON.stringify(data));
  37. }
  38. //请求广播
  39. public static requestGuangbo(cb=null) {
  40. http.get(config.STATIC_API.msg, (err,d)=>{
  41. if(!err){
  42. let nd = JSON.parse(d)
  43. if(nd.code === config.status.SUCCESS){
  44. // console.log("system_msg", nd.content)
  45. if(cb!=null){
  46. cb(nd.content)
  47. }
  48. }
  49. }
  50. })
  51. }
  52. //请求用户车列表
  53. public static requestUserCarList(cb=null) {
  54. http.post(config.API.user_car_list,null,(err,d)=>{
  55. if(!err){
  56. let nd = JSON.parse(d)
  57. if(nd.code === config.status.SUCCESS){
  58. // console.log("user_car_list", nd.content)
  59. if(cb!=null){
  60. cb(nd.content)
  61. }
  62. }
  63. }
  64. },'GET')
  65. }
  66. // 请求用户注册/设置地区 stype 1:注册 2:重新设置
  67. public static requestUserSetRegion(region_id:number,stype:number,cb) {
  68. let opt = {'region_id':region_id, 'stype':stype}
  69. http.post(config.API.user_set_region, opt, (err,d)=>{
  70. let nd = JSON.parse(d)
  71. if(nd.code === config.status.SUCCESS){
  72. if(cb!=null){
  73. cb(nd.content)
  74. }
  75. }
  76. })
  77. }
  78. // 请求我的排行 stype 0:全国 1:省 2:市
  79. public static requestMineRank(stype:number, cb) {
  80. let opt = {'stype': stype}
  81. http.post(config.API.user_ranking, opt, (err,d)=>{
  82. if(!err){
  83. let data = JSON.parse(d)
  84. if(data.code===config.status.SUCCESS){
  85. if(cb!=null) {
  86. cb(data.content)
  87. }
  88. }
  89. } else{
  90. console.log("user rank Data err",err)
  91. }
  92. })
  93. }
  94. // 请求排行列表
  95. public static requestRankList(region_id:number, cb) {
  96. http.get(config.STATIC_API.rankings(region_id),(err,d)=>{
  97. if(!err){
  98. let data = JSON.parse(d)
  99. if(data.code===config.status.SUCCESS){
  100. // console.log('data=',data.content)
  101. if(cb!=null) {
  102. cb(data.content)
  103. }
  104. }
  105. } else{
  106. console.log("rankList err",err)
  107. }
  108. })
  109. }
  110. // 请求tt侧边栏用户奖励
  111. public static requestTTSidebarUserReward(status=config.USER_TT_SIDEBAR_REWARD.GET, success_cb, fail_cb=null) {
  112. if(sys.platform != sys.Platform.BYTEDANCE_MINI_GAME) {
  113. success_cb(null)
  114. return
  115. }
  116. if(status != config.USER_TT_SIDEBAR_REWARD.GET) {
  117. uiManager.Instance().showLoading()
  118. }
  119. http.post(config.API.unlock_number_status,{'stype':status}, (err,data)=>{
  120. if(status!= config.USER_TT_SIDEBAR_REWARD.GET) {
  121. uiManager.Instance().hideLoading()
  122. }
  123. if(!err) {
  124. let _data = JSON.parse(data)
  125. if(_data.code==config.status.SUCCESS) {
  126. if(success_cb) {
  127. success_cb(_data.content)
  128. }
  129. } else {
  130. if(fail_cb) {
  131. fail_cb()
  132. }
  133. }
  134. } else {
  135. if(fail_cb) {
  136. fail_cb()
  137. }
  138. }
  139. })
  140. }
  141. }