一个现代化的 React 应用,用于展示和访问各类信息 API 服务,包括每日 60 秒、微博热搜、知乎热榜、百度热搜、抖音热点、天气信息、在线翻译等。项目基于 Vite + TypeScript + Tailwind CSS 构建,提供响应式设计和深色模式支持,实现了一个功能丰富的信息聚合平台。
本项目使用60s API 提供的数据服务,详情请参考 60s API 文档,需要自己搭建后端服务。 若不想搭建可以使用我已经内置的API服务,请访问 60s API
项目支持自定义 API 服务地址,可以通过环境变量进行配置:
VITE_API_BASE_URL: 自定义 API 基础地址(默认为 https://60s.mizhoubaobei.top/v2)项目支持通过环境变量自定义 API 地址。如果需要使用自己的 API 服务,请按以下步骤配置:
在项目根目录创建 .env 文件
添加以下内容:
VITE_API_BASE_URL=https://your-api-domain.com/v2
如果没有配置环境变量,项目将默认使用 https://60s.mizhoubaobei.top/v2 作为 API 地址。
克隆仓库:
git clone https://github.com/xiaomizhoubaobei/60s-web.git
cd 60s-web
安装依赖:
yarn install
# 或者使用 npm
# npm install
启动开发服务器:
yarn dev
# 或者使用 npm
# npm run dev
在浏览器中访问 http://localhost:5173(或终端显示的其他端口)查看应用
构建应用:
yarn build
# 或者使用 npm
# npm run build
启动预览服务器:
yarn preview
# 或者使用 npm
# npm run preview
src/ ├── components/ # React 组件 │ ├── HomePage.tsx # 首页组件,包含导航和类别展示 │ ├── DetailPage.tsx # 详情页组件,展示具体数据内容 │ ├── WeatherWidget.tsx # 天气组件,展示天气信息 │ └── ui/ # UI 组件库 (基于 Radix UI) │ ├── accordion.tsx # 手风琴组件 │ ├── alert-dialog.tsx # 警告对话框组件 │ ├── alert.tsx # 提示组件 │ ├── avatar.tsx # 头像组件 │ ├── badge.tsx # 徽章组件 │ ├── button-group.tsx # 按钮组组件 │ ├── button.tsx # 按钮组件 │ ├── card.tsx # 卡片组件 │ ├── checkbox.tsx # 复选框组件 │ ├── dialog.tsx # 对话框组件 │ ├── dropdown-menu.tsx # 下拉菜单组件 │ ├── input.tsx # 输入框组件 │ ├── label.tsx # 标签组件 │ ├── popover.tsx # 弹出框组件 │ ├── radio-group.tsx # 单选组组件 │ ├── select.tsx # 选择器组件 │ ├── separator.tsx # 分隔符组件 │ ├── sheet.tsx # 面板组件 │ ├── skeleton.tsx # 骨架屏组件 │ ├── spinner.tsx # 加载指示器组件 │ ├── switch.tsx # 开关组件 │ ├── table.tsx # 表格组件 │ ├── tabs.tsx # 标签页组件 │ ├── textarea.tsx # 文本域组件 │ ├── toast.tsx # 通知组件 │ ├── toggle-group.tsx # 切换组组件 │ └── toggle.tsx # 切换组件 ├── hooks/ # 自定义 React hooks │ ├── use-mobile.tsx # 移动端检测 hook │ └── use-toast.ts # 通知管理 hook ├── lib/ # 工具函数库 │ ├── api.ts # API 请求封装 │ ├── fanyi.ts # 翻译功能实现 │ └── utils.ts # 通用工具函数 ├── App.tsx # 主应用组件,路由配置 ├── main.tsx # 应用入口文件 ├── App.css # 全局样式 ├── index.css # Tailwind CSS 配置 └── assets/ # 静态资源 └── react.svg # React 图标
应用支持深色模式切换,主题设置会保存在本地存储中。
应用构建后可以部署到任何支持静态文件托管的平台,如 Vercel、Netlify、GitHub Pages等等。
欢迎贡献代码!请遵循以下步骤:
git checkout -b feature/your-feature-name)git commit -m 'Add some feature')git push origin feature/your-feature-name)在提交代码前,请确保:
本项目使用AGPL v3许可证。详情请查看 LICENSE 文件。
60s-web 的开发依赖于以下开源项目:
60s-web 仅供学习和参考使用,请勿用于商业用途。项目中展示的数据来源于第三方API,开发者不对数据的准确性和完整性负责。
感谢使用 60s-web!如果有任何问题或建议,请随时提出。