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.
		
		
			
		
		
		
		
			
		
			
				
					
					
						
							64 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
	
	
							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>
 | 
						|
 |