main.ts 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import { createApp } from 'vue'
  2. import App from './App'
  3. import router from '../router/index'
  4. import { postMessage, promisefiyPostMessage } from '@/helpers/native-message'
  5. // 先引入到入口文件
  6. import 'normalize.css'
  7. import 'vant/lib/index.css'
  8. import '../styles/index.less'
  9. import { state } from '@/state'
  10. import { browser, setAuth } from '@/helpers/utils'
  11. import Vue3Lottie from 'vue3-lottie'
  12. import 'vue3-lottie/dist/style.css'
  13. import useErrorLog from '../hooks/useErrorLog';
  14. import ResizeObserver from 'resize-observer-polyfill'
  15. // 增加判断如果不支持当前依赖再设置即可
  16. if (window.ResizeObserver === undefined) {
  17. window.ResizeObserver = ResizeObserver;
  18. }
  19. const app = createApp(App).use(Vue3Lottie)
  20. // 获取token
  21. promisefiyPostMessage({ api: 'getToken' }).then((res: any) => {
  22. console.log(res, 'res')
  23. const content = res.content
  24. if (content?.accessToken) {
  25. setAuth(content.tokenType + ' ' + content.accessToken)
  26. }
  27. })
  28. // 设置是否显示导航栏 0 不显示 1 显示
  29. postMessage({ api: 'setBarStatus', content: { status: 0 } })
  30. // 导航栏高度
  31. postMessage({ api: 'getNavHeight' }, (res) => {
  32. const { content } = res as any
  33. const dpi = content.dpi || 2
  34. if (content.navHeight) {
  35. const navHeight = content.navHeight / dpi
  36. console.log(navHeight, 'navHeight')
  37. state.navBarHeight = navHeight
  38. }
  39. })
  40. // 获取版本号
  41. postMessage(
  42. {
  43. api: 'getVersion'
  44. },
  45. (res: any) => {
  46. state.version = res.content.version
  47. }
  48. )
  49. // import Vconsole from 'vconsole'
  50. // const vconsole = new Vconsole()
  51. const paymentType = (window as any).paymentType // 浏览器设置
  52. if (browser().isTeacher || paymentType === 'TEACHER') {
  53. state.platformType = 'TEACHER'
  54. } else if (browser().isStudent || paymentType === 'STUDENT') {
  55. state.platformType = 'STUDENT'
  56. } else if (browser().isSchool || paymentType === 'SCHOOL') {
  57. state.platformType = 'SCHOOL'
  58. } else {
  59. state.platformType = 'SCHOOL'
  60. }
  61. if (state.platformType === 'TEACHER') {
  62. state.platformApi = '/api-teacher'
  63. }
  64. if (state.platformType === 'STUDENT') {
  65. state.platformApi = '/api-student'
  66. } else {
  67. state.platformApi = '/api-school'
  68. }
  69. app.use(router)
  70. // 监听错误信息
  71. const errorLog = useErrorLog();
  72. errorLog.startListenErrorLog();
  73. app.mount('#app')