|
...
|
...
|
@@ -7,8 +7,11 @@ |
|
|
|
*/
|
|
|
|
namespace App\Http\Controllers\Api;
|
|
|
|
|
|
|
|
use App\Models\Domain\DomainInfo;
|
|
|
|
use App\Models\Project\OnlineCheck;
|
|
|
|
use App\Models\Project\Project;
|
|
|
|
use App\Models\RouteMap\RouteMap;
|
|
|
|
use App\Services\ProjectServer;
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
|
|
|
|
/**
|
|
...
|
...
|
@@ -35,4 +38,41 @@ class PrivateController extends BaseController |
|
|
|
->toArray();
|
|
|
|
return $this->success($result);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取项目链接
|
|
|
|
* FIXME 当前直接获取的产品和产品分类, 后期需要封装到内部, 需要添加完整的链接规则
|
|
|
|
* @param Request $request
|
|
|
|
* @return false|string
|
|
|
|
*/
|
|
|
|
public function getProjectRoute(Request $request)
|
|
|
|
{
|
|
|
|
$project_id = intval($request->input('project_id'));
|
|
|
|
// $type = $request->input('type');
|
|
|
|
$type = [RouteMap::SOURCE_PRODUCT, RouteMap::SOURCE_PRODUCT_CATE];
|
|
|
|
|
|
|
|
$project = Project::where(['id' => $project_id])->first();
|
|
|
|
if (empty($project))
|
|
|
|
return $this->error('未发现需要查找的项目!');
|
|
|
|
|
|
|
|
$project = ProjectServer::useProject($project_id);
|
|
|
|
|
|
|
|
$domain = DomainInfo::where(['project_id' => $project_id])->first();
|
|
|
|
$host = FALSE == empty($domain) ? 'https://' . $domain->domain . '/' : $project->deploy_build->test_domain;
|
|
|
|
|
|
|
|
$list = RouteMap::where(['project_id' => $project_id])
|
|
|
|
->when($type, function ($query) use ($type) {
|
|
|
|
return $query->whereIn('source', $type);
|
|
|
|
})
|
|
|
|
->get();
|
|
|
|
|
|
|
|
$result = [];
|
|
|
|
foreach ($list as $val) {
|
|
|
|
// 排除首页
|
|
|
|
if ($val->source == RouteMap::SOURCE_PAGE && in_array($val->route, ['index', '']))
|
|
|
|
continue;
|
|
|
|
$result[$val->source][] = $host . $val->route;
|
|
|
|
}
|
|
|
|
return $this->success($result);
|
|
|
|
}
|
|
|
|
} |
|
|
\ No newline at end of file |
...
|
...
|
|