许可证信息接口对接

This commit is contained in:
付民康
2025-03-27 09:47:34 +08:00
parent f293235293
commit 150a18087c
2 changed files with 31 additions and 18 deletions

View File

@@ -277,3 +277,12 @@ export function getVulSuggestion(data) {
}, },
}); });
} }
// 许可证信息详情
export const getLicenseDetail = ({ id }): Promise<any> => {
return reqCatchV2(() =>
request({
url: `/api/v1/repo/license/detail/${id}`,
method: 'get',
})
);
};

View File

@@ -2,14 +2,14 @@
<d-layout class="dlayout"> <d-layout class="dlayout">
<d-header class="dheader"> <d-header class="dheader">
<div class="title"> <div class="title">
<h1>{{ data.licenseName }}</h1> <h1>{{ vulnDetail.licenseName || data.licenseName || '--' }}</h1>
<d-icon style="cursor: pointer;" name="icon-close" @click="emit('close')"></d-icon> <d-icon style="cursor: pointer;" name="icon-close" @click="emit('close')"></d-icon>
</div> </div>
<div class="sub-title"> <div class="sub-title">
<!-- <span>分数</span> <span>分数</span>
<span>3</span> --> <span>{{ vulnDetail.score || data.score || '--' }}</span>
<span>类型</span> <span>类型</span>
<d-tag color="#3ac295" size="sm">{{ data.category }}</d-tag> <d-tag color="#3ac295" size="sm">{{ vulnDetail.category || data.category || '--' }}</d-tag>
</div> </div>
</d-header> </d-header>
<d-content class="dcontent"> <d-content class="dcontent">
@@ -26,11 +26,7 @@
</div> </div>
<span>允许的</span> <span>允许的</span>
</div> </div>
<span>Commercial Use</span> <span v-for="item in vulnDetail.allowedList">{{item}}</span>
<span>Modify</span>
<span>Distribute</span>
<span>Sublicense</span>
<span>Private Use</span>
</div> </div>
</d-col> </d-col>
<d-col :span="8"> <d-col :span="8">
@@ -41,10 +37,7 @@
</div> </div>
<span>必要的</span> <span>必要的</span>
</div> </div>
<span>Include Copyright</span> <span v-for="item in vulnDetail.requiredList">{{item}}</span>
<span>Include License</span>
<span>State changes</span>
<span>Include Notice</span>
</div> </div>
</d-col> </d-col>
<d-col :span="8"> <d-col :span="8">
@@ -55,9 +48,7 @@
</div> </div>
<span>受限的</span> <span>受限的</span>
</div> </div>
<span>Place Warranty</span> <span v-for="item in vulnDetail.restrictedList">{{item}}</span>
<span>Hold Liable</span>
<span>Use Trademark</span>
</div> </div>
</d-col> </d-col>
</d-row> </d-row>
@@ -66,11 +57,11 @@
<d-footer class="dfooter"> <d-footer class="dfooter">
<div> <div>
<span>影响组件</span> <span>影响组件</span>
<span>request</span> <span>{{vulnDetail.effectedScanLibraryName || '--'}}</span>
</div> </div>
<div> <div>
<span>当前版本</span> <span>当前版本</span>
<span>2.0</span> <span>{{vulnDetail.effectedScanLibraryVersionNumber || '--'}}</span>
</div> </div>
</d-footer> </d-footer>
</d-layout> </d-layout>
@@ -78,12 +69,25 @@
<script setup> <script setup>
import { ref, defineEmits } from 'vue'; import { ref, defineEmits } from 'vue';
import { getLicenseDetail, getVulnDetail } from '@/api/jyh';
const props = defineProps({ const props = defineProps({
data: { data: {
type: Object type: Object
} }
}) })
const emit = defineEmits(['close']); const emit = defineEmits(['close']);
const vulnDetail = ref({});
const queryVulnDetail = async () => {
const { data,err } = await getLicenseDetail({id: props.data.id});
if(!err) {
if(data.data.code===200) {
vulnDetail.value = data.data.data
}
}
};
queryVulnDetail();
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">