chore: 优化工作台最新动态

This commit is contained in:
2024-10-23 22:51:26 +08:00
parent 35d704fbc5
commit fd1dfcf3f4

View File

@@ -1,25 +1,49 @@
<template> <template>
<a-card class="general-card" title="最新动态" style="margin-bottom: 14px"> <a-card class="general-card" title="最新动态" style="margin-bottom: 14px">
<template #extra> <template #extra>
<a-link href="https://gitee.com/organizations/continew/events" target="_blank" rel="noopener">更多</a-link> <a-dropdown>
<a-link>更多</a-link>
<template #content>
<a-doption>
<a-link href="https://gitee.com/organizations/continew/events" target="_blank" rel="noopener">Gitee</a-link>
</a-doption>
<a-doption>
<a-link href="https://gitcode.com/org/continew/discussion" target="_blank" rel="noopener">GitCode</a-link>
</a-doption>
<a-doption>
<a-link href="https://github.com/orgs/continew-org/discussions" target="_blank" rel="noopener">GitHub</a-link>
</a-doption>
</template> </template>
</a-dropdown>
</template>
<a-skeleton v-if="loading" :loading="loading" :animation="true">
<a-skeleton-line :rows="10" />
</a-skeleton>
<div v-else>
<a-empty v-if="dataList.length === 0">暂无动态</a-empty> <a-empty v-if="dataList.length === 0">暂无动态</a-empty>
<a-comment <a-comment
v-for="(item, index) in dataList" v-for="(item, index) in dataList"
v-else v-else
:key="index" :key="index"
:author="item.actor.nickname" :author="item.actor.nickname"
align="right"
:class="`animated-fade-up-${index}`" :class="`animated-fade-up-${index}`"
> >
<template #avatar> <template #avatar>
<a-badge>
<template #content>
<GiSvgIcon v-if="item.platform === 'GitHub'" name="github" :size="15" />
<GiSvgIcon v-else-if="item.platform === 'Gitee'" name="gitee" :size="15" />
</template>
<a :href="item.actor.url" target="_blank" rel="noopener"> <a :href="item.actor.url" target="_blank" rel="noopener">
<a-avatar :size="30"> <a-avatar :size="30">
<img :src="item.actor.avatar" alt="avatar" /> <img :src="item.actor.avatar" alt="avatar" />
</a-avatar> </a-avatar>
</a> </a>
</a-badge>
</template>
<template #datetime>
<span :title="item.createTime">{{ item.createTimeString }}</span>
</template> </template>
<template #datetime><span :title="item.createTime">{{ item.createTimeString }}</span></template>
<template #content> <template #content>
<div class="content"> <div class="content">
<p v-if="item.type === 'PUSH'"> <p v-if="item.type === 'PUSH'">
@@ -31,28 +55,37 @@
class="commit" class="commit"
> >
<template #content> <template #content>
<a-link :href="`${item.repo.url}${commit.url}`" target="_blank" rel="noopener" style="font-size: 12px">{{ commit.sha.substring(0, 7) }}</a-link> <a-link :href="commit.url" target="_blank" rel="noopener" style="font-size: 12px" :title="commit.message">{{ commit.sha.substring(0, 7) }}</a-link>
<a :href="`${item.repo.url}${commit.url}`" target="_blank" rel="noopener">{{ commit.message }}</a> <a :href="commit.url" target="_blank" rel="noopener" :title="commit.message">{{ commit.message }}</a>
</template> </template>
</a-comment> </a-comment>
</p> </p>
<p v-else-if="item.type === 'ISSUE_OPEN'"> <p v-else-if="item.type === 'ISSUE_OPEN'">
<a-link :href="item.repo.url" target="_blank" rel="noopener">{{ item.repo.alias }}</a-link> <a-link :href="item.repo.url" target="_blank" rel="noopener">{{ item.repo.alias }}</a-link>
创建了任务 <a-link :href="item.payload.url" target="_blank" rel="noopener">{{ item.payload.title }}</a-link> 创建了 Issue <a-link :href="item.payload.url" target="_blank" rel="noopener">{{ item.payload.title }}</a-link>
</p> </p>
<p v-else-if="item.type === 'ISSUE_CLOSE'"> <p v-else-if="item.type === 'ISSUE_CLOSE'">
更改了 <a-link :href="item.repo.url" target="_blank" rel="noopener">{{ item.repo.alias }}</a-link> 更改了 <a-link :href="item.repo.url" target="_blank" rel="noopener">{{ item.repo.alias }}</a-link>
的任务 <a-link :href="item.payload.url" target="_blank" rel="noopener">{{ item.payload.title }}</a-link> Issue <a-link :href="item.payload.url" target="_blank" rel="noopener">{{ item.payload.title }}</a-link>
状态为 {{ item.payload.action === 'rejected' ? '已关闭' : '已完成' }} 状态为 {{ item.payload.stateString }}
</p> </p>
<p v-else-if="item.type === 'ISSUE_COMMENT'"> <p v-else-if="item.type === 'ISSUE_COMMENT'">
评论了 <a-link :href="item.repo.url" target="_blank" rel="noopener">{{ item.repo.alias }}</a-link> 评论了 <a-link :href="item.repo.url" target="_blank" rel="noopener">{{ item.repo.alias }}</a-link>
的任务 <a-link :href="item.payload.url" target="_blank" rel="noopener">{{ item.payload.title }}</a-link> Issue <a-link :href="item.payload.url" target="_blank" rel="noopener">{{ item.payload.title }}</a-link>
</p> </p>
<p v-else-if="item.type === 'PULL_REQUEST'"> <p v-else-if="item.type === 'PULL_REQUEST_OPEN'">
<a-link :href="item.repo.url" target="_blank" rel="noopener">{{ item.repo.alias }}</a-link> <a-link :href="item.repo.url" target="_blank" rel="noopener">{{ item.repo.alias }}</a-link>
创建了 Pull Request <a-link :href="item.payload.url" target="_blank" rel="noopener">{{ item.payload.title }}</a-link> 创建了 Pull Request <a-link :href="item.payload.url" target="_blank" rel="noopener">{{ item.payload.title }}</a-link>
</p> </p>
<p v-else-if="item.type === 'PULL_REQUEST_MERGE'">
接受了 <a-link :href="item.repo.url" target="_blank" rel="noopener">{{ item.repo.alias }}</a-link>
Pull Request <a-link :href="item.payload.url" target="_blank" rel="noopener">{{ item.payload.title }}</a-link>
</p>
<p v-else-if="item.type === 'PULL_REQUEST_CLOSE'">
更改了 <a-link :href="item.repo.url" target="_blank" rel="noopener">{{ item.repo.alias }}</a-link>
Pull Request <a-link :href="item.payload.url" target="_blank" rel="noopener">{{ item.payload.title }}</a-link>
状态为 {{ item.payload.stateString }}
</p>
<p v-else-if="item.type === 'CREATE'"> <p v-else-if="item.type === 'CREATE'">
推送了新的 {{ item.payload.refType }} 推送了新的 {{ item.payload.refType }}
<a-link :href="item.payload.url" target="_blank" rel="noopener">{{ item.payload.ref }}</a-link> <a-link :href="item.payload.url" target="_blank" rel="noopener">{{ item.payload.ref }}</a-link>
@@ -66,6 +99,7 @@
</div> </div>
</template> </template>
</a-comment> </a-comment>
</div>
</a-card> </a-card>
</template> </template>
@@ -118,7 +152,7 @@ const loading = ref(false)
const getDataList = async () => { const getDataList = async () => {
try { try {
loading.value = true loading.value = true
const { data } = await get('https://api.charles7c.top/git/orgs/continew/events?limit=10') const { data } = await get('https://api.charles7c.top/git/orgs/continew/events')
data.forEach((item) => { data.forEach((item) => {
dataList.value.push({ dataList.value.push({
...item, ...item,