You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.1 KiB
61 lines
1.1 KiB
1 year ago
|
<template>
|
||
|
<view class="collect" @click="follow">
|
||
|
<u-icon name="heart-fill" size="48" :color="checked ? '#FF9545':'#AFB5BE'"></u-icon>
|
||
|
<u-text size="28" :color="checked ? '#FF9545':'#AFB5BE'" text="收藏" align="center"></u-text>
|
||
|
</view>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import {
|
||
|
imghost
|
||
|
} from '@/config/host.js'
|
||
|
import api from "@/utils/functions";
|
||
|
import {
|
||
|
doCollect
|
||
|
} from "@/api/user";
|
||
|
|
||
|
export default {
|
||
|
props: {
|
||
|
type: {
|
||
|
type: String,
|
||
|
},
|
||
|
id: {
|
||
|
type: [String, Number]
|
||
|
},
|
||
|
is_collect: {
|
||
|
type: [String, Number]
|
||
|
}
|
||
|
},
|
||
|
data() {
|
||
|
return {
|
||
|
checked:false,
|
||
|
}
|
||
|
},
|
||
|
onLoad() {
|
||
|
|
||
|
},
|
||
|
mounted() {
|
||
|
this.checked = this.is_collect === 1;
|
||
|
},
|
||
|
methods: {
|
||
|
follow() {
|
||
|
//goods=物品,house=公寓,activity=活动,project=项目
|
||
|
doCollect({
|
||
|
type: this.type,
|
||
|
id: this.id
|
||
|
}).then(res => {
|
||
|
api.success('收藏成功');
|
||
|
this.checked = !this.checked;
|
||
|
this.$emit('update:modelValue', value)
|
||
|
})
|
||
|
}
|
||
|
},
|
||
|
watch: {
|
||
|
|
||
|
}
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<style lang="scss">
|
||
|
@import '@/components/FooterNav/components/index.scss';
|
||
|
</style>
|