feat: 更新 ESLint 和 Prettier 配置,增强代码质量管理

- 在 .gitignore 中添加 public/audio/* 以忽略音频文件。
- 更新 bun.lock,添加 eslint-config-prettier 和 eslint-plugin-prettier 依赖,确保 ESLint 与 Prettier 的兼容性。
- 修改 eslint.config.ts,整合 Prettier 规则,优化代码风格一致性。
- 在 package.json 中添加 lint:fix 和 format 脚本,简化代码格式化和修复流程。
- 更新 tailwind.config.ts 和其他组件文件,统一代码风格,提升可读性。
This commit is contained in:
zhongyidian committed 2026-03-05 13:50:47 +08:00
1 parent 5d00adc1a5
commit 76c67b492e
216 files changed
+12454 -13976

No files matched your search

+54 -61
View File
@@ -1,22 +1,22 @@
import { getBackgroundImage, getStaticImage } from "@/lib/utils";
import { useNavigate, useParams } from "react-router-dom";
import { Image } from "@/components";
import { getBackgroundImage, getStaticImage } from '@/lib/utils'
import { useNavigate, useParams } from 'react-router-dom'
import { Image } from '@/components'
//英文命名 "革命先驱" | "文化名人" | "艺术名家" | "经济巨擘"
type ModuleName = "revolutionary" | "cultural" | "artistic" | "economic";
type ModuleName = 'revolutionary' | 'cultural' | 'artistic' | 'economic'
interface Star {
image: string;
name: string;
starName: string;
image: string
name: string
starName: string
}
interface EntranceBackground {
backgroundImage: string;
backgroundImage: string
//Star1
Star: {
Star1: Star;
Star2: Star;
};
Star1: Star
Star2: Star
}
}
/**
@@ -31,97 +31,90 @@ interface EntranceBackground {
*/
const EntranceBackgroundMap: Record<ModuleName, EntranceBackground> = {
revolutionary: {
backgroundImage: getBackgroundImage("entrance/革命先驱"),
backgroundImage: getBackgroundImage('entrance/革命先驱'),
Star: {
Star1: {
image: getStaticImage("entrance/毛泽东故居入口"),
name: "毛泽东",
starName: "maozedong",
image: getStaticImage('entrance/毛泽东故居入口'),
name: '毛泽东',
starName: 'maozedong',
},
Star2: {
image: getStaticImage("entrance/孙中山故居入口-解锁"),
name: "孙中山",
starName: "sunzhongshan",
image: getStaticImage('entrance/孙中山故居入口-解锁'),
name: '孙中山',
starName: 'sunzhongshan',
},
},
},
cultural: {
backgroundImage: getBackgroundImage("entrance/文教名人"),
backgroundImage: getBackgroundImage('entrance/文教名人'),
Star: {
Star1: {
image: getStaticImage("entrance/鲁迅故居-解锁"),
name: "鲁迅",
starName: "luxun",
image: getStaticImage('entrance/鲁迅故居-解锁'),
name: '鲁迅',
starName: 'luxun',
},
Star2: {
image: getStaticImage("entrance/黄元培-解锁"),
name: "黄炎培",
starName: "huangyanpei",
image: getStaticImage('entrance/黄元培-解锁'),
name: '黄炎培',
starName: 'huangyanpei',
},
},
},
artistic: {
backgroundImage: getBackgroundImage("entrance/艺术名家"),
backgroundImage: getBackgroundImage('entrance/艺术名家'),
Star: {
Star1: {
image: getStaticImage("entrance/聂耳亮"),
name: "聂耳",
starName: "nieer",
image: getStaticImage('entrance/聂耳亮'),
name: '聂耳',
starName: 'nieer',
},
Star2: {
image: getStaticImage("entrance/张乐平亮"),
name: "张乐平",
starName: "zhangleping",
image: getStaticImage('entrance/张乐平亮'),
name: '张乐平',
starName: 'zhangleping',
},
},
},
economic: {
backgroundImage: getBackgroundImage("entrance/经济巨擎"),
backgroundImage: getBackgroundImage('entrance/经济巨擎'),
Star: {
Star1: {
image: getStaticImage("entrance/荣德生-解锁"),
name: "荣德生",
starName: "rongdesheng",
image: getStaticImage('entrance/荣德生-解锁'),
name: '荣德生',
starName: 'rongdesheng',
},
Star2: {
image: getStaticImage("entrance/陈云故居-解锁"),
name: "陈云",
starName: "chenyun",
image: getStaticImage('entrance/陈云故居-解锁'),
name: '陈云',
starName: 'chenyun',
},
},
},
};
}
const Entrance = () => {
const { moduleName } = useParams();
const navigate = useNavigate();
const { moduleName } = useParams()
const navigate = useNavigate()
// const decodedModuleName = decodeURIComponent(moduleName || "");
const { backgroundImage, Star } =
EntranceBackgroundMap[moduleName as ModuleName] || {};
const { backgroundImage, Star } = EntranceBackgroundMap[moduleName as ModuleName] || {}
if (!Star) {
return null;
return null
}
const { Star1, Star2 } = Star;
const { Star1, Star2 } = Star
return (
<div
className="w-full h-full bg-cover bg-center bg-no-repeat"
style={{ backgroundImage }}
>
<div className="w-full h-full bg-cover bg-center bg-no-repeat" style={{ backgroundImage }}>
<Image
className="absolute bottom-5 right-5"
src={getStaticImage("entrance/入口-返回")}
src={getStaticImage('entrance/入口-返回')}
button
onClick={() => navigate("/menu")}
onClick={() => navigate('/menu')}
/>
{/* 名人1 */}
<Image
className="absolute left-73 top-[calc(50%+38px)] -translate-y-1/2"
src={Star1.image}
/>
<Image className="absolute left-73 top-[calc(50%+38px)] -translate-y-1/2" src={Star1.image} />
{Star1.image && (
<Image
className="absolute left-90.5 bottom-40"
src={getStaticImage("entrance/点击前往浏览")}
src={getStaticImage('entrance/点击前往浏览')}
button
onClick={() => navigate(`/${moduleName}/${Star1.starName}/home`)}
/>
@@ -134,7 +127,7 @@ const Entrance = () => {
{Star2.image && (
<Image
className="absolute right-90.5 bottom-40"
src={getStaticImage("entrance/点击前往浏览")}
src={getStaticImage('entrance/点击前往浏览')}
button
onClick={() => navigate(`/${moduleName}/${Star2.starName}/home`)}
/>
@@ -144,7 +137,7 @@ const Entrance = () => {
src={Star2.image}
/> */}
</div>
);
};
)
}
export default Entrance;
export default Entrance