From c31a8def0ac90d86b8e8e345441bd28002a9ef2f Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期一, 16 六月 2025 20:14:52 +0800
Subject: [PATCH] add: 分享

---
 sub-pages/film-list/film-list.vue |   58 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 32 insertions(+), 26 deletions(-)

diff --git a/sub-pages/film-list/film-list.vue b/sub-pages/film-list/film-list.vue
index f069e46..3987c0d 100644
--- a/sub-pages/film-list/film-list.vue
+++ b/sub-pages/film-list/film-list.vue
@@ -30,23 +30,37 @@
 <script setup lang="ts">
 import { ref, onMounted } from 'vue'
 import { onLoad, onShow, onPullDownRefresh, onReachBottom } from '@dcloudio/uni-app'
-import { FilmCategoryTree,FilmWorks } from '@/types/index'
+import { FilmCategoryTree,FilmWorks,FilmWorksQueryDTO } from '@/types/index'
 import { useGlobal } from '@/composables/useGlobal'
 const { $http, $message, $store } = useGlobal()
 import { FilmTabCategory,FilmWorksCategory } from '@/enums/dict'
 import { useNavigator } from '@/composables/useNavigator'
 const { navigateTo } = useNavigator()
 
-import { getTabList } from '@/sub-pages/utils/api'
+import { getTabList,getFilmWorksBase } from '@/sub-pages/utils/api'
 
 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) => {
@@ -66,7 +80,7 @@
 
 
 onMounted(() => {
-  flowList.value = items
+  
 })
 
 onShow(() => {
@@ -96,11 +110,18 @@
 const filmStatus = ref('loading')
 const getfilms = async () => {
   if (filmStatus.value === 'nomore') return
-
   filmStatus.value = 'loading'
 
   // TODO 暂时使用光影社区的类别
-  const records = await getFilmWorksBase('', filmSize, filmPage.value)
+  const query: FilmWorksQueryDTO = {
+	category: currentCategory.value, // 将当前分类ID加入查询参数
+    classify: '',
+    type: '',
+    current: filmPage.value,
+    size: filmSize,
+	keywords: keywords.value // 关键修改
+  };
+  const records = await getFilmWorksBase(query)
 
   if (records && records.length > 0) {
     // 使用 Set 进行去重
@@ -120,23 +141,8 @@
   }
 }
 
-const getFilmWorksBase = async (type: String, pageSize: Number, currentPage: Number) => {
-  const {
-    code, data
-  } = await $http.request('get', '/api/filmWorks/list', {
-    params: {
-      classify: type,
-      size: pageSize,
-      current: currentPage
-    }
-  })
-  if (code == 0) {
-    return data.records
-  } else {
-    $message.showToast('系统异常,无法获取数据')
-    return null;
-  }
-}
+
+
 
 
 

--
Gitblit v1.9.3