diff --git a/src/components/dialog/ForkSubscribeDialog.vue b/src/components/dialog/ForkSubscribeDialog.vue index 5f695397..cbdb9ae7 100644 --- a/src/components/dialog/ForkSubscribeDialog.vue +++ b/src/components/dialog/ForkSubscribeDialog.vue @@ -26,6 +26,58 @@ const processing = ref(false) // 删除中 const deleting = ref(false) +// 是否折叠 +const isExpanded = ref(false) + +// follow用户列表 +const followUsers = ref([]) + +// 当前用户是否已follow +const isFollowed = computed(() => followUsers.value.includes(props.media?.share_uid || '')) + +// 折叠展开 +function toggleExpand() { + isExpanded.value = !isExpanded.value +} + +// 加载follow用户列表 +async function queryFollowUsers() { + try { + const result: { [key: string]: any } = await api.get('system/setting/FollowSubscribers') + followUsers.value = result.data?.value ?? [] + } catch (error) { + console.log(error) + } +} + +// follow用户 +async function followUser() { + try { + const result: { [key: string]: any } = await api.post(`subscribe/follow?share_uid=${props.media?.share_uid}`) + if (result.success) { + queryFollowUsers() + } + } catch (error) { + console.log(error) + } +} + +// unfollow用户 +async function unfollowUser() { + try { + const result: { [key: string]: any } = await api.delete('subscribe/follow', { + params: { + share_uid: props.media?.share_uid, + }, + }) + if (result.success) { + queryFollowUsers() + } + } catch (error) { + console.log(error) + } +} + // 计算海报图片地址 const posterUrl = computed(() => { const url = props.media?.poster @@ -97,6 +149,10 @@ async function doDelete() { doneNProgress() } } + +onMounted(() => { + queryFollowUsers() +})