Some checks failed
Deploy / deploy (push) Has been cancelled
Full-stack web application for Telegram management - Frontend: Vue 3 + Vben Admin - Backend: NestJS - Features: User management, group broadcast, statistics 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
3.6 KiB
3.6 KiB
前后端集成最终总结(Node.js 方案)
✅ 已完成工作
1. 基础配置
- 统一前端(Vben Admin)请求基地址,默认指向
http://localhost:3000的 Node.js 后端。 - Axios/TanStack 封装适配 Node 返回格式(
{ code, data, message }),并在 401/403/500 等状态下提供统一提示。 - 配置跨域与凭证头部:后端开启 Hapi CORS,前端添加
Authorizationheader 传递Bearer token。
2. 认证体系
- 登录/登出/用户信息接口切换至 Node
/admin/*路由。 - 会话状态通过 Redis 持久化;前端在 TanStack Mutation 成功后缓存 token,并在失效时自动刷新或跳转登录。
- 权限数据(角色、菜单)由后端返回并落入 Pinia/TanStack,全局守卫基于此控制路由与按钮权限。
3. 业务模块
- Telegram 账号列表、统计信息、增删改查接口接入 Node 服务,使用乐观更新与缓存失效策略。
- 实时监控通过
ws://localhost:18081建立 gramJS 推送,前端统一封装 WebSocket Hook。 - 代理平台、短信平台等配置项与 Node 服务保持字段一致,导入导出功能适配新的 API。
4. 用户体验优化
- 登录页移除默认账号,补充 Loading、错误反馈与成功提醒。
- 全站加载进度条、空状态、错误兜底更新完毕。
- 导航/侧边菜单基于新权限模型动态生成;新增快捷入口与常用操作标记。
🧱 技术架构
| 层级 | 技术栈 | 说明 |
|---|---|---|
| 后端 | Node.js 18+, Hapi.js, Sequelize, Redis, MySQL, gramJS | 负责 Telegram 业务、账号操控、实时监控 |
| 前端 | Vue 3, TypeScript, Vite, Vben Admin, TanStack Query, Pinia | 后台管理界面、数据可视化与实时状态 |
| 实时 | Socket.IO + 自研 WebSocket(RealtimeMonitor) | 监听 Telegram 账号状态、消息推送 |
| 脚本 | PM2、启动/停止脚本、Docker(可选) | 部署与运维辅助 |
🌐 运行指引
后端
cd backend
npm install
npm start # 默认端口 3000,WS 端口 18081,可通过环境变量覆盖
前端(Vben)
corepack enable # 确保 pnpm 可用
cd frontend-vben
pnpm install
pnpm dev:antd # 默认端口 5173,如占用会自动顺延
一键脚本
./start-background.sh # 启动 Node 后端 + Vben 前端
./stop-services.sh # 停止所有进程
调试入口
- 前端开发服:
http://localhost:5173/ - 后端 API:
http://localhost:3000/ - 实时监控:
ws://localhost:18081/
账号数据沿用 Node 默认初始化,可在
backend/migrations与init-*.js中自定义。
🔄 后续建议
功能完善
- 扩展 Telegram 群组、消息、营销等模块接口,梳理统一的错误码与日志。
- 补齐文件上传、批量导入导出、操作审计等企业级需求。
- 引入任务调度可视化、通知中心等协同功能。
性能优化
- 为高频接口添加缓存/限流策略,优化消息列表分页。
- WebSocket 心跳与断线重连策略对齐移动端场景。
- 前端按需加载模块、拆分路由打包,减小首屏体积。
安全加固
- 增加 API 签名校验、防重放、防暴力破解策略。
- 部署 HTTPS、配置可信代理、细化 CORS 白名单。
- 对敏感操作添加双重校验、操作审计与告警。
运维部署
- 结合
DEPLOYMENT.md将 Node 后端托管至 PM2/系统服务,前端构建后由 Nginx 提供静态资源。 - 落地集中日志与指标监控(Grafana/Prometheus/ELK)。
- 依据业务量规划 MySQL、Redis 主从或高可用方案。