collectBtnHT.vue 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <script setup>
  2. import {ref} from 'vue'
  3. import {apiChartIsCollect} from '@/request/yb/api'
  4. import { useRoute } from 'vue-router'
  5. import { ElMessage } from 'element-plus';
  6. import { ChartApi } from '@/request/api';
  7. const route=useRoute()
  8. let isCollect=ref(false)
  9. async function getInitStatus(){
  10. const params={
  11. UniqueCode:route.query.code || '',
  12. MiniSource:'ht',
  13. }
  14. const { Data } = await ChartApi.chartDetail(params);
  15. isCollect.value=Data.IsCollect.value
  16. }
  17. getInitStatus()
  18. // 收藏状态修改
  19. async function handleCollectStatusChange(){
  20. localStorage.setItem('token', `Bearer ${route.query.token}`)
  21. const params={
  22. uniqueCode:route.query.code || '',
  23. source:'ht',
  24. // Token:route.query.token,
  25. action: isCollect.value ? 'unBookMark' : 'bookMark'
  26. }
  27. const res=await ChartApi.chartMiniBookMark(params)
  28. if(res.Ret===200){
  29. ElMessage.success(isCollect.value?'取消收藏成功':'收藏成功')
  30. isCollect.value=!isCollect.value
  31. }
  32. }
  33. </script>
  34. <template>
  35. <div @click="handleCollectStatusChange">{{isCollect?'取消收藏':'收藏'}}</div>
  36. </template>
  37. <style>
  38. </style>