From eb41d8ecc7df3b52db2bc6ec52f11aa98ca2a43d Mon Sep 17 00:00:00 2001 From: caoyanyi Date: Thu, 28 Dec 2023 08:50:49 +0800 Subject: [PATCH] + Add comment and params type for store. --- module/store/model.php | 71 +++++++++++++++++++++++++----------------- 1 file changed, 42 insertions(+), 29 deletions(-) diff --git a/module/store/model.php b/module/store/model.php index 9bf0ed660d..35ae1202ec 100644 --- a/module/store/model.php +++ b/module/store/model.php @@ -1,4 +1,5 @@ config->cloud->api->host; $apiUrl .= '/api/market/applist?channel='. $this->config->cloud->api->channel; $apiUrl .= "&q=" . rawurlencode(trim($keyword)); - $apiUrl .= "&sort=" . rawurlencode(trim($sortBy)); + $apiUrl .= "&sort=" . rawurlencode(trim($orderBy)); $apiUrl .= "&page=$page"; $apiUrl .= "&page_size=$pageSize"; foreach($categories as $category) $apiUrl .= "&category=$category"; // The names of category are same that reason is CNE api is required. @@ -51,16 +54,17 @@ class storeModel extends model $result = commonModel::apiGet($apiUrl, array(), $this->config->cloud->api->headers); if($result->code == 200) return $result->data; - $pagedApps = new stdclass; + $pagedApps = new stdclass(); $pagedApps->apps = array(); $pagedApps->total = 0; return $pagedApps; } /** + * 通过接口获取应用详情。 * Get app info from cloud market. * - * @param int $id + * @param int $appID * @param boolean $analysis true: log this request for analysis. * @param string $name * @param string $version @@ -68,13 +72,13 @@ class storeModel extends model * @access public * @return object|null */ - public function getAppInfo($id, $analysis = false, $name = '', $version ='', $channel = '') + public function getAppInfo(int $appID, bool $analysis = false, string $name = '', string $version ='', string $channel = ''): object|null { - if(empty($id)) return null; + if(empty($appID)) return null; $apiParams = array(); $apiParams['analysis'] = $analysis ? 'true' : 'false' ; - if($id) $apiParams['id'] = $id; + if($appID) $apiParams['id'] = $appID; if($name) $apiParams['name'] = $name; if($version) $apiParams['version'] = $version; if($channel) $apiParams['channel'] = $channel; @@ -88,14 +92,14 @@ class storeModel extends model } /** - * Get app infos map by name array from cloud market. * 根据名称查询多个应用信息。 + * Get app infos map by name array from cloud market. * * @param array $nameList * @access public * @return object|null */ - public function getAppMapByNames($nameList = array(), $channel = 'stable') + public function getAppMapByNames(array $nameList = array(), string $channel = 'stable'): object|null { $apiParams = array('name_list' => $nameList, 'channel' => $channel); @@ -110,14 +114,14 @@ class storeModel extends model /** * Get app version pairs by id. * - * @param int $id + * @param int $appID * @access public * @return array */ - public function getVersionPairs(int $id): array + public function getVersionPairs(int $appID): array { $pairs = array(); - $versions = $this->appVersionList($id); + $versions = $this->appVersionList($appID); foreach($versions as $version) $pairs[$version->version] = $version->app_version . '-' . $version->version; @@ -125,23 +129,24 @@ class storeModel extends model } /** + * 获取应用的可安装版本。 * Get app version list to install. * - * @param int $id + * @param int $appID * @param string $name * @param string $channel * @param int $page * @param int $pageSize * @access public - * @return mixed + * @return array */ - public function appVersionList($id, $name = '', $channel = '', $page = 1, $pageSize = 3) + public function appVersionList(int $appID, string $name = '', string $channel = '', int $page = 1, int $pageSize = 3): array { $apiParams = array(); $apiParams['page'] = $page; $apiParams['page_size'] = $pageSize; - if($id) $apiParams['id'] = $id; + if($appID) $apiParams['id'] = $appID; if($name) $apiParams['name'] = $name; if($channel) $apiParams['channel'] = $channel; @@ -154,6 +159,7 @@ class storeModel extends model } /** + * 获取应用可以升级到的版本。 * Get upgradable versions of app from cloud market. * * @param string $currentVersion @@ -161,9 +167,9 @@ class storeModel extends model * @param string $appName appName is required if no appID. * @param string $channel * @access public - * @return mixed + * @return array */ - public function getUpgradableVersions($currentVersion, $appID = 0, $appName = '', $channel = '') + public function getUpgradableVersions(string $currentVersion, int $appID = 0, string $appName = '', string $channel = ''): array { $channel = $channel ? $channel : $this->config->cloud->api->channel; $apiUrl = $this->config->cloud->api->host; @@ -179,13 +185,14 @@ class storeModel extends model $conditions['name'] = $appName; } - $result = commonModel::apiGet($apiUrl, $conditions, $this->config->cloud->api->headers); + $result = commonModel::apiGet($apiUrl, $conditions, $this->config->cloud->api->headers); if(!isset($result->code) || $result->code != 200) return array(); return $result->data; } /** + * 获取应用的最新版本。 * Get the latest versions of app from cloud market. * * @param int $appID @@ -193,7 +200,7 @@ class storeModel extends model * @access public * @return object|null */ - public function appLatestVersion($appID, $currentVersion) + public function appLatestVersion(int $appID, string $currentVersion): object|null { $versionList = $this->getUpgradableVersions($currentVersion, $appID); @@ -206,17 +213,18 @@ class storeModel extends model } /** + * 从版本列表中选择最高版本并进行比较。 * Pick highest version from version list and compared version. * * @param array $versionList * @access private * @return object|null */ - private function pickHighestVersion($versionList) + private function pickHighestVersion(array $versionList): object|null { if(empty($versionList)) return null; - $highestVersion = new stdclass; + $highestVersion = new stdclass(); $highestVersion->version = '0.0.0'; foreach($versionList as $version) { @@ -227,17 +235,18 @@ class storeModel extends model } /** + * 获取应用市场应用的配置。 * Get app setting from cloud market. * - * @param int $id + * @param int $appID * @access public * @return array */ - public function getAppSettings($id) + public function getAppSettings(int $appID): array { $apiUrl = $this->config->cloud->api->host; $apiUrl .= '/api/market/appsettings'; - $result = commonModel::apiGet($apiUrl, array('id' => $id), $this->config->cloud->api->headers); + $result = commonModel::apiGet($apiUrl, array('id' => $appID), $this->config->cloud->api->headers); if($result->code != 200) return array(); /* Convert "." to "_" */ @@ -251,12 +260,13 @@ class storeModel extends model } /** + * 从云市场获取类别列表。 * Get category list from cloud market. * * @access public * @return object */ - public function getCategories() + public function getCategories(): object { $apiUrl = $this->config->cloud->api->host; $apiUrl .= '/api/market/categories'; @@ -270,6 +280,7 @@ class storeModel extends model } /** + * 从渠成获取应用动态消息。 * Get app dynamic news from Qucheng offical site. * * @param object $cloudApp @@ -278,7 +289,7 @@ class storeModel extends model * @access public * @return object|null */ - public function appDynamic($cloudApp, $pageID = 1, $recPerPage = 20) + public function appDynamic(object $cloudApp, int $pageID = 1, int $recPerPage = 20): object|null { $alias = strtolower(str_replace('-', '', $cloudApp->chart)); $url = $this->config->store->quchengSiteHost . "/article-apibrowse-{$alias}-{$pageID}-{$recPerPage}.html"; @@ -290,6 +301,7 @@ class storeModel extends model } /** + * 根据参数获取解决方案信息。 * Get solution info. * * @param string $type @@ -297,7 +309,7 @@ class storeModel extends model * @access public * @return object */ - public function getSolution($type, $value) + public function getSolution(string $type, string $value): object { $apiParams = array(); $apiParams[$type] = $value; @@ -314,6 +326,7 @@ class storeModel extends model } /** + * 获取解决方案的配置信息。 * Get solution config. * * @param string $type @@ -321,7 +334,7 @@ class storeModel extends model * @access public * @return object */ - public function solutionConfig($type, $value) + public function solutionConfig(string $type, string $value): object { $apiParams = array(); $apiParams[$type] = $value;