', '

', '

', '

', '/'; preg_match_all($pattern, self::AttachmentPathHandle($content), $match); return empty($match[1]) ? [] : $match[1]; } return []; } /** * 文件类型匹配 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2024-09-05 * @desc description * @param [string] $file [文件地址] */ public static function AttachmentTypeMatch($file) { // 截取后缀 $ext = strtolower(strrchr($file, '.')); // 图片 if(in_array($ext, MyConfig('ueditor.imageAllowFiles'))) { return 'images'; } // 视频 if(in_array($ext, MyConfig('ueditor.videoAllowFiles'))) { return 'video'; } // 默认文件 return 'file'; } /** * 购买填写时间数据 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2020-09-10 * @desc description * @param [array] $params [输入参数] */ public static function BuyDatetimeData($params = []) { // 默认配置 $config = MyC('common_buy_datetime_info', [], true); $data = [ 'is_select' => in_array(0, $config) ? 1 : 0, 'required' => in_array(1, $config) ? 1 : 0, 'title' => MyLang('appoint_time_title'), 'placeholder' => MyLang('choice_time_title'), 'error_msg' => MyLang('form_time_message'), 'time_start' => '', 'time_end' => '', 'range_type' => 1, 'range_day' => 7, 'disabled' => [], ]; // 钩子 $hook_name = 'plugins_service_buy_datetime_data'; MyEventTrigger($hook_name, [ 'hook_name' => $hook_name, 'is_backend' => true, 'params' => $params, 'data' => &$data, ]); return $data; } /** * 购买填写客户信息数据 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2020-09-10 * @desc description * @param [array] $params [输入参数] */ public static function BuyExtractionContactData($params = []) { // 默认配置 $config = MyC('common_buy_extraction_contact_info', [], true); $data = [ 'is_write' => in_array(0, $config) ? 1 : 0, 'required' => in_array(1, $config) ? 1 : 0, 'name' => (empty($params['user']) || empty($params['user']['nickname'])) ? '' : $params['user']['nickname'], 'tel' => (empty($params['user']) || empty($params['user']['mobile'])) ? '' : $params['user']['mobile'], 'error_msg' => MyLang('form_name_tel_message'), ]; // 钩子 $hook_name = 'plugins_service_buy_extraction_contact_data'; MyEventTrigger($hook_name, [ 'hook_name' => $hook_name, 'is_backend' => true, 'params' => $params, 'data' => &$data, ]); return $data; } /** * 购买站点类型切换数据 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2020-09-10 * @desc description * @param [int] $common_site_type [站点类型] * @param [int] $site_model [指定站点类型] * @param [array] $buy_goods [购买的商品] * @param [array] $params [输入参数] */ public static function BuySiteModelData($common_site_type, $site_model, $buy_goods = [], $params = []) { // 默认配置 $data = []; // 多选切换订单类型 // 0 快递 // 1 同城 // 2 自提 // 3 虚拟 // 4 展示 // ----- // 5 快递+自提 // 6 同城+自提 // 7 快递+同城 // 8 快递+同城+自提 if($common_site_type >= 5) { $common_site_type_list = MyConst('common_site_type_list'); foreach($common_site_type_list as $v) { switch($common_site_type) { // 快递+自提 case 5 : if(in_array($v['value'], [0,2])) { $data[] = $v; } break; // 同城+自提 case 6 : if(in_array($v['value'], [1,2])) { $data[] = $v; } break; // 快递+同城 case 7 : if(in_array($v['value'], [0,1])) { $data[] = $v; } break; // 快递+同城+自提 case 8 : if(in_array($v['value'], [0,1,2])) { $data[] = $v; } break; } } } // 钩子 $hook_name = 'plugins_service_buy_site_model_data'; MyEventTrigger($hook_name, [ 'hook_name' => $hook_name, 'is_backend' => true, 'params' => $params, 'buy_goods' => $buy_goods, 'common_site_type' => $common_site_type, 'site_model' => &$site_model, 'data' => &$data, ]); // 指定类型不在当前范围则使用第一个赋值 if(!empty($data)) { $site_model_arr = array_column($data, 'value'); if(!empty($site_model_arr) && ($site_model == -1 || !in_array($site_model, $site_model_arr))) { $site_model = $site_model_arr[0]; } } return [ 'data' => $data, 'site_model' => $site_model, ]; } /** * 货币信息 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2020-09-10 * @desc description * @param [array] $params [输入参数] */ public static function CurrencyData($params = []) { // 默认从配置文件读取货币信息 $data = [ 'currency_symbol' => MyConfig('shopxo.currency_symbol'), 'currency_code' => MyConfig('shopxo.currency_code'), 'currency_rate' => MyConfig('shopxo.currency_rate'), 'currency_name' => MyConfig('shopxo.currency_name'), ]; // 钩子 $hook_name = 'plugins_service_currency_data'; MyEventTrigger($hook_name, [ 'hook_name' => $hook_name, 'is_backend' => true, 'params' => $params, 'data' => &$data, ]); return $data; } /** * 商店信息数据 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2025-12-17 * @desc description * @param [array] $params [输入参数] */ public static function SiteInfoData($params = []) { // 数据容器 $data = [ 'base' => [ 'name' => MyLang('form_base_data_title'), 'data' => [ 'text' => [], 'images' => [], ], ], 'chat' => [ 'name' => MyLang('online_customer_title'), 'data' => [ 'text' => [], 'images' => [], ], ], 'client' => [ 'name' => MyLang('platform_client_title'), 'data' => [ 'text' => [], 'images' => [], ], ], ]; // 基础(地址、简介) $base_text_arr = [ [ 'name' => MyLang('address_title'), 'key' => 'address', 'icon' => 'icon-address-round' ], [ 'name' => MyLang('intro_title'), 'key' => 'describe', 'icon' => 'icon-describe' ], ]; foreach($base_text_arr as $v) { $value = MyC('common_customer_store_'.$v['key'], null, true); if(!empty($value)) { $data['base']['data']['text'][$v['key']] = [ 'name' => $v['name'], 'key' => $v['key'], 'icon' => $v['icon'], 'value' => $value, ]; } } // 基础(生活号、公众号) $base_qrcode_arr = [ [ 'name' => MyLang('life_account_title'), 'key' => 'public_alipay', 'icon' => 'icon-life' ], [ 'name' => MyLang('public_account_title'), 'key' => 'public_weixin', 'icon' => 'icon-wechart' ], ]; foreach($base_qrcode_arr as $v) { $value = ResourcesService::AttachmentPathViewHandle(MyC('common_customer_store_'.$v['key'])); if(!empty($value)) { $data['base']['data']['images'][$v['key']] = [ 'name' => $v['name'], 'key' => $v['key'], 'icon' => $v['icon'], 'value' => $value, ]; } } // 客服(电话、邮箱、QQ、url) $chat_text_arr = [ [ 'name' => MyLang('tel_title'), 'key' => 'tel', 'icon' => 'icon-tel-sound' ], [ 'name' => MyLang('email_title'), 'key' => 'email', 'icon' => 'icon-email-wide' ], [ 'name' => MyLang('qq_title'), 'key' => 'qq', 'icon' => 'icon-qq-o' ], [ 'name' => MyLang('online_title').MyLang('consult_title'), 'key' => 'url', 'icon' => 'icon-chat' ], ]; foreach($chat_text_arr as $v) { $value = MyC('common_customer_store_chat_'.$v['key'], null, true); if(!empty($value)) { $data['chat']['data']['text'][$v['key']] = [ 'name' => $v['name'], 'key' => $v['key'], 'icon' => $v['icon'], 'value' => $value, ]; } } // 客服(line、微信) $chat_qrcode_arr = [ [ 'name' => 'line咨询', 'key' => 'line', 'icon' => 'icon-line-line' ], [ 'name' => '微信咨询', 'key' => 'weixin', 'icon' => 'icon-wechart' ], ]; foreach($chat_qrcode_arr as $v) { $value = ResourcesService::AttachmentPathViewHandle(MyC('common_customer_store_chat_'.$v['key'])); if(!empty($value)) { $data['chat']['data']['images'][$v['key']] = [ 'name' => $v['name'], 'key' => $v['key'], 'icon' => $v['icon'], 'value' => $value, ]; } } // 平台客户端 $platform_client = ResourcesService::AttachmentPathViewHandle(MyC('common_customer_store_platform_client')); if(!empty($platform_client) && is_array($platform_client)) { $platform_type = MyConst('common_platform_type'); if(!empty($platform_type) && is_array($platform_type)) { foreach($platform_client as $k=>$v) { if(array_key_exists($k, $platform_type)) { $data['client']['data']['images'][$k] = [ 'name' => $platform_type[$k]['name'], 'key' => $k, 'icon' => '', 'value' => $v, ]; } } } } // 钩子 $hook_name = 'plugins_service_siteinfo_data'; MyEventTrigger($hook_name, [ 'hook_name' => $hook_name, 'is_backend' => true, 'params' => $params, 'data' => &$data, ]); // 没有数据则置为空 if(!empty($data) && is_array($data)) { foreach($data as $k=>$v) { if(!empty($v['data']) && is_array($v['data'])) { foreach($v['data'] as $ks=>$vs) { if(empty($vs)) { $data[$k]['data'][$ks] = ''; } } } } } return $data; } /** * 货币信息-符号 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2020-09-10 * @desc description * @param [array] $params [输入参数] */ public static function CurrencyDataSymbol($params = []) { $res = self::CurrencyData($params); return empty($res['currency_symbol']) ? MyConfig('shopxo.currency_symbol') : $res['currency_symbol']; } /** * 编辑器文件存放地址 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2021-01-27 * @desc description * @param [string] $value [位置路径名称([ - ]作为目录分隔符)] */ public static function EditorPathTypeValue($value) { // 当前操作名称, 兼容插件模块名称 $module_name = RequestModule(); $controller_name = RequestController(); $action_name = RequestAction(); // 钩子 $hook_name = 'plugins_service_editor_path_type_'.$module_name.'_'.$controller_name.'_'.$action_name; MyEventTrigger($hook_name, [ 'hook_name' => $hook_name, 'is_backend' => true, 'value' => &$value, ]); return $value; } /** * zip压缩包扩展可用格式 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2021-02-02 * @desc description * @param [array] $params [输入参数] */ public static function ZipExtTypeList($params = []) { return [ 'application/zip', 'application/octet-stream', 'application/x-zip-compressed', ]; } /** * 获取用户唯一id * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2021-04-15 * @desc 未登录取[uuid]前端传过来的uuid、已登录取[用户id]、都没有则返回空字符串 */ public static function UserUniqueId() { // 取参数uuid、默认空 $uuid = input('uuid', ''); // 取当当前session if(empty($uuid)) { $uuid = MySession('uuid'); } // 取当当前cookie if(empty($uuid)) { $uuid = MyCookie('uuid'); } // 用户信息 $user = UserService::LoginUserInfo(); if(!empty($user) && !empty($user['id'])) { $uuid = $user['id']; } return empty($uuid) ? '' : md5($uuid); } /** * 数据库表名称处理 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2025-11-27 * @desc description * @param [string] $table [表名称、可以是大写字母会自动转为小写前面加下划线分隔] */ public static function TableNameHandle($table) { $prefix = MyConfig('database.connections.mysql.prefix'); $table_name = strtolower(preg_replace('/\B([A-Z])/', '_$1', $table)); if(substr($table_name, 0, strlen($prefix)) != $prefix) { $table_name = $prefix.$table_name; } return $table_name; } /** * 获取表主数据 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2025-11-27 * @desc description * @param [string] $table [表名称、可以是大写字母会自动转为小写前面加下划线分隔] */ public static function TableMainData($table) { $table_name = self::TableNameHandle($table); $sql = "SELECT T.TABLE_COMMENT AS 'desc', T.TABLE_NAME AS 'table', (SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE K WHERE K.TABLE_SCHEMA = T.TABLE_SCHEMA AND K.TABLE_NAME = T.TABLE_NAME AND K.CONSTRAINT_NAME = 'PRIMARY' LIMIT 1) AS 'key' FROM INFORMATION_SCHEMA.TABLES T WHERE T.TABLE_SCHEMA = DATABASE() AND T.TABLE_NAME = '".$table_name."' AND `table_schema` = '".MyConfig('database.connections.mysql.database')."'"; // 从缓存获取 $key = SystemService::CacheKey('shopxo.cache_table_main_data_key').'_'.md5($sql); $data = MyCache($key); if($data === null || MyEnv('app_debug')) { $res = Db::query($sql); $data = []; if(!empty($res) && !empty($res[0])) { $data = $res[0]; $arr = explode(' - ', $data['desc']); $data['desc'] = $arr[0]; } // 存储缓存 MyCache($key, $data, 180); } return $data; } /** * 获取表结构 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2022-11-12 * @desc description * @param [string] $table [表名称、可以是大写字母会自动转为小写前面加下划线分隔] */ public static function TableStructureData($table) { $table_name = self::TableNameHandle($table); $sql = "SELECT COLUMN_NAME AS field,COLUMN_COMMENT AS name FROM INFORMATION_SCHEMA.Columns WHERE `table_name`='".$table_name."' AND `table_schema` = '".MyConfig('database.connections.mysql.database')."'"; // 从缓存获取 $key = SystemService::CacheKey('shopxo.cache_table_structure_key').'_'.md5($sql); $data = MyCache($key); if($data === null || MyEnv('app_debug')) { // 查询表结构 $res = Db::query($sql); $data = empty($res) ? [] : array_column($res, 'name', 'field'); // 存储缓存 MyCache($key, $data, 180); } return $data; } /** * 商品导航菜单 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2025-12-24 * @desc description * @param [array] $params [输入参数] */ public static function GoodsAdminNavList($params = []) { // 商品管理导航数据 $data = MyConst('common_goods_admin_nav_list'); // 插件配置区域 $data['extends']['tips'] = MyLang('plugins_view_region_config_tips'); // 商品管理导航自定义数据 $custom = MyC('common_goods_admin_nav_custom_data'); if(!empty($custom) && is_array($custom)) { foreach($custom as $k=>$v) { if(!empty($v) && is_array($v) && array_key_exists($k, $data)) { if(!empty($v['name'])) { $data[$k]['name'] = $v['name']; } if(!empty($v['tips'])) { $data[$k]['tips'] = explode("\n", str_replace(["\r", "\t"], '', $v['tips'])); } } } } return $data; } /** * 订单详情商品使用指南配置 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2026-01-12 * @desc description * @param [array] $params [输入参数] */ public static function OrderDetailGoodsUseGuideConfig($params = []) { return [ 'title' => MyC('common_order_detail_goods_use_guide_title', MyLang('use_guide_title'), true), 'desc' => MyC('common_order_detail_goods_use_guide_describe'), 'tap' => MyLang('view_tap_title').' >>', 'data' => [], ]; } /** * 页面静态资源地址信息 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2024-01-29 * @desc description * @param [string] $theme [当前主题标识] * @param [string] $group [当前模块] * @param [string] $controller [控制器] * @param [string] $action [方法] */ public static function StaticCssOrJsPathData($theme, $group, $controller, $action) { // 公共css,js $common_css = $group.DS.$theme.DS.'css'.DS.'common.css'; if(!file_exists(ROOT_PATH.'static'.DS.$common_css)) { $default_common_css = $group.DS.'default'.DS.'css'.DS.'common.css'; if(file_exists(ROOT_PATH.'static'.DS.$default_common_css)) { $common_css = $default_common_css; } else { $common_css = ''; } } $common_js = $group.DS.$theme.DS.'js'.DS.'common.js'; if(!file_exists(ROOT_PATH.'static'.DS.$common_js)) { $default_common_js = $group.DS.'default'.DS.'js'.DS.'common.js'; if(file_exists(ROOT_PATH.'static'.DS.$default_common_js)) { $common_js = $default_common_js; } else { $common_js = ''; } } // 主题指定引入css,js $theme_import_css = []; $theme_import_js = []; $config = APP_PATH.$group.DS.'view'.DS.$theme.DS.'config.json'; if(file_exists($config)) { $theme_config = json_decode(file_get_contents($config), true); if(!empty($theme_config['import_css'])) { if(is_array($theme_config['import_css'])) { foreach($theme_config['import_css'] as $v) { if(!empty($v) && !is_array($v)) { // 前面是否增加了斜杠、则去除 if(substr($v, 0, 1) == DS) { $v = substr($v, 1); } if(file_exists(ROOT_PATH.'static'.DS.$v)) { $theme_import_css[] = $v; } } } } else { // 前面是否增加了斜杠、则去除 if(substr($theme_config['import_css'], 0, 1) == DS) { $theme_config['import_css'] = substr($theme_config['import_css'], 1); } if(file_exists(ROOT_PATH.'static'.DS.$theme_config['import_css'])) { $theme_import_css[] = $theme_config['import_css']; } } } if(!empty($theme_config['import_js'])) { if(is_array($theme_config['import_js'])) { foreach($theme_config['import_js'] as $v) { if(!empty($v) && !is_array($v)) { // 前面是否增加了斜杠、则去除 if(substr($v, 0, 1) == DS) { $v = substr($v, 1); } if(file_exists(ROOT_PATH.'static'.DS.$v)) { $theme_import_js[] = $v; } } } } else { // 前面是否增加了斜杠、则去除 if(substr($theme_config['import_js'], 0, 1) == DS) { $theme_config['import_js'] = substr($theme_config['import_js'], 1); } if(file_exists(ROOT_PATH.'static'.DS.$theme_config['import_js'])) { $theme_import_js[] = $theme_config['import_js']; } } } } // 主题专属css,js $other_css = $group.DS.$theme.DS.'css'.DS.'other.css'; if(!file_exists(ROOT_PATH.'static'.DS.$other_css)) { $default_other_css = $group.DS.'default'.DS.'css'.DS.'other.css'; if(file_exists(ROOT_PATH.'static'.DS.$default_other_css)) { $other_css = $default_other_css; } else { $other_css = ''; } } $other_js = $group.DS.$theme.DS.'js'.DS.'other.js'; if(!file_exists(ROOT_PATH.'static'.DS.$other_js)) { $default_other_js = $group.DS.'default'.DS.'js'.DS.'other.js'; if(file_exists(ROOT_PATH.'static'.DS.$default_other_js)) { $other_js = $default_other_js; } else { $other_js = ''; } } // 公共模块css,js $module_css = $group.DS.$theme.DS.'css'.DS.'module.css'; if(!file_exists(ROOT_PATH.'static'.DS.$module_css)) { $default_module_css = $group.DS.'default'.DS.'css'.DS.'module.css'; if(file_exists(ROOT_PATH.'static'.DS.$default_module_css)) { $module_css = $default_module_css; } else { $module_css = ''; } } $module_js = $group.DS.$theme.DS.'js'.DS.'module.js'; if(!file_exists(ROOT_PATH.'static'.DS.$module_js)) { $default_module_js = $group.DS.'default'.DS.'js'.DS.'module.js'; if(file_exists(ROOT_PATH.'static'.DS.$default_module_js)) { $module_js = $default_module_js; } else { $module_js = ''; } } // 控制器静态文件状态css,js // 页面css $page_css = ''; $css = $group.DS.$theme.DS.'css'.DS.$controller; // 对应方法不存在 或 非默认主题则走默认主题的文件 if(file_exists(ROOT_PATH.'static'.DS.$css.'.'.$action.'.css') && $theme != 'default') { $page_css = $css.'.'.$action.'.css'; } else { $default_css = $group.DS.'default'.DS.'css'.DS.$controller; if(file_exists(ROOT_PATH.'static'.DS.$default_css.'.'.$action.'.css')) { $page_css = $default_css.'.'.$action.'.css'; } } if(empty($page_css)) { $page_css = $css.'.css'; if(!file_exists(ROOT_PATH.'static'.DS.$page_css)) { // 不存在则赋空 $page_css = ''; // 非默认主题则走默认主题的文件 if($theme != 'default') { $default_css = $group.DS.'default'.DS.'css'.DS.$controller.'.css'; if(file_exists(ROOT_PATH.'static'.DS.$default_css)) { $page_css = $default_css; } } } } // 页面js $page_js = ''; $js = $group.DS.$theme.DS.'js'.DS.$controller; // 对应方法不存在 或 非默认主题则走默认主题的文件 if(file_exists(ROOT_PATH.'static'.DS.$js.'.'.$action.'.js') && $theme != 'default') { $page_js = $js.'.'.$action.'.js'; } else { $default_js = $group.DS.'default'.DS.'js'.DS.$controller; if(file_exists(ROOT_PATH.'static'.DS.$default_js.'.'.$action.'.js')) { $page_js = $default_js.'.'.$action.'.js'; } } if(empty($page_js)) { $page_js = $js.'.js'; if(!file_exists(ROOT_PATH.'static'.DS.$page_js)) { // 不存在则赋空 $page_js = ''; // 非默认主题则走默认主题的文件 if($theme != 'default') { $default_js = $group.DS.'default'.DS.'js'.DS.$controller.'.js'; if(file_exists(ROOT_PATH.'static'.DS.$default_js)) { $page_js = $default_js; } } } } // 是否插件 $plugins_css = ''; $plugins_js = ''; $control = RequestController(); $plugins_name = PluginsRequestName(); if($control == 'plugins' && !empty($plugins_name)) { $plugins_control = PluginsRequestController(); $plugins_action = PluginsRequestAction(); // 新版本插件目录 // 页面css $pcss = $control.DS.$plugins_name.DS.'css'.DS.$group.DS.$plugins_control; $pcss .= file_exists(ROOT_PATH.'static'.DS.$pcss.'.'.$plugins_action.'.css') ? '.'.$plugins_action.'.css' : '.css'; $page_css = file_exists(ROOT_PATH.'static'.DS.$pcss) ? $pcss : ''; if(empty($page_css)) { // 页面css - 老版本 $pcss = $control.DS.'css'.DS.$plugins_name.DS.$group.DS.$plugins_control; $pcss .= file_exists(ROOT_PATH.'static'.DS.$pcss.'.'.$plugins_action.'.css') ? '.'.$plugins_action.'.css' : '.css'; $page_css = file_exists(ROOT_PATH.'static'.DS.$pcss) ? $pcss : ''; } // 页面js $pjs = $control.DS.$plugins_name.DS.'js'.DS.$group.DS.$plugins_control; $pjs .= file_exists(ROOT_PATH.'static'.DS.$pjs.'.'.$plugins_action.'.js') ? '.'.$plugins_action.'.js' : '.js'; $page_js = file_exists(ROOT_PATH.'static'.DS.$pjs) ? $pjs : ''; if(empty($page_js)) { // 页面js - 老版本 $pjs = $control.DS.'js'.DS.$plugins_name.DS.$group.DS.$plugins_control; $pjs .= file_exists(ROOT_PATH.'static'.DS.$pjs.'.'.$plugins_action.'.js') ? '.'.$plugins_action.'.js' : '.js'; $page_js = file_exists(ROOT_PATH.'static'.DS.$pjs) ? $pjs : ''; } // 应用公共css $plugins_css = $control.DS.$plugins_name.DS.'css'.DS.$group.DS.'common.css'; $plugins_css = file_exists(ROOT_PATH.'static'.DS.$plugins_css) ? $plugins_css : ''; if(empty($plugins_css)) { // 应用公共css - 老版本 $plugins_css = $control.DS.'css'.DS.$plugins_name.DS.$group.DS.'common.css'; $plugins_css = file_exists(ROOT_PATH.'static'.DS.$plugins_css) ? $plugins_css : ''; } // 应用公共js $plugins_js = $control.DS.$plugins_name.DS.'js'.DS.$group.DS.'common.js'; $plugins_js = file_exists(ROOT_PATH.'static'.DS.$plugins_js) ? $plugins_js : ''; if(empty($plugins_js)) { // 应用公共js - 老版本 $plugins_js = $control.DS.'js'.DS.$plugins_name.DS.$group.DS.'common.js'; $plugins_js = file_exists(ROOT_PATH.'static'.DS.$plugins_js) ? $plugins_js : ''; } } return [ // 公共 'common_css' => $common_css, 'common_js' => $common_js, // 主题指定 'theme_import_css' => $theme_import_css, 'theme_import_js' => $theme_import_js, // 主题专属 'other_css' => $other_css, 'other_js' => $other_js, // 公共模块 'module_css' => $module_css, 'module_js' => $module_js, // 当前页面 'page_css' => $page_css, 'page_js' => $page_js, // 插件 'plugins_css' => $plugins_css, 'plugins_js' => $plugins_js, ]; } } ?>