Xverse.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import util from "./util.js"
  2. import {reporter} from "./Reporter.js"
  3. import ModelManager from "./ModelManager.js"
  4. import XverseRoom from "./XverseRoom.js"
  5. import Preload from "./Preload.js"
  6. import RenderType from "./enum/RenderType.js"
  7. import Person from "./enum/Person.js"
  8. import LoggerLevels from "./enum/LoggerLevels.js"
  9. import Logger from "./Logger.js"
  10. const logger = new Logger('xverse')
  11. export default class Xverse{
  12. constructor(e) {
  13. e || (e = {});
  14. const {onLog: t, env: r, appId: n, releaseId: o, subPackageVersion: a} = e;
  15. this.NO_CACHE = !1,
  16. this.env = r || "PROD",
  17. this.SUB_PACKAGE_VERSION = a,
  18. this.debug && logger.setLevel(LoggerLevels.Debug);
  19. const s = this.pageSession = util.uuid();
  20. reporter.updateHeader({
  21. pageSession: s
  22. })
  23. reporter.updateReportUrl(REPORT_URL[this.env])
  24. a && reporter.updateBody({
  25. sdkVersion: a
  26. })
  27. logger.infoAndReportMeasurement({
  28. metric: "sdkInit",
  29. startTime: Date.now(),
  30. extra: {
  31. version: a,
  32. enviroment: r,
  33. pageSession: s
  34. }
  35. })
  36. logger.debug("debug mode:", this.debug)
  37. reporter.on("report", l=>{
  38. t && t(l)
  39. })
  40. if (n) {
  41. this.appId = n,
  42. this.releaseId = o;
  43. const l = ModelManager.getInstance(n, o);
  44. this.preload = new Preload(l)
  45. }
  46. }
  47. get isSupported() {
  48. return isSupported()
  49. }
  50. disableLogUpload() {
  51. reporter.disable(),
  52. logger.debug("logger upload has been disabled")
  53. }
  54. async getSkinList() {
  55. return []
  56. }
  57. async getAvatarList() {
  58. return []
  59. }
  60. async getGiftList() {
  61. return [{
  62. id: "hack "
  63. }]
  64. }
  65. async joinRoom(e) {
  66. const t = e.pathName || "thirdwalk"
  67. , r = e.rotationRenderType || RenderType.RotationVideo
  68. , n = e.person || Person.Third
  69. , o = new XverseRoom(le(oe({}, e), {
  70. appId: e.appId || this.appId,
  71. releaseId: e.releaseId || this.releaseId,
  72. pageSession: this.pageSession,
  73. isAllSync: !0,
  74. rotationRenderType: r,
  75. syncByEvent: !0,
  76. pathName: t,
  77. person: n,
  78. role: e.role || "audience"
  79. }));
  80. return o.initRoom().then(()=>o)
  81. }
  82. };