Files
danyang-match/miniapp/components/avatar/index.js
T

35 lines
1.1 KiB
JavaScript
Raw Normal View History

2026-09-09 22:05:00 +08:00
/**
* Avatar 头像(规范 §22 用户卡片)
*
* 显示用户头像 + 已实名 / 已审核徽标。
* 不变量(AGENTS 第 8 条):头像 URL 来自 OSS 公开链接,不携带任何敏感身份字段。
* 用法:
* <ui-avatar src="{{user.avatarUrl}}" size="lg"
* verified="{{user.verified}}" reviewed="{{user.reviewed}}" />
*/
Component({
options: { addGlobalClass: true },
properties: {
src: { type: String, value: '' },
size: { type: String, value: 'md' }, // sm|md|lg|xl
shape: { type: String, value: 'circle' }, // circle|square
verified: { type: Boolean, value: false },
reviewed: { type: Boolean, value: false },
showBadge: { type: Boolean, value: true },
// 兜底默认头像(不依赖外部资源)
defaultText: { type: String, value: '' }, // 没图时显示首字(如"王")
},
data: {
loadError: false,
},
methods: {
onError() {
this.setData({ loadError: true });
this.triggerEvent('error', {});
},
onTap() {
this.triggerEvent('tap', {});
},
},
});