vue3仿飞书头像,根据不同名称生成不同的头像背景色

效果展示:
传递三个参数:
  • name:要显示的名称;
  • size:头像的大小;
  • cutNum:分割当前名称的最后几位数;
代码如下:
html 复制代码
<template>
	<div
		:style="{
			color: '#fff',
			borderRadius: '50%',
			width: size + 'px',
			height: size + 'px',
			display: 'block',
			textAlign: 'center',
			lineHeight: size + 'px',
			fontSize: size * 0.4 + 'px',
			background: color(name)
		}"
	>
		{{ name.slice(-cutNum) }}
	</div>
</template>

<script lang="ts" setup>
defineProps({
	name: {
		type: String,
		default: ""
	},
	size: {
		type: Number,
		default: 16
	},
	cutNum: {
		type: Number,
		default: 1
	}
});

const color = (name: string) => {
	if (name) {
		let num = "";
		for (let i = 0; i < name.length; i++) {
			num += name[i].charCodeAt(0).toString();
		}
		const r = Math.min(100 + (parseInt(num.slice(0, 2), 10) % 55), 255);
		const g = Math.min(100 + (parseInt(num.slice(2, 4), 10) % 55), 255);
		const b = Math.min(100 + (parseInt(num.slice(4, 6), 10) % 55), 255);
		return `rgb(${r}, ${g}, ${b})`;
	} else {
		return "rgb(125, 125, 125)";
	}
};
</script>
使用代码如下:
复制代码
<AuthorImage name="铁甲小宝" :size="74" :cut-num="2"></AuthorImage>
相关推荐
Mixtral15 小时前
飞书妙记和通义听悟哪个好用?2026年会议录音转写工具横评
飞书
迅客AI20 小时前
可灵AI&飞书多维表一键生图生视频,告别单点充值,批量一键生图生视频拿捏住!
人工智能·飞书·可灵ai·生图生视频
海岸线科技21 小时前
飞书 Issue/8D Agent:从“被动救火”到“主动免疫”的实测报告
汽车·飞书·制造·issue
出海小龙1 天前
【PLG洞察】| 飞书成功之路:关键在分销裂变
飞书
YJlio1 天前
OpenClaw 2026.5.2 Beta 更新解读:外部插件安装、ClawHub / npm 切换与 Gateway 性能优化
性能优化·npm·gateway·飞书·多维表格·飞书aily·飞书妙搭
海岸线科技2 天前
飞书 PPAP Audit Agent:汽车供应链质量审核的智能化落地方案
人工智能·汽车·飞书
极客侃科技2 天前
能接通飞书的AI主机:联想AI主机Mini适配主流IM办公场景
人工智能·飞书
小草cys3 天前
飞书群无法调用 Hermes龙虾 机器人
机器人·飞书
土星碎冰机3 天前
实现飞书群推送报错接口,critical复现curl
后端·飞书
V搜xhliang02463 天前
告别SPSS卡顿:用AI智能体自动跑回归、生存曲线、生成方法学段落
运维·人工智能·数据挖掘·回归·机器人·自动化·飞书