From a4892378960434c17bb20f19e537df54be598142 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期五, 13 六月 2025 13:36:35 +0800
Subject: [PATCH] add: tap查询、首页跳转

---
 sub-pages/film-list/film-list.vue |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/sub-pages/film-list/film-list.vue b/sub-pages/film-list/film-list.vue
index acdf69c..3987c0d 100644
--- a/sub-pages/film-list/film-list.vue
+++ b/sub-pages/film-list/film-list.vue
@@ -41,12 +41,26 @@
 
 const theme = ref('light')
 const search = ref('')
+const keywords = ref('') // 新增关键词状态
 const tabList = ref<FilmCategoryTree[]>([])
+const currentCategory = ref('') // 默认为空表示全部
 const onSearch = (value: string) => {
-  uni.showToast({
-    title: `搜索:${value}`,
-    icon: 'none'
-  })
+  const searchValue = typeof value === 'string' ? value : search.value
+  keywords.value = searchValue
+  filmPage.value = 1
+  films.value = []
+  filmStatus.value = 'loadmore'
+  getfilms()
+
+}
+
+const click = (item: FilmCategoryTree) => {
+  currentCategory.value = item.name // 更新当前分类
+  keywords.value = search.value
+  filmPage.value = 1             // 重置页码
+  films.value = []               // 清空电影列表
+  filmStatus.value = 'loadmore'  // 重置加载状态
+  getfilms()                     // 重新加载数据
 }
 
 const handleDetailClick = (item: FilmCategoryTree) => {
@@ -96,15 +110,16 @@
 const filmStatus = ref('loading')
 const getfilms = async () => {
   if (filmStatus.value === 'nomore') return
-
   filmStatus.value = 'loading'
 
   // TODO 暂时使用光影社区的类别
   const query: FilmWorksQueryDTO = {
+	category: currentCategory.value, // 将当前分类ID加入查询参数
     classify: '',
     type: '',
     current: filmPage.value,
     size: filmSize,
+	keywords: keywords.value // 关键修改
   };
   const records = await getFilmWorksBase(query)
 

--
Gitblit v1.9.3