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

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

四、提前说明

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

相关推荐
欧先生^_^14 分钟前
Spark 的一些典型应用场景及具体示例
大数据·分布式·spark
陶然同学1 小时前
RabbitMQ全栈实践手册:从零搭建消息中间件到SpringAMQP高阶玩法
java·分布式·学习·rabbitmq·mq
云攀登者-望正茂1 小时前
Kafka 架构设计和组件介绍
分布式·kafka
露卡_1 小时前
Kafka和其他组件的整合
分布式·kafka·linq
goTsHgo1 小时前
Kafka 保证多分区的全局顺序性的设计方案和具体实现
分布式·kafka
菜鸟、上路3 小时前
Hadoop 集群扩容新增节点操作文档
大数据·hadoop·分布式
BXCQ_xuan3 小时前
Typecho博客网站头部SEO优化完整指南
运维·服务器·数据库·php·web
人类群星闪耀时3 小时前
5G赋能远程医疗:从愿景到现实的技术变革
开发语言·5g·php
码熔burning4 小时前
【MQ篇】RabbitMQ之发布订阅模式!
java·分布式·rabbitmq·mq
电脑玩家粉色男孩4 小时前
3、初识RabbitMQ
分布式·rabbitmq