本地开发跨域配置,版本信息页面接口对接Mock数据

This commit is contained in:
付民康
2025-03-17 11:16:05 +08:00
parent ebcd74a34f
commit 8c68ceb413
4 changed files with 108 additions and 50 deletions

View File

@@ -5,10 +5,10 @@ VITE_ENV = 'development'
VITE_HOST = 'https://test.gitcode.net'
# 接口地址
VITE_API_HOST = 'https://test.gitcode.net'
VITE_API_HOST = '/official'
# devPress接口地址
VITE_DEV_API_HOST = 'https://test.gitcode.net'
VITE_DEV_API_HOST = '/official'
# devPress地址
VITE_DEV_HOST = 'https://test.gitcode.net'

10
src/api/jyh/index.ts Normal file
View File

@@ -0,0 +1,10 @@
import request from '@/utils/request';
// 详情-获取版本信息
export function releaseInfo(params: { repoId: string,releaseId: string }): Promise<any> {
const { repoId,releaseId } = params;
return request({
url: `/api/v1/repo/release/info?repo_id=${repoId}&releaseId=${releaseId}`,
method: 'get'
});
}

View File

@@ -5,29 +5,29 @@
<d-row class="mb-3">
<d-col :span="8">
<span class="card-key width-90">软件名称</span>
<span class="card-val">vue</span>
<span class="card-val">{{ ReleaseInfo.basicInfo.softwareName || '--' }}</span>
</d-col>
<d-col :span="8">
<span class="card-key width-90">软件版本</span>
<span class="card-val">3.5.13</span>
<span class="card-val">{{ ReleaseInfo.basicInfo.softwareVersion || '--' }}</span>
</d-col>
<d-col :span="8">
<span class="card-key width-90">主语言类型</span>
<span class="card-val">JavaScript</span>
<span class="card-val">{{ ReleaseInfo.basicInfo.mainLanguageType || '--' }}</span>
</d-col>
</d-row>
<d-row>
<d-col :span="8">
<span class="card-key width-90">开发商</span>
<span class="card-val">vue</span>
<span class="card-val">{{ ReleaseInfo.basicInfo.developer || '--' }}</span>
</d-col>
<d-col :span="8">
<span class="card-key width-90">发布时间</span>
<span class="card-val">2023/08/05</span>
<span class="card-val">{{ ReleaseInfo.basicInfo.releaseDate || '--' }}</span>
</d-col>
<d-col :span="8">
<span class="card-key width-90">版本描述</span>
<span class="card-val">0583594425</span>
<span class="card-val">{{ ReleaseInfo.basicInfo.versionDescription || '--' }}</span>
</d-col>
</d-row>
</Card>
@@ -37,25 +37,27 @@
<d-row class="mb-3">
<d-col :span="8">
<span class="card-key width-110">集成风险</span>
<span class="card-val"></span>
<span class="card-val">{{ ReleaseInfo.referenceInfo.integrationRisk || '--' }}</span>
</d-col>
<d-col :span="8">
<span class="card-key width-110">代码量(KL)</span>
<span class="card-val">10.259</span>
<span class="card-val">{{ ReleaseInfo.referenceInfo.codeQuantity || '--' }}</span>
</d-col>
<d-col :span="8">
<span class="card-key width-110">漏洞数量</span>
<a style="cursor: pointer" @click="handleTabChange('ldxx')" class="card-url">9</a>
<a style="cursor: pointer" @click="handleTabChange('ldxx')" class="card-url">
{{ ReleaseInfo.referenceInfo.vulnerabilityCount || '--' }}
</a>
</d-col>
</d-row>
<d-row class="mb-3">
<d-col :span="8">
<span class="card-key width-110">社区EOL日期</span>
<span class="card-val">2023/08/05</span>
<span class="card-val">{{ ReleaseInfo.referenceInfo.communityEolDate || '--' }}</span>
</d-col>
<d-col :span="8">
<span class="card-key width-110">所属领域/产业</span>
<span class="card-val">CleanSource</span>
<span class="card-val">{{ ReleaseInfo.referenceInfo.industry || '--' }}</span>
</d-col>
<!-- <d-col :span="8">-->
<!-- <span class="card-key width-110">版本火车名称</span>-->
@@ -65,19 +67,19 @@
<d-row class="mb-3">
<d-col :span="24">
<span class="card-key width-140">源码下载包地址</span>
<a class="card-url" href="https://designcloud.uiplus.huawei.com/developer/main/index.html">https://designcloud.uiplus.huawei.com/developer/main/index.html</a>
<a class="card-url" :href="ReleaseInfo.referenceInfo.sourceCodeDownloadUrl || '--'">{{ ReleaseInfo.referenceInfo.sourceCodeDownloadUrl || '--' }}</a>
</d-col>
</d-row>
<d-row class="mb-3">
<d-col :span="24">
<span class="card-key width-140">源码社区托管地址</span>
<a class="card-url" href="https://designcloud.uiplus.huawei.com/developer/main/index.html">https://designcloud.uiplus.huawei.com/developer/main/index.html</a>
<a class="card-url" :href="ReleaseInfo.referenceInfo.sourceCodeCommunityUrl || '--'">{{ ReleaseInfo.referenceInfo.sourceCodeCommunityUrl || '--' }}</a>
</d-col>
</d-row>
<d-row>
<d-col :span="24">
<span class="card-key width-140">社区EOL披露地址</span>
<a class="card-url" href="https://designcloud.uiplus.huawei.com/developer/main/index.html">https://designcloud.uiplus.huawei.com/developer/main/index.html</a>
<a class="card-url" :href="ReleaseInfo.referenceInfo.communityEolDisclosureUrl || '--'">{{ ReleaseInfo.referenceInfo.communityEolDisclosureUrl || '--' }}</a>
</d-col>
</d-row>
</Card>
@@ -89,20 +91,20 @@
<d-table
class="jyh-table jyh-table-2"
:header-bg="true"
:data="licenseTableData"
:data="ReleaseInfo.openSourceLicenseList"
>
<d-column field="code" header="编号"></d-column>
<d-column field="id" header="编号"></d-column>
<d-column field="name" header="名称"></d-column>
<d-column field="detail" header="描述"></d-column>
<d-column field="detail" header="应用场景"></d-column>
<d-column field="description" header="描述"></d-column>
<d-column field="applicationScenario" header="应用场景"></d-column>
</d-table>
</div>
<d-row>
<d-col :span="24">
<span class="card-key width-140">主License分析报告</span>
<a class="card-url" href="https://designcloud.uiplus.huawei.com/developer/main/index.html">https://designcloud.uiplus.huawei.com/developer/main/index.html</a>
</d-col>
</d-row>
<!-- <d-row>-->
<!-- <d-col :span="24">-->
<!-- <span class="card-key width-140">主License分析报告</span>-->
<!-- <a class="card-url" href="https://designcloud.uiplus.huawei.com/developer/main/index.html">https://designcloud.uiplus.huawei.com/developer/main/index.html</a>-->
<!-- </d-col>-->
<!-- </d-row>-->
</Card>
<Card simple class="jyh-card mb-4">
<div class="card-title">Copyright报告</div>
@@ -110,10 +112,14 @@
<d-table
class="jyh-table jyh-table-2"
:header-bg="true"
:data="CopyrightTableData"
:data="ReleaseInfo.copyRightReportList"
>
<d-column field="code" header="Copyright报告"></d-column>
<d-column field="detail" header="录入时间"></d-column>
<d-column field="reportName" header="Copyright报告">
<template #default="scope">
<a :href="scope.row.reportUrl">{{scope.row.reportName}}</a>
</template>
</d-column>
<d-column field="entryTime" header="录入时间"></d-column>
</d-table>
</div>
<!-- <d-row>-->
@@ -130,19 +136,19 @@
<d-table
class="jyh-table jyh-table-2"
:header-bg="true"
:data="CopyrightTableData"
:data="ReleaseInfo.entityList"
>
<d-column field="code" header="类型"></d-column>
<d-column field="code" header="实体包下载地址">
<d-column field="type" header="类型"></d-column>
<d-column field="entityPackageDownloadUrl" header="实体包下载地址">
<template #default="scope">
<a>{{scope.row.code}}</a>
<a :href="scope.row.entityPackageDownloadUrl">{{scope.row.entityPackageDownloadUrl}}</a>
</template>
</d-column>
<d-column field="detail" header="文件名称"></d-column>
<d-column field="detail" header="录入时间"></d-column>
<d-column field="detail" header="完整性结果">
<d-column field="fileName" header="文件名称"></d-column>
<d-column field="entryTime" header="录入时间"></d-column>
<d-column field="integrityResult" header="完整性结果">
<template #default="scope">
<a @click="visible=true">{{scope.row.detail}}</a>
<a @click="visible=true">{{scope.row.integrityResult}}</a>
</template>
</d-column>
</d-table>
@@ -154,13 +160,13 @@
<d-row class="mb-3">
<d-col :span="24">
<span class="card-key width-160">软件评分</span>
<span class="card-val">--</span>
<span class="card-val">{{ ReleaseInfo.networkSecurity.softwareRating || '--' }}</span>
</d-col>
</d-row>
<d-row class="mb-3">
<d-col :span="24">
<span class="card-key width-160">社区安全问题求助渠道</span>
<a class="card-url" href="https://designcloud.uiplus.huawei.com/developer/main/index.html">https://designcloud.uiplus.huawei.com/developer/main/index.html</a>
<span class="card-key width-160">社区安全问题求助</span>
<a class="card-url" :href="ReleaseInfo.networkSecurity.communitySecurityHelpChannel || '--'">{{ ReleaseInfo.networkSecurity.communitySecurityHelpChannel || '--' }}</a>
</d-col>
</d-row>
<div class="mb-3 flex">
@@ -169,10 +175,17 @@
style="display: contents"
class="jyh-table jyh-table-2"
:header-bg="true"
:data="CopyrightTableData"
:data="ReleaseInfo.networkSecurity.officialVulnerabilityDisclosureList"
>
<d-column type="index" width="40"></d-column>
<d-column field="code" header="url"></d-column>
<d-column field="id" header="编号"></d-column>
<d-column field="vendor" header="厂商"></d-column>
<d-column field="softwareName" header="软件名"></d-column>
<d-column field="source" header="来源"></d-column>
<d-column field="url" header="url">
<template #default="scope">
<a :href="scope.row.url">{{scope.row.url}}</a>
</template>
</d-column>
</d-table>
</div>
<div class="mb-3 flex">
@@ -181,23 +194,29 @@
style="display: contents"
class="jyh-table jyh-table-2"
:header-bg="true"
:data="CopyrightTableData"
:data="ReleaseInfo.networkSecurity.externalVulnerabilityList"
>
<d-column field="code" header="厂商"></d-column>
<d-column field="detail" header="软件名"></d-column>
<d-column field="detail" header="来源"></d-column>
<d-column field="id" header="编号"></d-column>
<d-column field="vendor" header="厂商"></d-column>
<d-column field="softwareName" header="软件名"></d-column>
<d-column field="source" header="来源"></d-column>
<d-column field="url" header="url">
<template #default="scope">
<a :href="scope.row.url">{{scope.row.url}}</a>
</template>
</d-column>
</d-table>
</div>
<d-row class="mb-3">
<d-col :span="24">
<span class="card-key width-160">是否涉及用户登录</span>
<span class="card-val">不涉及</span>
<span class="card-val">{{ ReleaseInfo.networkSecurity.isInvolvedUserLogin || '--' }}</span>
</d-col>
</d-row>
<d-row>
<d-col :span="24">
<span class="card-key width-160">兼容性风险描述</span>
<span class="card-val"></span>
<span class="card-val">{{ ReleaseInfo.networkSecurity.compatibilityRiskDescription || '--' }}</span>
</d-col>
</d-row>
</Card>
@@ -269,11 +288,12 @@
<script setup lang="ts">
import { ref,defineEmits } from 'vue';
import { ref, defineEmits, onMounted,reactive } from 'vue';
import { useRouter } from 'vue-router';
import { discussDetailType, userInfoType } from '@/api/discussion/types';
import { Message } from 'vue-devui/message';
import { useClipboard } from '@vueuse/core/index';
import { releaseInfo } from '@/api/jyh';
const emits = defineEmits(['changeTabs']);
@@ -285,6 +305,14 @@ const handleTabChange = (tabName) => {
const licenseTableData = ref([{code: '05822156', name:'MIT License',detail: 'integer'}]);
const CopyrightTableData = ref([{code: '05822156',detail: 'integer'}]);
const visible = ref(false);
const ReleaseInfo = ref({
basicInfo: {},
copyRightReportList: [],
entityList: [],
networkSecurity: {},
openSourceLicenseList: [],
referenceInfo: {},
});
const router = useRouter();
@@ -311,6 +339,18 @@ const handleCopy = event => {
Message.success('复制成功');
};
const getReleaseInfo = async() => {
const { data, error } = await releaseInfo({ repoId: '123',releaseId: '123' });
if (!error && data) {
ReleaseInfo.value = data.data;
}
};
onMounted(async() => {
getReleaseInfo();
});
</script>
<style scoped lang="scss">

View File

@@ -35,6 +35,14 @@ export default (config: any) => {
open: true, // 启动服务打开浏览器
headers: {
'Access-Control-Allow-Origin': '*',
},
proxy: {
// 配置跨域代理
'/official': {
target: 'http://222.20.126.217:9527', // 目标服务器地址
changeOrigin: true, // 允许跨域
rewrite: (path) => path.replace(/^\/official/, '/official'), // 重写路径
}
}
},