index.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { checkMissingParams } from "../../utils/helper";
  2. import { RoleData } from "./role.interface";
  3. import DnSdk from "../../lib/DnSdk.js";
  4. import { reportApi } from "../../api/report.api";
  5. export const reportRole = async (roleData: RoleData) => {
  6. const missingKeys = checkMissingParams(roleData, ["data_type",
  7. "server_id",
  8. "server_name",
  9. "role_id",
  10. "role_name",
  11. "role_level"]);
  12. if (missingKeys.length > 0) {
  13. throw new Error(`SDK init error: missing params: ${missingKeys.join(', ')}`);
  14. }
  15. if (roleData.data_type == 2) {
  16. // 腾讯广告小游戏SDK上报
  17. DnSdk.getInstance().onCreateRole();
  18. }
  19. // if (roleData.data_type == 6 && roleData.event_type == 'tutorial_finish') {
  20. // // 腾讯广告小游戏SDK上报
  21. // DnSdk.getInstance().onTutorialFinish();
  22. // }
  23. if (roleData.data_type == 5) {
  24. // 腾讯广告小游戏SDK上报
  25. DnSdk.getInstance().onTutorialFinish();
  26. }
  27. const reportData = {
  28. data_type: roleData.data_type,
  29. server_id: roleData.server_id,
  30. server_name: roleData.server_name,
  31. role_id: roleData.role_id,
  32. role_name: roleData.role_name,
  33. role_level: roleData.role_level,
  34. };
  35. // 上报数据
  36. await reportApi(reportData);
  37. return Promise.resolve();
  38. }