群控系统服务端开发模式-应用开发-系统配置开发

其实在前面的章节中就已经提到过系统配置开发这块,包括建表及数据层开发都已完毕《群控系统服务端开发模式-应用开发-业务架构逻辑开发BaseAPI继续开发一》,今天在这里只要把系统配置控制层及验证层开发完毕就可以咯。

一、路由配置

**因它是固定数据,所以只有读取与保存这两个接口。**在根目录下的route文件夹中的app.php文件中,具体如下代码:

复制代码
    //上传配置
    Route::post('system/get_info','param.System/getInfo');// 获取上传配置参数数据
    Route::post('system/save_info','param.System/saveInfo');// 保存上传配置参数数据

二、控制层开发

在根目录下的app文件夹下的controller文件夹中,创建文件夹并命名param,在param文件夹中接着创建上传参数控制器并命名为System。具体代码如下:

复制代码
<?php
/**
 * 系统参数控制管理
 * User: 龙哥·三年风水
 * Date: 2024/11/1
 * Time: 16:19
 */
namespace app\controller\param;
use app\controller\Base;
use app\model\param\System as SystemModel;
class System extends Base
{
    // 获取上传参数
    public function getInfo(){
        if($this->request->param('id') != 1)return err('请求参数错误');//验证请求参数
        $resSystem = SystemModel::dataFind(['id' => 1],'website_name,website_describe,website_keyword,security_password,checked_backend_log,website_filing_applica,platform_token_expira');
        return succ('操作成功',$resSystem);
    }

    // 保存上传参数
    public function saveInfo(){
        $param = $this->request->param();
        $validate = new \app\validate\param\System;
        if(!$validate->check($param)) return err($validate->getError());
        SystemModel::save([
            'website_name' => $param['website_name'],
            'website_describe' => $param['website_describe'],
            'website_keyword' => $param['website_keyword'],
            'security_password' => $param['security_password'],
            'checked_backend_log' => $param['checked_backend_log'],
            'website_filing_applica' => $param['website_filing_applica'],
            'platform_token_expira' => (int)$param['platform_token_expira'],
        ],[['id','=',1]]);
        return succ('操作成功', []);
    }
}

三、验证层开发

在根目录下app文件夹下validate文件夹中创建文件夹并命名为param,在param文件夹中创建图片格式验证文件并命名为System。具体代码如下:

复制代码
<?php
/**
 * 系统参数验证管理
 * User: 龙哥·三年风水
 * Date: 2024/11/1
 * Time: 16:23
 */
namespace app\validate\param;
use app\validate\Tools;
class System extends Tools
{
    protected $rule = [
        'id' => 'require|number',
        'website_name' => 'require|length:3,50',
        'website_describe' => 'require|length:3,250',
        'website_keyword' => 'require|length:3,120',
        'security_password' => 'require|length:8,20',
        'checked_backend_log' => 'require|url',
        'website_filing_applica' => 'require|length:3,250',
        'platform_token_expira' => 'require|integer|checkStep:60'
    ];
    protected $message = [
        'id.require' => '编号必须填写',
        'id.number' => '编号必须是数字类型',
        'website_name.require' => '网站名称必须填写',
        'website_name.length' => '网站名称必须是3到50位之间',
        'website_describe.require' => '网站描述必须填写',
        'website_describe.length' => '网站描述必须是3到250位之间',
        'website_keyword.require' => '网站关键字必须填写',
        'website_keyword.length' => '网站关键字必须是3到120位之间',
        'security_password.require' => '二次安全密码必须填写',
        'security_password.length' => '二次安全密码必须是8到20位之间',
        'checked_backend_log.require' => '网站后端LOG必须填写',
        'checked_backend_log.url' => '网站后端LOG必须完整的路径',
        'website_filing_applica.require' => '网站备案申明必须填写',
        'website_filing_applica.length' => '网站备案申明必须是3到250位之间',
        'platform_token_expira.require' => '网站过期时间必须填写',
        'platform_token_expira.integer' => '网站过期时间必须是正整数'
    ];
}

四、提前说明

下一篇将开发文件上传工厂。

相关推荐
北漂燕郊杨哥2 小时前
phpStudy 手工安装最新稳定版 PHP 8.5.9(NTS)方法(Windows 本地开发)
windows·php·phpstudy
qetfw4 小时前
Debian 部署 Discuz! 论坛:Nginx、PHP 与 MariaDB 配置
linux·运维·nginx·debian·php·discuz
零域码客4 小时前
从 SQLite 到 PostgreSQL:轻量单机到分布式架构选型、避坑与迁移全解析
分布式·postgresql·sqlite·wal·架构设计·后端开发·数据库选型
北漂燕郊杨哥5 小时前
Win11 环境下 phpStudy 安装 Redis 最新版,并为 PHP 8.5.9(NTS)配置 redis 扩展
数据库·redis·php
ltl13 小时前
2PC 的真实失败模式:阻塞、脑裂与恢复
分布式
霸道流氓气质16 小时前
分布式系统设计:技术解析与实践
分布式
那年窗外下的雪.18 小时前
AIDC 学习日志 第 04 天 BGP Underlay 基础与路由选择
服务器·学习·php
ACP广源盛1392462567318 小时前
蚂蚁百灵 Ling‑3.0‑flash 开源 + 昇腾 0‑Day 原生适配@ACP#GSV9001E 在国产算力矩阵中的机会与落地场景
大数据·人工智能·分布式·单片机·嵌入式硬件
COOLMO研究AI20 小时前
Python 如何在 AI 接口中实现请求幂等性:防止重复提交与重复扣费
人工智能·python·php
西安景驰电子20 小时前
《PTP精确时间协议系列》第一篇:从原理到应用,全面解读IEEE 1588
linux·运维·服务器·开发语言·网络·windows·php