Files
sbnews/server/app/adminapi/validate/app/AppVersionValidate.php
T
2026-06-11 12:15:29 +08:00

79 lines
2.0 KiB
PHP

<?php
namespace app\adminapi\validate\app;
use app\common\model\app\AppVersion;
use app\common\validate\BaseValidate;
/**
* APP 版本验证
* Class AppVersionValidate
* @package app\adminapi\validate\app
*/
class AppVersionValidate extends BaseValidate
{
protected $rule = [
'id' => 'require|checkVersion',
'version_name' => 'require|length:1,32',
'version_code' => 'require|integer|gt:0',
'platform' => 'require|in:1,2',
'package_type' => 'require|in:1,2,3',
'update_type' => 'require|in:1,2,3',
'download_url' => 'require|length:1,500',
'title' => 'require|length:1,100',
'update_content' => 'require',
'status' => 'require|in:0,1',
];
protected $message = [
'id.require' => '版本ID不能为空',
'version_name.require' => '请输入版本号',
'version_code.require' => '请输入版本数字',
'version_code.gt' => '版本数字必须大于0',
'platform.require' => '请选择平台',
'package_type.require' => '请选择包类型',
'update_type.require' => '请选择升级类型',
'download_url.require' => '请上传或填写下载地址',
'title.require' => '请输入更新标题',
'update_content.require' => '请输入更新内容',
'status.require' => '请选择状态',
];
public function sceneAdd()
{
return $this->remove('id', 'require|checkVersion');
}
public function sceneEdit()
{
return $this;
}
public function sceneDelete()
{
return $this->only(['id']);
}
public function sceneDetail()
{
return $this->only(['id']);
}
public function sceneStatus()
{
return $this->only(['id', 'status']);
}
/**
* 校验版本是否存在
*/
public function checkVersion($value): bool|string
{
$row = AppVersion::findOrEmpty($value);
if ($row->isEmpty()) {
return '版本不存在';
}
return true;
}
}