AI 点评
cover

Fool Chat Admin后台管理项目部署

Fool Lv.6 2026-06-24 13:45 2090 字 浏览 137 点赞 评论 3 学习GoC++Git

Web 管理后台 · Go + MySQL + 原生前端 · 内置 AI 管理助手、邮件通知与数据备份能力

Fool Chat Admin 是 Fool Chat 即时通讯系统的 Web 管理后台。面向运营、审核与系统管理员,提供用户、动态、好友、公告、通知、邮件通知、管理员申请审核、操作日志、数据概览、数据备份和 AI 助手等一站式管理能力。

项目使用 Go 标准库 net/http 直接对外提供服务,前端无构建步骤,单二进制 + 静态目录即可部署。

Go MySQL License Status

导航

  • 账号 & 权限:登录、Session、二级密码、基于 role 的层级权限校验
  • 用户管理:CRUD、批量删除、任命/撤销管理员、重置密码、级联清理
  • 内容审核:动态列表筛选、状态切换、批量隐藏、按关键词批量处理
  • 关系治理:好友申请处理、好友关系解除、申请状态可审计
  • 公告 / 通知:StarNotice 公告、admin_notice 投递(广播 / 定向 + 等级)
  • 管理员申请:用户申请管理员权限、后台审核通过/拒绝
  • 邮件通知:草稿编辑、全部/单用户发送、AI 润色、SMTP 发送与状态追踪
  • 操作日志:所有写操作落 admin_operation_log,支持搜索、筛选、导出
  • 数据看板:14 项核心指标 + 14 天趋势图 + 申请通过率 + 最近异常
  • 数据维护 / 备份:用户 / 动态 / 日志 CSV 导出、一键 CSV ZIP、一键多 Sheet Excel、数据库连接信息可视化
  • 找回密码:基于 VarifyServer 的邮箱验证码三步重置
  • AI 助手:自然语言驱动、动作白名单、高危确认、多会话历史
  • 前端体验:登录页双栏布局 / 全局分页(页码跳转 + 每页条数选择)/ 随机壁纸 / 本地图片 / URL 图片 / 清除背景 / 暗黑模式 / 沉浸预览

技术栈

层级 技术
后端 Go 1.21+,标准库 net/http
数据访问 database/sql + go-sql-driver/mysql(裸 SQL,无 ORM)
数据库 MySQL 5.7+ / 8.0
前端 原生 HTML / CSS / JavaScript,无构建
表格导出 SheetJS 浏览器侧生成 Excel
邮件 Go 标准库 net/smtp(SMTP 发送)
AI OpenAI (使用的 DeepSeek-v4-flash)
部署 systemd

快速开始

1. 准备环境

git clone https://github.com/zzt2713/Fool_Chat_Chat_Admin.git
cd Fool_Chat_Chat_Admin
go mod download
cp config.example.yaml config.yaml
# 按需修改 config.yaml 中的数据库 / 二级密码 / AI Key

2. 本地运行

go run .

默认监听 0.0.0.0:9100,浏览器打开 http://127.0.0.1:9100。

3. 编译

# Windows
go build -o fool_chat_admin_go.exe .

# Linux amd64 交叉编译(Windows PowerShell)
$env:GOOS="linux"; $env:GOARCH="amd64"
go build -o fool_chat_admin_go .

# Linux amd64 交叉编译(macOS / Linux)
GOOS=linux GOARCH=amd64 go build -o fool_chat_admin_go .

配置

config.yaml 字段:

app:
  addr: 0.0.0.0:9100

database:
  host: 127.0.0.1
  port: 3306
  name: mhkh
  user: root
  password: your_database_password

security:
  session_key: fool-chat-admin
  delete_password: your_second_confirm_password

redis:
  host: 127.0.0.1
  port: "6379"
  password: ""

verify_server:
  addr: 127.0.0.1:50051

ai:
  base_url: https://api.deepseek.com
  api_key: your_ai_api_key
  model: deepseek-chat

services:
  gate_server: 127.0.0.1:8080
  status_server: 127.0.0.1:50052
  chat_server1: 127.0.0.1:8090
  chat_server2: 127.0.0.1:8091

smtp:
  host: smtp.example.com
  port: "465"
  user: your_email@example.com
  password: your_smtp_password
  from: your_email@example.com

项目结构

fool_chat_admin_go/
├── main.go                       # 入口 + 路由分发 + Schema 初始化
├── auth.go                       # 登录 / Session / 权限
├── db.go / config.go / util.go   # 数据库 / 配置 / 通用工具
├── log.go                        # 操作日志统一落库
├── mail.go                       # SMTP 邮件发送
├── handler_user.go               # 用户管理
├── handler_dynamic.go            # 动态管理
├── handler_notice.go             # 好友 / 公告 / 通知
├── handler_stats.go              # 概览、趋势、日志
├── handler_monitor.go            # 服务状态监控
├── handler_maintenance.go        # 数据维护与备份导出
├── handler_password_reset.go     # 找回密码三步流程
├── handler_admin_apply.go        # 管理员申请审核
├── handler_email.go              # 邮件通知(草稿 / 发送)
├── handler_ai.go                 # AI 助手对话与动作调度
├── verify_client.go              # gRPC 调 VarifyServer
├── templates/index.html          # 单页前端模板
└── static/
    ├── app.js / app.css          # 前端逻辑与样式
    ├── icon.png                  # 网页 icon
    ├── background.webp           # 登录页默认背景
    └── xlsx.full.min.js          # Excel 导出依赖

数据维护 / 备份

后台「数据维护」页提供:

  • 数据量概览:用户、动态、日志、好友、申请、通知等核心表行数
  • 数据库连接信息:driver / host / port / database / user
  • CSV 导出:用户、动态、日志可单独导出 CSV(UTF-8 BOM,Excel 直接打开不乱码)
  • 一键 CSV 压缩包:服务端打包三类 CSV 为 ZIP 下载
  • 一键 Excel:浏览器侧通过 SheetJS 拉取全量数据并生成多 Sheet .xlsx

后端接口:

方法 路径 说明
GET /api/maintenance/summary 数据量 + 数据库连接信息
GET /api/maintenance/export?type=users|dynamics|logs|all CSV 或 ZIP 下载

管理员申请

用户可通过前端申请管理员权限,后台「管理员申请」页进行审核:

  • 申请列表:显示申请人、申请理由、当前状态(待审核 / 通过 / 拒绝)
  • 审核操作:通过 / 拒绝,操作记入审计日志
  • AI 批量拒绝:AI 助手可一键拒绝所有待审核申请

邮件通知

后台「邮件通知」页支持向用户发送邮件通知:

  • 草稿管理:新建、编辑、删除草稿
  • 发送对象:全部用户(广播)或指定单个用户
  • AI 润色:借助 AI 优化邮件标题和正文
  • SMTP 发送:异步发送,状态追踪(草稿 → 发送中 → 已发送 / 失败)
  • 发送记录:查看已发送邮件列表,失败邮件可查看错误信息

AI 管理助手

AI 助手不直接写 SQL,而是把自然语言转换为受控的结构化动作,由 Go 后端按白名单执行。可在未配置 ai.api_key 时使用关键词兜底逻辑保证离线可用。

请求示例

POST /api/ai/chat
Content-Type: application/json
Cookie: fool_chat_admin_session=...
{
  "message": "把待审核动态按 UID 分组",
  "session_id": 0,
  "confirm": false
}

安全设计

  • 模型只能输出 JSON,后端走动作白名单
  • 高危动作统一走前端二次确认弹窗
  • 删除用户额外要求二级密码
  • AI 触发的写操作全部落 admin_operation_log
  • 多会话历史落 ai_chat_message,按 session_id 切换
  • 支持通过 AI 一键拒绝所有待审核管理员申请

API 概览

除 /api/login、/api/logout、/api/password-reset/* 外均需登录态。

模块 主要接口
认证 POST /api/login、POST /api/logout
找回密码 POST /api/password-reset/{lookup,send,reset}
概览 GET /api/summary、GET /api/analytics、GET /api/service-status
维护 GET /api/maintenance/summary、GET /api/maintenance/export
日志 GET /api/logs、GET /api/log-operators
用户 GET/POST /api/users、PATCH/DELETE /api/users/{uid}
动态 GET/POST /api/dynamics、PATCH/DELETE /api/dynamics/{id}
好友 GET /api/friend-applies、PATCH /api/friend-applies/{id}、GET /api/friends、DELETE /api/friends/{a}/{b}
公告 GET/POST/PATCH/DELETE /api/star-notices
通知 GET/POST /api/admin-notices、PATCH/DELETE /api/admin-notices/{id}
管理员申请 GET /api/admin-applies、PATCH /api/admin-applies/{id}
邮件通知 GET /api/email-draft/list、POST /api/email-draft/{save,send,delete}
AI POST /api/ai/chat、GET/DELETE /api/ai/sessions/{id}

Linux 部署

systemd(推荐)

/etc/systemd/system/fool-chat-admin.service:

[Unit]
Description=Fool Chat Admin
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/fool_chat_admin_go
ExecStart=/opt/fool_chat_admin_go/fool_chat_admin_go
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now fool-chat-admin
sudo systemctl status fool-chat-admin

上传部署文件

scp ./fool_chat_admin_go      root@<server>:/opt/fool_chat_admin_go/
scp ./config.yaml             root@<server>:/opt/fool_chat_admin_go/
scp -r ./templates ./static   root@<server>:/opt/fool_chat_admin_go/
ssh root@<server> "systemctl restart fool-chat-admin"

安全策略

  • 后台仅允许 role >= 1 登录
  • 管理员不能操作自己 / 操作权限 ≥ 自己的账号
  • 删除用户走二级密码校验(security.delete_password)
  • 所有写操作记录 module / action / target / operator / ip / detail_json
  • 推荐 Nginx 反代 + HTTPS,MySQL 仅放行内网

Roadmap

  • 管理员申请审核流程
  • 邮件通知系统(草稿 / 发送 / AI 润色)
  • 全局分页组件(页码跳转 + 每页条数选择)
  • RBAC 菜单 / 按钮级权限
  • Session 迁移 Redis 支持多实例
  • 数据库迁移脚本替代启动自动建表
  • AI 操作审批流(双人确认)
  • 通知投递回执统计
  • 集成测试

最后更新时间:2026-10-24 02:00

微信扫码分享

评论(1) 最新 热门

登录 后才能评论。

  • Fool Lv.6 网站管理员 2026-07-14 13:32
    你好