一 項目簡介
大學信息查詢平臺是一個基于React + Vite + Tailwind CSS構建的現代化Web應用,專門用于查詢中國各大高校的詳細信息。該項目不僅功能實用,更在用戶體驗和界面設計上做到了極致。
二 核心功能
2.1. 智能大學搜索
// 搜索功能核心代碼
const searchUniversity = async (universityName) => {if (!universityName.trim()) {setError('請輸入大學名稱');return;}setLoading(true);setError(null);try {const result = await UniversityService.searchUniversity(universityName);if (result.success) {const formattedData = UniversityService.formatUniversityData(result.data);setSearchResults(formattedData);} else {setError(result.message);}} catch (err) {setError(err.message || '搜索失敗');} finally {setLoading(false);}
};
2.2 錯誤處理
// 錯誤處理機制
export class UniversityService {static async searchUniversity(name) {const controller = new AbortController();const timeoutId = setTimeout(() => controller.abort(), 10000);try {// 先嘗試直接請求const response = await fetch(`${API_BASE_URL}?daxue=${encodeURIComponent(name)}`, {signal: controller.signal});clearTimeout(timeoutId);return await response.json();} catch (error) {// 失敗時使用備用代理const proxyResponse = await fetch(`${CORS_PROXIES[1]}${API_BASE_URL}?daxue=${encodeURIComponent(name)}`, {signal: controller.signal});clearTimeout(timeoutId);return await proxyResponse.json();}}
}
2.3 界面設計亮點
```jsx
// 學士帽圖標動畫效果
<motion.divanimate={{ scale: [1, 1.1, 1],rotate: [0, -5, 0, 5, 0]}}transition={{ duration: 3,repeat: Infinity,ease: "easeInOut"}}whileHover={{ scale: 1.2 }}
><GraduationCap className="w-12 h-12 text-primary-600" />
</motion.div>
```### 2. 打字機效果展示
```jsx
// 學校信息逐字顯示效果
const TypewriterText = ({ text, speed = 50, delay = 0 }) => {const [displayText, setDisplayText] = useState('');useEffect(() => {const timer = setTimeout(() => {let currentIndex = 0;const interval = setInterval(() => {if (currentIndex <= text.length) {setDisplayText(text.slice(0, currentIndex));currentIndex++;} else {clearInterval(interval);}}, speed);return () => clearInterval(interval);}, delay);return () => clearTimeout(timer);}, [text, speed, delay]);return (<div className="inline-block">{displayText}<span className="animate-pulse">|</span></div>);
};
三? 技術棧特色
### 前端技術
- **React 18** + **Vite** - 現代化的開發體驗
- **Tailwind CSS** - 實用優先的CSS框架
- **Framer Motion** - 流暢的動畫效果
- **Lucide React** - 精美的圖標庫
### 工程化配置
// vite.config.js
export default defineConfig({plugins: [react()],server: {port: 3000,open: true},css: {postcss: {plugins: [tailwindcss(), autoprefixer()]}}
});
``````javascript
// tailwind.config.js
module.exports = {content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],theme: {extend: {colors: {primary: {100: '#dbeafe',200: '#bfdbfe',600: '#2563eb',}}}},plugins: []
};
四? 項目亮點
### 1. 響應式設計
- 完美適配桌面端和移動端
- 流暢的過渡動畫效果
- 現代化的玻璃擬態設計
### 2. 用戶體驗優化
- 實時搜索反饋
- 優雅的加載狀態
- 智能的錯誤處理
- 直觀的操作引導
### 3. 代碼質量
- 清晰的組件結構
- 可復用的自定義Hook
- 類型安全的API調用
- 完善的錯誤邊界
五? 快速開始
### 環境要求
- Node.js 16+
- npm 或 yarn
### 安裝運行
# 安裝依賴
npm install
# 啟動開發服務器
npm run dev
# 構建生產版本
npm run build
👍 **點贊收藏是對我最大的鼓勵!**
- 您的每一個點贊都是我繼續分享的動力
- 收藏這個項目,隨時可以回來學習參考
- 分享給更多同學,一起進步成長