一个功能完整的短网址管理系统,包含:
- 后端服务: Python + Flask 开发的 RESTful API 服务
- Web 界面: 可视化管理界面
- Android 应用: 原生 Android 客户端
- ✅ 短网址生成(自动生成或自定义短码)
- ✅ 短网址重定向
- ✅ 访问统计(点击次数)
- ✅ 链接管理(查看、删除)
- ✅ 数据持久化(JSON 文件存储)
- ✅ Web 可视化管理界面
- ✅ RESTful API 接口
- ✅ 创建短网址(支持自定义短码)
- ✅ 查看短网址列表
- ✅ 复制短网址到剪贴板
- ✅ 删除短网址
- ✅ 查看统计信息
- ✅ 配置服务器地址
- ✅ Material Design 界面
pip install -r requirements.txtpython app.py服务将在 http://127.0.0.1:5000 启动
访问 http://127.0.0.1:5000 打开管理界面,可以:
- 创建新的短网址(支持自定义短码)
- 查看所有短网址列表
- 查看每个链接的访问统计
- 删除不需要的短网址
- 查看系统整体统计
# 自动生成短码
curl -X POST http://127.0.0.1:5000/api/shorten \
-H "Content-Type: application/json" \
-d '{"url": "https://www.example.com"}'
# 使用自定义短码
curl -X POST http://127.0.0.1:5000/api/shorten \
-H "Content-Type: application/json" \
-d '{"url": "https://www.example.com", "custom_code": "mylink"}'响应示例:
{
"success": true,
"short_code": "abc123",
"short_url": "http://127.0.0.1:5000/abc123",
"original_url": "https://www.example.com"
}curl http://127.0.0.1:5000/api/urls响应示例:
{
"success": true,
"count": 2,
"urls": [
{
"original_url": "https://www.example.com",
"short_code": "abc123",
"created_at": "2025-10-21T10:30:00",
"click_count": 5
}
]
}curl http://127.0.0.1:5000/api/urls/abc123curl -X DELETE http://127.0.0.1:5000/api/urls/abc123curl http://127.0.0.1:5000/api/stats响应示例:
{
"success": true,
"stats": {
"total_urls": 10,
"total_clicks": 150
}
}直接在浏览器访问:
http://127.0.0.1:5000/abc123
将自动跳转到原始网址,并增加访问计数。
所有数据存储在 urls_data.json 文件中,采用 JSON 格式:
{
"abc123": {
"original_url": "https://www.example.com",
"short_code": "abc123",
"created_at": "2025-10-21T10:30:00.123456",
"click_count": 5
}
}- Python 3.x
- Flask 3.0.0
- 内存存储 + JSON 文件持久化
.
├── app.py # Flask 应用主文件
├── url_shortener.py # 短网址核心逻辑
├── requirements.txt # 依赖列表
├── urls_data.json # 数据文件(运行后自动生成)
├── README.md # 项目文档
└── android/ # Android 应用
├── app/ # 应用源码
├── BUILD.md # 构建文档
├── TEST.md # 测试文档
├── build.sh # 构建脚本
└── README.md # Android 应用文档
-
启动后端服务
python app.py
-
构建 Android 应用
cd android chmod +x build.sh ./build.sh -
安装到设备
adb install app/build/outputs/apk/debug/app-debug.apk
-
配置服务器地址
- 模拟器:
http://10.0.2.2:5000 - 真实设备:
http://YOUR_IP:5000
- 模拟器:
- 构建指南 - 详细的构建和安装说明
- 测试文档 - 完整的测试清单
- Android README - Android 应用详细说明
- Java
- Material Design Components
- OkHttp (网络请求)
- Gson (JSON 解析)
- RecyclerView (列表展示)
- 短码默认长度为 6 个字符(包含字母和数字)
- 自定义短码不能重复
- 数据文件会在每次操作后自动保存
- 默认运行在 5000 端口,可在
app.py中修改 - Android 应用需要 Android 7.0 (API 24) 或更高版本