main.ts 2.1 KB

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