一个基于 Astro 构建的交互式世界电话区号查询网站,支持在地图上展示和查询世界各国的国际长途电话区号信息。
- 🗺️ 交互式世界地图 - 点击地区查看电话区号信息
- 🔍 智能搜索 - 支持按国家名称、区号、地区等多种方式搜索
- 📱 响应式设计 - 完美适配桌面端和移动端
- 🚀 SEO 优化 - 完整的 SEO 配置,包括 sitemap、robots.txt 等
- ⚡ 快速部署 - 一键部署到 Cloudflare Pages
- 🌐 多语言支持 - 中英文双语显示
- 框架: Astro - 现代静态网站生成器
- 样式: Tailwind CSS - 实用优先的 CSS 框架
- 部署: Cloudflare Pages - 全球 CDN 加速
- 语言: TypeScript - 类型安全的 JavaScript
-
克隆项目
git clone <repository-url> cd ayamap-callingcodes
-
安装依赖
npm install
-
启动开发服务器
npm run dev
-
打开浏览器访问
http://localhost:4321
npm run build
构建后的文件将输出到 dist/
目录。
-
设置 GitHub Secrets 在 GitHub 仓库的 Settings > Secrets and variables > Actions 中添加:
CLOUDFLARE_API_TOKEN
: Cloudflare API TokenCLOUDFLARE_ACCOUNT_ID
: Cloudflare Account ID
-
推送代码
git add . git commit -m "Initial commit" git push origin main
GitHub Actions 将自动构建并部署到 Cloudflare Pages。
-
构建项目
npm run build
-
使用 Wrangler CLI 部署
npx wrangler pages deploy dist
- 登录 Cloudflare Dashboard
- 进入 Pages 页面
- 连接 GitHub 仓库
- 设置构建配置:
- 构建命令:
npm run build
- 构建输出目录:
dist
- Node.js 版本:
18
- 构建命令:
src/
├── components/ # 组件目录
│ ├── SimpleWorldMap.astro # 简化版世界地图组件
│ └── WorldMap.astro # 完整版世界地图组件
├── data/ # 数据目录
│ └── calling-codes.ts # 世界电话区号数据
├── pages/ # 页面目录
│ ├── country/ # 动态国家详情页面
│ │ └── [code].astro
│ ├── index.astro # 首页
│ ├── search.astro # 搜索页面
│ ├── sitemap.xml.ts # 动态 sitemap
│ └── robots.txt.ts # robots.txt
└── public/ # 静态资源
└── favicon.svg # 网站图标
- 首页 (
/
) - 交互式世界地图,展示各地区电话区号 - 搜索页 (
/search
) - 高级搜索功能,支持多种筛选条件 - 国家详情页 (
/country/[code]
) - 显示特定国家的详细电话区号信息
- ✅ 完整的 meta 标签配置
- ✅ Open Graph 和 Twitter Cards 支持
- ✅ 结构化数据 (JSON-LD)
- ✅ 动态生成的 sitemap.xml
- ✅ robots.txt 配置
- ✅ 语义化 HTML 结构
- ✅ 快速加载优化
在以下文件中更新域名:
src/pages/index.astro
- Open Graph URLsrc/pages/country/[code].astro
- Canonical URLsrc/pages/search.astro
- Canonical URLsrc/pages/sitemap.xml.ts
- Base URL
编辑 src/data/calling-codes.ts
文件,按照现有格式添加新的国家数据。
本项目采用 MIT 许可证。详见 LICENSE 文件。
欢迎提交 Issue 和 Pull Request!
如有问题或建议,请通过 GitHub Issues 联系我们。
注意: 所有电话区号数据仅供参考,请以官方信息为准。