服务层开发指南
Service 层是插件的业务逻辑核心,采用三层架构设计模式。本文以hello_world插件的服务层为例,详细介绍服务层的开发方式。
服务层架构概述
service服务层的文件存放路径为:niucloud/addon/hello_world/app/service
建议在对应端口编写业务代码: 
后台服务层(admin):处理后台管理系统的业务逻辑。
前台服务层(api):处理前台用户访问的业务逻辑。
公共核心服务层(core):封装公共的业务逻辑,供 admin 和 api 层调用。
这种分层架构能够有效实现代码复用,降低耦合度,便于维护和扩展。
目录结构
hello_world 插件的 service 层目录结构遵循 niucloud 框架规范:
plaintext
hello_world/app/service/
├── admin/ # 后台服务层
│ ├── UserService.php # 用户服务类(示例)
│ └── ...
├── api/ # 前台服务层
│ ├── UserService.php # 用户服务类(示例)
│ └── ...
└── core/ # 公共核心服务层
├── CoreUserService.php # 核心用户服务(示例)
└── ...服务层基类
各服务层分别继承对应的基类:
后台服务层:继承 BaseAdminService,里面定义了后台服务层的核心功能。
php
/**
* 用户服务层
*/
class UserService extends BaseAdminService
{
// todo 编写业务代码
}
前台服务层:继承 BaseApiService,里面定义了前台服务层的核心功能。
php
/**
* 用户服务层
*/
class UserService extends BaseApiService
{
// todo 编写业务代码
}
公共核心服务层:继承 BaseCoreService,里面定义了公共核心服务层的核心功能。admin(后台)、api(前台)都可以调用,这样可以防止代码冗余,编写重复代码,方便后期维护。
php
/**
* 核心用户服务层
*/
class CoreUserService extends BaseCoreService
{
// todo 编写业务代码
}
