这是一个基于 FastAPI 和 fastapi-amis-admin 框架开发的权限管理与业务系统。项目采用了多端口分离的架构设计,将登录认证、普通用户业务和管理员后台分别部署在不同的端口服务上,实现了清晰的权限隔离和业务分流。
系统由三个核心服务组成,通过多进程同时运行:
- 登录入口 (Port 7000): 统一的身份认证门户,提供登录和注册页面。
- 用户系统 (Port 8000): 面向普通用户的业务平台,包含公司注册、文件管理、地图导航等功能。
- 管理员系统 (Port 9000): 面向管理员的后台管理平台,负责用户审核、权限管理等。
test1 -登录分离 8-14/
├── backend/
│ ├── admin/ # 管理后台核心逻辑
│ │ ├── menu.py # 菜单注册与加载逻辑(处理 JSON 菜单配置)
│ │ ├── pages.py # 动态页面生成器(解析 JSON 页面配置)
│ │ └── config.py # 配置加载器
│ ├── config/ # 系统配置文件(JSON驱动的前端配置)
│ │ ├── menu/ # 菜单结构配置
│ │ │ ├── login_system.json # 7000端口菜单(登录/注册)
│ │ │ ├── user_system.json # 8000端口菜单(用户功能)
│ │ │ └── admin_system.json # 9000端口菜单(管理功能)
│ │ └── pages/ # Amis页面布局配置 (user_login.json, company_register.json 等)
│ ├── core/ # 核心配置
│ │ ├── settings.py # 全局设置(数据库路径、跨域配置、端口定义)
│ │ └── globals.py # 全局变量
│ ├── static/ # 静态文件目录
│ │ ├── admin/ # 用户上传文件存储 (按部门/用户分类)
│ │ └── files/ # 系统示例文件 (sample.xlsx, key.txt)
│ ├── auth.py # 认证与业务接口逻辑 (API Router, 登录/注册/文件处理接口)
│ ├── db.py # 数据库模型定义 (SQLAlchemy ORM)
│ ├── main.py # 程序主入口 (启动多进程服务)
│ ├── Path_Planning.py # 路径规划算法实现 (百度地图 API 集成)
│ └── ...
├── test.db # SQLite 数据库文件 (项目根目录)
├── requirements.txt # 项目依赖列表
└── README.md # 项目说明文档
确保您的系统中已安装 Python 3.8 或更高版本。
在项目根目录下打开终端,运行以下命令安装所需依赖:
pip install -r requirements.txt运行 backend/main.py 启动所有子服务。
Windows PowerShell:
python backend/main.py注意:启动时会同时开启 7000, 8000, 9000 三个端口的进程。如果遇到 [Errno 10048] 端口占用错误,请先关闭正在运行的 python 进程。
打开浏览器访问统一登录入口: 👉 http://127.0.0.1:7000/admin/
- 注册:
- 在登录页点击“没有账号?点击注册”。
- 填写用户名、密码和所属单位,点击注册。
- 注册成功后,状态为“待审核”,需等待管理员批准。
- 管理员审核:
- 使用管理员账号登录(权限等级 0)。
- 系统会自动识别权限并跳转到 9000 端口 的管理员后台。
- 进入“核心管理” -> “审核管理”,点击“通过”批准新用户申请。
- 用户登录:
- 审核通过后,普通用户在 7000 端口登录。
- 系统会自动识别权限(权限等级 1)并跳转到 8000 端口 的用户中心。
- 普通用户 (Port 8000):
- 公司注册: 提交公司信息申请,支持表单验证。
- 文件管理: 上传 Excel/Txt 文件,支持在线调用算法处理数据并下载结果。
- 校园地图导航: 可视化展示路径规划结果。
- 管理员 (Port 9000):
- 审核管理: 审批用户注册和公司注册申请。
- 用户管理: 查看所有用户列表,修改用户信息或删除用户。
本项目采用了低代码配置驱动的开发模式,大部分前端界面可以通过修改 JSON 文件直接更新,无需重新编译前端代码。
- 修改菜单结构:编辑
backend/config/menu/*.json - 修改页面布局:编辑
backend/config/pages/*.json - 修改业务逻辑:编辑
backend/auth.py(API 接口) 或backend/db.py(数据库模型)
Powered by FastAPI & Amis