FAdminAi开源系统

FAdminAi 是一个基于 ThinkPHP 8.1 与 Vue 3.5 的全栈后台管理系统,面向系统管理、内容管理、问答、AI 智能助手、微信公众号、文件上传、静态站发布和实时通信等场景。

FAdminAi开源系统

系统截图

截图使用演示后台账号生成临时登录态采集,手机号、邮箱、IP、Token、密钥等敏感信息已遮挡。

登录页

登录页

仪表盘首页

仪表盘首页

AI 聊天

AI 聊天

CMS 文章列表

CMS 文章列表

问答问题管理

问答问题管理

微信数据统计

微信数据统计

系统菜单管理

系统菜单管理

架构与功能模块

下图是项目架构说明图,不计入上方系统截图数量。

项目架构与功能模块

项目定位

本项目是一个后台管理与内容业务一体化平台,适合用于企业或个人后台管理、博客内容运营、问答社区管理、微信公众号管理,以及带 AI 能力的综合业务后台。

适用场景包括:

  • 企业内部管理后台。
  • 博客、问答、微信公众号等内容管理平台。
  • 集成文本、图片、音频、视频能力的 AI 管理后台。
  • 需要 WebSocket、Workerman、队列任务和静态站发布能力的综合后台项目。

核心功能

系统管理

  • 管理员、角色、部门、菜单、权限节点和按钮权限。
  • 字典、配置、通知、日志、邮箱、附件和数据库管理。
  • 动态菜单路由、前端权限控制和后台接口鉴权。

内容与问答

  • CMS 博客文章、分类、标签、轮播、友链、留言、站点信息和访问记录。
  • 问答系统的问题、分类、回答、评论、举报原因和举报记录管理。
  • 对外 API 提供博客、问答、上传、分享页和统计接口。

AI 智能助手

  • 聊天会话、消息、模型配置、提示词和工具管理。
  • 图片、音频、视频生成相关页面和接口。
  • AI 分享页、抖音素材提取、PPT 生成和 Coze 工作流管理。
  • 支持 DeepSeek、OpenAI、Coze、Vidu 等外部能力接入。

微信公众号

  • 公众号配置、菜单、素材、图文、粉丝和标签管理。
  • 关注回复、关键词回复、默认回复和自动回复。
  • 后端通过 Wechat Developer SDK 封装公众号能力。

文件、发布与实时能力

  • 普通上传、分片上传和附件记录管理。
  • 静态站部署包上传、发布、回滚和删除。
  • WebSocket、Workerman、Channel、STOMP、在线人数和前端组合式工具。
  • Think Queue 队列任务、定时任务和站点地图推送。

技术架构

后端

  • 运行环境:PHP >= 8.0,建议 PHP 8.1 或更高版本。
  • 框架:ThinkPHP Framework ^8.1、think-orm ^3.0、think-multi-app。
  • 关键依赖:think-filesystem、think-queue、think-view、JWT、Guzzle、Predis、Workerman、STOMP、PhpSpreadsheet、PHP-FFMpeg、PHPMailer。
  • AI 相关:think-ai、Neuron AI,以及 DeepSeek、OpenAI、Coze、Vidu 等服务配置。

后端采用 ThinkPHP 多应用结构:

  • backend/app/admin/:后台管理应用,包含控制器、逻辑层、模型、服务、验证器、中间件、路由和视图。
  • backend/app/api/:对外 API 应用,包含 CMS、问答、上传、分享、AI 和微信小程序兼容接口。
  • backend/app/chat/:聊天或实时通信相关接口。
  • backend/app/common/:公共模型、服务、命令、队列任务、AI Provider、枚举和工具类。

前端

  • 运行环境:Node.js ^20.19.0 || >=22.12.0,包管理器使用 pnpm。
  • 核心框架:Vue 3.5、TypeScript 5.9、Vite 7。
  • UI 与状态:Element Plus、Pinia、Vue Router、Vue I18n、UnoCSS。
  • 业务依赖:ECharts、VXE Table、WangEditor、Markdown 编辑器、CodeMirror、XGPlayer、STOMP、ExcelJS。

前端源码主要位于:

  • frontend/src/api/:接口客户端。
  • frontend/src/views/:业务页面。
  • frontend/src/components/:公共组件。
  • frontend/src/store/:Pinia 状态。
  • frontend/src/router/:静态路由与动态路由基础配置。
  • frontend/src/composables/:组合式工具,包括 WebSocket 相关能力。

目录结构

FAdminAi
├── backend
│   ├── app
│   │   ├── admin       # 后台管理应用
│   │   ├── api         # 对外 API 应用
│   │   ├── chat        # 聊天和实时通信应用
│   │   ├── common      # 公共模型、服务、命令、队列任务和工具
│   │   └── controller  # ThinkPHP 默认控制器目录
│   ├── config          # 后端配置
│   ├── database        # 补丁或更新 SQL
│   ├── public          # Web 入口、公开资源和安装 SQL
│   ├── route           # 全局路由
│   └── composer.json
├── frontend
│   ├── src
│   │   ├── api         # 前端 API 客户端
│   │   ├── components  # 公共组件
│   │   ├── composables # 组合式工具
│   │   ├── router      # 路由
│   │   ├── store       # Pinia 状态
│   │   └── views       # 业务页面
│   ├── vite.config.ts
│   └── package.json
└── docs/project-overview
    ├── project-overview.md
    └── assets

当前安装 SQL 位于 backend/public/install/db/install.sql,补丁 SQL 位于 backend/database/

主要业务页面

模块 前端目录 说明
首页看板 frontend/src/views/dashboard/ 访问统计、系统信息、公告和运行概览
AI 智能助手 frontend/src/views/ai/ 聊天、绘图、视频、音频、提示词、模型、分享、抖音提取和 PPT
CMS 博客 frontend/src/views/blog/ 文章、分类、标签、轮播、友链、留言和站点信息
问答系统 frontend/src/views/question/ 问题、回答、评论、分类、举报原因和举报记录
微信公众号 frontend/src/views/wechat/ 微信数据统计、菜单、素材、图文、粉丝、标签和回复规则
系统管理 frontend/src/views/system/ 管理员、角色、菜单、部门、通知、日志、配置、部署和数据库
会员管理 frontend/src/views/member/ 前台会员账号、资料、导入导出和重置密码
代码生成 frontend/src/views/codegen/ 根据数据库表生成后台代码

运行方式

后端

cd backend
composer install
php think run -H 127.0.0.1 -p 9040

常用后端命令:

php think
php think route:list
php think task
php think websocket:server
php think workerman:server
php think channel:server
php think pushSitemap

队列示例:

php think queue:work database --queue=douyin_extract,vidu_video --sleep=5 --tries=0 --timeout=1800

前端

cd frontend
pnpm install
pnpm dev

常用前端命令:

pnpm type-check
pnpm lint
pnpm build-only
pnpm build
pnpm build-copy
pnpm preview

开发环境常用变量来自 frontend/.env.development

  • VITE_APP_PORT:前端服务端口。
  • VITE_APP_BASE_API:接口代理前缀。
  • VITE_APP_API_URL:后端接口地址。
  • VITE_APP_WS_ENDPOINT:WebSocket 地址。
  • VITE_MOCK_DEV_SERVER:Mock 服务开关。
  • VITE_BLOG_SITE_URL:博客站点地址。

部署说明

后端部署

  • Web 根目录指向 backend/public
  • 配置 URL Rewrite,将请求转发到 backend/public/index.php
  • 确保 backend/runtimebackend/public/storage 和备份目录可写。
  • 生产环境关闭调试,配置安全的 JWT 密钥、API Token、微信公众号 Token 和第三方服务密钥。
  • 使用进程管理工具托管 Workerman、WebSocket、Channel、队列和定时任务。

前端部署

构建静态文件:

cd frontend
pnpm build-only

如需生成部署 zip:

pnpm build

生成后的静态文件可部署到 Nginx、Apache、对象存储或 CDN。后台“打包发布”页面用于接收已构建好的静态 zip 包,不负责执行前端构建命令。

安全与维护建议

  • 生产环境必须修改默认账号密码和所有密钥。
  • 不要提交 .env、证书、Token、生产配置和第三方服务密钥。
  • 严格配置 CORS,只允许可信前端域名。
  • 上传目录禁止执行 PHP、脚本或其他可执行文件。
  • 禁止公开访问运行日志、备份目录、runtime、数据库导出文件和临时文件。
  • 定期执行依赖审计:
cd backend
composer audit --locked --no-interaction

cd ../frontend
pnpm audit

在线体验与联系方式

站点地址:

地址: https://tp.myong.top
账号: guest
密码: guest123

有兴趣的同学可以通过站点留言、QQ、微信或者邮箱联系我:

QQ: 1650464351
微信:dota-shaa
邮箱: 1650464351@qq.com
QQ二维码 微信二维码

欢迎广大同行给出建议以及使用本产品。

本次文档验证

  • 前端登录页 http://127.0.0.1:3000/#/login 返回 200 text/html
  • 后端验证码接口 http://127.0.0.1:9040/admin/auth/verify 返回 200 application/json
  • 临时登录态访问 /admin/auth/me 返回 code=200,角色为 ADMINISTRATOR
  • 临时登录态访问 /admin/menu/routes 返回 code=200,顶层路由数量为 14
  • 已生成 7 张真实系统截图,均位于 docs/project-overview/assets/
  • 截图完成后已清理临时后台 token,并确认会话过期。
上一篇:thinkphp6加swoole高并发上传图片 下一篇:Ubuntu系统安装Protocol Buffers (protobuf) 编译器完全指南

评论

评论(0)

暂无评论