| | |
| | | const { navigateTo } = useNavigator() |
| | | |
| | | import { getTabList,getFilmWorksBase } from '@/sub-pages/utils/api' |
| | | import { useUserStore } from '@/store/user' |
| | | |
| | | const theme = ref('light') |
| | | const search = ref('') |
| | | const keywords = ref('') // 新增关键词状态 |
| | | const tabList = ref<FilmCategoryTree[]>([]) |
| | | const currentCategory = ref('') // 默认为空表示全部 |
| | | const onSearch = (value: string) => { |
| | | const searchValue = typeof value === 'string' ? value : search.value |
| | | keywords.value = searchValue |
| | | filmPage.value = 1 |
| | | films.value = [] |
| | | filmStatus.value = 'loadmore' |
| | | getfilms() |
| | | getfilms() |
| | | |
| | | } |
| | | |
| | | const handleDetailClick = (item: FilmCategoryTree) => { |
| | | const urlOfficicl=`/sub-pages/film-list/film-official-detail?id=${item.id}`; |
| | | const url= `/sub-pages/film-list/film-detail?id=${item.id}` |
| | | navigateTo(url) |
| | | const click = (item: FilmCategoryTree) => { |
| | | currentCategory.value = item.name // 更新当前分类 |
| | | keywords.value = search.value |
| | | filmPage.value = 1 // 重置页码 |
| | | films.value = [] // 清空电影列表 |
| | | filmStatus.value = 'loadmore' // 重置加载状态 |
| | | getfilms() // 重新加载数据 |
| | | } |
| | | |
| | | const handleDetailClick = async (item: FilmCategoryTree) => { |
| | | const userStore = useUserStore() |
| | | // 尝试获取最新用户信息验证登录状态 |
| | | try { |
| | | await userStore.getCurrentInfo() |
| | | if (userStore.hasLogin) { |
| | | navigateTo(`/sub-pages/film-list/film-detail?id=${item.id}`) |
| | | } else { |
| | | showLoginModal() |
| | | } |
| | | } catch (err) { |
| | | console.error('验证登录状态失败:', err) |
| | | showLoginModal() |
| | | } |
| | | // const urlOfficicl=`/sub-pages/film-list/film-official-detail?id=${item.id}`; |
| | | // const url= `/sub-pages/film-list/film-detail?id=${item.id}` |
| | | // navigateTo(url) |
| | | } |
| | | |
| | | const showLoginModal = () => { |
| | | uni.showModal({ |
| | | title: '登录提示', |
| | | content: '查看详情需要登录,是否前往登录?', |
| | | confirmText: '去登录', |
| | | success: (res) => { |
| | | if(res.confirm) uni.navigateTo({ url: '/pages/login/login' }) |
| | | } |
| | | }) |
| | | } |
| | | const showToast = (msg: string) => { |
| | | uni.showToast({ title: msg, icon: 'none' }) |
| | | } |
| | |
| | | const filmStatus = ref('loading') |
| | | const getfilms = async () => { |
| | | if (filmStatus.value === 'nomore') return |
| | | |
| | | filmStatus.value = 'loading' |
| | | |
| | | // TODO 暂时使用光影社区的类别 |
| | | // TODO 暂时使用光影的类别 |
| | | const query: FilmWorksQueryDTO = { |
| | | category: currentCategory.value, // 将当前分类ID加入查询参数 |
| | | classify: '', |
| | | type: '', |
| | | current: filmPage.value, |
| | | size: filmSize, |
| | | status: 'published', |
| | | keywords: keywords.value // 关键修改 |
| | | }; |
| | | const records = await getFilmWorksBase(query) |