Skip to content

OrangeCatOOO/FAA-

Repository files navigation

FastAPI Amis Admin 分离式权限管理系统

这是一个基于 FastAPI 和 fastapi-amis-admin 框架开发的权限管理与业务系统。项目采用了多端口分离的架构设计,将登录认证、普通用户业务和管理员后台分别部署在不同的端口服务上,实现了清晰的权限隔离和业务分流。

🚀 项目架构

系统由三个核心服务组成,通过多进程同时运行:

  1. 登录入口 (Port 7000): 统一的身份认证门户,提供登录和注册页面。
  2. 用户系统 (Port 8000): 面向普通用户的业务平台,包含公司注册、文件管理、地图导航等功能。
  3. 管理员系统 (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               # 项目说明文档

🛠️ 安装与运行

1. 环境准备

确保您的系统中已安装 Python 3.8 或更高版本。

2. 安装依赖

在项目根目录下打开终端,运行以下命令安装所需依赖:

pip install -r requirements.txt

3. 启动服务

运行 backend/main.py 启动所有子服务。 Windows PowerShell:

python backend/main.py

注意:启动时会同时开启 7000, 8000, 9000 三个端口的进程。如果遇到 [Errno 10048] 端口占用错误,请先关闭正在运行的 python 进程。

📖 使用指南

1. 访问系统

打开浏览器访问统一登录入口: 👉 http://127.0.0.1:7000/admin/

2. 用户注册与登录流程

  1. 注册:
    • 在登录页点击“没有账号?点击注册”。
    • 填写用户名、密码和所属单位,点击注册。
    • 注册成功后,状态为“待审核”,需等待管理员批准。
  2. 管理员审核:
    • 使用管理员账号登录(权限等级 0)。
    • 系统会自动识别权限并跳转到 9000 端口 的管理员后台。
    • 进入“核心管理” -> “审核管理”,点击“通过”批准新用户申请。
  3. 用户登录:
    • 审核通过后,普通用户在 7000 端口登录。
    • 系统会自动识别权限(权限等级 1)并跳转到 8000 端口 的用户中心。

3. 功能模块

  • 普通用户 (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

About

fastapi-amis-admin

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors