ShiErFeng/README.md
2026-07-24 09:43:10 +08:00

169 lines
5.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ShiErFeng
基于 Vue3 与 FastAPI 的前后端分离快速开发框架。
## 平台简介
施尔丰是一套全部开源的快速开发平台,供个人及企业免费使用。
* 前端采用Vue3、Element Plus。
* 移动端采用uni-app、Vue3、Vite内置tailwindcss。
* 后端采用FastAPI、sqlalchemy、MySQLPostgreSQL、Redis、OAuth2 & Jwt。
* 权限认证使用OAuth2 & Jwt支持多终端认证系统。
* 支持加载动态权限菜单,多方式轻松权限控制。
* 纯Python版本
* Gitte仓库地址<https://gitee.com/insistence2022/dash-fastapi-admin>
* GitHub仓库地址<https://github.com/insistence/Dash-FastAPI-Admin>
## 内置功能
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
2. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
3. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
4. 部门管理:配置系统组织机构(公司、部门、小组)。
5. 岗位管理:配置系统用户所属担任职务。
6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
7. 参数管理:对系统动态配置常用参数。
8. 通知公告:系统通知公告信息发布维护。
9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
10. 登录日志:系统登录日志记录查询包含登录异常。
11. 在线用户:当前系统中活跃用户状态监控。
12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
13. 服务监控监视当前系统CPU、内存、磁盘、堆栈等相关信息。
14. 缓存监控:对系统的缓存信息查询,命令统计等。
15. 传输加密:支持前后端请求加密、响应解密、公钥轮换、运行策略下发与监控统计。
16. 在线构建器拖动表单元素生成相应的HTML代码。
17. 系统接口根据业务代码自动生成相关的api接口文档。
18. 代码生成配置数据库表信息一键生成前后端代码python、sql、vue、js支持下载。
19. AI管理提供AI模型管理和AI对话功能。
## 在线体验
* *账号admin*
* *密码admin123*
* 演示地址:<a href="https://vfadmin.insistence.tech">vfadmin管理系统<a>
## 项目开发及发布相关
### 传输层加解密配置说明
后端密钥配置与轮换说明:[shierfeng-fastapi-backend/docs/transport_crypto_config.md](./shierfeng-fastapi-backend/docs/transport_crypto_config.md)
### 开发
```bash
# 克隆项目
git clone https://git.yujiangrubber.cn/niuniu/ShiErFeng.git
# 进入项目根目录
cd ShiErFeng
```
#### 前端
```bash
# 进入前端目录
cd shierfeng-fastapi-frontend
# 安装依赖
npm install 或 yarn --registry=https://registry.npmmirror.com
# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com
# 启动服务
npm run dev 或 yarn dev
```
#### 移动端
```bash
# 进入移动端目录
cd shierfeng-fastapi-app
# 安装依赖
npm install -g pnpm
pnpm install
# 启动 H5
pnpm dev:h5
# 启动微信小程序
pnpm dev:mp-weixin
```
移动端详细文档请参考:[shierfeng-fastapi-app/README.md](./shierfeng-fastapi-app/README.md)
#### 后端
```bash
# 进入后端目录
cd shierfeng-fastapi-backend
# 如果使用的是MySQL数据库请执行以下命令安装项目依赖环境
pip3 install -r requirements.txt
# 如果使用的是PostgreSQL数据库请执行以下命令安装项目依赖环境
pip3 install -r requirements-pg.txt
# 配置环境
在.env.dev文件中配置开发环境的数据库和redis
# 运行sql文件
1.新建数据库shierfeng-fastapi(默认,可修改)
2.如果使用的是MySQL数据库使用命令或数据库连接工具运行sql文件夹下的shierfeng-fastapi.sql如果使用的是PostgreSQL数据库使用命令或数据库连接工具运行sql文件夹下的shierfeng-fastapi-pg.sql
# 运行后端
shierfeng app run --env=dev
```
后端 CLI 使用说明请参考:[shierfeng-fastapi-backend/docs/cli_usage.md](./shierfeng-fastapi-backend/docs/cli_usage.md)
#### 访问
```bash
# 默认账号密码
账号admin
密码admin123
# 浏览器访问
地址http://localhost:80
```
### 发布
#### 前端
```bash
# 构建测试环境
npm run build:stage 或 yarn build:stage
# 构建生产环境
npm run build:prod 或 yarn build:prod
```
#### 后端
```bash
# 配置环境
在.env.prod文件中配置生产环境的数据库和redis
# 运行后端
shierfeng app run --env=prod
```
### Docker Compose部署方式
> ⚠️ **警告:** 默认未做数据持久化配置,请注意数据备份或自行配置持久化
#### MySQL版本
```bash
docker compose -f shierfeng-fastapi-test/docker-compose.test.my.yml up -d --build
```
#### PostgreSQL版本
```bash
docker compose -f shierfeng-fastapi-test/docker-compose.test.pg.yml up -d --build
```