From e2501b4f5294ed971c0c3dcc841cd1d85be9cabd Mon Sep 17 00:00:00 2001
From: admin <344137771@qq.com>
Date: Mon, 12 Jan 2026 17:13:38 +0800
Subject: [PATCH] 1
---
src/page/newUser/index.vue | 127 ++++++++++++++++++++++++++++++++++++++----
1 files changed, 114 insertions(+), 13 deletions(-)
diff --git a/src/page/newUser/index.vue b/src/page/newUser/index.vue
index a9ead97..2d2434e 100644
--- a/src/page/newUser/index.vue
+++ b/src/page/newUser/index.vue
@@ -213,11 +213,21 @@
</template>
</van-popover> -->
- <img class="xxzx" src="@/assets/img/消息中心.png" @click="$router.push('/notify')" />
+ <!-- <img class="xxzx" src="@/assets/img/消息中心.png" @click="$router.push('/notify')" /> -->
+
+ <!-- 小铃铛图标,带红点提示 -->
+ <div class="rety">
+ <div class="lingdang-wrapper" @click="$router.push('/notify')" v-if="isLoggedIn">
+ <img class="lingdang" src="@/assets/img/消息中心.png" alt="" />
+ <!-- <span v-if="unreadCount > 0" class="lingdang-badge"></span> -->
+ </div>
+ </div>
</div>
<div class="userHead">
<div class="tl">
- <img class="touxiang" src="~@/assets/imgRed/touxiang.png" />
+ <img class="touxiang" :src="userInfo.photoUrl" v-if="userInfo.photoUrl" />
+ <img class="touxiang" src="~@/assets/imgRed/touxiang.png" v-else />
+
<div class="mingzi">
<p>{{ userInfo.phone ? userInfo.phone : userInfo.phone }}</p>
<div class="feae" @click="$router.push('/smrz')">
@@ -306,13 +316,13 @@
</div>
<div class="bdan">
- <p style="display: flex; align-items: center;font-family: '宋体';">
+ <p style="display: flex; align-items: center;font-family: '宋体';justify-content: right;">
<img
src="data:image/png;base64,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"
style="width: 0.4272rem; height: 0.4272rem; margin-right: 0.1602rem;" />
{{ $t("jy537") }}
</p>
- <h6 style="margin-left: 0.534rem;">
+ <h6 style="margin-left: 0.534rem;text-align: right;">
<span class="bzz" v-if="!selectUserFlag">{{
"¥ " + $store.state.userInfo.enableIndexAmt
}}</span>
@@ -329,28 +339,28 @@
style="width: 0.4272rem; height: 0.4272rem; margin-right: 0.1602rem; " />
{{ $t("jy12") }}
</p>
- <h6 style="margin-left: 0.534rem;">
+ <h6>
{{ "¥ " + $store.state.userInfo.allProfitAndLose }}
</h6>
</div>
<div class="bdan">
- <p style="display: flex; align-items: center; font-family: '宋体';">
+ <p style="display: flex; align-items: center; font-family: '宋体';justify-content: right;">
<img
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA/hJREFUWEfFl11sVEUUx38zu620yEdwaUWjUFEjKFoMKjaibJRGWkmMSFBfqU9Gow8Uw4ua+FJJ/HgwMVSNT9UYeRIbU0pKdC0lJrbpA9KUpCkVsWmBNrDttrt3xsyd/ea2965s47zc5M455/+fM+ecOUcQcOkebsUJNaN0FCHqQdcBq9Lq0yBG0HoAKXoIOT+JKNeDmBZ+Qvpn7iUsD6F5FVjuJ5/ejyP4lpRqE89zfjGdBQnoHpbhyPfRvANUBgQuFptH8ykV6j0RJeFlw5OAPslGlPwBqP+PwMVqAzhqn5c3biCgT/IoSnYCtWUCz5gZR6om8Sx/5NstIODed0j2AmvLDJ4xN4GjGvI9kSWge6liRp5G80hZwNdE4aEOSIxBfxMkJzNmB1mutosGZs2PHIEu2YagtSzgxsjDx6DmRWvu7AH4+5ucac1HolEdyhJIB92fQIUvgYrbILIbpn6D2RFvcRGCrZ2w5jlIXoXft8NMQTYmcdRmcxWuB3S3bEfT4gtuBB4/Ayu3WZfG7gEnXqhmwDe1Q2oaxj6zX0OieGm+Eo2qRegYK5iVlwIXmZ1XIGwKoIZf18PcxZxpIS24cw2GTPnQi50pTpVaJ3R3aD9afxfo9LX7oO4wzI1DeCVMdsLIh2lVAZsNeByG3vYDtzpCvCL0CXkUeN2XQO3LsP5gOqIvg6yELd/bOEhdger7ITkFQ28FA7eA7UKfCPWBfmJRAjV7YUNrDjwjXBGBZ/6xyZSaglORUsCN3hnjgQnAaBYu42ITxSbq72yB/ub8XLay4dXw9CXrjflx+OUO+3/TUah5KWfPuQ6xDV5nnDQE5jwfm8d6YZVxjIbYRkiMejsp0mzz/eLXMH3aytT/CJGmQvnukJf+/MIEdl61gWZWrA4SF3zDJCtQIgHvKzBBd9ebMHEcRo94g4dWgAzn9lLXQKdK8YC5ggBB6AV/yzrYMZZfzWH0Yxg+WAIBG4TB0rCYxLK74amiUvzXF3DujRIImDT0K0Qm1badAmfGUghVQ/9ue/KbJeAWIr9SbE76wOcwsCcX4ecP2xp/cwRmqFK328eoS36J4IBnpC0Vgcxj5BKwndBZz+d4aQgk0epB0ciwf0OyNASOiF3KbX4KW7K47DO9TMFVlJ/AIAn1pNiDG9X+TWllDTScg+Rly6tyLfRttVmx4wKIvEJkCtbwu7ClA2r3F74FPe4QtXBTmpH+X9vyLAkblMduuI7gr0Gx5CCO2htoMMmSMKNZUn6AcEcz/2bVm1wSzSclj2b5tnQX9yFlK5rXgOqATphF0wGqzaTaYjq+03GeR8x4/gJaR9GiHuGO56vT+1NoMYLQAwh3PD8edDz/F5zhrmiE4ANeAAAAAElFTkSuQmCC"
style="width: 0.4272rem; height: 0.4272rem; margin-right: 0.1602rem;" />
{{ $t("jy13") }}
</p>
- <h6 style="margin-left: 0.534rem;">
+ <h6 style="margin-left: 0.534rem;text-align: right;">
{{ "¥ " + ($store.state.userInfo.historyProfitLoss || "0.00") }}
</h6>
</div>
</div>
<div class="congz">
+ <a @click="$router.push('/recharge')" class="tx"> {{ $t("jy522") }}</a>
<a @click="$router.push('/withdraw')"> {{ $t("jy521") }}</a>
<!-- <a @click="getHeaderlink()"> {{ $t("jy521") }}</a> -->
- <a @click="$router.push('/recharge')" class="tx"> {{ $t("jy522") }}</a>
<!-- <a @click="rechargeMsg()" class="tx"> {{ $t("jy522") }}</a> -->
</div>
</div>
@@ -388,7 +398,7 @@
<p>{{ $t("hj247") }}</p>
</div>
<div class="bl" @click="getHeaderlink(4)">
- <img src="../../assets/img/icon_conversion.svg" />
+ <img src="../../assets/img/kf.png" />
<p>{{ $t("jy186") }}</p>
</div>
</div>
@@ -482,15 +492,58 @@
icon: require("@/assets/ico/english.png"),
lang: "en"
}
- ]
+ ],
+ unreadCount: 0,
+ messageTimer: null,
};
},
- components: {},
+ computed: {
+ isLoggedIn() {
+ return !!window.localStorage.getItem("USERTOKEN");
+ }
+ },
created() {
this.getUserInfo();
this.getInfoSite();
},
+ mounted() {
+ // 如果已登录,获取未读消息数
+ if (this.isLoggedIn) {
+ this.getUnreadCount();
+ this.startMessagePolling();
+ }
+ },
+ beforeDestroy() {
+ if (this.messageTimer) {
+ clearInterval(this.messageTimer);
+ }
+ },
methods: {
+ // 获取未读消息数
+ async getUnreadCount() {
+ try {
+ const data = await api.getUnreadCount();
+ if (data && data.status === 0) {
+ this.unreadCount = data.data || 0;
+ } else {
+ this.unreadCount = 0;
+ }
+ } catch (error) {
+ console.error('获取未读消息数失败:', error);
+ this.unreadCount = 0;
+ }
+ },
+ // 开始轮询未读消息数(每30秒)
+ startMessagePolling() {
+ if (this.messageTimer) {
+ clearInterval(this.messageTimer);
+ }
+ this.messageTimer = setInterval(() => {
+ if (this.isLoggedIn) {
+ this.getUnreadCount();
+ }
+ }, 30000);
+ },
rechargeMsg(msg) {
Toast(this.$t("jy527"));
},
@@ -707,7 +760,55 @@
};
</script>
-<style scoped>
+<style lang="less" scoped>
+.rety {
+ display: flex;
+ align-items: center;
+
+ // 小铃铛图标容器
+ .lingdang-wrapper {
+ position: relative;
+ margin-left: auto;
+ cursor: pointer;
+ display: inline-block;
+
+ .lingdang {
+ width: 0.55rem;
+ height: 0.55rem;
+ display: block;
+ }
+
+ // 小铃铛红点提示
+ .lingdang-badge {
+ position: absolute;
+ top: -0.05rem;
+ right: -0.05rem;
+ width: 0.16rem;
+ height: 0.16rem;
+ background-color: #ff4d4f;
+ border-radius: 50%;
+ border: 0.02rem solid #fff;
+ display: block;
+ animation: pulse 2s infinite;
+ }
+ }
+
+ .yf {
+ width: 0.51rem;
+ height: 0.51rem;
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAAAXNSR0IArs4c6QAAAzdJREFUWEftmE2IlVUYx39/k8SoFoVKofmBFIFfG6NQRrBapGKjy9okbUQKR4mQUafyAxEFjSJBCFxEEkI2i7GPUWFqZdEiZxej0WBCpgUSNtDiL8943st777z3exYj3GdzL+95zjm/83+f8zznvGKKmqYoF/cnmO13gD7gkaTsn8B6ST83o7Tt54F+YHbqdxt4T9LxauNUVcz2PmBvQceAekHS/43A2X4QuASsKPDvk7S/aJxCMNvvx4pSh7+As8BiYG16dhLYKsm14GxPAz4F3kh+F4ERYBMwKz3bI+lg5TgTwGwHUICFBdSLkoZtzwRCrWdT25cJLnwmmO0ngBPAq6lxGHhO0pjtJUBAVoUrA7Md8fRBDuolSZezWW3PA34A5qdn/wKfAV8DV2B8My0ENgCvAQ8nv9/SAuN33GwvBS7k4HolHcraS2C2I54irjKlyqByAz4JnAa6ar3GXFtM/rqk2DhlZnsZcD4Ht0vS4XAaB7O9GziQg3pZ0i/VJrYd/UKR2LVFQR1dfwKOAmdqxWIB3LuSjsh2D3AsQdwEQqmqUAWrXhSxA4SSYX8AP0oqvbZ6ytpeDgzmlNsWYLeAx4DILV3NQNWbsJn2BPc98Cjwd4CNAhHUYTtqJb1mJmrWt+LNjQRY5KZzwIwItwT3YbMDN+qf4nN6PkHb3p7CKWL3TuzqLPhfAb4CIkuX4GyvieAFrgE9kkLqli0F+ufA3MhvkoZsvw2EEBlUt6TBfLpYlzJ8Bvcx8CbwUCL5VdIzLVPd2/2RZCO5hoUyURXeSlD/AQH1XSldZJPZ3pgUCrhKG5WUJdaW+Gz/DjxV0HksQX2btRWVpG7gi/RaI7PHyuJUMJlg14HHU1yHUpslfZMHrlbEn44TRKpnEROrJxlsANgJrIoSJykKe5nVPSjajto46WCSop5WtQ5YSJML/oGOYo3kj45ijaiU9+ko1lGsSIFO5m+jVv4DzGn000Cl+rYfAOIKF6eKScn8Q7k7ZNzErzYb9Ml/AbAy/e+XFMertop4fFfobRGmWrctkk61CxbfLD6Jw1y6WrXDeAP4SFJ2uW5dsXYo2ulb9zzWzuDt9J2yYHcBbbCKnGsh2/cAAAAASUVORK5CYII=) no-repeat 50%;
+ background-size: 100%;
+ margin-right: 0.32rem;
+ }
+
+ .kf {
+ width: 0.51rem;
+ height: 0.51rem;
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAAAXNSR0IArs4c6QAAAu5JREFUWEftmEuoTVEYx39/eUV5D7wSg2siRVIGDBkw9SgXIxGXTJCBK+8UImXgnetVbsrESEbIM2Rgooi8yrPLQLg+fcfet3W3vc89+5xzX7lrcur0rW/91v+/vm+vvUUXHeqiXPSA5XWmeyhmZmOBncA8YETeXZYZ/wG4AmyW9CrO0aKYmY0B7gKjy1yg0mlvgemSXnuiEKwBWBpkfwq8qHS1NuaPAyYGMWckLUuCfQKGBkHfgHWSTrYHnJktAI4Dg4L8nyUNS4JZBkAjsELSl2oAmlk/YB+wJi2fpIKLoZUx2H3ggcMEE18CSyRdrwTOzGqAi8CUII+rNhWYVgAqAnZD0qxI6qPAkChJM7Ab2C7pV17AFOu+AqsknTMz3/DMksA8yMwmAOeBGQHILaBW0vNS4MysP7A3Yd0jYKEkLzBfJx9YNKkPsAPYAPSKYJqA1b7bYnAZ1h0G1kv6Hs8tCyyYPAc4DYwMYM4CdZIctNVIsc6Lx4vIiykZm1+xMIOZOZT3u9nB/8+AxZLuRAq7dftd0SDGC8qtS7XfzHyDtcA7SaOyqrJw+LMsMjO3c2Nkb+8ozothK3AJuBBUnVf6QWCTpB9FcnqBLQeuSXpYFlhgrReEQ4wPFvwdnMOPvpiky6UUSTImrY8VVSxhre/0GDA/kfg2sEiS97+yRkVggXorI8s83wGgPq3XmVlfYA8wOYX2J3AqLo6qgEWHfiDQHLaBlOqbG11xslRskjS4ojNWjj9m5ote9etNynw/nyckFR6FVVOsHNBic/4fMDObBHiTzTu85z2Jz2hVFTOzLcC2vERB/E1Jf28ZQcnH97GS+1hK1R0C1lYA9kaSv3tUHWxAdMEMH/Slcnofa5T0OAusRc5SM7ZHXGhl/DLivzWS/LfTRtbr23vAJc16QWkPYL+6N0jyG3OrM+aH7h5QuA910vj3keQg0SeCXdEnguEdDOeKHZFU10qxDoZoc7nu8bWnzW10YECPYnnF/gMpGUo2PhT3BQAAAABJRU5ErkJggg==) no-repeat 50%;
+ background-size: 100%;
+ }
+}
+
.user_page {
background-color: #fff;
font-size: 14px;
@@ -861,7 +962,7 @@
font-size: 0.3738rem;
margin-top: 0.0801rem;
font-weight: 700;
- margin-left: 0.534rem;
+ // margin-left: 0.534rem;
}
.bdan h6 .bzz {
--
Gitblit v1.9.3