enter.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. import { ElMessage } from "element-plus";
  2. import { params, preventReload } from "../env";
  3. import * as platform from "./enter-shared";
  4. import { asyncTimeout } from "@/utils/shared";
  5. import { encodePwd } from "@/utils/encode";
  6. window.platform = { ...platform };
  7. let isLoging = false;
  8. window.platform.login = (isBack = true) => {
  9. if (isLoging) {
  10. throw "登录中";
  11. }
  12. isLoging = true;
  13. if (import.meta.env.DEV) {
  14. platform
  15. .post("/service/manage/login", {
  16. // password: "Di8r5tFpExMjM0NTY=F39Vd0znQWfBY7W9iG",
  17. // username: "W测试2",
  18. // userName: "W测试2",
  19. password: encodePwd("Aa123456"),
  20. username: "liliy",
  21. userName: "liliy",
  22. })
  23. .then((res) => {
  24. params.value.token = res.token;
  25. setTimeout(() => location.reload(), 1000);
  26. isLoging = false;
  27. });
  28. return;
  29. }
  30. return platform.login(isBack);
  31. };
  32. const sceneDrawInit = async () => {
  33. // 场景码+楼层 转绘图id
  34. const sceneTransform = async (m: string, subGroup: string = "0") => {
  35. const data = await platform.get("fusion/caseOverview/info", {
  36. num: m,
  37. subGroup,
  38. });
  39. if (data?.id) {
  40. params.value.overviewId = data.id;
  41. delete params.value.m;
  42. delete params.value.floor;
  43. preventReload();
  44. }
  45. await asyncTimeout(10);
  46. };
  47. let m = params.value.m;
  48. let subgroup = params.value.floor;
  49. await sceneTransform(m, subgroup);
  50. const data = await platform.getOverviewData(params.value.overviewId);
  51. if (data.num) {
  52. m = data.num;
  53. }
  54. if (data.subGroup) {
  55. subgroup = data.subGroup;
  56. }
  57. window.platform.sceneDraw = !!m;
  58. window.platform.num = m;
  59. window.platform.subgroup = subgroup;
  60. if (window.platform.sceneDraw) {
  61. window.platform.saveOverviewData = async (id: any, data: any) => {
  62. const result = await platform.saveOverviewData(id, {
  63. ...data,
  64. num: m,
  65. subGroup: subgroup,
  66. });
  67. console.log("更新平面图");
  68. const key = `${m}-${subgroup}-draw-kankan-cover`;
  69. localStorage.setItem(key, data.kankanCover + "?" + Date.now().toString());
  70. return result;
  71. };
  72. }
  73. /* @vite-ignore */
  74. import(import.meta.env.VITE_ENTRY_EXAMPLE);
  75. };
  76. if (!!params.value.sceneDraw) {
  77. sceneDrawInit().catch(() => {
  78. /* @vite-ignore */
  79. import(import.meta.env.VITE_ENTRY_EXAMPLE);
  80. });
  81. } else {
  82. /* @vite-ignore */
  83. import(import.meta.env.VITE_ENTRY_EXAMPLE);
  84. }
  85. // 登录检测
  86. setTimeout(() => {
  87. if (!window.platform.preventLogin) {
  88. if (!platform.getHeaders().token) {
  89. ElMessage.error("当前用户未登录");
  90. window.platform.login();
  91. } else {
  92. platform.getSceneList("").next();
  93. }
  94. }
  95. }, 500);