☰
NIUCLOUD LITE AI开发文档--架构设计
2026/10/15 2:25:20 网站建设 项目流程

1. 系统概述​

NiuCloud Lite 是一款快速开发通用管理后台框架,采用前后端分离架构,支持企业级应用的快速开发和部署。系统内置用户权限、代码生成器、表单设计、云存储、短信发送、素材中心、微信及公众号、API模块等一系列开箱即用功能。

2. 技术栈​

2.1 后端技术栈​

  • 框架: ThinkPHP 8.0
  • 语言: PHP 8.0+
  • 数据库: MySQL
  • 缓存: Redis
  • 队列: 内置队列系统
  • 认证: JWT
  • API设计: RESTful API

2.2 前端技术栈​

  • 后台管理: Vue 3 + TypeScript + Vite + Element Plus
  • 移动端: UniApp + Vue 3 + TypeScript
  • 状态管理: Pinia
  • 国际化: i18n
  • 样式: SCSS + Tailwind CSS

2.3 第三方服务​

  • 支付: 微信支付、支付宝支付
  • 短信: 阿里云短信、腾讯云短信
  • 存储: 阿里云OSS、腾讯云COS、七牛云存储
  • OAuth: 微信登录、QQ登录

3. 系统架构​

3.1 整体架构​

NiuCloud Lite 采用经典的三层架构设计,包括表现层、业务逻辑层和数据访问层。系统通过前后端分离的方式实现,前端通过API与后端进行通信。

flowchart TD subgraph 前端层 A[管理后台<br>Vue3 + TypeScript] --> B[移动端应用<br>UniApp] end subgraph API层 C[Admin API<br>后台管理接口] --> D[Public API<br>公共接口] end subgraph 业务逻辑层 E[Admin Service<br>后台业务服务] --> F[API Service<br>公共业务服务] G[Core Service<br>核心服务] --> E G --> F end subgraph 数据访问层 H[Model<br>数据模型] --> I[Database<br>MySQL] end A --> C B --> D C --> E D --> F E --> H F --> H

3.2 目录结构​

3.2.1 后端目录结构​

3.2.2 前端目录结构​
frontend/ ├── admin/ # 后台管理系统 │ ├── src/ # 源代码 │ │ ├── api/ # API接口 │ │ ├── views/ # 页面 │ │ ├── components/ # 组件 │ │ ├── stores/ # 状态管理 │ │ └── router/ # 路由 │ └── public/ # 静态资源 └── uni-app/ # 移动端应用 ├── src/ # 源代码 │ ├── pages/ # 页面 │ ├── components/ # 组件 │ └── api/ # API接口 └── static/ # 静态资源

4. 核心功能模块​

4.1 用户权限管理​

  • 用户管理: 管理员账号的创建、编辑、删除
  • 角色管理: 角色的创建、权限分配
  • 权限管理: 菜单权限、操作权限的精细化控制
  • 部门管理: 企业组织架构管理
  • 岗位管理: 岗位设置和权限分配

4.2 自定义表单​

  • 表单设计: 可视化表单设计器
  • 表单管理: 表单的创建、编辑、删除
  • 字段管理: 支持多种字段类型(文本、数字、日期、文件等)
  • 数据管理: 表单数据的查看、导出、统计

4.3 内容管理​

  • 文章管理: 文章的发布、编辑、分类
  • 素材管理: 图片、视频等素材的上传、管理
  • 菜单管理: 后台菜单的配置和管理

4.4 系统配置​

  • 网站设置: 网站基本信息、SEO配置
  • 支付配置: 微信支付、支付宝支付配置
  • 短信配置: 短信服务提供商配置
  • 存储配置: 云存储服务配置

4.5 会员管理​

  • 会员管理: 会员账号的管理
  • 会员等级: 会员等级设置和管理
  • 会员积分: 积分规则和管理

4.6 微信生态​

  • 微信公众号: 公众号配置和消息管理
  • 微信小程序: 小程序配置和管理
  • 微信支付: 微信支付集成

4.7 数据统计​

  • 访问统计: 网站访问数据统计
  • 操作日志: 系统操作日志记录
  • 数据报表: 业务数据报表生成

5. 核心流程​

5.1 用户认证流程​

sequenceDiagram participant Client as 前端 participant API as API层 participant Service as 服务层 participant DB as 数据库 Client->>API: POST /api/login (username, password) API->>Service: 调用AuthService.login() Service->>DB: 查询用户信息 alt 用户存在且密码正确 DB-->>Service: 返回用户信息 Service->>Service: 生成JWT Token Service-->>API: 返回Token和用户信息 API-->>Client: 200 OK { "token": "...", "user": {...} } else 用户不存在或密码错误 DB-->>Service: 返回空 Service-->>API: 抛出认证错误 API-->>Client: 401 Unauthorized { "message": "用户名或密码错误" } end

5.2 自定义表单提交流程​

sequenceDiagram participant Client as 前端 participant API as API层 participant Service as 服务层 participant DB as 数据库 Client->>API: POST /api/diy/form/submit (form_id, data) API->>Service: 调用DiyFormService.submit() Service->>DB: 验证表单存在性 Service->>Service: 验证表单数据 alt 验证通过 Service->>DB: 保存表单数据 Service->>Service: 处理表单提交配置(如短信通知) Service-->>API: 返回提交成功 API-->>Client: 200 OK { "message": "提交成功" } else 验证失败 Service-->>API: 抛出验证错误 API-->>Client: 400 Bad Request { "message": "验证失败", "errors": {...} } end

6. 数据库设计​

6.1 核心表结构​

表名描述用途
nc_sys_user系统用户表存储管理员账号信息
nc_sys_role角色表存储角色信息和权限配置
nc_sys_menu菜单表存储后台菜单信息
nc_sys_dept部门表存储企业部门信息
nc_sys_position岗位表存储企业岗位信息
nc_diy_form自定义表单表存储表单基本信息
nc_diy_form_fields表单字段表存储表单字段配置
nc_diy_form_records表单记录表存储表单提交记录
nc_member会员表存储会员信息
nc_pay支付表存储支付记录
nc_sys_config系统配置表存储系统配置信息

6.2 表关系​

erDiagram SYS_USER ||--o{ SYS_ROLE : 拥有 SYS_ROLE ||--o{ SYS_MENU : 权限 SYS_USER ||--o{ SYS_DEPT : 属于 SYS_USER ||--o{ SYS_POSITION : 担任 DIY_FORM ||--o{ DIY_FORM_FIELDS : 包含 DIY_FORM ||--o{ DIY_FORM_RECORDS : 产生 DIY_FORM_RECORDS ||--o{ DIY_FORM_RECORDS_FIELDS : 包含 MEMBER ||--o{ PAY : 发起

7. 部署架构​

7.1 开发环境​

┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ 前端开发环境 │ │ 后端开发环境 │ │ 数据库环境 │ │ npm run dev │────│ php think run │────│ MySQL + Redis │ └─────────────────┘ └─────────────────┘ └─────────────────┘

7.2 生产环境​

flowchart TD subgraph 前端 A[CDN] --> B[静态文件服务器] end subgraph 应用层 C[负载均衡] --> D[应用服务器集群] D --> E[PHP-FPM] end subgraph 数据层 F[数据库主从] --> G[Redis集群] G --> H[文件存储] end B --> C E --> F E --> G E --> H

8. 扩展性设计​

8.1 模块化设计​

  • 功能模块化: 每个功能独立成模块,可单独启用或禁用
  • 插件系统: 支持插件的安装和卸载
  • 钩子系统: 提供系统钩子,支持插件扩展功能

8.2 多语言支持​

  • 国际化框架: 基于i18n实现多语言支持
  • 语言包: 支持自定义语言包
  • 动态切换: 支持运行时语言切换

8.3 多租户设计​

  • 租户隔离: 支持多租户数据隔离
  • 租户配置: 支持租户级别的配置
  • 权限控制: 支持租户级别的权限管理

8.4 API扩展​

  • RESTful API: 标准化的API设计
  • API版本控制: 支持API版本管理
  • API文档: 自动生成API文档

9. 安全设计​

9.1 认证与授权​

  • JWT认证: 无状态认证,支持跨域
  • 权限控制: 基于角色的权限控制(RBAC)
  • 访问控制: 细粒度的访问控制

9.2 数据安全​

  • 数据加密: 敏感数据加密存储
  • SQL注入防护: 使用参数化查询
  • XSS防护: 输入验证和输出编码
  • CSRF防护: 令牌验证

9.3 传输安全​

  • HTTPS: 强制使用HTTPS
  • API签名: API请求签名验证
  • 请求频率限制: 防止暴力攻击

10. 性能优化​

10.1 缓存策略​

  • Redis缓存: 热点数据缓存
  • 页面缓存: 静态页面缓存
  • 查询缓存: 数据库查询结果缓存

10.2 数据库优化​

  • 索引优化: 合理创建索引
  • 查询优化: 优化SQL查询
  • 分库分表: 支持大数据量分库分表

10.3 代码优化​

  • 延迟加载: 按需加载资源
  • 代码压缩: 前端代码压缩
  • 资源合并: 静态资源合并

11. 监控与维护​

11.1 日志系统​

  • 操作日志: 记录系统操作
  • 错误日志: 记录系统错误
  • 访问日志: 记录API访问

11.2 监控系统​

  • 性能监控: 系统性能监控
  • 异常监控: 异常情况监控
  • 业务监控: 业务指标监控

11.3 维护工具​

  • 数据库备份: 自动数据库备份
  • 系统清理: 日志清理、临时文件清理
  • 系统升级: 版本升级管理

12. 总结​

NiuCloud Lite 采用现代化的技术栈和架构设计,提供了一套完整的企业级应用开发框架。系统具有以下特点:

  • 前后端分离: 采用Vue3 + TypeScript + ThinkPHP的前后端分离架构
  • 模块化设计: 功能模块化,易于扩展和维护
  • 多端支持: 支持PC端后台和移动端应用
  • 丰富的功能: 内置用户权限、自定义表单、内容管理等核心功能
  • 安全性: 完善的安全设计,保障系统安全
  • 性能优化: 多种性能优化策略,提升系统性能

NiuCloud Lite 适合快速开发各类企业级应用,如内容管理系统、客户关系管理系统、电商系统等。通过标准化的架构设计和丰富的功能模块,大大降低了开发成本和时间,提高了开发效率和系统质量。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询