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>
相关推荐
AC赳赳老秦17 小时前
OpenClaw与飞书多维表格联动:自动同步工作数据、生成统计图表,实现高效管理
java·数据库·python·信息可视化·飞书·deepseek·openclaw
2601_9557819817 小时前
飞书远程控机:OpenClaw+AI机器人配置全攻略
人工智能·机器人·飞书·open claw部署
Teable任意门互动1 天前
AI原生开源多维表格有哪些?主流开源多维表格对比解析
数据库·开源·excel·钉钉·飞书·开源软件·ai-native
星空椰1 天前
Python 使用飞书 API 获取部门直属用户列表(递归获取所有部门 + 导出 Excel)
python·飞书
gf13211112 天前
飞书长连接_事件订阅(接收消息,审批任务状态变更)
开发语言·python·飞书
组合缺一2 天前
OpenClaw vs SolonCode:绑定飞书与钉钉,到底谁更简单?
ai·钉钉·飞书·ai编程·数字员工·openclaw·soloncode
野指针YZZ2 天前
飞书MCP配置cc
飞书
带刺的坐椅3 天前
OpenClaw vs SolonCode:绑定飞书与钉钉,到底谁更简单?
钉钉·飞书·openclaw·soloncode
广州灵眸科技有限公司3 天前
瑞芯微(EASY EAI)RV1126B openclaw部署接入飞书
linux·网络·人工智能·算法·yolo·飞书
YoungHong19924 天前
服务器部署Hermes教程 —— 从零搭建你的私人 AI 助手
飞书·claude·云服务器·deepseek·爱马仕·hermess