ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

NIUCLOUD LITE AI开发文档--架构设计

NIUCLOUD LITE AI开发文档--架构设计 1. 系统概述​NiuCloud Lite 是一款快速开发通用管理后台框架采用前后端分离架构支持企业级应用的快速开发和部署。系统内置用户权限、代码生成器、表单设计、云存储、短信发送、素材中心、微信及公众号、API模块等一系列开箱即用功能。2. 技术栈​2.1 后端技术栈​框架: ThinkPHP 8.0语言: PHP 8.0数据库: MySQL缓存: Redis队列: 内置队列系统认证: JWTAPI设计: RESTful API2.2 前端技术栈​后台管理: Vue 3 TypeScript Vite Element Plus移动端: UniApp Vue 3 TypeScript状态管理: Pinia国际化: i18n样式: SCSS Tailwind CSS2.3 第三方服务​支付: 微信支付、支付宝支付短信: 阿里云短信、腾讯云短信存储: 阿里云OSS、腾讯云COS、七牛云存储OAuth: 微信登录、QQ登录3. 系统架构​3.1 整体架构​NiuCloud Lite 采用经典的三层架构设计包括表现层、业务逻辑层和数据访问层。系统通过前后端分离的方式实现前端通过API与后端进行通信。flowchart TD subgraph 前端层 A[管理后台brVue3 TypeScript] -- B[移动端应用brUniApp] end subgraph API层 C[Admin APIbr后台管理接口] -- D[Public APIbr公共接口] end subgraph 业务逻辑层 E[Admin Servicebr后台业务服务] -- F[API Servicebr公共业务服务] G[Core Servicebr核心服务] -- E G -- F end subgraph 数据访问层 H[Modelbr数据模型] -- I[DatabasebrMySQL] end A -- C B -- D C -- E D -- F E -- H F -- H3.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: 用户名或密码错误 } end5.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: {...} } end6. 数据库设计​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 -- H8. 扩展性设计​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: 强制使用HTTPSAPI签名: 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 适合快速开发各类企业级应用如内容管理系统、客户关系管理系统、电商系统等。通过标准化的架构设计和丰富的功能模块大大降低了开发成本和时间提高了开发效率和系统质量。
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表