platform_id; if (false == $platform_id) { $this->code = -1; $this->msg = '参数错误'; goto doEnd; } $type = Yii::$app->request->get('type', 1); $recommend_category = WalletRecommendCategory::find()->select('id, name') ->where(['wallet_type' => (int)$type, 'platform_id' => (int)$platform_id]) ->orderBy('sort')->limit(1)->asArray()->all(); if (empty($recommend_category)) { goto doEnd; } foreach ($recommend_category as &$category) { $name = json_decode($category['name'], true); $category['name'] = isset($name[$this->lang]) ? $name[$this->lang] : ''; $recommend_coin = WalletRecommendCoin::find()->where(['category_id' => $category['id']])->orderBy('sort')->all(); $items = []; if (!empty($recommend_coin)) { foreach ($recommend_coin as $coin) { $temp['id'] = $coin->coin['id']; $temp['icon'] = $coin->coin['icon']; $temp['name'] = $coin->coin['name']; $temp['platform'] = $coin->coin['platform']; $temp['chain'] = $coin->coin['chain']; $temp['treaty'] = $coin->coin['treaty']; $nickname = json_decode($coin->coin['nickname'], true); $temp['nickname'] = isset($nickname[$this->lang]) ? $nickname[$this->lang] : ''; $introduce = json_decode($coin->coin['introduce'], true); $temp['introduce'] = isset($introduce[$this->lang]) ? $introduce[$this->lang] : ''; array_push($items, $temp); } } $category['items'] = $items; } $this->data = $recommend_category[0]['items']; doEnd : return ['code' => $this->code, 'data' => $this->data, 'msg' => $this->msg]; } public function actionIndex() { $platform_id = $this->platform_id; if (false == $platform_id) { $this->code = -1; $this->msg = '参数错误'; goto doEnd; } $type = Yii::$app->request->get('type', 1); $recommend_category = WalletRecommendCategory::find()->select('id, name') ->where(['wallet_type' => (int)$type, 'platform_id' => (int)$platform_id]) ->andWhere(['>', 'sort', 1]) ->orderBy('sort')->asArray()->all(); if (!empty($recommend_category)) { foreach ($recommend_category as &$category) { $name = json_decode($category['name'], true); $category['name'] = isset($name[$this->lang]) ? $name[$this->lang] : ''; $recommend_coin = WalletRecommendCoin::find()->where(['category_id' => $category['id']])->all(); unset($category['id']); $items = []; foreach ($recommend_coin as $coin) { $temp['id'] = $coin->coin['id']; $temp['icon'] = $coin->coin['icon']; $temp['name'] = $coin->coin['name']; $temp['platform'] = $coin->coin['platform']; $temp['chain'] = $coin->coin['chain']; $temp['treaty'] = $coin->coin['treaty']; $nickname = json_decode($coin->coin['nickname'], true); $temp['nickname'] = isset($nickname[$this->lang]) ? $nickname[$this->lang] : ''; $introduce = json_decode($coin->coin['introduce'], true); $temp['introduce'] = isset($introduce[$this->lang]) ? $introduce[$this->lang] : ''; array_push($items, $temp); } $category['items'] = $items; } } $this->data = $recommend_category; $supported_chain_model = CoinSupportedChain::find()->where(['platform_id' => $platform_id])->all(); $data = []; if (false != $supported_chain_model) { foreach ($supported_chain_model as $key => &$val) { $data[$key]['id'] = isset($val->coin->id) ? $val->coin->id : ''; $data[$key]['icon'] = isset($val->coin->icon) ? $val->coin->icon : ''; $data[$key]['name'] = isset($val->coin->name) ? $val->coin->name : ''; $data[$key]['platform'] = isset($val->coin->platform) ? $val->coin->platform : ''; $data[$key]['chain'] = isset($val->coin->chain) ? $val->coin->chain : ''; $data[$key]['treaty'] = isset($val->coin->treaty) ? $val->coin->treaty : ''; $data[$key]['nickname'] = isset($val->coin->nickname[$this->lang]) ? $val->coin->nickname[$this->lang] : ''; $data[$key]['introduce'] = isset($val->coin->introduce[$this->lang]) ? $val->coin->introduce[$this->lang] : ''; } $supported_chain = [ 'name' => '主链', 'items' => $data ]; array_unshift($this->data, $supported_chain); } doEnd : return ['code' => $this->code, 'data' => $this->data, 'msg' => $this->msg]; } }