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

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

四、提前说明

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

相关推荐
秦老师Q5 分钟前
php零基础入门到实战,从语法到框架,一篇搞定
开发语言·php
后台模板学习2 小时前
2026最新面试真题:到达用英语怎么说背后的逻辑与源码剖析
面试·职场和发展·php
少陽君4 小时前
Python 并发编程:IO 等待用线程/asyncio,CPU 计算才用进程
数据库·python·php
盛世宏博智慧档案6 小时前
高速 ETC 门架外场机房温湿度远程监测解决方案
服务器·数据库·php·高度·高速·温湿度
祁白_7 小时前
防御引擎绕过方法
笔记·web安全·php·防御引擎
江畔柳前堤9 小时前
云原生 × AI 全景图谱:从 Kubernetes 到 Agent 基础设施的一次认知跃迁
人工智能·分布式·gpt·云原生·kubernetes·原型模式·agi
evans在进步9 小时前
IP 网络基础详解:路由、ICMP、NAT、子网与 VLAN
网络·tcp/ip·php
Ivanqhz10 小时前
图是“拓扑 + 类型 + 形状“的世界
算法·决策树·机器学习·php·集成学习
WeiXin_DZbishe11 小时前
基于springboot大学生提问箱系统-计算机毕设【课程设计】72593
javascript·vue.js·spring boot·vscode·python·node.js·php
sbjdhjd11 小时前
在 8 字符、字母数字过滤与 PHP 版本差异下复盘临时文件命令执行链 | (8字符绕过)
android·java·开发语言·安全·web安全·数据挖掘·php