post('app_sources', 'ios'); $cacheKey = "caches:config:app_{$appSources}"; $config = RedisService::get($cacheKey); if (empty($config)) { $socialOpen = ConfigService::make()->getConfigByCode('social_open', 0); $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'), 'app_android_url' => ConfigService::make()->getConfigByCode('app_android_url'), 'alipay_open' => ConfigService::make()->getConfigByCode('alipay_open', 0), 'agent_apply_desc' => format_content(ConfigService::make()->getConfigByCode('agent_apply_desc', '')), 'withdraw_desc' => format_content(ConfigService::make()->getConfigByCode('withdraw_desc', '')), 'recharge_desc' => format_content(ConfigService::make()->getConfigByCode('recharge_desc', '')), 'wxpay_open' => ConfigService::make()->getConfigByCode('wxpay_open', 0), 'pay_recharge_open' => ConfigService::make()->getConfigByCode('pay_recharge_open', 0), 'social_open' => $socialOpen, 'withdraw_open' => ConfigService::make()->getConfigByCode('withdraw_open', 0), 'withdraw_min' => ConfigService::make()->getConfigByCode('withdraw_min', 0), 'withdraw_fee' => ConfigService::make()->getConfigByCode('withdraw_fee', 0), 'notices' => NoticeService::make()->getRecommandList(), 'menuList' => $this->getMenus($socialOpen) ]; RedisService::set($cacheKey, $config, 3600); } return showJson(1010, true, $config); } catch (\Exception $exception) { $error = ['data' => $exception->getTrace(), 'err' => $exception->getMessage()]; return showJson(1046, false, $error); } } /** * 菜单 * @param int $socialOpen * @return array[] */ public function getMenus($socialOpen=-1) { $socialOpen = $socialOpen>=0?$socialOpen:ConfigService::make()->getConfigByCode('social_open', 0); return [ [ "name" => '首页', "code" => 'home', "icon" => 'home', "status"=> 1, "page" => '/pages/index/index' ], [ "name" => '客服', "code" => 'custom', "icon" => 'custom', "status"=> 1, ], [ "name" => '', "code" => 'social', "icon" => 'social', "status"=> $socialOpen?1:0, "page" => '/pages/social/index' ], [ "name" => '购物车', "code" => 'cart', "icon" => 'cart', "badge" => OrderService::make()->getCountByStatus($this->userId,1), "status"=> 1, "page" => '/pages/cart/index' ], [ "name" => '我的', "code" => 'mine', "icon" => 'mine', "status"=> 1, "page" => '/pages/mine/index' ] ]; } /** * 首页数据 * @return array */ public function data() { try { $params = request()->all(); $type = isset($params['type']) && $params['type'] ? $params['type'] : 1; $position = isset($params['position']) && $params['position'] ? $params['position'] : 1; $data = [ // 轮播 'banners' => AdService::make()->getListByPosition($position), ]; if ($type == 2) { $data['socials'] = SocialCircleService::make()->getIndexList(); } else { $data['notices'] = NoticeService::make()->getRecommandList(); $data['menuList'] = $this->getMenus(); } return showJson(1010, true, $data); } catch (\Exception $exception) { $error = ['data' => $exception->getTrace(), 'err' => $exception->getMessage()]; return showJson(1046, false, $error); } } /** * 主页店铺商品 * @return array */ public function storeGoods() { $params = request()->post(); try { $params['user_id'] = $this->userId; $datas = StoreService::make()->getGoodsList($params); return showJson(StoreService::make()->getError(), true, $datas); } catch (\Exception $exception) { $error = ['data' => $exception->getTrace(), 'err' => $exception->getMessage()]; return showJson(1046, false, $error); } } /** * 验证更新 * @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]); } } }