nex_basse/README.md

131 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Nex Basse 基础平台
本项目是面向团队快速开发的基础平台,包含用户、角色、权限、码表、系统参数等核心模块。前端采用 React + TypeScript后端为 FastAPIPython 3.9+),数据库先实现 MySQL 版本。
## 主要功能
- 用户管理
- 用户列表、创建、编辑、禁用、删除
- 重置密码、角色分配
- 角色管理
- 角色列表、创建
- 角色权限分配(权限树勾选)
- 权限与菜单
- 功能权限树(三级:一级/二级菜单 + 三级按钮)
- 菜单动态加载、按角色权限可见
- 码表管理
- 码表类型与条目管理
- 系统参数管理
- 多类型参数string/int/bool/json
## 技术栈
### 前端
- React 18 + TypeScript
- Vite 5
- Ant Design 5
- 统一组件:`ListTable`、`Toast`、`DetailDrawer`
### 后端
- FastAPI
- SQLAlchemy 2.0
- Alembic
- Redistoken/刷新 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
- 后端权限树为三级结构:一级/二级菜单 + 三级按钮