Files
abyssVpn/docs/project-structure.md
arthur_chen f69efb67ad Initial commit: abyssVpn project
- Tauri desktop app (apps/desktop)
- Python Django API service (services/api)
- Deployment scripts and docs
2026-05-15 09:06:10 +08:00

1.3 KiB
Raw Permalink Blame History

项目业务目录层级

后端:Django + SQLite

services/api/
  manage.py
  requirements.txt
  .env.example
  config/                 Django 项目配置、路由、ASGI/WSGI
  common/                 通用鉴权、响应、工具函数
  accounts/               飞书登录、用户模型、JWT 签发
    services/
      feishu_oauth.py     飞书 OAuth 登录地址和回调辅助逻辑
      jwt_service.py      JWT 签发与解析
  vpn/                    VPN 设备、连接 token、审计日志
    services/
      device_service.py   设备绑定和连接 token 发放
      netmaker_client.py  Netmaker API 客户端封装

数据库使用 Django 内置 SQLite,配置位于 services/api/config/settings.py

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.sqlite3",
        "NAME": BASE_DIR / "db.sqlite3",
    }
}

前端:Tauri + Vue 选项式 + Vite

apps/desktop/
  src/
    api/                  后端接口封装
    services/             客户端业务服务
    stores/               本地状态读写
    views/                Vue 页面,使用 Options API
  src-tauri/
    src/commands/         Rust 命令,调用 netclient
    src/tray.rs           Windows 托盘和 macOS 菜单栏常驻逻辑