131 lines
2.7 KiB
Markdown
131 lines
2.7 KiB
Markdown
# Nex Basse 基础平台
|
||
|
||
本项目是面向团队快速开发的基础平台,包含用户、角色、权限、码表、系统参数等核心模块。前端采用 React + TypeScript,后端为 FastAPI(Python 3.9+),数据库先实现 MySQL 版本。
|
||
|
||
## 主要功能
|
||
|
||
- 用户管理
|
||
- 用户列表、创建、编辑、禁用、删除
|
||
- 重置密码、角色分配
|
||
- 角色管理
|
||
- 角色列表、创建
|
||
- 角色权限分配(权限树勾选)
|
||
- 权限与菜单
|
||
- 功能权限树(三级:一级/二级菜单 + 三级按钮)
|
||
- 菜单动态加载、按角色权限可见
|
||
- 码表管理
|
||
- 码表类型与条目管理
|
||
- 系统参数管理
|
||
- 多类型参数:string/int/bool/json
|
||
|
||
## 技术栈
|
||
|
||
### 前端
|
||
- React 18 + TypeScript
|
||
- Vite 5
|
||
- Ant Design 5
|
||
- 统一组件:`ListTable`、`Toast`、`DetailDrawer`
|
||
|
||
### 后端
|
||
- FastAPI
|
||
- SQLAlchemy 2.0
|
||
- Alembic
|
||
- Redis(token/刷新 token/异步任务占位)
|
||
- PyMySQL
|
||
|
||
### 数据库
|
||
- MySQL 5.7(开发)、8.0+(部署)
|
||
- 字符集:`utf8mb4`,排序规则:`utf8mb4_unicode_ci`
|
||
- 状态字段统一:`status TINYINT(1)`
|
||
|
||
## 目录结构
|
||
|
||
```
|
||
.
|
||
├─ backend
|
||
│ ├─ app
|
||
│ │ ├─ api/v1/endpoints
|
||
│ │ ├─ core
|
||
│ │ ├─ models
|
||
│ │ ├─ schemas
|
||
│ │ └─ services
|
||
│ ├─ docs
|
||
│ │ ├─ db_schema.md
|
||
│ │ └─ migrations
|
||
│ ├─ scripts
|
||
│ ├─ requirements.txt
|
||
│ └─ ENV.md
|
||
├─ design
|
||
│ └─ 页面参考图与数据库设计
|
||
├─ frontend
|
||
│ ├─ src
|
||
│ │ ├─ components
|
||
│ │ ├─ layout
|
||
│ │ └─ pages
|
||
│ ├─ package.json
|
||
│ └─ vite.config.ts
|
||
└─ README.md
|
||
```
|
||
|
||
## 本地启动
|
||
|
||
### 1. 后端
|
||
|
||
```bash
|
||
cd backend
|
||
python3 -m venv .venv
|
||
source .venv/bin/activate
|
||
pip install -r requirements.txt
|
||
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
|
||
```
|
||
|
||
### 2. 前端
|
||
|
||
```bash
|
||
cd frontend
|
||
yarn install
|
||
yarn dev --host 0.0.0.0 --port 5173
|
||
```
|
||
|
||
## 环境配置
|
||
|
||
复制示例文件并填写:
|
||
|
||
- `backend/.env.example` -> `backend/.env`
|
||
- `frontend/.env.example` -> `frontend/.env`
|
||
|
||
详情见:`backend/ENV.md`
|
||
|
||
## 数据库初始化
|
||
|
||
执行初始化 SQL:
|
||
|
||
```bash
|
||
mysql -u <user> -p <db_name> < backend/docs/init_mysql.sql
|
||
```
|
||
|
||
若已有旧数据,参考 `backend/docs/migrations/` 中的迁移脚本。
|
||
|
||
## 管理员账号
|
||
|
||
默认账号密码:
|
||
|
||
```
|
||
admin / 123456
|
||
```
|
||
|
||
可通过脚本重置:
|
||
|
||
```bash
|
||
cd backend
|
||
source .venv/bin/activate
|
||
INIT_ADMIN_PASSWORD=123456 PYTHONPATH=./ /Users/jiliu/WorkSpace/nex_basse/backend/.venv/bin/python scripts/init_admin.py
|
||
```
|
||
|
||
## 备注
|
||
|
||
- 功能页面统一在主框架右侧载入(左侧菜单可收起/展开)
|
||
- 新增/编辑使用右侧抽屉(DetailDrawer)
|
||
- 后端权限树为三级结构:一级/二级菜单 + 三级按钮
|
||
|