App.tsx 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import request from "umi-request";
  2. import { computed, defineComponent, onBeforeMount, onMounted } from "vue";
  3. import { RouterView } from "vue-router";
  4. import TheError from "../components/The-error";
  5. import { setUserInfo, storeData } from "../store";
  6. import { getRandomKey, setBehaviorId, setToken } from "../utils";
  7. import { getQuery } from "../utils/queryString";
  8. import Notfind from "../view/notfind";
  9. import { employeeQueryUserInfo, studentQueryUserInfo, teacherQueryUserInfo } from "./api";
  10. export default defineComponent({
  11. name: "App",
  12. setup() {
  13. const query: any = getQuery()
  14. /** 获取用户信息 */
  15. const getUserInfo = async () => {
  16. // const a = await request.get(`/student/queryUserInfo`)
  17. // console.log(a)
  18. if (storeData.platformType === "WEB") {
  19. return await employeeQueryUserInfo();
  20. } else if (storeData.platformType === "TEACHER") {
  21. return await teacherQueryUserInfo();
  22. }
  23. return await studentQueryUserInfo();
  24. };
  25. const setUser = async () => {
  26. const res = await getUserInfo();
  27. const student = res?.data || {};
  28. setUserInfo(student);
  29. // console.log("🚀 ~ res:", student);
  30. };
  31. onBeforeMount(() => {
  32. if (query.Authorization) {
  33. setToken(query.Authorization);
  34. }
  35. setUser();
  36. setBehaviorId(getRandomKey())
  37. });
  38. onMounted(() => {
  39. const _loading = document.getElementById("loading")
  40. _loading && (document.body.removeChild(_loading))
  41. })
  42. const inited = computed(() => {
  43. return storeData.status === "login";
  44. });
  45. return () => <>{storeData.status === "error" ? <TheError /> : inited.value ? <RouterView /> : null}</>;
  46. },
  47. });