- add README.md with usage and deployment guide - fix category sync logic in backend - fix URL overflow in admin services list - fix data caching issues in front-end and back-end - add 'View Front-end' button in admin dashboard
70 lines
2.3 KiB
Markdown
70 lines
2.3 KiB
Markdown
# ToNav - 个人导航页系统
|
|
|
|
ToNav 是一个轻量级、简洁美观的个人内网服务/常用链接导航系统。它采用 Flask + SQLite 架构,支持响应式布局、分类管理、服务健康状态检测以及完善的后台管理功能。
|
|
|
|
## 🎨 界面风格
|
|
继承自 `contraband_manager` 的设计语言:
|
|
- **紫色渐变背景**: 现代感十足的视觉体验。
|
|
- **卡片式布局**: 简洁直观的服务展示。
|
|
- **响应式设计**: 完美适配电脑、平板及移动端。
|
|
- **状态感知**: 实时显示服务的在线/离线状态。
|
|
|
|
## 🚀 核心功能
|
|
- **服务管理**: 支持添加、修改、删除服务,支持自定义图标 (Emoji)、描述和排序权重。
|
|
- **分类管理**: 灵活的分类系统,支持分类重命名及同步更新所属服务。
|
|
- **健康检测**: 自动检测服务 URL 的可用性,前台实时反馈(在线 🟢 / 离线 🔴)。
|
|
- **后台管理**: 完善的 Dashboard 统计,支持修改管理员密码。
|
|
- **防缓存机制**: API 请求自带时间戳,确保数据修改后即刻生效。
|
|
|
|
## 🛠️ 技术栈
|
|
- **后端**: Python 3 + Flask
|
|
- **数据库**: SQLite 3
|
|
- **前端**: HTML5 + CSS3 (Grid/Flexbox) + Vanilla JavaScript
|
|
- **部署**: Systemd + Bash Control Script
|
|
|
|
## 📦 安装与部署
|
|
|
|
### 依赖安装
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
### 初始化数据库
|
|
```bash
|
|
python3 utils/database.py
|
|
```
|
|
*默认账号: `admin` / 密码: `admin123`*
|
|
|
|
### 启动服务
|
|
你可以直接使用控制脚本进行管理:
|
|
```bash
|
|
chmod +x tonav-ctl.sh
|
|
./tonav-ctl.sh start
|
|
```
|
|
|
|
## ⚙️ 服务管理命令 (tonav-ctl.sh)
|
|
- `start`: 启动服务
|
|
- `stop`: 停止服务
|
|
- `restart`: 重启服务
|
|
- `status`: 查看运行状态
|
|
- `log`: 查看最后50行日志
|
|
- `logtail`: 实时查看日志
|
|
- `enable`: 设置开机自启
|
|
|
|
## 📁 目录结构
|
|
```text
|
|
ToNav/
|
|
├── app.py # Flask 主应用
|
|
├── config.py # 系统配置文件
|
|
├── tonav.db # SQLite 数据库
|
|
├── tonav-ctl.sh # 服务管理脚本
|
|
├── templates/ # HTML 模板
|
|
│ ├── index.html # 前台展示页
|
|
│ └── admin/ # 后台管理页面
|
|
├── static/ # 静态资源 (CSS/JS)
|
|
└── utils/ # 数据库及认证工具类
|
|
```
|
|
|
|
---
|
|
Developed for personal use. Powered by OpenClaw.
|