New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

cd-usercard

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cd-usercard

用户中心组件库 - 包含用户名片、日历、任务、设置等面板组件,支持头像裁剪上传

latest
npmnpm
Version
2.7.0
Version published
Maintainers
1
Created
Source

cd-usercard

用户名片组件,基于 Vue 3 + TDesign + RemixIcon 实现。

安装

npm install cd-usercard
# 或
pnpm add cd-usercard

依赖要求

本组件依赖以下包,请确保项目中已安装:

pnpm add vue tdesign-vue-next cd-personselector remixicon

或在 package.json 中添加:

{
  "dependencies": {
    "vue": "^3.3.0",
    "tdesign-vue-next": "^1.0.0",
    "cd-personselector": "^1.1.0",
    "cd-usercard": "^2.3.1"
  }
}

在入口文件引入 RemixIcon 样式:

import 'remixicon/fonts/remixicon.css';

使用

全局注册

import { createApp } from 'vue';
import CdUserCard from 'cd-usercard';
import App from './App.vue';

const app = createApp(App);
app.use(CdUserCard);
app.mount('#app');

局部引入

<script setup>
import { CdUserCard } from 'cd-usercard';
</script>

<template>
  <CdUserCard
    name="张三"
    role="产品经理"
    department="解决方案部"
    email="zhangsan@example.com"
    mobile="138-0000-0000"
  />
</template>

Props

属性类型默认值说明
avatarstring-头像 URL
namestring-姓名(必填)
aliasstring-别名/英文名
subtitlestring-副标题
rolestring-角色/职位
departmentstring-部门
employeeIdstring-工号
emailstring-邮箱
mobilestring-手机
telephonestring-座机
locationstring-地点
joinDatestring-入职日期
signaturestring-个性签名
tagsstring[]-标签列表
status'online' | 'offline' | 'busy' | 'away''online'在线状态
showStatusbooleanfalse是否显示状态
size'small' | 'medium' | 'large''medium'尺寸
showDetailsbooleantrue是否显示详情
showActionsbooleantrue是否显示操作按钮
showChatbooleantrue是否显示聊天按钮
showPhonebooleantrue是否显示电话按钮
showMorebooleanfalse是否显示更多按钮
clickablebooleanfalse卡片是否可点击
maxTagsnumber4最多显示标签数

Events

事件名参数说明
clickuser: UserCardProps点击卡片时触发(需 clickable=true)
chatuser: UserCardProps点击聊天按钮时触发
phoneuser: UserCardProps点击电话按钮时触发
emailemail: string点击邮箱时触发
moreuser: UserCardProps点击更多按钮时触发

Slots

插槽名说明
actions自定义操作按钮区域
footer自定义底部区域

示例

基础用法

<CdUserCard
  avatar="https://example.com/avatar.jpg"
  name="张三"
  alias="Zane"
  role="产品经理"
  department="解决方案部"
  employee-id="A102938"
  email="zhangsan@example.com"
  mobile="138-0000-0000"
  signature="专注体验,追求极致。"
  :tags="['全职', 'PMP']"
/>

带在线状态

<CdUserCard
  name="张三"
  role="产品经理"
  status="online"
  :show-status="true"
/>

可点击卡片

<CdUserCard
  name="张三"
  role="产品经理"
  :clickable="true"
  @click="handleClick"
/>

自定义底部

<CdUserCard name="张三" role="产品经理">
  <template #footer>
    <t-button theme="primary" block>发起会话</t-button>
  </template>
</CdUserCard>

Keywords

vue3

FAQs

Package last updated on 06 Feb 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts