Browse Source

曲谱收藏

liushengqiang 1 năm trước cách đây
mục cha
commit
cb299526f6

+ 17 - 0
src/views/xiaoku-ai/api.ts

@@ -28,3 +28,20 @@ export const api_musicSheetPage = (params: any) => {
     data: params
   });
 };
+
+/**
+ * 查询曲谱收藏状态
+ */
+export const api_materialFavoriteStatus = (params: any) => {
+  return request.post('/edu-app/material/favoriteStatus', {
+    data: params
+  });
+};
+/**
+ * 曲谱收藏
+ */
+export const api_materialFavorite = (params: any) => {
+  return request.post('/edu-app/material/favorite', {
+    data: params
+  });
+};

+ 28 - 4
src/views/xiaoku-music/index.tsx

@@ -32,7 +32,12 @@ import { useRoute, useRouter } from 'vue-router';
 import PlayItem from './component/play-item';
 import PlayLoading from './component/play-loading';
 import TheNoticeBar from '/src/components/TheNoticeBar';
-import { api_musicSheetPage, api_subjectList } from '../xiaoku-ai/api';
+import {
+  api_materialFavorite,
+  api_materialFavoriteStatus,
+  api_musicSheetPage,
+  api_subjectList
+} from '../xiaoku-ai/api';
 import { useUserStore } from '/src/store/modules/users';
 
 export default defineComponent({
@@ -85,6 +90,9 @@ export default defineComponent({
         data.finshed = res.data.rows.length < forms.rows;
         console.log('🚀 ~ data.finshed:', data.finshed);
       }
+      if (data.list[data.listActive]) {
+        getFavitor(data.list[data.listActive]);
+      }
       data.loading = false;
     };
 
@@ -113,6 +121,16 @@ export default defineComponent({
         obv.observe(spinRef.value);
       });
     });
+    /** 查看收藏状态 */
+    const getFavitor = async (item: any) => {
+      const res = await api_materialFavoriteStatus({
+        type: 'MUSIC',
+        materialId: item.id
+      });
+      if (res?.code === 200) {
+        item.favitor = res.data;
+      }
+    };
 
     /** 改变模仿的曲谱 */
     const handleChange = (item: IMusicItem) => {
@@ -120,15 +138,21 @@ export default defineComponent({
       if (index > -1) {
         data.listActive = index;
       }
+      getFavitor(item);
     };
     /** 选中的item */
     const activeItem = computed(() => {
       return data.list[data.listActive] || {};
     });
 
-    /** 收藏 */
+    /** 收藏曲谱 */
     const handleFavitor = () => {
-      data.list[data.listActive].delFlag = !data.list[data.listActive].delFlag;
+      data.list[data.listActive].favitor = !data.list[data.listActive].favitor;
+      api_materialFavorite({
+        favoriteFlag: data.list[data.listActive].favitor,
+        type: 'MUSIC',
+        materialId: data.list[data.listActive].id
+      });
     };
 
     /** 播放曲目 */
@@ -313,7 +337,7 @@ export default defineComponent({
                   class={styles.favitor}
                   onClick={() => handleFavitor()}>
                   <Transition name="favitor" mode="out-in">
-                    {activeItem.value.delFlag ? (
+                    {activeItem.value.favitor ? (
                       <img src={icon_favitorActive} key="1" />
                     ) : (
                       <img src={icon_favitor} key="2" />

+ 1 - 0
src/views/xiaoku-music/type.ts

@@ -10,4 +10,5 @@ export interface IMusicItem {
   /** 首调 */
   firstTone: string;
   delFlag: boolean;
+  favitor: boolean;
 }

+ 2 - 2
vite.config.ts

@@ -13,8 +13,8 @@ function resolve(dir: string) {
 }
 // https://vitejs.dev/config/
 // https://github.com/vitejs/vite/issues/1930 .env
-// const proxyUrl = 'https://dev.kt.colexiu.com/';
-const proxyUrl = 'https://test.lexiaoya.cn';
+const proxyUrl = 'https://dev.kt.colexiu.com/';
+// const proxyUrl = 'https://test.lexiaoya.cn';
 export default defineConfig({
   base: './',
   plugins: [