diff --git a/frontend/pages/asset-detail/asset-detail.vue b/frontend/pages/asset-detail/asset-detail.vue
index 094d13a..e6d19c2 100644
--- a/frontend/pages/asset-detail/asset-detail.vue
+++ b/frontend/pages/asset-detail/asset-detail.vue
@@ -1,12 +1,12 @@
-
+
@@ -38,19 +38,26 @@
-
+
+
+
+
-
+
-
+
{{ likeCount }}
+
+
+
+ {{ assetData.earnings || 0 }}/时
+
+
@@ -60,54 +67,132 @@
-
-
-
-
- 持有人
- {{ assetData.owner_nickname || '未知' }}
+
+
+
+
+ 创作者
+ {{ assetData.owner_nickname || '未知' }}
-
- 获取时间
- {{ formattedAcquireTime }}
+
+
+ 铸造时间
+ {{ formattedAcquireTime }}
+
+
+
+
+ 来源
+ {{ assetData.source || '铸造' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TA们最近为你点过赞
+
+ 点击查看
+
+
-
- 数根名称
- {{ assetData.name || '未知' }}
-
-
- 数根编号
- {{ assetData.asset_id || '未知' }}
-
-
- 数根发行方
- TOPFANS
-
-
- 区块链编号
- {{ assetData.block_number || '未知' }}
-
-
- 交易哈希
- {{ displayTxHash }}
+
+
+
+ 数根名称
+
+ {{ assetData.name || '未知' }}
+
+
+
+ 数根发行方
+
+ TOPFANS
+
+
+
+ 区块链编号
+
+ {{ showBlockNumber ? (assetData.block_number || '未知') : hiddenBlockNumber }}
+
+ {{ showBlockNumber ? '👁' : '👁🗨' }}
+
+
+
+
+ 交易哈希
+
+ {{ showTxHash ? displayTxHash : hiddenTxHash }}
+
+ {{ showTxHash ? '👁' : '👁🗨' }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ user.nickname }}
+
+
+
+
+ 点击拜访
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/pages/profile/profile.vue b/frontend/pages/profile/profile.vue
index 87db222..69120f5 100644
--- a/frontend/pages/profile/profile.vue
+++ b/frontend/pages/profile/profile.vue
@@ -1,7 +1,7 @@
-
+
@@ -11,38 +11,40 @@
-
-
+
+
-
-
-
-
- {{ nickname }}
-
- {{ fanTag }}
-
-
-
+
+
+ {{ nickname }}
-
- 数字身份DID: {{ uid }}
-
-
- 链上地址: {{ displayAddress }}
-
- 📋
-
+
+
+ DID
+ {{ uid }}
+ 查看
+
+
+
+ 链上地址
+ {{ displayAddress }}
+ 查看
+
+
+
+ 注册手机
+ {{ displayMobile }}
+ 未绑定
+ 查看
-
- {{ displayMobile }}
@@ -56,8 +58,8 @@
我的资产
-
- 我的展馆
+
+ 个人中心
@@ -421,6 +423,41 @@ const fetchUserInfo = async (forceRefresh = false) => {
}
};
+// 复制UID
+const copyUid = () => {
+ if (!uid.value) {
+ uni.showToast({ title: 'UID为空', icon: 'none' });
+ return;
+ }
+ uni.setClipboardData({
+ data: uid.value,
+ success: () => uni.showToast({ title: '已复制UID', icon: 'success' }),
+ fail: () => uni.showToast({ title: '复制失败', icon: 'none' })
+ });
+};
+
+// 查看昵称(复制)
+const handleViewNickname = () => {
+ uni.setClipboardData({
+ data: nickname.value,
+ success: () => uni.showToast({ title: '已复制昵称', icon: 'success' }),
+ fail: () => uni.showToast({ title: '复制失败', icon: 'none' })
+ });
+};
+
+// 查看手机号
+const handleViewMobile = () => {
+ if (!displayMobile.value) {
+ uni.showToast({ title: '未绑定手机号', icon: 'none' });
+ return;
+ }
+ uni.setClipboardData({
+ data: displayMobile.value,
+ success: () => uni.showToast({ title: '已复制手机号', icon: 'success' }),
+ fail: () => uni.showToast({ title: '复制失败', icon: 'none' })
+ });
+};
+
// 复制区块链地址
const copyAddress = () => {
if (!blockchainAddress.value) {
@@ -1022,6 +1059,11 @@ const confirmLogout = () => {
});
};
+// 返回上一页
+const goBack = () => {
+ uni.navigateBack();
+};
+
// 打开头像修改弹窗
const handleAvatarClick = () => {
showAvatarModal.value = true;
@@ -1247,6 +1289,7 @@ onShow(() => {
width: 100%;
height: auto;
overflow: hidden;
+ margin-bottom: 64rpx;
}
.background-image {
@@ -1266,13 +1309,21 @@ onShow(() => {
display: none;
}
+.close-icon-img{
+ width: 80rpx;
+ height: 80rpx;
+ position: relative;
+ top: 32rpx;
+ left: 32rpx;
+}
+
.user-info-card {
position: relative;
z-index: 2;
width: 90%;
max-width: 600rpx;
margin: 0 auto;
- margin-top: 225rpx;
+ margin-top: 64rpx;
padding: 40rpx 0;
display: flex;
flex-direction: row;
@@ -1284,17 +1335,65 @@ onShow(() => {
align-items: flex-start;
/* gap: 30rpx; */
margin-bottom: 0;
+
+}
+
+.avatar-container {
+ position: absolute;
+ left: -56rpx;
+ top: 32rpx;
}
/* 右侧用户文本信息 */
.user-text-info {
- flex: 1;
+ /* flex: 1; */
display: flex;
flex-direction: column;
justify-content: flex-end;
- /* gap: 12rpx; */
- margin-left: 30rpx;
- padding-bottom: 10rpx;
+ gap: 8rpx;
+ margin-left: 8rpx;
+ background-image: url(/static/rank/activity-support-icon/beijingkuang.png);
+ background-size: 100% 110%;
+ background-position: center;
+ padding: 24rpx 24rpx 24rpx 240rpx;
+ min-width: 356rpx;
+}
+
+.info-row {
+ display: flex;
+ align-items: center;
+ gap: 12rpx;
+}
+
+.info-label {
+ font-size: 24rpx;
+ color: rgba(255, 255, 255, 0.7);
+ min-width: 112rpx;
+}
+
+.info-value {
+ font-size: 24rpx;
+ color: #ffffff;
+ flex: 1;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.uid-value {
+ max-width: 200rpx;
+}
+
+.address-value {
+ max-width: 160rpx;
+}
+
+.info-btn {
+ font-size: 20rpx;
+ color: #FFD700;
+ padding: 4rpx 16rpx;
+ border: 2rpx solid rgba(255, 215, 0, 0.5);
+ border-radius: 16rpx;
}
.name-wrapper {
@@ -1400,6 +1499,7 @@ onShow(() => {
.section-bg {
border-radius: 30rpx;
padding: 30rpx;
+ margin-bottom: 64rpx;
}
.section-title {
@@ -1407,7 +1507,7 @@ onShow(() => {
text-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.3);
font-weight: bold;
color: #fff;
- margin-bottom: 20rpx;
+ margin-bottom: 8rpx;
}
.assets-grid {
@@ -1415,34 +1515,40 @@ onShow(() => {
grid-template-columns: 1fr 1fr;
gap: 20rpx;
margin-bottom: 0;
- height: 192rpx;
+ height: 176rpx;
+ overflow: hidden;
}
.asset-card {
- background: rgba(217, 156, 180, 0.3);
-
+ background-image: url(/static/rank/activity-support-icon/beijingkuang.png);
+ background-size: 100% 100%;
+ background-position: center;
border-radius: 20rpx;
- padding: 24rpx 16rpx;
+ padding: 0 16rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
-
position: relative;
+ height: 192rpx;
}
.asset-icon {
- width: 128rpx;
- height: 128rpx;
- margin-bottom: 12rpx;
+ width: 178rpx;
+ height: 178rpx;
+ position: absolute;
+ top: 60%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ opacity: 0.4;
}
.asset-text {
font-size: 32rpx;
color: #fff;
- margin-bottom: 8rpx;
text-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.3);
-
+ position: relative;
+ z-index: 1;
}
.arrow {
@@ -1457,15 +1563,17 @@ onShow(() => {
/* 服务与工具按钮 */
.service-buttons-container {
- background: rgba(217, 156, 180, 0.3);
display: flex;
flex-direction: row;
- justify-content: flex-start;
+ justify-content: space-between;
margin-bottom: 0;
flex-wrap: wrap;
}
.service-button {
+ background-image: url(/static/rank/activity-support-icon/djbeij.jpg);
+ background-size: 100% 100%;
+ background-position: center;
border-radius: 20rpx;
width: 136rpx;
height: 160rpx;
@@ -1473,12 +1581,10 @@ onShow(() => {
flex-direction: column;
align-items: center;
justify-content: center;
-
padding: 16rpx;
box-sizing: border-box;
position: relative;
margin-bottom: 16rpx;
- margin-right: 16rpx;
}
.service-icon {
@@ -1527,7 +1633,10 @@ onShow(() => {
left: 0;
right: 0;
height: 8rpx;
- background-color: rgba(252, 252, 252, 0.6);
+ background: linear-gradient(to bottom right,
+ #F0E4B1 0%,
+ #F08399 50%,
+ #B94E73 100%);
border-radius: 8rpx;
width: calc(100% - 60rpx);
transform: translateX(30rpx);
@@ -1538,13 +1647,17 @@ onShow(() => {
width: 60%;
height: 112rpx;
line-height: 112rpx;
- background: rgba(217, 156, 180, 0.3);
+ background: linear-gradient(to bottom right,
+ #F0E4B1 0%,
+ #F08399 50%,
+ #B94E73 100%);
border-radius: 40rpx;
font-size: 56rpx;
color: #fff;
font-weight: 500;
margin-top: 20rpx;
flex-shrink: 0;
+ opacity: 0.6;
}
diff --git a/frontend/static/rank/activity-support-icon/beijingkuang1.png b/frontend/static/rank/activity-support-icon/beijingkuang1.png
index 85afdf1..28a0537 100644
Binary files a/frontend/static/rank/activity-support-icon/beijingkuang1.png and b/frontend/static/rank/activity-support-icon/beijingkuang1.png differ