You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 
 
 

64 lines
1.6 KiB

<template>
<CollapseContainer title="账号绑定" :canExpan="false">
<List>
<template v-for="item in accountBindList" :key="item.key">
<ListItem>
<ListItemMeta>
<template #avatar>
<Icon v-if="item.avatar" class="avatar" :icon="item.avatar" :color="item.color" />
</template>
<template #title>
{{ item.title }}
<a-button type="link" size="small" v-if="item.extra" class="extra">
{{ item.extra }}
</a-button>
</template>
<template #description>
<div>{{ item.description }}</div>
</template>
</ListItemMeta>
</ListItem>
</template>
</List>
</CollapseContainer>
</template>
<script setup lang="ts">
import { List } from 'ant-design-vue'
import { CollapseContainer } from '@/components/Container/index'
import { accountBindList } from './data'
import { getUserProfileApi } from '@/api/base/profile'
import { onMounted } from 'vue'
const ListItem = List.Item
const ListItemMeta = List.Item.Meta
async function init() {
const userInfo = await getUserProfileApi()
// TODO
for (const i in accountBindList) {
if (userInfo.socialUsers) {
for (const j in userInfo.socialUsers) {
if (accountBindList[i].key === userInfo.socialUsers[j].type) {
accountBindList[i].title = '已綁定'
break
}
}
}
}
}
onMounted(async () => {
await init()
})
</script>
<style lang="less" scoped>
.avatar {
font-size: 40px !important;
}
.extra {
float: right;
margin-top: 10px;
margin-right: 30px;
cursor: pointer;
}
</style>