useData.ts 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. // 处理 区分处理管乐迷 管乐团的数据
  2. // import { queryTree_gym } from "@/api/cloudPractice.api"
  3. import { URL_TEACH_GYM, URL_TEACH_GYT, URL_TEACH_KLX } from "@/config"
  4. import { getToken } from "@/libs/auth"
  5. // import { httpAjaxErrMsg, httpAjax } from "@/plugin/httpAjax"
  6. // import { CODE_ERR_CANCELED } from "@/libs/auth"
  7. // import { ElMessage } from "element-plus"
  8. import userStore from "@/store/modules/user"
  9. import { ref } from "vue"
  10. /**
  11. * 搜索数据
  12. */
  13. export const useFunction = () => {
  14. const userStoreHook = userStore()
  15. const loading = ref(false)
  16. /** 跳转云教练 */
  17. const isPracticeShow = ref(false)
  18. const practiceUrl = ref("")
  19. function goToCloud(musicId: string, partIndex = 0, track = "", musicRenderType = "") {
  20. // GYM,GYT,KLX 区分 云教练
  21. let gymUrl = `${URL_TEACH_GYM}#/?id=${musicId}&Authorization=${getToken()}&platform=pc&isYjt=1&isHideMusicList=true&systemType=teacher`
  22. let klxUrl = `${URL_TEACH_KLX}#/?id=${musicId}&Authorization=${getToken()}&platform=pc&isYjt=1&isHideMusicList=true&systemType=teacher&musicRenderType=${musicRenderType}`
  23. if (partIndex === 999) {
  24. gymUrl += `&part-index=${partIndex}`
  25. klxUrl += `&part-index=${partIndex}`
  26. } else {
  27. gymUrl += `&part-name=${track}`
  28. klxUrl += `&part-name=${track}`
  29. }
  30. const urlObj = {
  31. GYT: `${URL_TEACH_GYT}?id=${musicId}&modelType=practice&modeType=json&part-index=${partIndex}&Authorization=${getToken()}&isYjt=1&&isHideBack=false`,
  32. GYM: gymUrl,
  33. KLX: klxUrl
  34. }
  35. isPracticeShow.value = true
  36. practiceUrl.value = urlObj[userStoreHook.roles!]
  37. //window.open(urlObj[userStoreHook.roles!], "_blank")
  38. }
  39. function handlePracticeClose() {
  40. isPracticeShow.value = false
  41. practiceUrl.value = ""
  42. }
  43. function getPreViewCloud(musicId: string, partIndex = 0, track = "", musicRenderType = "") {
  44. // GYM,GYT,KLX 区分 云教练
  45. let gymUrl = `${URL_TEACH_GYM}?t=${Date.now()}#/?id=${musicId}&Authorization=${getToken()}&isPreView=true&zoom=1&downPng=A4&systemType=teacher`
  46. let klxUrl = `${URL_TEACH_KLX}?t=${Date.now()}#/?id=${musicId}&Authorization=${getToken()}&isPreView=true&zoom=1&downPng=A4&systemType=teacher&musicRenderType=${musicRenderType}`
  47. if (partIndex === 999) {
  48. gymUrl += `&part-index=${partIndex}`
  49. klxUrl += `&part-index=${partIndex}`
  50. } else {
  51. gymUrl += `&part-name=${track}`
  52. klxUrl += `&part-name=${track}`
  53. }
  54. const urlObj = {
  55. GYT: `${URL_TEACH_GYT}?id=${musicId}&modelType=practice&modeType=json&part-index=${partIndex}&Authorization=${getToken()}&isYjt=1&&isHideBack=false`,
  56. GYM: gymUrl,
  57. KLX: klxUrl
  58. }
  59. return urlObj[userStoreHook.roles!]
  60. }
  61. return { loading, goToCloud, getPreViewCloud, isPracticeShow, practiceUrl, handlePracticeClose }
  62. }
  63. // function chunkArray(array: any[], size: number) {
  64. // const result = []
  65. // for (let i = 0; i < array.length; i += size) {
  66. // result.push(array.slice(i, i + size))
  67. // }
  68. // return result
  69. // }