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

其实在前面的章节中就已经提到过系统配置开发这块,包括建表及数据层开发都已完毕《群控系统服务端开发模式-应用开发-业务架构逻辑开发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' => '网站过期时间必须是正整数'
    ];
}

四、提前说明

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

相关推荐
BingoGo29 分钟前
PHP 开发者应该理解的 Linux 入门权限指南
后端·php
苏琢玉1 小时前
再也不用翻一堆日志!一键部署轻量级错误监控系统,帮你统一管理 PHP 报错
go·github·php
wangtianlang09122 小时前
深入理解Java多线程编程中的锁机制与性能优化策略
分布式
JaguarJack3 小时前
PHP 开发者应该理解的 Linux 入门权限指南
后端·php
熊文豪3 小时前
Windows安装RabbitMQ保姆级教程
windows·分布式·rabbitmq·安装rabbitmq
2301_793167993 小时前
网络管理部分
linux·运维·服务器·网络·php
李白你好13 小时前
一款基于 PHP 的轻量级Webshell管理工具
php
Amy1870211182314 小时前
分布式光纤传感:照亮每一个角落的“温度感知神经”
分布式
玉石观沧海17 小时前
高压变频器故障代码解析F67 F68
运维·经验分享·笔记·分布式·深度学习
小马爱打代码18 小时前
分布式锁:原理算法和使用建议
分布式·算法