diff --git a/src/pages/index/index.tsx b/src/pages/index/index.tsx index 5771f68..38bb0be 100644 --- a/src/pages/index/index.tsx +++ b/src/pages/index/index.tsx @@ -4,25 +4,24 @@ import { DropdownRef } from "antd-mobile/es/components/dropdown"; import { user } from "../../api/index"; import styles from "./index.module.scss"; import { useSelector } from "react-redux"; -import { - setTab, - getTab, - getCategory, - setCategory, - setCategoryName, - getCategoryName, -} from "../../utils/index"; +import { useNavigate, useLocation } from "react-router-dom"; import { Footer, TabBarFooter, Empty } from "../../components"; import { CoursesModel } from "./compenents/courses-model"; const IndexPage = () => { const ref = useRef(null); + const navigate = useNavigate(); + const result = new URLSearchParams(useLocation().search); const [loading, setLoading] = useState(false); - const [tabKey, setTabKey] = useState(getTab()); + const [tabKey, setTabKey] = useState(result.get("tab") || "0"); const [coursesList, setCoursesList] = useState([]); const [categories, setCategories] = useState([]); - const [categoryId, setCategoryId] = useState(Number(getCategory())); - const [categoryText, setCategoryText] = useState(getCategoryName()); + const [categoryId, setCategoryId] = useState( + Number(result.get("cid") || 0) + ); + const [categoryText, setCategoryText] = useState( + String(result.get("catName") || "所有分类") + ); const [learnCourseRecords, setLearnCourseRecords] = useState({}); const [learnCourseHourCount, setLearnCourseHourCount] = useState({}); const systemConfig = useSelector((state: any) => state.systemConfig.value); @@ -167,6 +166,14 @@ const IndexPage = () => { onClick={() => { setCategoryId(item.key); setCategoryText(item.title); + navigate( + "/?cid=" + + item.key + + "&catName=" + + item.title + + "&tab=" + + tabKey + ); ref.current?.close(); }} > @@ -188,7 +195,9 @@ const IndexPage = () => { activeKey={tabKey} onChange={(key: any) => { setTabKey(key); - setTab(key); + navigate( + "/?cid=" + categoryId + "&catName=" + categoryText + "&tab=" + key + ); }} style={{ "--fixed-active-line-width": "20px", @@ -219,9 +228,15 @@ const IndexPage = () => { className={styles["category-tit"]} onClick={() => { setCategoryId(item.key); - setCategory(item.key); setCategoryText(item.title); - setCategoryName(item.title); + navigate( + "/?cid=" + + item.key + + "&catName=" + + item.title + + "&tab=" + + tabKey + ); ref.current?.close(); }} > diff --git a/src/utils/index.ts b/src/utils/index.ts index b48568d..9471155 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -70,41 +70,6 @@ export function durationFormat(dateStr: number) { return hour + minute + second; } -export function getTab() { - return window.localStorage.getItem("playedu-h5-tabKey") || "0"; -} - -export function setTab(token: string) { - window.localStorage.setItem("playedu-h5-tabKey", token); -} - -export function clearTab() { - window.localStorage.removeItem("playedu-h5-tabKey"); -} - -export function getCategory() { - return window.localStorage.getItem("playedu-h5-category") || 0; -} - -export function setCategory(token: string) { - window.localStorage.setItem("playedu-h5-category", token); -} - -export function clearCategory() { - window.localStorage.removeItem("playedu-h5-category"); -} -export function getCategoryName(): string { - return window.localStorage.getItem("playedu-h5-categoryName") || "所有分类"; -} - -export function setCategoryName(token: string) { - window.localStorage.setItem("playedu-h5-categoryName", token); -} - -export function clearCategoryName() { - window.localStorage.removeItem("playedu-h5-categoryName"); -} - export function isMobile() { let flag = window.navigator.userAgent.match( /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i