diff --git a/src/assets/images/commen/empty.png b/src/assets/images/commen/empty.png
new file mode 100644
index 0000000..dec7185
Binary files /dev/null and b/src/assets/images/commen/empty.png differ
diff --git a/src/components/bar-footer/index.module.scss b/src/components/bar-footer/index.module.scss
new file mode 100644
index 0000000..42605f1
--- /dev/null
+++ b/src/components/bar-footer/index.module.scss
@@ -0,0 +1,10 @@
+.footer {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ height: 55px;
+ box-shadow: 0px -1px 4px 0px rgba(0, 0, 0, 0.04);
+ background: #ffffff;
+ z-index: 100;
+}
diff --git a/src/components/bar-footer/index.tsx b/src/components/bar-footer/index.tsx
new file mode 100644
index 0000000..e46e79c
--- /dev/null
+++ b/src/components/bar-footer/index.tsx
@@ -0,0 +1,71 @@
+import React, { useState } from "react";
+import { NavBar, Badge, TabBar } from "antd-mobile";
+import styles from "./index.module.scss";
+import { Link, useNavigate, useLocation } from "react-router-dom";
+
+export const TabBarFooter: React.FC = () => {
+ const navigate = useNavigate();
+ const location = useLocation();
+ const { pathname } = location;
+
+ const tabs = [
+ {
+ key: "/",
+ title: "首页",
+ icon: (active: boolean) =>
+ active ? (
+
+ ) : (
+
+ ),
+ },
+ {
+ key: "/study",
+ title: "学习",
+ icon: (active: boolean) =>
+ active ? (
+
+ ) : (
+
+ ),
+ },
+ {
+ key: "/member",
+ title: "我的",
+ icon: (active: boolean) =>
+ active ? (
+
+ ) : (
+
+ ),
+ },
+ ];
+
+ return (
+
+ navigate(value)}>
+ {tabs.map((item) => (
+
+ ))}
+
+
+ );
+};
diff --git a/src/components/footer/index.module.scss b/src/components/footer/index.module.scss
new file mode 100644
index 0000000..bea2937
--- /dev/null
+++ b/src/components/footer/index.module.scss
@@ -0,0 +1,9 @@
+.footer-box {
+ width: 100%;
+ height: 12px;
+ font-size: 12px;
+ font-weight: 400;
+ color: rgba(0, 0, 0, 0.3);
+ line-height: 12px;
+ margin: 30px 0px;
+}
diff --git a/src/components/footer/index.tsx b/src/components/footer/index.tsx
new file mode 100644
index 0000000..aad0e21
--- /dev/null
+++ b/src/components/footer/index.tsx
@@ -0,0 +1,11 @@
+import React from "react";
+import styles from "./index.module.scss";
+import { useSelector } from "react-redux";
+
+export const Footer: React.FC = () => {
+ const systemConfig = useSelector((state: any) => state.systemConfig.value);
+
+ return (
+ {systemConfig.pcIndexFooterMsg}
+ );
+};
diff --git a/src/components/index.ts b/src/components/index.ts
index 07b8514..472a489 100644
--- a/src/components/index.ts
+++ b/src/components/index.ts
@@ -1 +1,3 @@
-export * from "./empty"
\ No newline at end of file
+export * from "./empty";
+export * from "./footer";
+export * from "./bar-footer";
diff --git a/src/main.scss b/src/main.scss
index 0d6bebf..66c05e8 100644
--- a/src/main.scss
+++ b/src/main.scss
@@ -1,14 +1,16 @@
+@import "./assets/iconfont/iconfont.css";
+
body {
margin: 0;
}
code {
- font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
+ font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
monospace;
}
:root {
- --adm-color-primary: #FF4D4F;
+ --adm-color-primary: #ff4d4f !important;
--adm-color-success: #00b578;
--adm-color-warning: #ff8f1f;
--adm-color-danger: #ff3141;
@@ -24,7 +26,25 @@ code {
--adm-font-size-main: var(--adm-font-size-5);
- --adm-font-family: -apple-system, blinkmacsystemfont, 'Helvetica Neue',
- helvetica, segoe ui, arial, roboto, 'PingFang SC', 'miui',
- 'Hiragino Sans GB', 'Microsoft Yahei', sans-serif;
+ --adm-font-family: -apple-system, blinkmacsystemfont, "Helvetica Neue",
+ helvetica, segoe ui, arial, roboto, "PingFang SC", "miui",
+ "Hiragino Sans GB", "Microsoft Yahei", sans-serif;
+}
+
+.adm-badge-wrapper {
+ height: 30px;
+}
+
+.adm-tab-bar-item-title {
+ font-size: 11px;
+ font-weight: 400;
+ line-height: 11px;
+ margin-top: 4px;
+ color: rgba(0, 0, 0, 0.45);
+}
+
+.adm-tab-bar-item-active {
+ .adm-tab-bar-item-title {
+ color: #ff4d4f !important;
+ }
}
diff --git a/src/pages/index/index.tsx b/src/pages/index/index.tsx
index 8e125c3..5ff417a 100644
--- a/src/pages/index/index.tsx
+++ b/src/pages/index/index.tsx
@@ -2,6 +2,7 @@ import { useEffect, useState } from "react";
import { user } from "../../api/index";
import styles from "./index.module.scss";
import { useSelector } from "react-redux";
+import { Footer, TabBarFooter } from "../../components";
const IndexPage = () => {
const systemConfig = useSelector((state: any) => state.systemConfig.value);
@@ -20,7 +21,11 @@ const IndexPage = () => {
return (
);
};