插件基础字段处理优化
parent
ec2c0f774d
commit
075616c8df
|
|
@ -46,7 +46,14 @@ class PluginsService
|
|||
$ret = self::PluginsField($plugins, 'data');
|
||||
if(!empty($ret['data']))
|
||||
{
|
||||
// 数据处理
|
||||
// 获取插件基础字段定义
|
||||
$field_data = self::PluginsBaseFieldData($plugins);
|
||||
|
||||
// 数据处理、未指定附件字段则使用系统获取的附件字段
|
||||
if(empty($attachment_field) && !empty($field_data['attachment_field']))
|
||||
{
|
||||
$attachment_field = $field_data['attachment_field'];
|
||||
}
|
||||
$data = self::PluginsDataHandle($ret['data'], $attachment_field);
|
||||
} else {
|
||||
$data = [];
|
||||
|
|
@ -58,6 +65,33 @@ class PluginsService
|
|||
return DataReturn('处理成功', 0, $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取插件基础字段
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2022-05-08
|
||||
* @desc description
|
||||
* @param [string] $plugins [插件名称]
|
||||
*/
|
||||
public static function PluginsBaseFieldData($plugins)
|
||||
{
|
||||
$result = [
|
||||
'private_field' => [],
|
||||
'attachment_field' => [],
|
||||
];
|
||||
$ser = '\app\plugins\\'.$plugins.'\service\BaseService';
|
||||
if(class_exists($ser))
|
||||
{
|
||||
// 附件属性
|
||||
$result['attachment_field'] = property_exists($ser, 'base_config_attachment_field') ? $ser::$base_config_attachment_field : [];
|
||||
|
||||
// 私有字段
|
||||
$result['private_field'] = property_exists($ser, 'base_config_private_field') ? $ser::$base_config_private_field : [];
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 插件配置数据处理
|
||||
* @author Devil
|
||||
|
|
@ -409,25 +443,16 @@ class PluginsService
|
|||
{
|
||||
foreach($data as &$v)
|
||||
{
|
||||
$private_field = [];
|
||||
$attachment_field = [];
|
||||
$plugins = '\app\plugins\\'.$v['plugins'].'\service\BaseService';
|
||||
if(class_exists($plugins))
|
||||
{
|
||||
// 附件属性
|
||||
$attachment_field = property_exists($plugins, 'base_config_attachment_field') ? $plugins::$base_config_attachment_field : [];
|
||||
|
||||
// 私有字段
|
||||
$private_field = property_exists($plugins, 'base_config_private_field') ? $plugins::$base_config_private_field : [];
|
||||
}
|
||||
// 获取插件基础字段定义
|
||||
$field_data = self::PluginsBaseFieldData($v['plugins']);
|
||||
|
||||
// 处理配置数据
|
||||
$v['data'] = self::PluginsDataHandle($v['data'], $attachment_field);
|
||||
$v['data'] = self::PluginsDataHandle($v['data'], $field_data['attachment_field']);
|
||||
|
||||
// 移除私有字段及数据
|
||||
if(!empty($v['data']) && is_array($v['data']) && !empty($private_field) && is_array($private_field))
|
||||
if(!empty($v['data']) && is_array($v['data']) && !empty($field_data['private_field']) && is_array($field_data['private_field']))
|
||||
{
|
||||
$v['data'] = self::ConfigPrivateFieldsHandle($v['data'], $private_field);
|
||||
$v['data'] = self::ConfigPrivateFieldsHandle($v['data'], $field_data['private_field']);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue