<script setup>
import {apiSetCollect,apiCancelCollect} from '@/api/user'
import { ElMessage } from 'element-plus'
const emit=defineEmits(['change'])
const props=defineProps({
    type:{//收藏类型：1-研报; 2-视频社区; 3-微路演视频
        type:Number,
        default:0
    },
    primaryId:{// 藏类型主ID(如报告id,视频id)
        default:0
    },
    extendId:{//扩展ID-如研报章节ID
        default:0
    },
    collectId:{//收藏的id 大于0说明收藏了
        default:0,
    }
})


const handleCollect=()=>{
    if(props.collectId>0){
        apiCancelCollect({
            collection_id:Number(props.collectId)
        }).then(res=>{
            if(res.code===200){
                ElMessage.success('取消收藏!')
                emit('change',0)
            }
        })
    }else{
        apiSetCollect({
            collection_type:props.type,
            primary_id:Number(props.primaryId),
            extend_id:Number(props.extendId)
        }).then(res=>{
            if(res.code===200){
                ElMessage.success('收藏成功!')
                emit('change',res.data)
            }
        })  
    }
}
</script>

<template>
    <div class="collect-box" @click.stop="handleCollect">
        <slot></slot>
    </div>
</template>