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>
相关推荐
AI的探索之旅2 天前
飞书里跟 AI 聊天,让 Hermes + LCEDA Pro 结合本地llmwiki理解电路
人工智能·飞书
SL-staff3 天前
企业文档系统私有化部署方案技术对比:JVS企业文档 vs 语雀 vs 飞书
低代码·私有化部署·飞书·jvs·企业文档·jvs企业文档·生态集成
一次旅行3 天前
【AI技术_工具_资讯】用 Python 写一个「自愈式」定时任务:失败自动重试 + 飞书告警
开发语言·python·飞书
陈同学xxx4 天前
Hermes Agent 接入飞书,在手机上随时聊天
linux·python·飞书
STDD6 天前
n8n 实战工作流模板:GitHub→飞书通知、定时爬虫→数据库、Webhook→多渠道推送
爬虫·github·飞书
寻道模式8 天前
【开发心得】GA + 飞书频繁报错被忽略的“元凶”
json·飞书·ga
Excel效率人8 天前
飞书自动回复机器人开发:@机器人自助查询物流信息
机器人·node.js·飞书
粗犷的小伙12 天前
Claude+CC Switch+CC-Connect+飞书使用教程
飞书
“码”力全开14 天前
AI视频分析飞书告警常见问题和排查清单
人工智能·音视频·飞书
风信子IT人14 天前
【5天实战】从零构建AI-Native组织:飞书+Bot+Gitee全链路自动化实战指南—Day 5:完整场景实操验证
gitee·自动化·飞书·ai-native·bot开发