mirror of
https://github.com/ialley-workshop-open/uni-halo.git
synced 2026-09-12 16:40:40 +08:00
feat: 新增收藏功能与多项体验优化
- 新增本地收藏store与工具函数,支持文章/瞬间收藏持久化 - 重构插件可用性检查hook,统一管理依赖插件状态 - 替换旧数据加载hook为新的状态管理方案 - 优化首页布局与加载逻辑,调整公告组件样式 - 为瞬间详情页添加点赞、评论与收藏功能 - 新增文本处理工具,支持HTML/Markdown转纯文本与摘要截断 - 修复评论弹窗适配瞬间类型的参数问题
This commit is contained in:
@@ -12,7 +12,7 @@ import { getMiniProgramLinkGroupedList } from '@/api/uni-halo'
|
||||
import { useAppConfigStore } from '@/store/appConfig'
|
||||
import { useSettingStore } from '@/store/setting'
|
||||
import { checkAvatarUrl, checkImageUrl } from '@/utils/url'
|
||||
import { NeedPluginIds, usePluginAvailable } from '@/utils/plugin'
|
||||
import { NeedPluginIds } from '@/hooks/usePluginAvailable'
|
||||
import type { ILink, ILinkGroup } from '@/api/types/halo'
|
||||
import type { IMiniProgramLink, IMiniProgramLinkGroupVo } from '@/api/types/uni-halo'
|
||||
|
||||
@@ -32,10 +32,10 @@ const globalAppSettings = computed(() => settingStore.settings)
|
||||
/* ---------------- 依赖插件 ---------------- */
|
||||
/** 站点 tab:plugin-links */
|
||||
const sitePluginId = NeedPluginIds.PluginLinks
|
||||
const sitePluginAvailable = ref(true)
|
||||
const { available: sitePluginAvailable, check: checkSitePluginAvailable } = usePluginAvailable(sitePluginId)
|
||||
/** 小程序 tab:plugin-uni-halo */
|
||||
const miniPluginId = NeedPluginIds.PluginUniHalo
|
||||
const miniPluginAvailable = ref(true)
|
||||
const { available: miniPluginAvailable, check: checkMiniPluginAvailable } = usePluginAvailable(miniPluginId)
|
||||
|
||||
/* ---------------- tabs ---------------- */
|
||||
const activeTabIndex = ref(0)
|
||||
@@ -268,9 +268,9 @@ function handleSaveMiniProgramCode(link: IMiniProgramLink) {
|
||||
|
||||
/* ---------------- 生命周期 ---------------- */
|
||||
onLoad(async () => {
|
||||
;[sitePluginAvailable.value, miniPluginAvailable.value] = await Promise.all([
|
||||
usePluginAvailable(sitePluginId),
|
||||
usePluginAvailable(miniPluginId),
|
||||
await Promise.all([
|
||||
checkSitePluginAvailable(),
|
||||
checkMiniPluginAvailable(),
|
||||
])
|
||||
if (sitePluginAvailable.value)
|
||||
handleGetLinkGroupData()
|
||||
|
||||
Reference in New Issue
Block a user