# ShiErFeng 基于 Vue3 与 FastAPI 的前后端分离快速开发框架。 ## 平台简介 施尔丰是一套全部开源的快速开发平台,供个人及企业免费使用。 * 前端采用Vue3、Element Plus。 * 移动端采用uni-app、Vue3、Vite,内置tailwindcss。 * 后端采用FastAPI、sqlalchemy、MySQL(PostgreSQL)、Redis、OAuth2 & Jwt。 * 权限认证使用OAuth2 & Jwt,支持多终端认证系统。 * 支持加载动态权限菜单,多方式轻松权限控制。 * 纯Python版本: * Gitte仓库地址: * GitHub仓库地址: ## 内置功能 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* * 演示地址:vfadmin管理系统 ## 项目开发及发布相关 ### 传输层加解密配置说明 后端密钥配置与轮换说明:[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 ```