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