NIUCLOUD LITE AI开发文档--后台系统结构

目录​


1. 功能说明​

概述​

本文档详细介绍 Niucloud 后端系统的整体架构和目录结构,帮助开发者快速理解系统组织方式。

适用场景​

  • 新开发者快速熟悉系统
  • 系统架构设计参考
  • 代码定位和维护

2. 设计思路​

架构模式​

系统采用经典的 MVC(Model-View-Controller)架构模式,结合 Service 层进行业务逻辑处理。


3. 系统架构​

3.1 整体架构​

复制代码
niucloud-lite/
├── app/                    # 应用代码目录
│   ├── adminapi/          # 后台管理 API
│   ├── api/               # 前台 API
│   ├── model/             # 数据模型
│   ├── validate/          # 数据验证器
│   ├── service/           # 业务服务层
│   ├── middleware/        # 中间件
│   ├── job/               # 定时任务
│   ├── listener/          # 事件监听器
│   ├── dict/              # 数据字典
│   └── common.php         # 公共函数
├── config/                # 配置文件
├── core/                  # 核心功能库
├── public/                # 公共访问目录
├── runtime/               # 运行时目录
├── route/                 # 路由配置
└── vendor/                # 第三方依赖

3.2 模块划分​

模块 路径 说明
后台 API app/adminapi/ 后台管理系统接口
前台 API app/api/ 用户端接口
数据模型 app/model/ 数据库模型定义
验证器 app/validate/ 请求数据验证
服务层 app/service/ 业务逻辑封装

4. 目录结构​

4.1 后台 API 目录 (app/adminapi/)​

复制代码
app/adminapi/
├── controller/            # 控制器
│   ├── sys/              # 系统管理
│   │   ├── Config.php    # 系统配置
│   │   ├── User.php      # 管理员管理
│   │   └── Role.php      # 角色权限
│   ├── member/           # 会员管理
│   │   ├── Member.php    # 会员列表
│   │   └── Level.php     # 会员等级
│   └── ...
├── middleware/           # 中间件
│   ├── Auth.php          # 认证中间件
│   └── Permission.php    # 权限中间件
└── route/               # 路由配置
    └── admin.php         # 后台路由

4.2 前台 API 目录 (app/api/)​

复制代码
app/api/
├── controller/           # 控制器
│   ├── auth/            # 认证相关
│   │   ├── Login.php    # 登录
│   │   └── Register.php # 注册
│   ├── member/          # 会员中心
│   └── ...
├── middleware/          # 中间件
└── route/              # 路由配置
    └── api.php         # API 路由

4.3 模型目录 (app/model/)​

复制代码
app/model/
├── sys/                 # 系统模型
│   ├── SysUser.php     # 管理员模型
│   ├── SysConfig.php   # 配置模型
│   └── SysRole.php     # 角色模型
├── member/             # 会员模型
│   ├── Member.php      # 会员模型
│   └── MemberLevel.php # 会员等级模型
└── ...

4.4 核心库目录 (core/)​

复制代码
core/
├── base/               # 基础类
│   ├── BaseController.php
│   ├── BaseModel.php
│   └── BaseService.php
├── pay/                # 支付功能
│   ├── Pay.php
│   └── channel/
├── upload/             # 文件上传
│   └── Upload.php
├── oauth/              # 第三方登录
│   └── OAuth.php
├── template/           # 模板消息
│   └── Template.php
└── util/               # 工具类
    ├── Http.php
    ├── Str.php
    └── Time.php

4.5 配置文件目录 (config/)​

复制代码
config/
├── app.php            # 应用配置
├── database.php       # 数据库配置
├── cache.php          # 缓存配置
├── log.php            # 日志配置
├── queue.php          # 队列配置
└── ...

5. 常见问题​

Q1: 如何定位控制器文件​

问题: 已知接口地址 /api/v1/user/info,如何找到对应的控制器?

解决方案:

  1. 查看路由配置 route/api.php

  2. 找到对应的路由定义

  3. 根据路由定位到控制器文件

    // route/api.php
    Route::get('user/info', 'api/User/info');
    // 对应文件:app/api/controller/User.php 的 info 方法

Q2: 模型和表名的对应关系​

问题: 如何知道模型对应的数据库表名?

解决方案:

复制代码
// 模型中定义表名
class Member extends Model {
    protected $name = 'member';  // 对应 member 表
    // 或使用完整表名
    protected $table = 'nc_member';
}

Q3: 中间件执行顺序​

问题: 多个中间件的执行顺序是怎样的?

解决方案: 中间件按照定义顺序执行,返回时逆序执行。

复制代码
// 中间件配置
'middleware' => [
    'auth',      // 先执行
    'permission', // 再执行
    'log',       // 最后执行
],

修订记录​

版本 日期 修订人 修订内容
v1.0 2026-04-08 Niucloud Team 初始版本
相关推荐
Wang's Blog1 小时前
Java 项目实战: 交友项目 - 登录发送验证码的测试验证与经验复盘
java·开发语言·交友
马优晨1 小时前
Java中的dto是什么
java·开发语言·java中的dto是什么·java的dto是什么·dto在java中是什么
itmigrate1 小时前
PHP 导出大 CSV 时内存溢出的一次排查
android·开发语言·php
YSL0701242 小时前
一文通关-----栈和队列
开发语言·数据结构
维克兜率天2 小时前
【维克】统计套利建模:从因子到信号的完整流程
android·开发语言·python·算法·kotlin
Pin_Qing2 小时前
同一天,谷歌半价卖旗舰,阶跃翻倍收缓存
大数据·开发语言·人工智能·程序人生·缓存
2501_930707782 小时前
使用C#代码在 Word 文档中添加、插入或删除页面
开发语言·c#·word
没有梦想的咸鱼185-1037-16632 小时前
从通量数据到SCI论文——AI-R语言生态系统碳水热通量及其机制分析与论文
开发语言·人工智能·数据分析·r语言
weixin_461769402 小时前
conda create 创建容器 Failed to resolve ‘repo.anaconda.com‘问题
开发语言·python·conda·repo·网络问题·无法创建