import { View } from '@tarojs/components' import Search from '@/components/search' import { alert, goLink } from '@/common/common'; import classnames from "classnames"; import styles from './search.module.scss' import { useEffect, useRef, useState } from 'react'; import {GetHotSearchApi, GetSearchHistoryApi, AddSearchHistoryApi} from "@/api/search" import { SCENE } from '@/common/constant'; import useLogin from '@/use/useLogin'; import Taro, { useDidShow, useShareAppMessage } from '@tarojs/taro'; type searchDataParam = {'search_key':''} export default () => { const {checkLogin} = useLogin() useDidShow(async () => { await checkLogin() }) const [searchData, setSearchData] = useState<{hotField: searchDataParam[], historyField: searchDataParam[]}>({ hotField: [], historyField: [] }) //获取热门搜索数据 const {fetchData:hotFetchData} = GetHotSearchApi() const getHotSearch = async () => { let {data} = await hotFetchData() setSearchData((val) => ({...val, hotField: data.list})) } //获取历史搜索数据 const {fetchData:HistoryFetchData} = GetSearchHistoryApi() const getSearchHistory = async () => { let {data} = await HistoryFetchData() setSearchData((val) => ({...val, historyField: data.list})) } useEffect(() => { getHotSearch(), getSearchHistory() }, []) //添加搜索关键字 const addSearchField = useRef({key: '', screen: SCENE.SearchScene}) const {fetchData:addFetchData} = AddSearchHistoryApi() const addSearchHistory = async () => { await addFetchData(addSearchField.current) // goLink('/pages/searchList/searchList', {key: addSearchField.current.key}) } //搜索事件, status = true 添加搜索, status = false 直接跳转 const searchEvent = (e, status = true) => { if(e == "") { alert.error('请输入关键词') return false } addSearchField.current.key = e status&&addSearchHistory() Taro.navigateTo({ url: `/pages/searchList/searchList?key=${addSearchField.current.key}` }) } return ( searchEvent(e)}/> goLink('/pages/searchList/searchList')}>高级搜索 {searchData?.hotField.length > 0 && 热门面料 {searchData.hotField.map((item, index) => { return searchEvent(item.search_key, false)}>{item.search_key} })} } {searchData?.historyField.length > 0 && 历史搜索 {searchData?.historyField?.map((item, index) => searchEvent(item.search_key, false)}>{item.search_key})} } ) }