mirror of
https://github.com/continew-org/continew-admin-ui.git
synced 2025-10-16 18:57:15 +08:00
refactor: 优化用户管理代码
This commit is contained in:
@@ -22,11 +22,11 @@
|
||||
<script lang="ts" setup>
|
||||
const images = [
|
||||
{
|
||||
src: `https://continew.top/qrcode-text.png?${new Date().getTime()}`,
|
||||
src: `https://continew.top/qrcode-text.jpg?${new Date().getTime()}`,
|
||||
url: 'https://continew.top/about/intro.html',
|
||||
},
|
||||
{
|
||||
src: `https://continew.top/sponsor.png?${new Date().getTime()}`,
|
||||
src: `https://continew.top/sponsor.jpg?${new Date().getTime()}`,
|
||||
url: 'https://continew.top/sponsor.html',
|
||||
},
|
||||
]
|
||||
|
@@ -49,19 +49,8 @@
|
||||
</a-typography-text>
|
||||
</a-typography-paragraph>
|
||||
</template>
|
||||
<template #avatar>
|
||||
<a-avatar-group :size="32" :max-count="7">
|
||||
<a-avatar
|
||||
v-for="(contributor, idx) in item.contributors"
|
||||
:key="idx"
|
||||
:title="contributor.name"
|
||||
>
|
||||
<img :src="contributor.avatar" alt="avatar" />
|
||||
</a-avatar>
|
||||
</a-avatar-group>
|
||||
</template>
|
||||
</a-card-meta>
|
||||
<template v-if="!loading && item.status !== '孵化'" #actions>
|
||||
<template #actions>
|
||||
<a-tooltip content="点个 Star 吧">
|
||||
<span class="icon-hover">
|
||||
<a :href="item.url" target="_blank" rel="noopener"><IconThumbUp :size="20" /></a>
|
||||
@@ -75,9 +64,6 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import axios, { type AxiosRequestConfig, type AxiosResponse } from 'axios'
|
||||
import qs from 'query-string'
|
||||
|
||||
const list = [
|
||||
{
|
||||
alias: 'ContiNew Admin',
|
||||
@@ -140,43 +126,6 @@ const list = [
|
||||
statusColor: 'rgb(var(--warning-6))',
|
||||
},
|
||||
]
|
||||
|
||||
const get = <T = unknown>(url: string, params?: object, config?: AxiosRequestConfig): Promise<ApiRes<T>> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
axios
|
||||
.request<T>({
|
||||
method: 'get',
|
||||
url,
|
||||
params,
|
||||
paramsSerializer: (obj) => {
|
||||
return qs.stringify(obj)
|
||||
},
|
||||
...config,
|
||||
})
|
||||
.then((res: AxiosResponse) => resolve(res.data))
|
||||
.catch((err: { msg: string }) => reject(err))
|
||||
})
|
||||
}
|
||||
|
||||
const loading = ref(false)
|
||||
// 查询数据
|
||||
const getDataList = async () => {
|
||||
try {
|
||||
loading.value = true
|
||||
for (const item of list) {
|
||||
const { data } = await get(`https://api.charles7c.top/git/repos/contributors/${item.owner}/${item.name}`)
|
||||
item.contributors = data
|
||||
}
|
||||
} catch (err) {
|
||||
// console.log(err)
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
getDataList()
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@@ -185,9 +134,9 @@ onMounted(() => {
|
||||
overflow: hidden;
|
||||
.badge {
|
||||
position: absolute;
|
||||
font-size: 10px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
font-size: 11px;
|
||||
height: 18px;
|
||||
line-height: 18px;
|
||||
text-align: center;
|
||||
width: 74px;
|
||||
color: #fff;
|
||||
|
Reference in New Issue
Block a user