post('app_sources', 'ios'); $cacheKey = "caches:config:app_{$appSources}"; $config = RedisService::get($cacheKey); if (empty($config)) { $config = [ 'app_name' => ConfigService::make()->getConfigByCode('app_name'), 'app_logo' => get_image_url(ConfigService::make()->getConfigByCode('app_logo')), 'app_version' => ConfigService::make()->getConfigByCode('app_version'), 'wxpay_open' => ConfigService::make()->getConfigByCode('wxpay_open', 1), 'vip_buy_desc' => format_content(ConfigService::make()->getConfigByCode('vip_buy_desc', '')), 'zsb_vip_buy_desc' => format_content(ConfigService::make()->getConfigByCode('zsb_vip_buy_desc', '')), 'show_zsb_entry' => ConfigService::make()->getConfigByCode('show_zsb_entry', 0), 'show_index_video' => ConfigService::make()->getConfigByCode('show_index_video', 0), 'show_read_video' => ConfigService::make()->getConfigByCode('show_read_video', 0), 'qq_map_key' => ConfigService::make()->getConfigByCode('qq_map_key', ''), 'show_popup_time' => ConfigService::make()->getConfigByCode('show_popup_time', 0), 'video_form_auto_close' => ConfigService::make()->getConfigByCode('video_form_auto_close', 0), 'video_read_switch_time' => ConfigService::make()->getConfigByCode('video_read_switch_time', 3), 'share_desc' => ConfigService::make()->getConfigByCode('share_desc', ''), 'share_content' => ConfigService::make()->getConfigByCode('share_content', ''), 'custom_name' => ConfigService::make()->getConfigByCode('custom_name', ''), 'custom_desc' => format_content(ConfigService::make()->getConfigByCode('custom_desc', '')), 'show_custom_header' => format_content(ConfigService::make()->getConfigByCode('show_custom_header', 0)), 'video_vip_tips' => format_content(ConfigService::make()->getConfigByCode('video_vip_tips', '')), 'errors' => config('platform.errors'), ]; RedisService::set($cacheKey, $config, 3600); } return showJson(1010, true, $config); } catch (\Exception $exception) { RedisService::set("caches:request:error_config", ['trace' => $exception->getTrace()], 7200); return showJson(1018, false, ['error' => env('APP_DEBUG') ? $exception->getMessage() : '']); } } /** * 首页数据 * @return array */ public function data() { $data = [ // 菜单 'menuList' => config('platform.menuList'), // 公告 'notices' => NoticeService::make()->getRecommandList(), // 资讯 'articles' => ArticleService::make()->getIndexList(1), // 轮播 'banners' => AdService::make()->getListByPosition(1), // 政策解读 'readList'=> VideosReadsService::make()->getIndexList(), // 线上课程 'courses' => [ CourseService::make()->getListByType(1), CourseService::make()->getListByType(2), CourseService::make()->getListByType(3), ], ]; return showJson(1010, true, $data); } /** * 院校列表 * @return array */ public function institutions() { $params = request()->all(); $pageSize = isset($params['pageSize']) && $params['pageSize']? intval($params['pageSize']) : 20; $data = InstitutionService::make()->getDataList($params, $pageSize); return showJson(1010, true, $data); } /** * 验证更新 * @return array */ public function versionCheck() { $version = request()->post('version', ''); $appSources = request()->post('app_sources', 'ios'); $currentVersion = ConfigService::make()->getConfigByCode('app_version'); if (getVersion($version) < getVersion($currentVersion)) { $data = [ 'has_update' => true, 'app_version' => $currentVersion, 'app_name' => ConfigService::make()->getConfigByCode('app_name'), 'app_url' => ConfigService::make()->getConfigByCode("app_{$appSources}_url"), 'is_force' => ConfigService::make()->getConfigByCode("app_force_update"), 'auto_update' => false, // 是否APP内自动更新 ]; return showJson(1010, true, $data); } else { return showJson(1010, false, ['has_update' => false, 'version' => $version]); } } }