GameManager.ts 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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. const { ccclass, property } = _decorator;
  8. @ccclass('GameManager')
  9. export class GameManager extends Component {
  10. public static openId:string = 'asd'
  11. public static settingData:settingData = null
  12. public static getUserDefaultCarSf():SpriteFrame {
  13. let sf = imageCacheManager.getHomeCarImageById(userDataManager.user_car_list.default_car_id)
  14. return sf
  15. }
  16. public static getSettingData():settingData {
  17. if(GameManager.settingData!=null) {
  18. return GameManager.settingData
  19. }
  20. let str = sys.localStorage.getItem(config.SETTING_DATA)
  21. let data = new settingData
  22. if(str==undefined||str==""||str==null){
  23. data.isOpenYinYue = true
  24. data.isOpenYinXiao = true
  25. data.isOpenZhendong = true
  26. } else {
  27. data = JSON.parse(str)
  28. GameManager.settingData = data
  29. }
  30. return data;
  31. }
  32. public static saveSettingData(data:settingData) {
  33. sys.localStorage.setItem(config.SETTING_DATA, JSON.stringify(data));
  34. }
  35. //获取用户车列表
  36. public static getUserCarList(cb=null) {
  37. http.post(config.API.user_car_list,null,(err,d)=>{
  38. if(!err){
  39. let nd = JSON.parse(d)
  40. if(nd.code === config.status.SUCCESS){
  41. userDataManager.user_car_list = nd.content
  42. // console.log("user_car_list", userDataManager.user_car_list)
  43. if(cb!=null){
  44. cb()
  45. }
  46. }
  47. }
  48. },'GET')
  49. }
  50. // stype 1:注册 2:重新设置
  51. public static requestUserSetRegion(region_id:number,stype:number,cb) {
  52. let opt = {'region_id':region_id, 'stype':stype}
  53. http.post(config.API.user_set_region, opt, (err,d)=>{
  54. let nd = JSON.parse(d)
  55. if(nd.code === config.status.SUCCESS){
  56. if(cb!=null){
  57. cb(nd.content)
  58. }
  59. }
  60. })
  61. }
  62. // stype 0:全国 1:省 2:市
  63. public static requestMineRank(stype:number, cb) {
  64. let opt = {'stype': stype}
  65. http.post(config.API.user_ranking, opt, (err,d)=>{
  66. if(!err){
  67. let data = JSON.parse(d)
  68. if(data.code===config.status.SUCCESS){
  69. if(cb!=null) {
  70. cb(data.content)
  71. }
  72. }
  73. } else{
  74. console.log("user rank Data err",err)
  75. }
  76. })
  77. }
  78. public static requestRankList(region_id:number, cb) {
  79. http.get(config.STATIC_API.rankings(region_id),(err,d)=>{
  80. if(!err){
  81. let data = JSON.parse(d)
  82. if(data.code===config.status.SUCCESS){
  83. // console.log('data=',data.content)
  84. if(cb!=null) {
  85. cb(data.content)
  86. }
  87. }
  88. } else{
  89. console.log("rankList err",err)
  90. }
  91. })
  92. }
  93. }