$dir, 'path' => $path, 'file' => $filename, 'url' => $dir.$path.$filename, ]; } /** * 配置信息初始化 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2021-04-22 * @desc description */ public static function ConfigDataInit() { // 根据插件类型获取不通的配置信息 switch(self::$params['plugins_type']) { // 功能插件 case 'plugins' : // 获取配置 $config = PluginsAdminService::GetPluginsConfig(self::$params['plugins_value']); if(empty($config) || empty($config['base'])) { return DataReturn(MyLang('common_service.pluginsupgrade.plugins_config_error_tips'), -1); } self::$params['plugins_config'] = $config; self::$params['plugins_ver'] = $config['base']['version']; self::$params['plugins_author'] = $config['base']['author']; // 安全校验 $ret = PluginsService::PluginsLegalCheck(self::$params['plugins_value']); if($ret['code'] != 0) { return $ret; } break; // 支付插件 case 'payment' : // 获取配置 $config = PaymentService::GetPaymentConfig(self::$params['plugins_value']); if(empty($config)) { return DataReturn(MyLang('common_service.pluginsupgrade.payment_config_error_tips'), -1); } self::$params['plugins_config'] = $config['base']; self::$params['plugins_ver'] = $config['base']['version']; self::$params['plugins_author'] = $config['base']['author']; // 安全校验 $ret = PaymentService::PaymentLegalCheck(self::$params['plugins_value']); if($ret['code'] != 0) { return $ret; } break; // web主题 case 'webtheme' : // 获取配置 $config = ThemeAdminService::ThemeAdminConfig(self::$params['plugins_value']); if($config['code'] != 0) { return $config; } self::$params['plugins_config'] = $config['data']; self::$params['plugins_ver'] = $config['data']['ver']; self::$params['plugins_author'] = $config['data']['author']; // 安全校验 $ret = ThemeAdminService::ThemeAdminLegalCheck(self::$params['plugins_value']); if($ret['code'] != 0) { return $ret; } break; // 小程序主题 case 'minitheme' : // 获取配置 if(empty(self::$params['plugins_terminal'])) { return DataReturn(MyLang('common_service.pluginsupgrade.terminal_not_appoint_error_tips'), -1); } self::$params['application_name'] = self::$params['plugins_terminal']; $config = AppMiniService::MiniThemeConfig(self::$params['plugins_value'], self::$params); if($config['code'] != 0) { return $config; } self::$params['plugins_config'] = $config['data']; self::$params['plugins_ver'] = $config['data']['ver']; self::$params['plugins_author'] = $config['data']['author']; break; // 默认 default : return DataReturn(MyLang('common_service.pluginsupgrade.plugins_type_undefined_tips').'['.self::$params['plugins_type'].']', -1); } return DataReturn('success', 0); } /** * 输入参数校验 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2021-04-22 * @desc description * @param [array] $params [输入参数] */ public static function ParamsCheck($params = []) { // 请求参数 $p = [ [ 'checked_type' => 'empty', 'key_name' => 'plugins_type', 'error_msg' => MyLang('common_service.pluginsupgrade.update_type_error_tps'), ], [ 'checked_type' => 'empty', 'key_name' => 'plugins_value', 'error_msg' => MyLang('common_service.pluginsupgrade.plugins_identification_error_tips'), ], [ 'checked_type' => 'in', 'key_name' => 'opt', 'checked_data' => ['url', 'download', 'upgrade'], 'error_msg' => MyLang('operate_type_error_tips'), ], ]; $ret = ParamsChecked($params, $p); if($ret !== true) { return DataReturn($ret, -1); } // 下载和安装需要校验key if(in_array($params['opt'], ['download', 'upgrade']) && empty($params['key'])) { return DataReturn(MyLang('common_service.pluginsupgrade.operate_key_error_tips'), -1); } self::$params = $params; return DataReturn('success', 0); } } ?>