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>
相关推荐
涛涛讲AI5 天前
如何设置飞书多维表格,可以在扣子平台上使用
飞书·智能体·扣子
呆萌的代Ma11 天前
扣子流程图批量导入飞书多维表格
流程图·飞书·扣子
只会写bug的靓仔17 天前
mac 设置飞书默认浏览器(解决系统设置默认浏览器无效)
macos·飞书
q_q王17 天前
dify对接飞书云文档,并且将图片传入飞书文档
python·大模型·飞书·dify·智能体·图片展示
聂 可 以18 天前
推荐几个免费提取音视频文案的工具(SRT格式、通义千问、飞书妙记、VideoCaptioner、AsrTools)
音视频·飞书·开源软件
NineData22 天前
NineData 与飞书深度集成,企业级数据管理审批流程全面自动化
运维·数据库·自动化·飞书·ninedata·审批·ninedata部署
zandy101123 天前
衡石科技ChatBI--飞书数据问答机器人配置详解(附具体操作路径和截图)
科技·机器人·飞书·配置管理·使用指南·配置路径
半笙彷徨23 天前
影刀rpa|小红书博主笔记采集|内容同步飞书文档|图片视频下载
飞书·rpa·小红书·影刀
dmonstererer1 个月前
【grafana原生告警中心配置飞书机器人告警】
机器人·飞书·grafana
zandy10111 个月前
飞书集成衡石ChatBot实战:如何10分钟搭建一个业务数据问答机器人?
大数据·人工智能·机器人·飞书·chatbot·衡石科技